gnu.gcj.xlib

Class Drawable

Known Direct Subclasses:
Pixmap, Window

public class Drawable
extends XID

An X11 drawable.

Field Summary

Fields inherited from class gnu.gcj.xlib.XID

display, xid

Constructor Summary

Drawable(Display display, int xid)

Method Summary

Rectangle
copyIntoXImage(XImage dest, Rectangle bounds, int destX, int destY)
Gets as much as possible of the image data within the requested region.
protected void
finalize()
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed.
Rectangle
getBounds(Rectangle rv)
int
getDepth()

Methods inherited from class gnu.gcj.xlib.XID

getClientData, getDisplay, getXID, params, setClientData, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

Drawable

public Drawable(Display display,
                int xid)

Method Details

copyIntoXImage

public Rectangle copyIntoXImage(XImage dest,
                                Rectangle bounds,
                                int destX,
                                int destY)
Gets as much as possible of the image data within the requested region. Data from obscured parts of windows may not be retrievable.
Parameters:
dest - where to place the image data.
Returns:
the actual region of image data that was retrieved.

finalize

protected void finalize()
            throws Throwable
Called on an object by the Virtual Machine at most once, at some point after the Object is determined unreachable but before it is destroyed. You would think that this means it eventually is called on every Object, but this is not necessarily the case. If execution terminates abnormally, garbage collection does not always happen. Thus you cannot rely on this method to always work. For finer control over garbage collection, use references from the java.lang.ref package.

Virtual Machines are free to not call this method if they can determine that it does nothing important; for example, if your class extends Object and overrides finalize to do simply super.finalize().

finalize() will be called by a Thread that has no locks on any Objects, and may be called concurrently. There are no guarantees on the order in which multiple objects are finalized. This means that finalize() is usually unsuited for performing actions that must be thread-safe, and that your implementation must be use defensive programming if it is to always work.

If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.

It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.

Unlike constructors, finalize() does not get called for an object's superclass unless the implementation specifically calls super.finalize().

The default implementation does nothing.

Overrides:
finalize in interface Object
Throws:
Throwable - permits a subclass to throw anything in an overridden version; but the default throws nothing

getBounds

public Rectangle getBounds(Rectangle rv)

getDepth

public int getDepth()

Copyright (C) 1999, 2000 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details.