gnu.gcj.xlib

Class Visual


public final class Visual
extends Object

A visual determines how a color is encoded into a pixel/bitfield value. It does not determine how the pixel/bitfield value is encoded into the image data.

This class encapsulates all three Xlib representations of a visual.

Implementation note: This class does not examine nor manipulate the Visual structure, since the X manual says the structure is opaque, and that XVisualInfo should be used instead.

Field Summary

protected static int
MASK_ALL
protected static int
MASK_BITS_PER_RGB
protected static int
MASK_BLUE
protected static int
MASK_CLASS
protected static int
MASK_COLORMAP_SIZE
protected static int
MASK_DEPTH
protected static int
MASK_GREEN
protected static int
MASK_ID
protected static int
MASK_RED
protected static int
MASK_SCREEN
static int
VC_DIRECT_COLOR
static int
VC_GRAY_SCALE
static int
VC_PSEUDO_COLOR
static int
VC_STATIC_COLOR
static int
VC_STATIC_GRAY
static int
VC_TRUE_COLOR

Method Summary

protected void
ensureXVisualInfo(int requiredMask)
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.
int
getBlueMask()
int
getDepth()
int
getGreenMask()
int
getRedMask()
Screen
getScreen()
int
getScreenNumber()
int
getVisualClass()
boolean
hasRGBSubfields()
protected void
init(RawData structure, int depth)
String
toString()
Convert this Object to a human-readable String.

Methods inherited from class java.lang.Object

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

Field Details

MASK_ALL

protected static final int MASK_ALL
Field Value:
511

MASK_BITS_PER_RGB

protected static final int MASK_BITS_PER_RGB
Field Value:
256

MASK_BLUE

protected static final int MASK_BLUE
Field Value:
64

MASK_CLASS

protected static final int MASK_CLASS
Field Value:
8

MASK_COLORMAP_SIZE

protected static final int MASK_COLORMAP_SIZE
Field Value:
128

MASK_DEPTH

protected static final int MASK_DEPTH
Field Value:
4

MASK_GREEN

protected static final int MASK_GREEN
Field Value:
32

MASK_ID

protected static final int MASK_ID
Field Value:
1

MASK_RED

protected static final int MASK_RED
Field Value:
16

MASK_SCREEN

protected static final int MASK_SCREEN
Field Value:
2

VC_DIRECT_COLOR

public static final int VC_DIRECT_COLOR
Field Value:
5

VC_GRAY_SCALE

public static final int VC_GRAY_SCALE
Field Value:
1

VC_PSEUDO_COLOR

public static final int VC_PSEUDO_COLOR
Field Value:
3

VC_STATIC_COLOR

public static final int VC_STATIC_COLOR
Field Value:
2

VC_STATIC_GRAY

public static final int VC_STATIC_GRAY
Field Value:
0

VC_TRUE_COLOR

public static final int VC_TRUE_COLOR
Field Value:
4

Method Details

ensureXVisualInfo

protected void ensureXVisualInfo(int requiredMask)

finalize

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. 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

getBlueMask

public int getBlueMask()

getDepth

public int getDepth()

getGreenMask

public int getGreenMask()

getRedMask

public int getRedMask()

getScreen

public Screen getScreen()

getScreenNumber

public int getScreenNumber()

getVisualClass

public int getVisualClass()

hasRGBSubfields

public boolean hasRGBSubfields()

init

protected void init(RawData structure,
                    int depth)

toString

public String toString()
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() and such.

It is typical, but not required, to ensure that this method never completes abruptly with a RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).

Overrides:
toString in interface Object
Returns:
the String representing this Object, which may be null

Copyright (C) 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.