File indexing completed on 2026-09-24 09:25:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TGX11
0013 #define ROOT_TGX11
0014
0015 #include "TVirtualX.h"
0016 #include <map>
0017 #include <memory>
0018
0019 #ifdef Status
0020
0021 typedef Status X11Status_t;
0022 #undef Status
0023 typedef X11Status_t Status;
0024 #endif
0025
0026 #ifdef None
0027
0028 static const unsigned long gX11None = None;
0029 #undef None
0030 static const unsigned long None = gX11None;
0031 #endif
0032
0033
0034 typedef unsigned long XID;
0035 typedef XID Drawable;
0036 typedef XID Cursor;
0037 typedef XID Colormap;
0038 typedef XID Window;
0039
0040 struct RXGCValues;
0041 struct RXColor;
0042 struct RXImage;
0043 struct RXPoint;
0044 struct RXpmAttributes;
0045 struct RXSetWindowAttributes;
0046 struct RXVisualInfo;
0047 struct RVisual;
0048
0049
0050 struct XColor_t {
0051 ULong_t fPixel;
0052 UShort_t fRed;
0053 UShort_t fGreen;
0054 UShort_t fBlue;
0055 Bool_t fDefined;
0056 XColor_t() { fPixel = 0; fRed = fGreen = fBlue = 0; fDefined = kFALSE; }
0057 };
0058
0059 class TExMap;
0060
0061 struct XWindow_t;
0062
0063
0064 class TGX11 : public TVirtualX {
0065
0066 friend struct XWindow_t;
0067
0068 private:
0069 std::unordered_map<Int_t,std::unique_ptr<XWindow_t>> fWindows;
0070 TExMap *fColors;
0071 Cursor fCursors[kNumCursors];
0072 void *fXEvent;
0073
0074 Int_t AddWindowHandle();
0075 void FindBestVisual();
0076 void FindUsableVisual(RXVisualInfo *vlist, Int_t nitems);
0077 void PutImage(Int_t offset, Int_t itran, Int_t x0, Int_t y0, Int_t nx,
0078 Int_t ny, Int_t xmin, Int_t ymin, Int_t xmax, Int_t ymax,
0079 UChar_t *image, Drawable_t id);
0080 void SetColor(XWindow_t *ctxt, void *gc, Int_t ci);
0081 void SetInput(Int_t inp);
0082 void ImgPickPalette(RXImage *image, Int_t &ncol, Int_t *&R, Int_t *&G, Int_t *&B);
0083
0084
0085 void MapGCValues(GCValues_t &gval, ULong_t &xmask, RXGCValues &xgval, Bool_t tox = kTRUE);
0086 void MapSetWindowAttributes(SetWindowAttributes_t *attr,
0087 ULong_t &xmask, RXSetWindowAttributes &xattr);
0088 void MapCursor(ECursor cursor, Int_t &xcursor);
0089 void MapColorStruct(ColorStruct_t *color, RXColor &xcolor);
0090 void MapPictureAttributes(PictureAttributes_t &attr, RXpmAttributes &xpmattr,
0091 Bool_t toxpm = kTRUE);
0092 void MapModifierState(UInt_t &state, UInt_t &xstate, Bool_t tox = kTRUE);
0093
0094
0095 void MapEvent(Event_t &ev, void *xev, Bool_t tox = kTRUE);
0096
0097 void MapEventMask(UInt_t &emask, UInt_t &xemask, Bool_t tox = kTRUE);
0098 void MapKeySym(UInt_t &keysym, UInt_t &xkeysym, Bool_t tox = kTRUE);
0099
0100 protected:
0101 void *fDisplay;
0102 RVisual *fVisual;
0103 Drawable fRootWin;
0104 Drawable fVisRootWin;
0105 Colormap fColormap;
0106 ULong_t fBlackPixel;
0107 ULong_t fWhitePixel;
0108 Int_t fScreenNumber;
0109 Float_t fCharacterUpX;
0110 Float_t fCharacterUpY;
0111 Float_t fTextMagnitude;
0112 Int_t fDepth;
0113 Int_t fRedDiv;
0114 Int_t fGreenDiv;
0115 Int_t fBlueDiv;
0116 Int_t fRedShift;
0117 Int_t fGreenShift;
0118 Int_t fBlueShift;
0119 Bool_t fHasTTFonts;
0120 Bool_t fHasXft;
0121
0122
0123 enum EAlign {
0124 kAlignNone,
0125 kTLeft, kTCenter, kTRight, kMLeft, kMCenter, kMRight,
0126 kBLeft, kBCenter, kBRight };
0127
0128 Bool_t AllocColor(Colormap cmap, RXColor *color);
0129 void QueryColors(Colormap cmap, RXColor *colors, Int_t ncolors);
0130 void *GetGC(Int_t which) const;
0131 Window_t GetWindow(WinContext_t wctxt) const;
0132 void *GetGCW(WinContext_t wctxt, Int_t which) const;
0133 EAlign GetTextAlignW(WinContext_t wctxt) const;
0134
0135 XColor_t &GetColor(Int_t cid);
0136
0137 TGX11(TGX11 &&org);
0138 TGX11(const TGX11 &org) = delete;
0139
0140 public:
0141 TGX11();
0142 TGX11(const char *name, const char *title);
0143 ~TGX11() override;
0144
0145 Bool_t Init(void *display) override;
0146 void ClearWindow() override;
0147 void ClosePixmap() override;
0148 void CloseWindow() override;
0149 void CopyPixmap(Int_t wid, Int_t xpos, Int_t ypos) override;
0150 void GetCharacterUp(Float_t &chupx, Float_t &chupy) override;
0151 Int_t GetDoubleBuffer(Int_t wid) override;
0152 void GetGeometry(Int_t wid, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h) override;
0153 const char *DisplayName(const char *dpyName = nullptr) override;
0154 Handle_t GetNativeEvent() const override { return (Handle_t) fXEvent; }
0155 ULong_t GetPixel(Color_t cindex) override;
0156 void GetPlanes(Int_t &nplanes) override;
0157 void GetRGB(Int_t index, Float_t &r, Float_t &g, Float_t &b) override;
0158 void GetTextExtent(UInt_t &w, UInt_t &h, char *mess) override;
0159 void GetTextExtent(UInt_t &, UInt_t &, wchar_t *) override {}
0160 Float_t GetTextMagnitude() override { return fTextMagnitude; }
0161 Window_t GetWindowID(Int_t wid) override;
0162 Bool_t HasTTFonts() const override { return fHasTTFonts; }
0163 Int_t InitWindow(ULong_t window) override;
0164 Int_t AddWindow(ULong_t qwid, UInt_t w, UInt_t h) override;
0165 Int_t AddPixmap(ULong_t pixid, UInt_t w, UInt_t h) override;
0166 void RemoveWindow(ULong_t qwid) override;
0167 void MoveWindow(Int_t wid, Int_t x, Int_t y) override;
0168 Int_t OpenDisplay(void *display);
0169 Int_t OpenPixmap(UInt_t w, UInt_t h) override;
0170 void QueryPointer(Int_t &ix, Int_t &iy) override;
0171 Pixmap_t ReadGIF(Int_t x0, Int_t y0, const char *file, Window_t id = 0) override;
0172 Int_t RequestLocator(Int_t mode, Int_t ctyp, Int_t &x, Int_t &y) override;
0173 Int_t RequestString(Int_t x, Int_t y, char *text) override;
0174 void RescaleWindow(Int_t wid, UInt_t w, UInt_t h) override;
0175 Int_t ResizePixmap(Int_t wid, UInt_t w, UInt_t h) override;
0176 void ResizeWindow(Int_t wid) override;
0177 void SelectWindow(Int_t wid) override;
0178 void SetCharacterUp(Float_t chupx, Float_t chupy) override;
0179 void SetClipOFF(Int_t wid) override;
0180 void SetClipRegion(Int_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h) override;
0181 void SetCursor(Int_t win, ECursor cursor) override;
0182 void SetDoubleBuffer(Int_t wid, Int_t mode) override;
0183 void SetDoubleBufferOFF() override;
0184 void SetDoubleBufferON() override;
0185 void SetDrawMode(EDrawMode mode) override;
0186 void Sync(Int_t mode) override;
0187 void UpdateWindow(Int_t mode) override;
0188 void Warp(Int_t ix, Int_t iy, Window_t id = 0) override;
0189 Int_t WriteGIF(char *name) override;
0190 void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxname) override;
0191 Window_t GetCurrentWindow() const override;
0192 Int_t SupportsExtension(const char *ext) const override;
0193
0194
0195 void SetFillColor(Color_t cindex) override;
0196 Color_t GetFillColor() const override;
0197 void SetFillStyle(Style_t style) override;
0198 Style_t GetFillStyle() const override;
0199 void SetLineColor(Color_t cindex) override;
0200 void SetLineType(Int_t n, Int_t *dash) override;
0201 void SetLineStyle(Style_t linestyle) override;
0202 Style_t GetLineStyle() const override;
0203 void SetLineWidth(Width_t width) override;
0204 Width_t GetLineWidth() const override;
0205 void SetMarkerColor(Color_t cindex) override;
0206 void SetMarkerSize(Float_t markersize) override;
0207 void SetMarkerStyle(Style_t markerstyle) override;
0208 void SetOpacity(Int_t percent) override;
0209 void SetRGB(Int_t cindex, Float_t r, Float_t g, Float_t b) override;
0210 void SetTextAlign(Short_t talign=11) override;
0211 void SetTextColor(Color_t cindex) override;
0212 Int_t SetTextFont(char *fontname, ETextSetMode mode) override;
0213 void SetTextFont(Font_t fontnumber) override;
0214 void SetTextMagnitude(Float_t mgn=1) override { fTextMagnitude = mgn;}
0215 void SetTextSize(Float_t textsize) override;
0216 void DrawBox(Int_t x1, Int_t y1, Int_t x2, Int_t y2, EBoxMode mode) override;
0217 void DrawCellArray(Int_t x1, Int_t y1, Int_t x2, Int_t y2, Int_t nx, Int_t ny, Int_t *ic) override;
0218 void DrawFillArea(Int_t n, TPoint *xy) override;
0219 void DrawLine(Int_t x1, Int_t y1, Int_t x2, Int_t y2) override;
0220 void DrawPolyLine(Int_t n, TPoint *xy) override;
0221 void DrawLinesSegments(Int_t n, TPoint *xy) override;
0222 void DrawPolyMarker(Int_t n, TPoint *xy) override;
0223 void DrawText(Int_t x, Int_t y, Float_t angle, Float_t mgn, const char *text, ETextMode mode) override;
0224 void DrawText(Int_t x, Int_t y, Float_t angle, Float_t mgn, const wchar_t *text, ETextMode mode) override;
0225
0226
0227 WinContext_t GetWindowContext(Int_t wid) override;
0228 void SetAttFill(WinContext_t wctxt, const TAttFill &att) override;
0229 void SetAttLine(WinContext_t wctxt, const TAttLine &att) override;
0230 void SetAttMarker(WinContext_t wctxt, const TAttMarker &att) override;
0231 void SetAttText(WinContext_t wctxt, const TAttText &att) override;
0232 void SetDrawModeW(WinContext_t wctxt, EDrawMode mode) override;
0233 EDrawMode GetDrawModeW(WinContext_t wctxt) override;
0234 void ClearWindowW(WinContext_t wctxt) override;
0235 void UpdateWindowW(WinContext_t wctxt, Int_t mode) override;
0236 void SetOpacityW(WinContext_t wctxt, Int_t percent) override;
0237 void CopyPixmapW(WinContext_t wctxt, Int_t wid, Int_t xpos, Int_t ypos) override;
0238
0239 void DrawBoxW(WinContext_t wctxt, Int_t x1, Int_t y1, Int_t x2, Int_t y2, EBoxMode mode) override;
0240 void DrawFillAreaW(WinContext_t wctxt, Int_t n, TPoint *xy) override;
0241 void DrawLineW(WinContext_t wctxt, Int_t x1, Int_t y1, Int_t x2, Int_t y2) override;
0242 void DrawPolyLineW(WinContext_t wctxt, Int_t n, TPoint *xy) override;
0243 void DrawLinesSegmentsW(WinContext_t wctxt, Int_t n, TPoint *xy) override;
0244 void DrawPolyMarkerW(WinContext_t wctxt, Int_t n, TPoint *xy) override;
0245 void DrawTextW(WinContext_t wctxt, Int_t x, Int_t y, Float_t angle, Float_t mgn, const char *text, ETextMode mode) override;
0246 void DrawTextW(WinContext_t, Int_t, Int_t, Float_t, Float_t, const wchar_t *, ETextMode) override {}
0247
0248
0249 void GetWindowAttributes(Window_t id, WindowAttributes_t &attr) override;
0250 void MapWindow(Window_t id) override;
0251 void MapSubwindows(Window_t id) override;
0252 void MapRaised(Window_t id) override;
0253 void UnmapWindow(Window_t id) override;
0254 void DestroyWindow(Window_t id) override;
0255 void DestroySubwindows(Window_t id) override;
0256 void RaiseWindow(Window_t id) override;
0257 void LowerWindow(Window_t id) override;
0258 void MoveWindow(Window_t id, Int_t x, Int_t y) override;
0259 void MoveResizeWindow(Window_t id, Int_t x, Int_t y, UInt_t w, UInt_t h) override;
0260 void ResizeWindow(Window_t id, UInt_t w, UInt_t h) override;
0261 void IconifyWindow(Window_t id) override;
0262 void ReparentWindow(Window_t id, Window_t pid, Int_t x, Int_t y) override;
0263 void SetWindowBackground(Window_t id, ULong_t color) override;
0264 void SetWindowBackgroundPixmap(Window_t id, Pixmap_t pxm) override;
0265 Window_t CreateWindow(Window_t parent, Int_t x, Int_t y,
0266 UInt_t w, UInt_t h, UInt_t border,
0267 Int_t depth, UInt_t clss,
0268 void *visual, SetWindowAttributes_t *attr,
0269 UInt_t wtype) override;
0270 Int_t OpenDisplay(const char *dpyName) override;
0271 void CloseDisplay() override;
0272 Display_t GetDisplay() const override;
0273 Visual_t GetVisual() const override;
0274 Int_t GetScreen() const override;
0275 Int_t GetDepth() const override;
0276 Colormap_t GetColormap() const override;
0277 Atom_t InternAtom(const char *atom_name, Bool_t only_if_exist) override;
0278 Window_t GetDefaultRootWindow() const override;
0279 Window_t GetParent(Window_t id) const override;
0280 FontStruct_t LoadQueryFont(const char *font_name) override;
0281 FontH_t GetFontHandle(FontStruct_t fs) override;
0282 void DeleteFont(FontStruct_t fs) override;
0283 GContext_t CreateGC(Drawable_t id, GCValues_t *gval) override;
0284 void ChangeGC(GContext_t gc, GCValues_t *gval) override;
0285 void CopyGC(GContext_t org, GContext_t dest, Mask_t mask) override;
0286 void DeleteGC(GContext_t gc) override;
0287 Cursor_t CreateCursor(ECursor cursor) override;
0288 void SetCursor(Window_t id, Cursor_t curid) override;
0289 Pixmap_t CreatePixmap(Drawable_t id, UInt_t w, UInt_t h) override;
0290 Pixmap_t CreatePixmap(Drawable_t id, const char *bitmap, UInt_t width,
0291 UInt_t height, ULong_t forecolor, ULong_t backcolor,
0292 Int_t depth) override;
0293 unsigned char *GetColorBits(Drawable_t wid, Int_t x = 0, Int_t y = 0, UInt_t w = 0, UInt_t h = 0) override;
0294 Pixmap_t CreatePixmapFromData(unsigned char *bits, UInt_t width, UInt_t height) override;
0295 Pixmap_t CreateBitmap(Drawable_t id, const char *bitmap,
0296 UInt_t width, UInt_t height) override;
0297 void DeletePixmap(Pixmap_t pmap) override;
0298 Bool_t CreatePictureFromFile(Drawable_t id, const char *filename,
0299 Pixmap_t &pict, Pixmap_t &pict_mask,
0300 PictureAttributes_t &attr) override;
0301 Bool_t CreatePictureFromData(Drawable_t id, char **data,
0302 Pixmap_t &pict, Pixmap_t &pict_mask,
0303 PictureAttributes_t &attr) override;
0304 Bool_t ReadPictureDataFromFile(const char *filename, char ***ret_data) override;
0305 void DeletePictureData(void *data) override;
0306 void SetDashes(GContext_t gc, Int_t offset, const char *dash_list, Int_t n) override;
0307 Bool_t ParseColor(Colormap_t cmap, const char *cname, ColorStruct_t &color) override;
0308 Bool_t AllocColor(Colormap_t cmap, ColorStruct_t &color) override;
0309 void QueryColor(Colormap_t cmap, ColorStruct_t &color) override;
0310 void FreeColor(Colormap_t cmap, ULong_t pixel) override;
0311 Int_t EventsPending() override;
0312 void NextEvent(Event_t &event) override;
0313 void Bell(Int_t percent) override;
0314 void CopyArea(Drawable_t src, Drawable_t dest, GContext_t gc,
0315 Int_t src_x, Int_t src_y, UInt_t width, UInt_t height,
0316 Int_t dest_x, Int_t dest_y) override;
0317 void ChangeWindowAttributes(Window_t id, SetWindowAttributes_t *attr) override;
0318 void ChangeProperty(Window_t id, Atom_t property, Atom_t type,
0319 UChar_t *data, Int_t len) override;
0320 void SetWindowHint(Window_t id, EWindowHint hint) override;
0321 void DrawLine(Drawable_t id, GContext_t gc, Int_t x1, Int_t y1, Int_t x2, Int_t y2) override;
0322 void ClearArea(Window_t id, Int_t x, Int_t y, UInt_t w, UInt_t h) override;
0323 Bool_t CheckEvent(Window_t id, EGEventType type, Event_t &ev) override;
0324 void SendEvent(Window_t id, Event_t *ev) override;
0325 void WMDeleteNotify(Window_t id) override;
0326 void SetKeyAutoRepeat(Bool_t on = kTRUE) override;
0327 void GrabKey(Window_t id, Int_t keycode, UInt_t modifier, Bool_t grab = kTRUE) override;
0328 void GrabButton(Window_t id, EMouseButton button, UInt_t modifier,
0329 UInt_t evmask, Window_t confine, Cursor_t cursor,
0330 Bool_t grab = kTRUE) override;
0331 void GrabPointer(Window_t id, UInt_t evmask, Window_t confine,
0332 Cursor_t cursor, Bool_t grab = kTRUE,
0333 Bool_t owner_events = kTRUE) override;
0334 void SetWindowName(Window_t id, char *name) override;
0335 void SetIconName(Window_t id, char *name) override;
0336 void SetIconPixmap(Window_t id, Pixmap_t pic) override;
0337 void SetClassHints(Window_t id, char *className, char *resourceName) override;
0338 void SetMWMHints(Window_t id, UInt_t value, UInt_t funcs, UInt_t input) override;
0339 void SetWMPosition(Window_t id, Int_t x, Int_t y) override;
0340 void SetWMSize(Window_t id, UInt_t w, UInt_t h) override;
0341 void SetWMSizeHints(Window_t id, UInt_t wmin, UInt_t hmin,
0342 UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc) override;
0343 void SetWMState(Window_t id, EInitialState state) override;
0344 void SetWMTransientHint(Window_t id, Window_t main_id) override;
0345 void DrawString(Drawable_t id, GContext_t gc, Int_t x, Int_t y,
0346 const char *s, Int_t len) override;
0347 Int_t TextWidth(FontStruct_t font, const char *s, Int_t len) override;
0348 void GetFontProperties(FontStruct_t font, Int_t &max_ascent, Int_t &max_descent) override;
0349 void GetGCValues(GContext_t gc, GCValues_t &gval) override;
0350 FontStruct_t GetFontStruct(FontH_t fh) override;
0351 void FreeFontStruct(FontStruct_t fs) override;
0352 void ClearWindow(Window_t id) override;
0353 Int_t KeysymToKeycode(UInt_t keysym) override;
0354 void FillRectangle(Drawable_t id, GContext_t gc, Int_t x, Int_t y,
0355 UInt_t w, UInt_t h) override;
0356 void DrawRectangle(Drawable_t id, GContext_t gc, Int_t x, Int_t y,
0357 UInt_t w, UInt_t h) override;
0358 void DrawSegments(Drawable_t id, GContext_t gc, Segment_t *seg, Int_t nseg) override;
0359 void SelectInput(Window_t id, UInt_t evmask) override;
0360 Window_t GetInputFocus() override;
0361 void SetInputFocus(Window_t id) override;
0362 Window_t GetPrimarySelectionOwner() override;
0363 void SetPrimarySelectionOwner(Window_t id) override;
0364 void ConvertPrimarySelection(Window_t id, Atom_t clipboard, Time_t when) override;
0365 void LookupString(Event_t *event, char *buf, Int_t buflen, UInt_t &keysym) override;
0366 void GetPasteBuffer(Window_t id, Atom_t atom, TString &text,
0367 Int_t &nchar, Bool_t del) override;
0368 void TranslateCoordinates(Window_t src, Window_t dest, Int_t src_x,
0369 Int_t src_y, Int_t &dest_x, Int_t &dest_y, Window_t &child) override;
0370 void GetWindowSize(Drawable_t id, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h) override;
0371 void FillPolygon(Window_t id, GContext_t gc, Point_t *points, Int_t npnt) override;
0372 void QueryPointer(Window_t id, Window_t &rootw, Window_t &childw,
0373 Int_t &root_x, Int_t &root_y, Int_t &win_x,
0374 Int_t &win_y, UInt_t &mask) override;
0375 void SetForeground(GContext_t gc, ULong_t foreground) override;
0376 void SetClipRectangles(GContext_t gc, Int_t x, Int_t y, Rectangle_t *recs, Int_t n) override;
0377 void Update(Int_t mode = 0) override;
0378 Region_t CreateRegion() override;
0379 void DestroyRegion(Region_t reg) override;
0380 void UnionRectWithRegion(Rectangle_t *rect, Region_t src, Region_t dest) override;
0381 Region_t PolygonRegion(Point_t *points, Int_t np, Bool_t winding) override;
0382 void UnionRegion(Region_t rega, Region_t regb, Region_t result) override;
0383 void IntersectRegion(Region_t rega, Region_t regb, Region_t result) override;
0384 void SubtractRegion(Region_t rega, Region_t regb, Region_t result) override;
0385 void XorRegion(Region_t rega, Region_t regb, Region_t result) override;
0386 Bool_t EmptyRegion(Region_t reg) override;
0387 Bool_t PointInRegion(Int_t x, Int_t y, Region_t reg) override;
0388 Bool_t EqualRegion(Region_t rega, Region_t regb) override;
0389 void GetRegionBox(Region_t reg, Rectangle_t *) override;
0390 char **ListFonts(const char *fontname, Int_t max, Int_t &count) override;
0391 void FreeFontNames(char **fontlist) override;
0392 Drawable_t CreateImage(UInt_t width, UInt_t height) override;
0393 void GetImageSize(Drawable_t id, UInt_t &width, UInt_t &height) override;
0394 void PutPixel(Drawable_t id, Int_t x, Int_t y, ULong_t pixel) override;
0395 void PutImage(Drawable_t id, GContext_t gc, Drawable_t img,
0396 Int_t dx, Int_t dy, Int_t x, Int_t y,
0397 UInt_t w, UInt_t h) override;
0398 void DeleteImage(Drawable_t img) override;
0399 void ShapeCombineMask(Window_t id, Int_t x, Int_t y, Pixmap_t mask) override;
0400 UInt_t ScreenWidthMM() const override;
0401
0402 void DeleteProperty(Window_t, Atom_t&) override;
0403 Int_t GetProperty(Window_t, Atom_t, Long_t, Long_t, Bool_t, Atom_t,
0404 Atom_t*, Int_t*, ULong_t*, ULong_t*, unsigned char**) override;
0405 void ChangeActivePointerGrab(Window_t, UInt_t, Cursor_t) override;
0406 void ConvertSelection(Window_t, Atom_t&, Atom_t&, Atom_t&, Time_t&) override;
0407 Bool_t SetSelectionOwner(Window_t, Atom_t&) override;
0408 void ChangeProperties(Window_t id, Atom_t property, Atom_t type,
0409 Int_t format, UChar_t *data, Int_t len) override;
0410 void SetDNDAware(Window_t, Atom_t *) override;
0411 void SetTypeList(Window_t win, Atom_t prop, Atom_t *typelist) override;
0412 Window_t FindRWindow(Window_t win, Window_t dragwin, Window_t input, int x, int y, int maxd) override;
0413 Bool_t IsDNDAware(Window_t win, Atom_t *typelist) override;
0414
0415 ClassDefOverride(TGX11,0)
0416 };
0417
0418 #endif