/** * Create a pixmap-based SurfaceData object */ protected SurfaceData initAcceleratedSurface() { SurfaceData sData; try { X11GraphicsConfig gc = (X11GraphicsConfig)vImg.getGraphicsConfig(); ColorModel cm = gc.getColorModel(); long drawable = 0; if (context instanceof Long) { drawable = ((Long)context).longValue(); } sData = X11SurfaceData.createData(gc, vImg.getWidth(), vImg.getHeight(), cm, vImg, drawable, Transparency.OPAQUE); } catch (NullPointerException ex) { sData = null; } catch (OutOfMemoryError er) { sData = null; } return sData; }
public void handleReparentNotify(XEvent xev) { XReparentEvent re = xev.get_xreparent(); long newParent = re.get_parent(); if (active) { // unregister accelerators, etc. for old parent embedded.notifyStopped(); // check if newParent is a root window X11GraphicsConfig gc = (X11GraphicsConfig)embedded.getGraphicsConfiguration(); X11GraphicsDevice gd = (X11GraphicsDevice)gc.getDevice(); if ((newParent == XlibUtil.getRootWindow(gd.getScreen())) || (newParent == XToolkit.getDefaultRootWindow())) { // reparenting to root means XEmbed termination active = false; } else { // continue XEmbed with a new parent server = newParent; embedded.notifyStarted(); } } }
public void handleReparentNotify(XEvent xev) { XReparentEvent re = xev.get_xreparent(); long newParent = re.get_parent(); if (active) { // unregister accelerators, etc. for old parent embedded.notifyStopped(); // check if newParent is a root window X11GraphicsConfig gc = (X11GraphicsConfig)embedded.getGraphicsConfiguration(); X11GraphicsDevice gd = gc.getDevice(); if ((newParent == XlibUtil.getRootWindow(gd.getScreen())) || (newParent == XToolkit.getDefaultRootWindow())) { // reparenting to root means XEmbed termination active = false; } else { // continue XEmbed with a new parent server = newParent; embedded.notifyStarted(); } } }
/** * Method for instantiating a Pixmap SurfaceData (offscreen) */ public static X11PixmapSurfaceData createData(X11GraphicsConfig gc, int width, int height, ColorModel cm, Image image, long drawable, int transparency) { return new X11PixmapSurfaceData(gc, width, height, image, getSurfaceType(gc, transparency, true), cm, drawable, transparency); }
protected X11SurfaceData(X11ComponentPeer peer, X11GraphicsConfig gc, SurfaceType sType, ColorModel cm) { super(sType, cm); this.peer = peer; this.graphicsConfig = gc; this.solidloops = graphicsConfig.getSolidLoops(sType); this.depth = cm.getPixelSize(); initOps(peer, graphicsConfig, depth); if (isAccelerationEnabled()) { setBlitProxyKey(gc.getProxyKey()); } }
public static X11GraphicsConfig getGC(X11ComponentPeer peer) { if (peer != null) { return (X11GraphicsConfig) peer.getGraphicsConfiguration(); } else { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice gd = env.getDefaultScreenDevice(); return (X11GraphicsConfig)gd.getDefaultConfiguration(); } }
public X11WindowSurfaceData(X11ComponentPeer peer, X11GraphicsConfig gc, SurfaceType sType) { super(peer, gc, sType, peer.getColorModel()); if (isDrawableValid()) { makePipes(); } }
public X11PixmapSurfaceData(X11GraphicsConfig gc, int width, int height, Image image, SurfaceType sType, ColorModel cm, long drawable, int transparency) { super(null, gc, sType, cm); this.width = width; this.height = height; offscreenImage = image; this.transparency = transparency; initSurface(depth, width, height, drawable); makePipes(); }