#ifndef ROOT_GuiTypes
#define ROOT_GuiTypes
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
typedef ULong_t Handle_t;
typedef Handle_t Display_t;
typedef Handle_t Visual_t;
typedef Handle_t Window_t;
typedef Handle_t Pixmap_t;
typedef Handle_t Drawable_t;
typedef Handle_t Region_t;
typedef Handle_t Colormap_t;
typedef Handle_t Cursor_t;
typedef Handle_t FontH_t;
typedef Handle_t KeySym_t;
typedef Handle_t Atom_t;
typedef Handle_t GContext_t;
typedef Handle_t FontStruct_t;
typedef ULong_t Pixel_t;
typedef UInt_t Mask_t;
typedef ULong_t Time_t;
enum EGuiConstants {
kNotUseful = 0, kWhenMapped = 1, kAlways = 2,
kIsUnmapped = 0, kIsUnviewable = 1, kIsViewable = 2,
kInputOutput = 1, kInputOnly = 2,
kLineSolid = 0, kLineOnOffDash = 1, kLineDoubleDash = 2,
kCapNotLast = 0, kCapButt = 1, kCapRound = 2, kCapProjecting = 3,
kJoinMiter = 0, kJoinRound = 1, kJoinBevel = 2,
kFillSolid = 0, kFillTiled = 1, kFillStippled = 2, kFillOpaqueStippled = 3,
kEvenOddRule = 0, kWindingRule = 1,
kClipByChildren = 0, kIncludeInferiors = 1,
kArcChord = 0, kArcPieSlice = 1
};
enum EGEventType {
kGKeyPress, kKeyRelease, kButtonPress, kButtonRelease,
kMotionNotify, kEnterNotify, kLeaveNotify, kFocusIn, kFocusOut,
kExpose, kConfigureNotify, kMapNotify, kUnmapNotify, kDestroyNotify,
kClientMessage, kSelectionClear, kSelectionRequest, kSelectionNotify,
kColormapNotify, kButtonDoubleClick, kOtherEvent
};
enum EGraphicsFunction {
kGXclear = 0,
kGXand,
kGXandReverse,
kGXcopy,
kGXandInverted,
kGXnoop,
kGXxor,
kGXor,
kGXnor,
kGXequiv,
kGXinvert,
kGXorReverse,
kGXcopyInverted,
kGXorInverted,
kGXnand,
kGXset
};
enum { kDefaultScrollBarWidth = 16 };
const Handle_t kNone = 0;
const Handle_t kCopyFromParent = 0;
const Handle_t kParentRelative = 1;
struct SetWindowAttributes_t {
Pixmap_t fBackgroundPixmap;
ULong_t fBackgroundPixel;
Pixmap_t fBorderPixmap;
ULong_t fBorderPixel;
UInt_t fBorderWidth;
Int_t fBitGravity;
Int_t fWinGravity;
Int_t fBackingStore;
ULong_t fBackingPlanes;
ULong_t fBackingPixel;
Bool_t fSaveUnder;
Long_t fEventMask;
Long_t fDoNotPropagateMask;
Bool_t fOverrideRedirect;
Colormap_t fColormap;
Cursor_t fCursor;
Mask_t fMask;
};
struct WindowAttributes_t {
Int_t fX, fY;
Int_t fWidth, fHeight;
Int_t fBorderWidth;
Int_t fDepth;
void *fVisual;
Window_t fRoot;
Int_t fClass;
Int_t fBitGravity;
Int_t fWinGravity;
Int_t fBackingStore;
ULong_t fBackingPlanes;
ULong_t fBackingPixel;
Bool_t fSaveUnder;
Colormap_t fColormap;
Bool_t fMapInstalled;
Int_t fMapState;
Long_t fAllEventMasks;
Long_t fYourEventMask;
Long_t fDoNotPropagateMask;
Bool_t fOverrideRedirect;
void *fScreen;
};
const Mask_t kWABackPixmap = BIT(0);
const Mask_t kWABackPixel = BIT(1);
const Mask_t kWABorderPixmap = BIT(2);
const Mask_t kWABorderPixel = BIT(3);
const Mask_t kWABorderWidth = BIT(4);
const Mask_t kWABitGravity = BIT(5);
const Mask_t kWAWinGravity = BIT(6);
const Mask_t kWABackingStore = BIT(7);
const Mask_t kWABackingPlanes = BIT(8);
const Mask_t kWABackingPixel = BIT(9);
const Mask_t kWAOverrideRedirect = BIT(10);
const Mask_t kWASaveUnder = BIT(11);
const Mask_t kWAEventMask = BIT(12);
const Mask_t kWADontPropagate = BIT(13);
const Mask_t kWAColormap = BIT(14);
const Mask_t kWACursor = BIT(15);
const Mask_t kNoEventMask = 0;
const Mask_t kKeyPressMask = BIT(0);
const Mask_t kKeyReleaseMask = BIT(1);
const Mask_t kButtonPressMask = BIT(2);
const Mask_t kButtonReleaseMask = BIT(3);
const Mask_t kPointerMotionMask = BIT(4);
const Mask_t kButtonMotionMask = BIT(5);
const Mask_t kExposureMask = BIT(6);
const Mask_t kStructureNotifyMask = BIT(7);
const Mask_t kEnterWindowMask = BIT(8);
const Mask_t kLeaveWindowMask = BIT(9);
const Mask_t kFocusChangeMask = BIT(10);
const Mask_t kOwnerGrabButtonMask = BIT(11);
const Mask_t kColormapChangeMask = BIT(12);
struct Event_t {
EGEventType fType;
Window_t fWindow;
Time_t fTime;
Int_t fX, fY;
Int_t fXRoot, fYRoot;
UInt_t fCode;
UInt_t fState;
UInt_t fWidth, fHeight;
Int_t fCount;
Bool_t fSendEvent;
Handle_t fHandle;
Int_t fFormat;
Long_t fUser[5];
};
const Mask_t kKeyShiftMask = BIT(0);
const Mask_t kKeyLockMask = BIT(1);
const Mask_t kKeyControlMask = BIT(2);
const Mask_t kKeyMod1Mask = BIT(3);
const Mask_t kKeyMod2Mask = BIT(4);
const Mask_t kButton1Mask = BIT(8);
const Mask_t kButton2Mask = BIT(9);
const Mask_t kButton3Mask = BIT(10);
const Mask_t kButton4Mask = BIT(11);
const Mask_t kButton5Mask = BIT(12);
const Mask_t kAnyModifier = BIT(15);
enum EMouseButton { kAnyButton, kButton1, kButton2, kButton3,
kButton4, kButton5 };
enum EXMagic { kNotifyNormal = 0, kNotifyGrab = 1, kNotifyUngrab = 2,
kNotifyPointer = 5, kColormapUninstalled = 0,
kColormapInstalled = 1 };
struct GCValues_t {
EGraphicsFunction fFunction;
ULong_t fPlaneMask;
ULong_t fForeground;
ULong_t fBackground;
Int_t fLineWidth;
Int_t fLineStyle;
Int_t fCapStyle;
Int_t fJoinStyle;
Int_t fFillStyle;
Int_t fFillRule;
Int_t fArcMode;
Pixmap_t fTile;
Pixmap_t fStipple;
Int_t fTsXOrigin;
Int_t fTsYOrigin;
FontH_t fFont;
Int_t fSubwindowMode;
Bool_t fGraphicsExposures;
Int_t fClipXOrigin;
Int_t fClipYOrigin;
Pixmap_t fClipMask;
Int_t fDashOffset;
Char_t fDashes[8];
Int_t fDashLen;
Mask_t fMask;
GCValues_t() :
fFunction (kGXcopy),
fPlaneMask (0),
fForeground (0),
fBackground (1),
fLineWidth (0),
fLineStyle (kLineSolid),
fCapStyle (kCapButt),
fJoinStyle (kJoinMiter),
fFillStyle (kFillSolid),
fFillRule (kEvenOddRule),
fArcMode (kArcPieSlice),
fTile (0),
fStipple (0),
fTsXOrigin (0),
fTsYOrigin (0),
fFont (0),
fSubwindowMode (kClipByChildren),
fGraphicsExposures (kTRUE),
fClipXOrigin (0),
fClipYOrigin (0),
fClipMask (0),
fDashOffset (0),
fDashLen (2),
fMask (0)
{
for (int i = 2; i < 8; i++) fDashes[i] = 0;
fDashes[0] = 5;
fDashes[1] = 5;
}
};
const Mask_t kGCFunction = BIT(0);
const Mask_t kGCPlaneMask = BIT(1);
const Mask_t kGCForeground = BIT(2);
const Mask_t kGCBackground = BIT(3);
const Mask_t kGCLineWidth = BIT(4);
const Mask_t kGCLineStyle = BIT(5);
const Mask_t kGCCapStyle = BIT(6);
const Mask_t kGCJoinStyle = BIT(7);
const Mask_t kGCFillStyle = BIT(8);
const Mask_t kGCFillRule = BIT(9);
const Mask_t kGCTile = BIT(10);
const Mask_t kGCStipple = BIT(11);
const Mask_t kGCTileStipXOrigin = BIT(12);
const Mask_t kGCTileStipYOrigin = BIT(13);
const Mask_t kGCFont = BIT(14);
const Mask_t kGCSubwindowMode = BIT(15);
const Mask_t kGCGraphicsExposures = BIT(16);
const Mask_t kGCClipXOrigin = BIT(17);
const Mask_t kGCClipYOrigin = BIT(18);
const Mask_t kGCClipMask = BIT(19);
const Mask_t kGCDashOffset = BIT(20);
const Mask_t kGCDashList = BIT(21);
const Mask_t kGCArcMode = BIT(22);
struct ColorStruct_t {
ULong_t fPixel;
UShort_t fRed;
UShort_t fGreen;
UShort_t fBlue;
UShort_t fMask;
};
const Mask_t kDoRed = BIT(0);
const Mask_t kDoGreen = BIT(1);
const Mask_t kDoBlue = BIT(2);
struct PictureAttributes_t {
Colormap_t fColormap;
Int_t fDepth;
UInt_t fWidth;
UInt_t fHeight;
UInt_t fXHotspot;
UInt_t fYHotspot;
ULong_t *fPixels;
UInt_t fNpixels;
UInt_t fCloseness;
Mask_t fMask;
};
const Mask_t kPAColormap = BIT(0);
const Mask_t kPADepth = BIT(1);
const Mask_t kPASize = BIT(2);
const Mask_t kPAHotspot = BIT(3);
const Mask_t kPAReturnPixels = BIT(4);
const Mask_t kPACloseness = BIT(5);
enum EInitialState {
kNormalState = BIT(0),
kIconicState = BIT(1)
};
struct Segment_t {
Short_t fX1, fY1, fX2, fY2;
};
struct Point_t {
Short_t fX, fY;
};
struct Rectangle_t {
Short_t fX, fY;
UShort_t fWidth, fHeight;
};
const Atom_t kPrimarySelection = 1;
const Atom_t kCutBuffer = 9;
const Int_t kMaxPixel = 32000;
#endif