
gnu.x11.Atom Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of escher Show documentation
Show all versions of escher Show documentation
Escher is a collection of libraries for X Window System written purely in Java.
The newest version!
package gnu.x11;
/** X atom. */
public class Atom {
// predefined atom ids
public static final int ANY_PROPERTY_TYPE_ID = 0;
public static final int PRIMARY_ID = 1;
public static final int SECONDARY_ID = 2;
public static final int ARC_ID = 3;
public static final int ATOM_ID = 4;
public static final int BITMAP_ID = 5;
public static final int CARDINAL_ID = 6;
public static final int COLORMAP_ID = 7;
public static final int CURSOR_ID = 8;
public static final int CUT_BUFFER0_ID = 9;
public static final int CUT_BUFFER1_ID = 10;
public static final int CUT_BUFFER2_ID = 11;
public static final int CUT_BUFFER3_ID = 12;
public static final int CUT_BUFFER4_ID = 13;
public static final int CUT_BUFFER5_ID = 14;
public static final int CUT_BUFFER6_ID = 15;
public static final int CUT_BUFFER7_ID = 16;
public static final int DRAWABLE_ID = 17;
public static final int FONT_ID = 18;
public static final int INTEGER_ID = 19;
public static final int PIXMAP_ID = 20;
public static final int POINT_ID = 21;
public static final int RECTANGLE_ID = 22;
public static final int RESOURCE_MANAGER_ID = 23;
public static final int RGB_COLOR_MAP_ID = 24;
public static final int RGB_BEST_MAP_ID = 25;
public static final int RGB_BLUE_MAP_ID = 26;
public static final int RGB_DEFAULT_MAP_ID = 27;
public static final int RGB_GRAY_MAP_ID = 28;
public static final int RGB_GREEN_MAP_ID = 29;
public static final int RGB_RED_MAP_ID = 30;
public static final int STRING_ID = 31;
public static final int VISUALID_ID = 32;
public static final int WINDOW_ID = 33;
public static final int WM_COMMAND_ID = 34;
public static final int WM_HINTS_ID = 35;
public static final int WM_CLIENT_MACHINE_ID = 36;
public static final int WM_ICON_NAME_ID = 37;
public static final int WM_ICON_SIZE_ID = 38;
public static final int WM_NAME_ID = 39;
public static final int WM_NORMAL_HINTS_ID = 40;
public static final int WM_SIZE_HINTS_ID = 41;
public static final int WM_ZOOM_HINTS_ID = 42;
public static final int MIN_SPACE_ID = 43;
public static final int NORM_SPACE_ID = 44;
public static final int MAX_SPACE_ID = 45;
public static final int END_SPACE_ID = 46;
public static final int SUPERSCRIPT_X_ID = 47;
public static final int SUPERSCRIPT_Y_ID = 48;
public static final int SUBSCRIPT_X_ID = 49;
public static final int SUBSCRIPT_Y_ID = 50;
public static final int UNDERLINE_POSITION_ID = 51;
public static final int UNDERLINE_THICKNESS_ID = 52;
public static final int STRIKEOUT_ASCENT_ID = 53;
public static final int STRIKEOUT_DESCENT_ID = 54;
public static final int ITALIC_ANGLE_ID = 55;
public static final int X_HEIGHT_ID = 56;
public static final int QUAD_WIDTH_ID = 57;
public static final int WEIGHT_ID = 58;
public static final int POINT_SIZE_ID = 59;
public static final int RESOLUTION_ID = 60;
public static final int COPYRIGHT_ID = 61;
public static final int NOTICE_ID = 62;
public static final int FONT_NAME_ID = 63;
public static final int FAMILY_NAME_ID = 64;
public static final int FULL_NAME_ID = 65;
public static final int CAP_HEIGHT_ID = 66;
public static final int WM_CLASS_ID = 67;
public static final int WM_TRANSIENT_FOR_ID = 68;
/**
* Predefined atoms.
*
* @see Window#NONE
*/
public static final Atom NONE
= new Atom (0, "NONE");
public static final Atom ANY_PROPERTY_TYPE
= new Atom (ANY_PROPERTY_TYPE_ID, "ANY_PROPERTY_TYPE");
public static final Atom PRIMARY
= new Atom (PRIMARY_ID, "PRIMARY");
public static final Atom SECONDARY
= new Atom (SECONDARY_ID, "SECONDARY");
public static final Atom ARC
= new Atom (ARC_ID, "ARC");
public static final Atom ATOM
= new Atom (ATOM_ID, "ATOM");
public static final Atom BITMAP
= new Atom (BITMAP_ID, "BITMAP");
public static final Atom CARDINAL
= new Atom (CARDINAL_ID, "CARDINAL");
public static final Atom COLORMAP
= new Atom (COLORMAP_ID, "COLORMAP");
public static final Atom CURSOR
= new Atom (CURSOR_ID, "CURSOR");
public static final Atom CUT_BUFFER0
= new Atom (CUT_BUFFER0_ID, "CUT_BUFFER0");
public static final Atom CUT_BUFFER1
= new Atom (CUT_BUFFER1_ID, "CUT_BUFFER1");
public static final Atom CUT_BUFFER2
= new Atom (CUT_BUFFER2_ID, "CUT_BUFFER2");
public static final Atom CUT_BUFFER3
= new Atom (CUT_BUFFER3_ID, "CUT_BUFFER3");
public static final Atom CUT_BUFFER4
= new Atom (CUT_BUFFER4_ID, "CUT_BUFFER4");
public static final Atom CUT_BUFFER5
= new Atom (CUT_BUFFER5_ID, "CUT_BUFFER5");
public static final Atom CUT_BUFFER6
= new Atom (CUT_BUFFER6_ID, "CUT_BUFFER6");
public static final Atom CUT_BUFFER7
= new Atom (CUT_BUFFER7_ID, "CUT_BUFFER7");
public static final Atom DRAWABLE
= new Atom (DRAWABLE_ID, "DRAWABLE");
public static final Atom FONT
= new Atom (FONT_ID, "FONT");
public static final Atom INTEGER
= new Atom (INTEGER_ID, "INTEGER");
public static final Atom PIXMAP
= new Atom (PIXMAP_ID, "PIXMAP");
public static final Atom POINT
= new Atom (POINT_ID, "POINT");
public static final Atom RECTANGLE
= new Atom (RECTANGLE_ID, "RECTANGLE");
public static final Atom RESOURCE_MANAGER
= new Atom (RESOURCE_MANAGER_ID, "RESOURCE_MANAGER");
public static final Atom RGB_COLOR_MAP
= new Atom (RGB_COLOR_MAP_ID, "RGB_COLOR_MAP");
public static final Atom RGB_BEST_MAP
= new Atom (RGB_BEST_MAP_ID, "RGB_BEST_MAP");
public static final Atom RGB_BLUE_MAP
= new Atom (RGB_BLUE_MAP_ID, "RGB_BLUE_MAP");
public static final Atom RGB_DEFAULT_MAP
= new Atom (RGB_DEFAULT_MAP_ID, "RGB_DEFAULT_MAP");
public static final Atom RGB_GRAY_MAP
= new Atom (RGB_GRAY_MAP_ID, "RGB_GRAY_MAP");
public static final Atom RGB_GREEN_MAP
= new Atom (RGB_GREEN_MAP_ID, "RGB_GREEN_MAP");
public static final Atom RGB_RED_MAP
= new Atom (RGB_RED_MAP_ID, "RGB_RED_MAP");
public static final Atom STRING
= new Atom (STRING_ID, "STRING");
public static final Atom VISUALID
= new Atom (VISUALID_ID, "VISUALID");
public static final Atom WINDOW
= new Atom (WINDOW_ID, "WINDOW");
public static final Atom WM_COMMAND
= new Atom (WM_COMMAND_ID, "WM_COMMAND");
public static final Atom WM_HINTS
= new Atom (WM_HINTS_ID, "WM_HINTS");
public static final Atom WM_CLIENT_MACHINE
= new Atom (WM_CLIENT_MACHINE_ID, "WM_CLIENT_MACHINE");
public static final Atom WM_ICON_NAME
= new Atom (WM_ICON_NAME_ID, "WM_ICON_NAME");
public static final Atom WM_ICON_SIZE
= new Atom (WM_ICON_SIZE_ID, "WM_ICON_SIZE");
public static final Atom WM_NAME
= new Atom (WM_NAME_ID, "WM_NAME");
public static final Atom WM_NORMAL_HINTS
= new Atom (WM_NORMAL_HINTS_ID, "WM_NORMAL_HINTS");
public static final Atom WM_SIZE_HINTS
= new Atom (WM_SIZE_HINTS_ID, "WM_SIZE_HINTS");
public static final Atom WM_ZOOM_HINTS
= new Atom (WM_ZOOM_HINTS_ID, "WM_ZOOM_HINTS");
public static final Atom MIN_SPACE
= new Atom (MIN_SPACE_ID, "MIN_SPACE");
public static final Atom NORM_SPACE
= new Atom (NORM_SPACE_ID, "NORM_SPACE");
public static final Atom MAX_SPACE
= new Atom (MAX_SPACE_ID, "MAX_SPACE");
public static final Atom END_SPACE
= new Atom (END_SPACE_ID, "END_SPACE");
public static final Atom SUPERSCRIPT_X
= new Atom (SUPERSCRIPT_X_ID, "SUPERSCRIPT_X");
public static final Atom SUPERSCRIPT_Y
= new Atom (SUPERSCRIPT_Y_ID, "SUPERSCRIPT_Y");
public static final Atom SUBSCRIPT_X
= new Atom (SUBSCRIPT_X_ID, "SUBSCRIPT_X");
public static final Atom SUBSCRIPT_Y
= new Atom (SUBSCRIPT_Y_ID, "SUBSCRIPT_Y");
public static final Atom UNDERLINE_POSITION
= new Atom (UNDERLINE_POSITION_ID, "UNDERLINE_POSITION");
public static final Atom UNDERLINE_THICKNESS
= new Atom (UNDERLINE_THICKNESS_ID, "UNDERLINE_THICKNESS");
public static final Atom STRIKEOUT_ASCENT
= new Atom (STRIKEOUT_ASCENT_ID, "STRIKEOUT_ASCENT");
public static final Atom STRIKEOUT_DESCENT
= new Atom (STRIKEOUT_DESCENT_ID, "STRIKEOUT_DESCENT");
public static final Atom ITALIC_ANGLE
= new Atom (ITALIC_ANGLE_ID, "ITALIC_ANGLE");
public static final Atom X_HEIGHT
= new Atom (X_HEIGHT_ID, "X_HEIGHT");
public static final Atom QUAD_WIDTH
= new Atom (QUAD_WIDTH_ID, "QUAD_WIDTH");
public static final Atom WEIGHT
= new Atom (WEIGHT_ID, "WEIGHT");
public static final Atom POINT_SIZE
= new Atom (POINT_SIZE_ID, "POINT_SIZE");
public static final Atom RESOLUTION
= new Atom (RESOLUTION_ID, "RESOLUTION");
public static final Atom COPYRIGHT
= new Atom (COPYRIGHT_ID, "COPYRIGHT");
public static final Atom NOTICE
= new Atom (NOTICE_ID, "NOTICE");
public static final Atom FONT_NAME
= new Atom (FONT_NAME_ID, "FONT_NAME");
public static final Atom FAMILY_NAME
= new Atom (FAMILY_NAME_ID, "FAMILY_NAME");
public static final Atom FULL_NAME
= new Atom (FULL_NAME_ID, "FULL_NAME");
public static final Atom CAP_HEIGHT
= new Atom (CAP_HEIGHT_ID, "CAP_HEIGHT");
public static final Atom WM_CLASS
= new Atom (WM_CLASS_ID, "WM_CLASS");
public static final Atom WM_TRANSIENT_FOR
= new Atom (WM_TRANSIENT_FOR_ID, "WM_TRANSIENT_FOR");
public Display display;
public int id;
public String name;
/** Predefined. */
public Atom (int id, String name) {
this.id = id;
this.name = name;
}
// opcode 16 - intern atom
/**
* @see XInternAtom
*/
private Atom (Display display, String name, boolean only_if_exists) {
this.display = display;
this.name = name;
int n = name.length();
int p = RequestOutputStream.pad (n);
RequestOutputStream o = display.out;
synchronized (o) {
o.begin_request (16, only_if_exists ? 1 : 0,
2 + (n + p) / 4);
o.write_int16 (n);
o.skip (2); // Unused.
o.write_string8 (name);
o.write_pad (n);
ResponseInputStream i = display.in;
synchronized (i) {
i.read_reply(o);
i.skip (8); // Unused + sequence number + reply length.
id = i.read_int32 ();
i.skip (20); // Unused.
}
}
display.atom_ids.put (new Integer (id), this);
display.atom_names.put (name, this);
}
// opcode 17 - get atom name
/**
* @see XGetAtomName
*/
public Atom (Display display, int id, boolean only_if_exists) {
this.display = display;
this.id = id;
RequestOutputStream o = display.out;
synchronized (o) {
o.begin_request (17, 0, 2);
o.write_int32 (id);
ResponseInputStream i = display.in;
synchronized (i) {
i.read_reply (o);
i.skip (8); // Unused + sequence number + reply length.
int len = i.read_int16 ();
i.skip (22);
name = i.read_string8 (len);
i.pad (len); // Pad.
}
}
display.atom_ids.put (new Integer (id), this);
display.atom_names.put (name, this);
}
/**
* @see #Atom(Display, int, boolean)
*/
public static Object intern (Display display, int id) {
return intern (display, id, false);
}
/**
* @see #Atom(Display, String, boolean)
*/
public static Atom intern (Display display, String name) {
return intern (display, name, false);
}
/**
* @see #Atom(Display, int, boolean)
*/
public static Object intern (Display display, int id,
boolean only_if_exists) {
Object value = display.atom_ids.get (new Integer (id));
if (value != null && value instanceof Atom) return value;
return new Atom (display, id, only_if_exists);
}
/**
* @see #Atom(Display, String, boolean)
*/
public static Atom intern (Display display, String name,
boolean only_if_exists) {
Object value = display.atom_names.get (name);
if (value != null && value instanceof Atom) return (Atom) value;
Atom atom = new Atom (display, name, only_if_exists);
if (atom.id == 0) {
atom = null;
}
return atom;
}
public String toString () {
return "#Atom: " + name + " " + id;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy