26#include <X11/cursorfont.h>
27#include <X11/keysym.h>
73#ifndef XK_ISO_Left_Tab
160 conv.i[0] = (
Int_t) i1;
161 conv.i[1] = (
Int_t) i2;
171 XGetErrorText(disp, err->error_code, msg, 80);
173 if (!err->resourceid)
return 0;
179 ::Error(
"RootX11ErrorHandler",
"%s (XID: %u, XREQ: %u)", msg,
180 (
UInt_t)err->resourceid, err->request_code);
182 ::Error(
"RootX11ErrorHandler",
"%s (%s XID: %u, XREQ: %u)", msg, w->
ClassName(),
183 (
UInt_t)err->resourceid, err->request_code);
199 ::Error(
"RootX11IOErrorHandler",
"fatal X11 error (connection to server lost?!)");
200 fprintf(stderr,
"\n**** Save data and exit application ****\n\n");
364 XSetWindowBackgroundPixmap((Display*)
fDisplay, (
Window)
id, (Pixmap) pxm);
385 if (
fColormap && !(xmask & CWColormap)) {
390 xmask |= CWBorderPixel;
395 w,
h, border, depth, clss, (
Visual*)visual,
405 Long_t lxemask = NoEventMask;
407 lxemask |= KeyPressMask;
409 lxemask |= KeyReleaseMask;
411 lxemask |= ButtonPressMask;
413 lxemask |= ButtonReleaseMask;
415 lxemask |= PointerMotionMask;
417 lxemask |= ButtonMotionMask;
419 lxemask |= ExposureMask;
421 lxemask |= StructureNotifyMask;
423 lxemask |= EnterWindowMask;
425 lxemask |= LeaveWindowMask;
427 lxemask |= FocusChangeMask;
429 lxemask |= OwnerGrabButtonMask;
431 lxemask |= ColormapChangeMask;
435 if ((xemask & KeyPressMask))
437 if ((xemask & KeyReleaseMask))
439 if ((xemask & ButtonPressMask))
441 if ((xemask & ButtonReleaseMask))
443 if ((xemask & PointerMotionMask))
445 if ((xemask & ButtonMotionMask))
447 if ((xemask & ExposureMask))
449 if ((xemask & StructureNotifyMask))
451 if ((xemask & EnterWindowMask))
453 if ((xemask & LeaveWindowMask))
455 if ((xemask & FocusChangeMask))
457 if ((xemask & OwnerGrabButtonMask))
459 if ((xemask & ColormapChangeMask))
474 xmask |= CWBackPixmap;
476 xattr.background_pixmap = None;
478 xattr.background_pixmap = ParentRelative;
483 xmask |= CWBackPixel;
487 xmask |= CWBorderPixmap;
491 xmask |= CWBorderPixel;
495 xmask |= CWBitGravity;
499 xmask |= CWWinGravity;
503 xmask |= CWBackingStore;
505 xattr.backing_store = NotUseful;
507 xattr.backing_store = WhenMapped;
509 xattr.backing_store = Always;
514 xmask |= CWBackingPlanes;
518 xmask |= CWBackingPixel;
522 xmask |= CWOverrideRedirect;
526 xmask |= CWSaveUnder;
530 xmask |= CWEventMask;
533 xattr.event_mask = xmsk;
536 xmask |= CWDontPropagate;
569 xmask |= GCPlaneMask;
573 xmask |= GCForeground;
577 xmask |= GCBackground;
581 xmask |= GCLineWidth;
585 xmask |= GCLineStyle;
593 xmask |= GCJoinStyle;
597 xmask |= GCFillStyle;
606 xgval.tile = (Pixmap) gval.
fTile;
610 xgval.stipple = (Pixmap) gval.
fStipple;
613 xmask |= GCTileStipXOrigin;
617 xmask |= GCTileStipYOrigin;
623 xgval.font = (Font) gval.
fFont;
627 xmask |= GCSubwindowMode;
631 xmask |= GCGraphicsExposures;
635 xmask |= GCClipXOrigin;
639 xmask |= GCClipYOrigin;
644 xgval.clip_mask = (Pixmap) gval.
fClipMask;
647 xmask |= GCDashOffset;
652 xgval.dashes = gval.
fDashes[0];
663 if ((xmask & GCFunction)) {
667 if ((xmask & GCPlaneMask)) {
671 if ((xmask & GCForeground)) {
675 if ((xmask & GCBackground)) {
679 if ((xmask & GCLineWidth)) {
683 if ((xmask & GCLineStyle)) {
687 if ((xmask & GCCapStyle)) {
691 if ((xmask & GCJoinStyle)) {
695 if ((xmask & GCFillStyle)) {
699 if ((xmask & GCFillRule)) {
703 if ((xmask & GCTile)) {
707 if ((xmask & GCStipple)) {
711 if ((xmask & GCTileStipXOrigin)) {
715 if ((xmask & GCTileStipYOrigin)) {
719 if ((xmask & GCFont)) {
723 if ((xmask & GCSubwindowMode)) {
727 if ((xmask & GCGraphicsExposures)) {
731 if ((xmask & GCClipXOrigin)) {
735 if ((xmask & GCClipYOrigin)) {
739 if ((xmask & GCClipMask)) {
743 if ((xmask & GCDashOffset)) {
747 if ((xmask & GCDashList)) {
749 gval.
fDashes[0] = xgval.dashes;
752 if ((xmask & GCArcMode)) {
767 XWindowAttributes xattr;
769 XGetWindowAttributes((Display*)
fDisplay,
id, &xattr);
773 attr.
fWidth = xattr.width;
776 attr.
fDepth = xattr.depth;
817 Warning(
"OpenDisplay",
"system has no X11 thread support");
822 if (!(dpy = XOpenDisplay(dpyName)))
830 XSynchronize(dpy, 1);
836 return ConnectionNumber(dpy);
904 Atom a = XInternAtom((Display*)
fDisplay, (
char *)atom_name, (Bool)only_if_exist);
906 if (
a == None)
return kNone;
930 XQueryTree((Display*)
fDisplay, (
Window)
id, &root, &parent, &children, &nchildren);
932 if (children) XFree(children);
945 XFontStruct *fs = XLoadQueryFont((Display*)
fDisplay, (
char *)font_name);
955 XFontStruct *fss = (XFontStruct *)fs;
1003 XChangeGC((Display*)
fDisplay, (GC) gc, xmask, &xgval);
1039 XFreeGC((Display*)
fDisplay, (GC) gc);
1078 width, height, forecolor, backcolor, depth);
1112 xmask |= XpmColormap;
1117 xpmattr.depth = attr.
fDepth;
1121 xpmattr.width = attr.
fWidth;
1122 xpmattr.height = attr.
fHeight;
1125 xmask |= XpmHotspot;
1130 xmask |= XpmReturnPixels;
1132 xpmattr.npixels = 0;
1135 xmask |= XpmCloseness;
1138 xpmattr.valuemask = xmask;
1140 ULong_t xmask = xpmattr.valuemask;
1146 if ((xmask & XpmColormap)) {
1150 attr.
fDepth = xpmattr.depth;
1152 if ((xmask & XpmSize)) {
1154 attr.
fWidth = xpmattr.width;
1155 attr.
fHeight = xpmattr.height;
1157 if ((xmask & XpmHotspot)) {
1162 if ((xmask & XpmReturnPixels)) {
1164 if (xpmattr.npixels) {
1166 for (
UInt_t i = 0; i < xpmattr.npixels; i++)
1167 attr.
fPixels[i] = xpmattr.pixels[i];
1171 if ((xmask & XpmCloseness)) {
1189 if (strstr(filename,
".gif") || strstr(filename,
".GIF")) {
1190 pict =
ReadGIF(0, 0, filename,
id);
1205 xpmattr.valuemask |= XpmDepth;
1210 (Pixmap*)&pict, (Pixmap*)&pict_mask, &xpmattr);
1213 XpmFreeAttributes(&xpmattr);
1215 if (res == XpmSuccess || res == XpmColorError)
1219 XFreePixmap((Display*)
fDisplay, (Pixmap)pict);
1223 XFreePixmap((Display*)
fDisplay, (Pixmap)pict_mask);
1227 Error(
"CreatePictureFromFile",
"cannot get picture, not compiled with Xpm");
1248 xpmattr.valuemask |= XpmDepth;
1253 (Pixmap*)&pict_mask, &xpmattr);
1256 XpmFreeAttributes(&xpmattr);
1258 if (res == XpmSuccess || res == XpmColorError)
1262 XFreePixmap((Display*)
fDisplay, (Pixmap)pict);
1266 XFreePixmap((Display*)
fDisplay, (Pixmap)pict_mask);
1270 Error(
"CreatePictureFromData",
"cannot get picture, not compiled with Xpm");
1283 if (XpmReadFileToData((
char*)filename, ret_data) == XpmSuccess)
1286 Error(
"ReadPictureFromDataFile",
"cannot get picture, not compiled with Xpm");
1311 XSetDashes((Display*)
fDisplay, (GC) gc, offset, (
char *)dash_list,
n);
1319 xcolor.pixel = color->
fPixel;
1320 xcolor.red = color->
fRed;
1321 xcolor.green = color->
fGreen;
1322 xcolor.blue = color->
fBlue;
1323 xcolor.flags = color->
fMask;
1339 color.
fRed = xc.red;
1341 color.
fBlue = xc.blue;
1385 color.
fRed = xc.red;
1387 color.
fBlue = xc.blue;
1405 return XPending((Display*)
fDisplay);
1429 xstate |= ShiftMask;
1433 xstate |= ControlMask;
1445 xstate |= Button1Mask;
1447 xstate |= Button2Mask;
1449 xstate |= Button3Mask;
1451 xstate |= AnyModifier;
1454 if ((xstate & ShiftMask))
1456 if ((xstate & LockMask))
1458 if ((xstate & ControlMask))
1460 if ((xstate & Mod1Mask))
1462 if ((xstate & Mod2Mask))
1464 if ((xstate & Mod3Mask))
1466 if ((xstate & Mod4Mask))
1468 if ((xstate & Mod5Mask))
1470 if ((xstate & Button1Mask))
1472 if ((xstate & Button2Mask))
1474 if ((xstate & Button3Mask))
1476 if ((xstate & AnyModifier))
1487 XEvent &xev = *(XEvent *)xevi;
1514 xev.xany.display = (Display*)
fDisplay;
1517 xev.xkey.time = (Time) ev.
fTime;
1520 xev.xkey.x_root = ev.
fXRoot;
1521 xev.xkey.y_root = ev.
fYRoot;
1523 xev.xkey.keycode = ev.
fCode;
1526 xev.xselection.time = (Time) ev.
fTime;
1528 xev.xselection.selection = (
Atom) ev.
fUser[1];
1529 xev.xselection.target = (
Atom) ev.
fUser[2];
1530 xev.xselection.property = (
Atom) ev.
fUser[3];
1533 xev.xclient.message_type = ev.
fHandle;
1534 xev.xclient.format = ev.
fFormat;
1535 xev.xclient.data.l[0] = ev.
fUser[0];
1536 if (
sizeof(ev.
fUser[0]) > 4) {
1537 SplitLong(ev.
fUser[1], xev.xclient.data.l[1], xev.xclient.data.l[3]);
1538 SplitLong(ev.
fUser[2], xev.xclient.data.l[2], xev.xclient.data.l[4]);
1540 xev.xclient.data.l[1] = ev.
fUser[1];
1541 xev.xclient.data.l[2] = ev.
fUser[2];
1542 xev.xclient.data.l[3] = ev.
fUser[3];
1543 xev.xclient.data.l[4] = ev.
fUser[4];
1577 ev.
fXRoot = xev.xkey.x_root;
1578 ev.
fYRoot = xev.xkey.y_root;
1580 ev.
fCode = xev.xkey.keycode;
1581 ev.
fUser[0] = xev.xkey.subwindow;
1585 ev.
fX = xev.xbutton.x;
1586 ev.
fY = xev.xbutton.y;
1587 ev.
fXRoot = xev.xbutton.x_root;
1588 ev.
fYRoot = xev.xbutton.y_root;
1590 ev.
fCode = xev.xbutton.button;
1591 ev.
fUser[0] = xev.xbutton.subwindow;
1595 ev.
fX = xev.xmotion.x;
1596 ev.
fY = xev.xmotion.y;
1597 ev.
fXRoot = xev.xmotion.x_root;
1598 ev.
fYRoot = xev.xmotion.y_root;
1600 ev.
fUser[0] = xev.xmotion.subwindow;
1604 ev.
fX = xev.xcrossing.x;
1605 ev.
fY = xev.xcrossing.y;
1606 ev.
fXRoot = xev.xcrossing.x_root;
1607 ev.
fYRoot = xev.xcrossing.y_root;
1608 ev.
fCode = xev.xcrossing.mode;
1613 ev.
fCode = xev.xfocus.mode;
1614 ev.
fState = xev.xfocus.detail;
1617 ev.
fX = xev.xexpose.x;
1618 ev.
fY = xev.xexpose.y;
1619 ev.
fWidth = xev.xexpose.width;
1620 ev.
fHeight = xev.xexpose.height;
1621 ev.
fCount = xev.xexpose.count;
1624 ev.
fX = xev.xconfigure.x;
1625 ev.
fY = xev.xconfigure.y;
1626 ev.
fWidth = xev.xconfigure.width;
1627 ev.
fHeight = xev.xconfigure.height;
1633 ev.
fHandle = xev.xdestroywindow.window;
1636 ev.
fHandle = xev.xclient.message_type;
1637 ev.
fFormat = xev.xclient.format;
1638 ev.
fUser[0] = xev.xclient.data.l[0];
1639 if (
sizeof(ev.
fUser[0]) > 4) {
1640 AsmLong(xev.xclient.data.l[1], xev.xclient.data.l[3], ev.
fUser[1]);
1641 AsmLong(xev.xclient.data.l[2], xev.xclient.data.l[4], ev.
fUser[2]);
1643 ev.
fUser[1] = xev.xclient.data.l[1];
1644 ev.
fUser[2] = xev.xclient.data.l[2];
1645 ev.
fUser[3] = xev.xclient.data.l[3];
1646 ev.
fUser[4] = xev.xclient.data.l[4];
1650 ev.
fUser[0] = xev.xselectionclear.selection;
1654 ev.
fUser[0] = xev.xselectionrequest.requestor;
1655 ev.
fUser[1] = xev.xselectionrequest.selection;
1656 ev.
fUser[2] = xev.xselectionrequest.target;
1657 ev.
fUser[3] = xev.xselectionrequest.property;
1661 ev.
fUser[0] = xev.xselection.requestor;
1662 ev.
fUser[1] = xev.xselection.selection;
1663 ev.
fUser[2] = xev.xselection.target;
1664 ev.
fUser[3] = xev.xselection.property;
1667 ev.
fHandle = xev.xcolormap.colormap;
1668 ev.
fCode = xev.xcolormap.state;
1669 ev.
fState = xev.xcolormap.c_new;
1679 XBell((Display*)
fDisplay, percent);
1691 if (!src || !
dest)
return;
1710 XChangeWindowAttributes((Display*)
fDisplay, (
Window)
id, xmask, &xattr);
1727 8, PropModeReplace, data, len);
1771 tev.
fX = tev.
fY = 0;
1776 Bool
r = XCheckTypedWindowEvent((Display*)
fDisplay, (
Window)
id, xev.type, &xev);
1788 if (!ev || !
id)
return;
1815 XAutoRepeatOff((Display*)
fDisplay);
1834 GrabModeAsync, GrabModeAsync);
1859 XGrabButton((Display*)
fDisplay, button, xmod, (
Window)
id, True, xevmask,
1860 GrabModeAsync, GrabModeAsync, (
Window) confine,
1880 XGrabPointer((Display*)
fDisplay, (
Window)
id, (Bool) owner_events,
1881 xevmask, GrabModeAsync, GrabModeAsync, (
Window) confine,
1882 (
Cursor) cursor, CurrentTime);
1884 XUngrabPointer((Display*)
fDisplay, CurrentTime);
1894 XTextProperty wname;
1896 if (XStringListToTextProperty(&
name, 1, &wname) == 0) {
1897 Error(
"SetWindowName",
"cannot allocate window name \"%s\"",
name);
1911 XTextProperty wname;
1913 if (XStringListToTextProperty(&
name, 1, &wname) == 0) {
1914 Error(
"SetIconName",
"cannot allocate icon name \"%s\"",
name);
1930 hints.flags = IconPixmapHint;
1931 hints.icon_pixmap = (Pixmap) pic;
1943 XClassHint class_hints;
1945 class_hints.res_class = className;
1946 class_hints.res_name = resourceName;
1957 MWMHintsProperty_t prop;
1959 prop.fDecorations = value;
1960 prop.fFunctions = funcs;
1961 prop.fInputMode = input;
1977 hints.flags = USPosition | PPosition;
1993 hints.flags = USSize | PSize | PBaseSize;
1994 hints.width = hints.base_width = w;
1995 hints.height = hints.base_height =
h;
2012 hints.flags = PMinSize | PMaxSize | PResizeInc;
2013 hints.min_width = (
Int_t)wmin;
2014 hints.max_width = (
Int_t)wmax;
2015 hints.min_height = (
Int_t)hmin;
2016 hints.max_height = (
Int_t)hmax;
2017 hints.width_inc = (
Int_t)winc;
2018 hints.height_inc = (
Int_t)hinc;
2031 Int_t xstate = NormalState;
2034 xstate = NormalState;
2036 xstate = IconicState;
2038 hints.flags = StateHint;
2039 hints.initial_state = xstate;
2058 const char *s,
Int_t len)
2070 return XTextWidth((XFontStruct*) font, (
char*) s, len);
2078 XFontStruct *
f = (XFontStruct *) font;
2080 max_ascent =
f->max_bounds.ascent;
2081 max_descent =
f->max_bounds.descent;
2101 XGetGCValues((Display*)
fDisplay, (GC) gc, xmask, &xgval);
2114 fs = XQueryFont((Display*)
fDisplay, (Font) fh);
2125 static int xfree86_400 = -1;
2126 if (xfree86_400 == -1) {
2127 if (strstr(XServerVendor((Display*)
fDisplay),
"XFree86") &&
2128 XVendorRelease((Display*)
fDisplay) == 4000)
2134 if (xfree86_400 == 0)
2135 XFreeFontInfo(0, (XFontStruct *) fs, 1);
2158 return XKeysymToKeycode((Display*)
fDisplay, xkeysym);
2188 XDrawSegments((Display*)
fDisplay, (
Drawable)
id, (GC) gc, (XSegment *) seg, nseg);
2216 XGetInputFocus((Display*)
fDisplay, &focus, &return_to);
2227 XWindowAttributes xattr;
2231 if (xattr.map_state == IsViewable)
2232 XSetInputFocus((Display*)
fDisplay, (
Window)
id, RevertToParent, CurrentTime);
2271 (
Window)
id, (Time) when);
2287 int n = XLookupString(&xev.xkey, buf, buflen-1, &xkeysym, 0);
2289 Error(
"LookupString",
"buf too small, must be at least %d",
n+1);
2295 keysym = (
Int_t) ks;
2305 xkeysym = XK_VoidSymbol;
2311 for (
int i = 0;
gKeyMap[i].fKeySym; i++) {
2321 if (xkeysym < 127) {
2323 }
else if (xkeysym >= XK_F1 && xkeysym <= XK_F35) {
2324 keysym =
kKey_F1 + (xkeysym - XK_F1);
2325 }
else if (xkeysym >= XK_KP_0 && xkeysym <= XK_KP_9) {
2326 keysym =
kKey_0 + (xkeysym - XK_KP_0);
2328 for (
int i = 0;
gKeyMap[i].fXKeySym; i++) {
2329 if (xkeysym ==
gKeyMap[i].fXKeySym) {
2347 Atom actual_type,
property = (
Atom) atom;
2349 ULong_t nitems, bytes_after, nread;
2350 unsigned char *data;
2355 if (property == None)
return;
2360 if (XGetWindowProperty((Display*)
fDisplay, (
Window)
id, property,
2361 nread/4, 1024, (Bool)del,
2363 &actual_type, &actual_format,
2364 &nitems, &bytes_after,
2365 (
unsigned char **) &data)
2375 }
while (bytes_after > 0);
2377 nchar = (
Int_t) nread;
2389 if (!src || !
dest)
return;
2394 src_y, &dest_x, &dest_y, &xchild);
2425 Convex, CoordModeOrigin);
2446 XQueryPointer((Display*)
fDisplay, (
Window)
id, &xrootw, &xchildw,
2447 &root_x, &root_y, &win_x, &win_y, &xmask);
2461 XSetForeground((Display*)
fDisplay, (GC) gc, foreground);
2471 XSetClipRectangles((Display*)
fDisplay, (GC) gc,
x,
y, (XRectangle *) recs,
n, Unsorted);
2500 XDestroyRegion((Region)reg);
2508 XRectangle *
r = (XRectangle *) rect;
2509 XUnionRectWithRegion(
r, (Region) src, (Region)
dest);
2518 XPoint *p = (XPoint *)
points;
2519 return (
Region_t) XPolygonRegion(p, np, winding ? WindingRule : EvenOddRule);
2528 XUnionRegion((Region) rega, (Region) regb, (Region) result);
2537 XIntersectRegion((Region) rega, (Region) regb, (Region) result);
2545 XSubtractRegion((Region) rega, (Region) regb, (Region) result);
2554 XXorRegion((Region) rega, (Region) regb, (Region) result);
2562 return (
Bool_t) XEmptyRegion((Region) reg);
2570 return (
Bool_t) XPointInRegion((Region) reg,
x,
y);
2578 return (
Bool_t) XEqualRegion((Region) rega, (Region) regb);
2586 XClipBox((Region) reg, (XRectangle*) rect);
2595 Int_t fontcount = 0;
2596 fontlist = XListFonts((Display*)
fDisplay, (
char *)fontname, max, &fontcount);
2606 XFreeFontNames(fontlist);
2624 0, 0,
width, height, bitmap_pad, 0);
2627 if (xim) xim->data = (
char *)
calloc(xim->bytes_per_line * xim->height, 1);
2638 height = ((
XImage*)img)->height;
2646 XPutPixel((
XImage*) img,
x,
y, pixel);
2658 x,
y, dx, dy, w,
h);
2666 XDestroyImage((
XImage*) img);
2685 return (
UInt_t)WidthMMOfScreen(DefaultScreenOfDisplay((Display*)
fDisplay));
2695 XDeleteProperty((Display*)
fDisplay, win, prop);
2707 unsigned char **prop_list)
2709 return XGetWindowProperty((Display*)
fDisplay, win, prop, offset, length, del, req_type,
2710 act_type, act_format, nitems, bytes, prop_list);
2724 XChangeActivePointerGrab((Display*)
fDisplay, xevmask, cur, CurrentTime);
2734 XConvertSelection((Display*)
fDisplay, sel, target, prop, win, stamp);
2742 return XSetSelectionOwner((Display*)
fDisplay, sel, owner, CurrentTime);
2756 format, PropModeReplace, data, len);
2765 unsigned char version = 4;
2768 32, PropModeReplace, (
unsigned char *) &version, 1);
2773 for (
n = 0; typelist[
n];
n++) { }
2775 XChangeProperty((Display*)
fDisplay, win, dndaware,
XA_ATOM, 32, PropModeAppend,
2776 (
unsigned char *) typelist,
n);
2788 for (
n = 0; typelist[
n];
n++) { }
2790 XChangeProperty((Display*)
fDisplay, win, prop,
XA_ATOM, 32, PropModeAppend,
2791 (
unsigned char *) typelist,
n);
2802 int x,
int y,
int maxd)
2805 static Atom_t *dndTypeList = 0;
2807 if (dndTypeList == 0) {
2808 dndTypeList =
new Atom_t[3];
2814 if (maxd <= 0)
return kNone;
2816 if (win == dragwin || win == input)
return kNone;
2823 if (
IsDNDAware(win, dndTypeList))
return win;
2829 if (XQueryTree((Display*)
fDisplay, win, &
r, &p, &children, &numch)) {
2830 if (children && numch > 0) {
2834 for (i = numch-1; i >= 0; --i) {
2836 x - wattr.
fX,
y - wattr.
fY, maxd-1);
2857 unsigned char *data = 0;
2864 if (dndaware ==
kNone)
2867 XGetWindowProperty((Display*)
fDisplay, win, dndaware, 0, 0x8000000L,
kFALSE,
2868 XA_ATOM, &actual, &format, &count, &remaining, &data);
2870 if ((actual !=
XA_ATOM) || (format != 32) || (count == 0) || !data) {
2871 if (data) XFree(data);
2877 if ((count > 1) && typelist) {
2879 for (t = typelist; *t; t++) {
2880 for (
ULong_t j = 1; j < count; j++) {
2881 if (types[j] == *t) {
const Int_t kPropMotifWMHintsElements
static KeySymbolMap_t gKeyMap[]
static Int_t RootX11IOErrorHandler(Display *)
Handle X11 I/O error (happens when connection to display server is broken).
const ULong_t kMWMHintsInputMode
const ULong_t kMWMHintsDecorations
const Int_t kPropMWMHintElements
const ULong_t kMWMHintsFunctions
void AsmLong(Long_t i1, Long_t i2, Long_t &ll)
static Int_t RootX11ErrorHandler(Display *disp, XErrorEvent *err)
Handle X11 error.
void SplitLong(Long_t ll, Long_t &i1, Long_t &i2)
const Mask_t kWABorderPixel
const Mask_t kWAOverrideRedirect
const Mask_t kWABitGravity
const Mask_t kGCDashOffset
const Mask_t kGCBackground
const Mask_t kGCForeground
const Mask_t kPAReturnPixels
const Mask_t kGCLineStyle
const Mask_t kWADontPropagate
const Mask_t kKeyMod5Mask
const Mask_t kGCSubwindowMode
const Mask_t kGCLineWidth
Handle_t Cursor_t
Cursor handle.
const Mask_t kKeyMod4Mask
const Mask_t kButtonMotionMask
const Mask_t kKeyMod3Mask
const Mask_t kGCClipXOrigin
const Mask_t kWABackingStore
const Mask_t kFocusChangeMask
const Mask_t kKeyLockMask
const Mask_t kButtonPressMask
const Mask_t kPACloseness
Handle_t FontH_t
Font handle (as opposed to Font_t which is an index)
const Mask_t kKeyMod1Mask
typically the Alt key
Handle_t Visual_t
Visual handle.
const Mask_t kExposureMask
const Mask_t kWAEventMask
const Mask_t kGCFillStyle
const Mask_t kGCJoinStyle
const Mask_t kKeyReleaseMask
const Mask_t kWASaveUnder
const Mask_t kWABackPixel
Handle_t Display_t
Display handle.
const Mask_t kWAWinGravity
const Mask_t kOwnerGrabButtonMask
const Mask_t kAnyModifier
Handle_t Pixmap_t
Pixmap handle.
const Mask_t kKeyPressMask
ULong_t Time_t
Event time.
EInitialState
Initial window mapping state.
const Mask_t kButton1Mask
const Mask_t kGCTileStipXOrigin
const Mask_t kWABackingPixel
Handle_t Drawable_t
Drawable handle.
const Mask_t kColormapChangeMask
const Mask_t kPointerMotionMask
Handle_t Colormap_t
Colormap handle.
const Mask_t kKeyShiftMask
const Mask_t kKeyControlMask
const Mask_t kKeyMod2Mask
typically mod on numeric keys
const Mask_t kButton3Mask
const Mask_t kLeaveWindowMask
const Mask_t kStructureNotifyMask
const Mask_t kButton2Mask
const Handle_t kParentRelative
Handle_t GContext_t
Graphics context handle.
const Mask_t kGCPlaneMask
const Mask_t kButtonReleaseMask
const Mask_t kGCGraphicsExposures
const Mask_t kGCClipYOrigin
const Mask_t kWABorderPixmap
const Mask_t kPASize
width and height
Handle_t Region_t
Region handle.
const Mask_t kEnterWindowMask
Handle_t FontStruct_t
Pointer to font structure.
const Mask_t kPAHotspot
x and y hotspot
const Mask_t kGCTileStipYOrigin
EMouseButton
Button names.
Handle_t Window_t
Window handle.
const Mask_t kWABackPixmap
const Mask_t kWABorderWidth
ULongptr_t Handle_t
Generic resource handle.
const Mask_t kWABackingPlanes
static const double x2[5]
static const double x1[5]
include TDocParser_001 C image html pict1_TDocParser_001 png width
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
R__EXTERN void Throw(int code)
If an exception context has been set (using the TRY and RETRY macros) jump back to where it was set.
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
R__EXTERN TFileHandler * gXDisplay
R__EXTERN Atom_t gMOTIF_WM_HINTS
R__EXTERN Atom_t gWM_DELETE_WINDOW
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
void QueryColor(Colormap_t cmap, ColorStruct_t &color)
Fill in the primary color components for a specific pixel value.
void SetForeground(GContext_t gc, ULong_t foreground)
Set foreground color in graphics context (shortcut for ChangeGC with only foreground mask set).
Drawable_t CreateImage(UInt_t width, UInt_t height)
Create a client-side XImage. Returns handle to XImage.
void * fDisplay
Pointer to display.
void NextEvent(Event_t &event)
Copies first pending event from event queue to Event_t structure and removes event from queue.
void QueryPointer(Int_t &ix, Int_t &iy)
Query pointer position.
void SetIconName(Window_t id, char *name)
Set window icon name.
Bool_t ParseColor(Colormap_t cmap, const char *cname, ColorStruct_t &color)
Parse string cname containing color name, like "green" or "#00FF00".
Colormap fColormap
Default colormap, 0 if b/w.
Window_t GetPrimarySelectionOwner()
Returns the window id of the current owner of the primary selection.
void FreeFontNames(char **fontlist)
Free list of font names.
void WMDeleteNotify(Window_t id)
Tell WM to send message when window is closed via WM.
void ChangeGC(GContext_t gc, GCValues_t *gval)
Change entries in an existing graphics context, gc, by values from gval.
Int_t GetScreen() const
Returns screen number (might be useful in some cases where direct X11 manipulation outside of TVirtua...
void ChangeActivePointerGrab(Window_t, UInt_t, Cursor_t)
Changes the specified dynamic parameters if the pointer is actively grabbed by the client.
void MapEvent(Event_t &ev, void *xev, Bool_t tox=kTRUE)
Map Event_t structure to XEvent structure.
Cursor_t CreateCursor(ECursor cursor)
Create cursor handle (just return cursor from cursor pool fCursors).
void CloseDisplay()
Close connection to display server.
void ChangeProperties(Window_t id, Atom_t property, Atom_t type, Int_t format, UChar_t *data, Int_t len)
This function alters the property for the specified window and causes the X server to generate a Prop...
Bool_t CreatePictureFromFile(Drawable_t id, const char *filename, Pixmap_t &pict, Pixmap_t &pict_mask, PictureAttributes_t &attr)
Create a picture pixmap from data on file.
Int_t fScreenNumber
Screen number.
void DrawString(Drawable_t id, GContext_t gc, Int_t x, Int_t y, const char *s, Int_t len)
Draw a string using a specific graphics context in position (x,y).
Window_t GetInputFocus()
Returns the window id of the window having the input focus.
void SetWMTransientHint(Window_t id, Window_t main_id)
Tell window manager that window is a transient window of main.
void DeleteGC(GContext_t gc)
Explicitly delete a graphics context.
Colormap_t GetColormap() const
Returns handle to colormap (might be useful in some cases where direct X11 manipulation outside of TV...
void DestroyRegion(Region_t reg)
Destroy region.
Pixmap_t CreatePixmap(Drawable_t id, UInt_t w, UInt_t h)
Creates a pixmap of the width and height you specified and returns a pixmap ID that identifies it.
Cursor fCursors[kNumCursors]
List of cursors.
Bool_t AllocColor(Colormap cmap, RXColor *color)
Allocate color in colormap.
void SubtractRegion(Region_t rega, Region_t regb, Region_t result)
Subtract rega from regb.
void ConvertSelection(Window_t, Atom_t &, Atom_t &, Atom_t &, Time_t &)
Requests that the specified selection be converted to the specified target type.
void DrawRectangle(Drawable_t id, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h)
Draw a rectangle outline.
void DeletePixmap(Pixmap_t pmap)
Explicitly delete pixmap resource.
FontH_t GetFontHandle(FontStruct_t fs)
Return handle to font described by font structure.
void MapSubwindows(Window_t id)
Map sub windows.
void SetInputFocus(Window_t id)
Set keyboard input focus to window id.
void DeletePictureData(void *data)
Delete picture data created by the function ReadPictureDataFromFile.
void SetWMState(Window_t id, EInitialState state)
Set the initial state of the window. Either kNormalState or kIconicState.
void UnionRectWithRegion(Rectangle_t *rect, Region_t src, Region_t dest)
Union of rectangle with a region.
void MapEventMask(UInt_t &emask, UInt_t &xemask, Bool_t tox=kTRUE)
Map event mask to or from X.
void IconifyWindow(Window_t id)
Iconify the window.
void PutPixel(Drawable_t id, Int_t x, Int_t y, ULong_t pixel)
Set pixel at specified location in XImage img.
void GetImageSize(Drawable_t id, UInt_t &width, UInt_t &height)
Get size of XImage img.
void RaiseWindow(Window_t id)
Put window on top of window stack.
void SetWMPosition(Window_t id, Int_t x, Int_t y)
Tell the window manager the desired window position.
void SetDashes(GContext_t gc, Int_t offset, const char *dash_list, Int_t n)
Specify a dash pattern.
void UnionRegion(Region_t rega, Region_t regb, Region_t result)
Compute the union of rega and regb and return result region.
void FreeFontStruct(FontStruct_t fs)
Free font structure returned by GetFontStruct().
void SetCursor(Int_t win, ECursor cursor)
Set the cursor.
Window_t GetParent(Window_t id) const
Return the parent of the window.
void MoveWindow(Int_t wid, Int_t x, Int_t y)
Move the window wid.
void MapKeySym(UInt_t &keysym, UInt_t &xkeysym, Bool_t tox=kTRUE)
Map to and from X key symbols.
Bool_t fHasXft
True when XftFonts are used.
void ShapeCombineMask(Window_t id, Int_t x, Int_t y, Pixmap_t mask)
The Nonrectangular Window Shape Extension adds nonrectangular windows to the System.
void SetWindowName(Window_t id, char *name)
Set window name.
Bool_t EqualRegion(Region_t rega, Region_t regb)
Returns true if two regions are equal.
void GetFontProperties(FontStruct_t font, Int_t &max_ascent, Int_t &max_descent)
Return some font properties.
Int_t GetDepth() const
Returns depth of screen (number of bit planes).
Visual_t GetVisual() const
Returns handle to visual (might be useful in some cases where direct X11 manipulation outside of TVir...
void MapGCValues(GCValues_t &gval, ULong_t &xmask, RXGCValues &xgval, Bool_t tox=kTRUE)
Map a GCValues_t to a XCGValues structure if tox is true.
void CopyGC(GContext_t org, GContext_t dest, Mask_t mask)
Copies graphics context from org to dest.
void SelectInput(Window_t id, UInt_t evmask)
Defines which input events the window is interested in.
Window_t GetDefaultRootWindow() const
Return handle to the default root window created when calling XOpenDisplay().
void FreeColor(Colormap_t cmap, ULong_t pixel)
Free color cell with specified pixel value.
Drawable fRootWin
Root window used as parent of all windows.
Int_t KeysymToKeycode(UInt_t keysym)
Convert a keysym to the appropriate keycode.
Window_t FindRWindow(Window_t win, Window_t dragwin, Window_t input, int x, int y, int maxd)
Recursively search in the children of Window for a Window which is at location x, y and is DND aware,...
void IntersectRegion(Region_t rega, Region_t regb, Region_t result)
Compute the intersection of rega and regb and return result region.
void * fXEvent
Current native (X11) event.
Int_t TextWidth(FontStruct_t font, const char *s, Int_t len)
Return length of string in pixels. Size depends on font.
void SetWindowBackground(Window_t id, ULong_t color)
Set the window background color.
FontStruct_t GetFontStruct(FontH_t fh)
Retrieve associated font structure once we have the font handle.
void SetDNDAware(Window_t, Atom_t *)
Add XdndAware property and the list of drag and drop types to the Window win.
void ChangeWindowAttributes(Window_t id, SetWindowAttributes_t *attr)
Change window attributes.
void SetPrimarySelectionOwner(Window_t id)
Makes the window id the current owner of the primary selection.
void LookupString(Event_t *event, char *buf, Int_t buflen, UInt_t &keysym)
Convert the keycode from the event structure to a key symbol (according to the modifiers specified in...
void ClearArea(Window_t id, Int_t x, Int_t y, UInt_t w, UInt_t h)
Clear a window area to the background color.
Bool_t CreatePictureFromData(Drawable_t id, char **data, Pixmap_t &pict, Pixmap_t &pict_mask, PictureAttributes_t &attr)
Create a picture pixmap from data.
Bool_t PointInRegion(Int_t x, Int_t y, Region_t reg)
Returns true if the point x,y is in the region.
void SetTypeList(Window_t win, Atom_t prop, Atom_t *typelist)
Add the list of drag and drop types to the Window win.
void ClearWindow()
Clear current window.
void DeleteFont(FontStruct_t fs)
Explicitly delete font structure obtained with LoadQueryFont().
void FillRectangle(Drawable_t id, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h)
Draw a filled rectangle. Filling is done according to the gc.
Int_t EventsPending()
Returns number of pending events.
Drawable fVisRootWin
Root window with fVisual to be used to create GC's and XImages.
void SetWindowBackgroundPixmap(Window_t id, Pixmap_t pxm)
Set pixmap as window background.
Window_t CreateWindow(Window_t parent, Int_t x, Int_t y, UInt_t w, UInt_t h, UInt_t border, Int_t depth, UInt_t clss, void *visual, SetWindowAttributes_t *attr, UInt_t wtype)
Return handle to newly created X window.
void SetWMSizeHints(Window_t id, UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc)
Give the window manager minimum and maximum size hints.
void GrabPointer(Window_t id, UInt_t evmask, Window_t confine, Cursor_t cursor, Bool_t grab=kTRUE, Bool_t owner_events=kTRUE)
Establish an active pointer grab.
char ** ListFonts(const char *fontname, Int_t max, Int_t &count)
Return list of font names matching fontname regexp, like "-*-times-*".
GContext_t CreateGC(Drawable_t id, GCValues_t *gval)
Create a graphics context using the values set in gval (but only for those entries that are in the ma...
void DeleteImage(Drawable_t img)
Destroy XImage img.
void GrabButton(Window_t id, EMouseButton button, UInt_t modifier, UInt_t evmask, Window_t confine, Cursor_t cursor, Bool_t grab=kTRUE)
Establish passive grab on a certain mouse button.
Atom_t InternAtom(const char *atom_name, Bool_t only_if_exist)
Return atom handle for atom_name.
Bool_t EmptyRegion(Region_t reg)
Return true if the region is empty.
void DestroySubwindows(Window_t id)
Destroy subwindows of this window.
void ChangeProperty(Window_t id, Atom_t property, Atom_t type, UChar_t *data, Int_t len)
This function alters the property for the specified window and causes the X server to generate a Prop...
Int_t fRedDiv
Red value divider, -1 if no TrueColor visual.
Int_t fDepth
Number of color planes.
void SetMWMHints(Window_t id, UInt_t value, UInt_t funcs, UInt_t input)
Set decoration style for MWM-compatible wm (mwm, ncdwm, fvwm?).
void ResizeWindow(Int_t wid)
Resize the current window if necessary.
Region_t CreateRegion()
Create a new empty region.
Int_t GetProperty(Window_t, Atom_t, Long_t, Long_t, Bool_t, Atom_t, Atom_t *, Int_t *, ULong_t *, ULong_t *, unsigned char **)
Returns the actual type of the property; the actual format of the property; the number of 8-bit,...
void UnmapWindow(Window_t id)
Unmap window from screen.
void TranslateCoordinates(Window_t src, Window_t dest, Int_t src_x, Int_t src_y, Int_t &dest_x, Int_t &dest_y, Window_t &child)
TranslateCoordinates translates coordinates from the frame of reference of one window to another.
void GrabKey(Window_t id, Int_t keycode, UInt_t modifier, Bool_t grab=kTRUE)
Establish passive grab on a certain key.
void ReparentWindow(Window_t id, Window_t pid, Int_t x, Int_t y)
Reparent window to new parent window at position (x,y).
void SetClassHints(Window_t id, char *className, char *resourceName)
Set the windows class and resource name.
void SetClipRectangles(GContext_t gc, Int_t x, Int_t y, Rectangle_t *recs, Int_t n)
Set clipping rectangles in graphics context.
FontStruct_t LoadQueryFont(const char *font_name)
Load font and query font.
void ConvertPrimarySelection(Window_t id, Atom_t clipboard, Time_t when)
XConvertSelection() causes a SelectionRequest event to be sent to the current primary selection owner...
ULong_t fBlackPixel
Value of black pixel in colormap.
void GetGCValues(GContext_t gc, GCValues_t &gval)
Get current values from graphics context gc.
void SetWMSize(Window_t id, UInt_t w, UInt_t h)
Tell the window manager the desired window size.
void DrawSegments(Drawable_t id, GContext_t gc, Segment_t *seg, Int_t nseg)
Draws multiple line segments. Each line is specified by a pair of points.
void DestroyWindow(Window_t id)
Destroy window.
Bool_t Init(void *display)
Initialize X11 system. Returns kFALSE in case of failure.
void GetWindowAttributes(Window_t id, WindowAttributes_t &attr)
Get window attributes and return filled in attributes structure.
void GetWindowSize(Drawable_t id, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h)
Return geometry of window (should be called GetGeometry but signature already used).
void DrawLine(Int_t x1, Int_t y1, Int_t x2, Int_t y2)
Draw a line.
Display_t GetDisplay() const
Returns handle to display (might be useful in some cases where direct X11 manipulation outside of TVi...
void MapPictureAttributes(PictureAttributes_t &attr, RXpmAttributes &xpmattr, Bool_t toxpm=kTRUE)
Map a PictureAttributes_t to a XpmAttributes structure.
Int_t OpenDisplay(void *display)
Open the display. Return -1 if the opening fails, 0 when ok.
Bool_t IsDNDAware(Window_t win, Atom_t *typelist)
Checks if Window win is DND aware, and knows any of the DND formats passed in argument.
UInt_t ScreenWidthMM() const
Returns the width of the screen in millimeters.
void Bell(Int_t percent)
Sound bell. Percent is loudness from -100% .. 100%.
void LowerWindow(Window_t id)
Lower window so it lays below all its siblings.
void Update(Int_t mode=0)
Flush (mode = 0, default) or synchronize (mode = 1) X output buffer.
Pixmap_t ReadGIF(Int_t x0, Int_t y0, const char *file, Window_t id=0)
If id is NULL - loads the specified gif file at position [x0,y0] in the current window.
void DeleteProperty(Window_t, Atom_t &)
Deletes the specified property only if the property was defined on the specified window and causes th...
void MoveResizeWindow(Window_t id, Int_t x, Int_t y, UInt_t w, UInt_t h)
Move and resize a window.
Bool_t CheckEvent(Window_t id, EGEventType type, Event_t &ev)
Check if there is for window "id" an event of type "type".
Region_t PolygonRegion(Point_t *points, Int_t np, Bool_t winding)
Create region for the polygon defined by the points array.
void GetPasteBuffer(Window_t id, Atom_t atom, TString &text, Int_t &nchar, Bool_t del)
Get contents of paste buffer atom into string.
RVisual * fVisual
Pointer to visual used by all windows.
void SetIconPixmap(Window_t id, Pixmap_t pic)
Set pixmap the WM can use when the window is iconized.
void MapRaised(Window_t id)
Map window on screen and put on top of all windows.
void SendEvent(Window_t id, Event_t *ev)
Send event ev to window id.
void MapWindow(Window_t id)
Map window on screen.
void SetKeyAutoRepeat(Bool_t on=kTRUE)
Turn key auto repeat on or off.
void MapSetWindowAttributes(SetWindowAttributes_t *attr, ULong_t &xmask, RXSetWindowAttributes &xattr)
Map a SetWindowAttributes_t to a XSetWindowAttributes structure.
void PutImage(Int_t offset, Int_t itran, Int_t x0, Int_t y0, Int_t nx, Int_t ny, Int_t xmin, Int_t ymin, Int_t xmax, Int_t ymax, UChar_t *image, Drawable_t id)
Draw image.
Bool_t SetSelectionOwner(Window_t, Atom_t &)
Changes the owner and last-change time for the specified selection.
Bool_t ReadPictureDataFromFile(const char *filename, char ***ret_data)
Read picture data from file and store in ret_data.
void FillPolygon(Window_t id, GContext_t gc, Point_t *points, Int_t npnt)
FillPolygon fills the region closed by the specified path.
void MapModifierState(UInt_t &state, UInt_t &xstate, Bool_t tox=kTRUE)
Map modifier key state to or from X.
Pixmap_t CreateBitmap(Drawable_t id, const char *bitmap, UInt_t width, UInt_t height)
Create a bitmap (i.e. pixmap with depth 1) from the bitmap data.
void CopyArea(Drawable_t src, Drawable_t dest, GContext_t gc, Int_t src_x, Int_t src_y, UInt_t width, UInt_t height, Int_t dest_x, Int_t dest_y)
Copy a drawable (i.e.
void XorRegion(Region_t rega, Region_t regb, Region_t result)
Calculate the difference between the union and intersection of two regions.
void MapColorStruct(ColorStruct_t *color, RXColor &xcolor)
Map a ColorStruct_t to a XColor structure.
void GetRegionBox(Region_t reg, Rectangle_t *)
Return smallest enclosing rectangle.
Mother of all ROOT objects.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
static Bool_t Initialized()
Return kTRUE if the TROOT object has been initialized.
virtual TFileHandler * RemoveFileHandler(TFileHandler *fh)
Remove a file handler from the list of file handlers.
virtual void MapGCFont(GContext_t, FontStruct_t)
Map the XftFont with the Graphics Context using it.
void XShapeCombineMask(Display *, Window, int, int, int, Pixmap, int)
ULong_t fPixel
color pixel value (index in color table)
UShort_t fRed
red component (0..65535)
UShort_t fGreen
green component (0..65535)
UShort_t fBlue
blue component (0..65535)
UShort_t fMask
mask telling which color components are valid
EGEventType fType
of event (see EGEventType)
Int_t fY
pointer x, y coordinates in event window
Bool_t fSendEvent
true if event came from SendEvent
Handle_t fHandle
general resource handle (used for atoms or windows)
Int_t fFormat
Next fields only used by kClientMessageEvent.
UInt_t fHeight
width and height of exposed area
Int_t fCount
if non-zero, at least this many more exposes
Window_t fWindow
window reported event is relative to
UInt_t fState
key or button mask
Int_t fYRoot
coordinates relative to root
Time_t fTime
time event event occurred in ms
UInt_t fCode
key or button code
Longptr_t fUser[5]
5 longs can be used by client message events NOTE: only [0], [1] and [2] may be used.
Graphics context structure.
ULong_t fBackground
background pixel
Int_t fFillRule
kEvenOddRule, kWindingRule
Pixmap_t fClipMask
bitmap clipping; other calls for rects
Int_t fDashOffset
patterned/dashed line information
Int_t fClipXOrigin
origin for clipping
Int_t fLineWidth
line width
Pixmap_t fStipple
stipple 1 plane pixmap for stippling
Mask_t fMask
bit mask specifying which fields are valid
Int_t fLineStyle
kLineSolid, kLineOnOffDash, kLineDoubleDash
Pixmap_t fTile
tile pixmap for tiling operations
Bool_t fGraphicsExposures
boolean, should exposures be generated
Int_t fJoinStyle
kJoinMiter, kJoinRound, kJoinBevel
Char_t fDashes[8]
dash pattern list (dash length per byte)
ULong_t fForeground
foreground pixel
ULong_t fPlaneMask
plane mask
Int_t fFillStyle
kFillSolid, kFillTiled, kFillStippled, kFillOpaeueStippled
FontH_t fFont
default text font for text operations
Int_t fTsXOrigin
offset for tile or stipple operations
EGraphicsFunction fFunction
logical operation
Int_t fDashLen
number of dashes in fDashes
Int_t fCapStyle
kCapNotLast, kCapButt, kCapRound, kCapProjecting
Int_t fArcMode
kArcChord, kArcPieSlice
Int_t fSubwindowMode
kClipByChildren, kIncludeInferiors
UInt_t fHeight
height of picture
Mask_t fMask
mask specifying which attributes are defined
ULong_t * fPixels
list of used color pixels (if set use delete[])
Colormap_t fColormap
colormap to use
UInt_t fCloseness
allowable RGB deviation
Int_t fDepth
depth of window
UInt_t fNpixels
number of used color pixels
UInt_t fYHotspot
picture y hotspot coordinate
UInt_t fXHotspot
picture x hotspot coordinate
UInt_t fWidth
width of picture
Point structure (maps to the X11 XPoint structure)
Rectangle structure (maps to the X11 XRectangle structure)
Used for drawing line segments (maps to the X11 XSegments structure)
Attributes that can be used when creating or changing a window.
ULong_t fBackingPlanes
planes to be preserved if possible
UInt_t fBorderWidth
border width in pixels
Long_t fEventMask
set of events that should be saved
Pixmap_t fBackgroundPixmap
background or kNone or kParentRelative
Long_t fDoNotPropagateMask
set of events that should not propagate
ULong_t fBackingPixel
value to use in restoring planes
Pixmap_t fBorderPixmap
border of the window
Bool_t fOverrideRedirect
boolean value for override-redirect
Mask_t fMask
bit mask specifying which fields are valid
Int_t fWinGravity
one of the window gravity values
ULong_t fBackgroundPixel
background pixel
Cursor_t fCursor
cursor to be displayed (or kNone)
Int_t fBitGravity
one of bit gravity values
Int_t fBackingStore
kNotUseful, kWhenMapped, kAlways
ULong_t fBorderPixel
border pixel value
Bool_t fSaveUnder
should bits under be saved (popups)?
Colormap_t fColormap
color map to be associated with window
Window attributes that can be inquired.
Window_t fRoot
root of screen containing window
Int_t fMapState
kIsUnmapped, kIsUnviewable, kIsViewable
ULong_t fBackingPlanes
planes to be preserved if possible
Long_t fAllEventMasks
set of events all people have interest in
ULong_t fBackingPixel
value to be used when restoring planes
Long_t fYourEventMask
my event mask
Int_t fHeight
width and height of window
Bool_t fMapInstalled
boolean, is color map currently installed
Int_t fBorderWidth
border width of window
Int_t fWinGravity
one of the window gravity values
void * fScreen
back pointer to correct screen
Long_t fDoNotPropagateMask
set of events that should not propagate
Colormap_t fColormap
color map to be associated with window
Int_t fClass
kInputOutput, kInputOnly
Int_t fBitGravity
one of bit gravity values
void * fVisual
the associated visual structure
Int_t fBackingStore
kNotUseful, kWhenMapped, kAlways
Int_t fY
location of window
Int_t fDepth
depth of window
Bool_t fOverrideRedirect
boolean value for override-redirect
Bool_t fSaveUnder
boolean, should bits under be saved?
#define dest(otri, vertexptr)
#define org(otri, vertexptr)