本文整理汇总了Java中sun.java2d.d3d.D3DSurfaceData.D3DWindowSurfaceData.restoreSurface方法的典型用法代码示例。如果您正苦于以下问题:Java D3DWindowSurfaceData.restoreSurface方法的具体用法?Java D3DWindowSurfaceData.restoreSurface怎么用?Java D3DWindowSurfaceData.restoreSurface使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sun.java2d.d3d.D3DSurfaceData.D3DWindowSurfaceData
的用法示例。
在下文中一共展示了D3DWindowSurfaceData.restoreSurface方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: validate
import sun.java2d.d3d.D3DSurfaceData.D3DWindowSurfaceData; //导入方法依赖的package包/类
/**
* Restores the passed surface if it was lost, resets the lost status.
* @param sd surface to be validated
* @return true if surface wasn't lost or if restoration was successful,
* false otherwise
*/
private boolean validate(D3DWindowSurfaceData sd) {
if (sd.isSurfaceLost()) {
try {
sd.restoreSurface();
// if succeeded, first fill the surface with bg color
// note: use the non-synch method to avoid incorrect lock order
Color bg = sd.getPeer().getBackgroundNoSync();
SunGraphics2D sg2d = new SunGraphics2D(sd, bg, bg, null);
sg2d.fillRect(0, 0, sd.getBounds().width, sd.getBounds().height);
sg2d.dispose();
// now clean the dirty status so that we don't flip it
// next time before it gets repainted; it is safe
// to do without the lock because we will issue a
// repaint anyway so we will not lose any rendering
sd.markClean();
// since the surface was successfully restored we need to
// repaint whole window to repopulate the back-buffer
repaintPeerTarget(sd.getPeer());
} catch (InvalidPipeException ipe) {
return false;
}
}
return true;
}