本文整理匯總了C#中SharpDX.Direct3D9.Device.TestCooperativeLevel方法的典型用法代碼示例。如果您正苦於以下問題:C# Device.TestCooperativeLevel方法的具體用法?C# Device.TestCooperativeLevel怎麽用?C# Device.TestCooperativeLevel使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類SharpDX.Direct3D9.Device
的用法示例。
在下文中一共展示了Device.TestCooperativeLevel方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: HandleCaptureRequest
private void HandleCaptureRequest(Device device)
{
try
{
bool tmp;
if (this.queryIssued && this.query.GetData(out tmp, false))
{
this.queryIssued = false;
var lockedRect = this.surface.LockRectangle(LockFlags.ReadOnly);
this.surfaceDataPointer = lockedRect.DataPointer;
this.surfaceLocked = true;
this.copyEvent.Set();
}
using (var backbuffer = device.GetBackBuffer(0, 0))
{
device.StretchRectangle(backbuffer, this.renderTarget, TextureFilter.None);
}
if (this.surfaceLocked)
{
lock (this.renderTargetLock)
{
if (this.surfaceLocked)
{
this.surface.UnlockRectangle();
this.surfaceLocked = false;
}
}
}
try
{
var cooplevel = device.TestCooperativeLevel();
if (cooplevel.Code == ResultCode.Success.Code)
{
device.GetRenderTargetData(this.renderTarget, this.surface);
this.query.Issue(Issue.End);
this.queryIssued = true;
}
else
{
this.DebugMessage(string.Format("DirectX Error: TestCooperativeLevel = {0}", cooplevel.Code));
}
}
catch (Exception ex)
{
this.DebugMessage(ex.ToString());
}
}
catch (Exception e)
{
this.DebugMessage(e.ToString());
}
}