本文整理汇总了Java中sun.java2d.windows.GDIWindowSurfaceData类的典型用法代码示例。如果您正苦于以下问题:Java GDIWindowSurfaceData类的具体用法?Java GDIWindowSurfaceData怎么用?Java GDIWindowSurfaceData使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
GDIWindowSurfaceData类属于sun.java2d.windows包,在下文中一共展示了GDIWindowSurfaceData类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: removeGdiSurface
import sun.java2d.windows.GDIWindowSurfaceData; //导入依赖的package包/类
/**
* Remove the gdi surface corresponding to the passed d3dw surface
* from list of the cached gdi surfaces.
*
* @param d3dw surface for which associated gdi surface is to be removed
*/
private void removeGdiSurface(final D3DWindowSurfaceData d3dw) {
if (gdiSurfaces != null) {
GDIWindowSurfaceData gdisd = gdiSurfaces.get(d3dw);
if (gdisd != null) {
gdisd.invalidate();
gdiSurfaces.remove(d3dw);
}
}
}
示例2: getGdiSurface
import sun.java2d.windows.GDIWindowSurfaceData; //导入依赖的package包/类
/**
* Creates (or returns a cached one) gdi surface for the same peer as
* the passed d3dw surface has.
*
* @param d3dw surface used as key into the cache
* @return gdi window surface associated with the d3d window surfaces' peer
*/
private synchronized SurfaceData getGdiSurface(D3DWindowSurfaceData d3dw) {
if (gdiSurfaces == null) {
gdiSurfaces =
new HashMap<D3DWindowSurfaceData, GDIWindowSurfaceData>();
}
GDIWindowSurfaceData gdisd = gdiSurfaces.get(d3dw);
if (gdisd == null) {
gdisd = GDIWindowSurfaceData.createData(d3dw.getPeer());
gdiSurfaces.put(d3dw, gdisd);
}
return gdisd;
}
示例3: handleVItoScreenOp
import sun.java2d.windows.GDIWindowSurfaceData; //导入依赖的package包/类
/**
* If the destination surface's peer can potentially handle accelerated
* on-screen rendering then it is likely that the condition which resulted
* in VI to Screen operation is temporary, so this method sets the
* restore countdown in hope that the on-screen accelerated rendering will
* resume. In the meantime the backup surface of the VISM will be used.
*
* The countdown is needed because otherwise we may never break out
* of "do { vi.validate()..} while(vi.lost)" loop since validate() could
* restore the source surface every time and it will get lost again on the
* next copy attempt, and we would never get a chance to use the backup
* surface. By using the countdown we allow the backup surface to be used
* while the screen surface gets sorted out, or if it for some reason can
* never be restored.
*
* If the destination surface's peer could never do accelerated onscreen
* rendering then the acceleration for the SurfaceManager associated with
* the source surface is disabled forever.
*/
static void handleVItoScreenOp(SurfaceData src, SurfaceData dst) {
if (src instanceof D3DSurfaceData &&
dst instanceof GDIWindowSurfaceData)
{
D3DSurfaceData d3dsd = (D3DSurfaceData)src;
SurfaceManager mgr =
SurfaceManager.getManager((Image)d3dsd.getDestination());
if (mgr instanceof D3DVolatileSurfaceManager) {
D3DVolatileSurfaceManager vsm = (D3DVolatileSurfaceManager)mgr;
if (vsm != null) {
d3dsd.setSurfaceLost(true);
GDIWindowSurfaceData wsd = (GDIWindowSurfaceData)dst;
WComponentPeer p = wsd.getPeer();
if (D3DScreenUpdateManager.canUseD3DOnScreen(p,
(Win32GraphicsConfig)p.getGraphicsConfiguration(),
p.getBackBuffersNum()))
{
// 10 is only chosen to be greater than the number of
// times a sane person would call validate() inside
// a validation loop, and to reduce thrashing between
// accelerated and backup surfaces
vsm.setRestoreCountdown(10);
} else {
vsm.setAccelerationEnabled(false);
}
}
}
}
}
示例4: createSurfaceData
import sun.java2d.windows.GDIWindowSurfaceData; //导入依赖的package包/类
/**
* Creates a new SurfaceData that will be associated with the given
* WComponentPeer.
*/
@Override
public SurfaceData createSurfaceData(WComponentPeer peer,
int numBackBuffers)
{
SurfaceData sd = WGLSurfaceData.createData(peer);
if (sd == null) {
sd = GDIWindowSurfaceData.createData(peer);
}
return sd;
}