Logo ROOT   6.21/01
Reference Guide
TGCocoa.h
Go to the documentation of this file.
1 // @(#)root/graf2d:$Id$
2 // Author: Timur Pocheptsov 22/11/2011
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2012, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 
13 #ifndef ROOT_TGCocoa
14 #define ROOT_TGCocoa
15 
16 #include "CocoaGuiTypes.h"
17 #include "TVirtualX.h"
18 #include "X11Atoms.h"
19 
20 #include <map>
21 #include <memory>
22 #include <string>
23 #include <utility>
24 #include <vector>
25 
26 /// \defgroup cocoa Cocoa backend
27 /// \brief Interface to MacOS native graphics system.
28 /// \ingroup GraphicsBackends
29 
30 /** \class TGCocoa
31 \ingroup cocoa
32 
33 This class implements TVirtualX interface for MacOS X, using Cocoa and Quartz 2D.
34 
35 TVirtualX is a typical fat interface, it's a "C++ wrapper" for
36 X11 library. It's a union of several orthogonal interfaces like:
37 color management, window management, pixmap management, cursors,
38 events, images, drag and drop, font management, gui-rendering,
39 non-gui graphics, etc. etc.
40 */
41 
42 namespace ROOT {
43 namespace MacOSX {
44 
45 namespace X11 {
46 class EventTranslator;
47 class CommandBuffer;
48 
49 }
50 
51 namespace Details {
52 class CocoaPrivate;
53 }
54 
55 }
56 }
57 
58 class TGCocoa : public TVirtualX {
59 public:
60  TGCocoa();
61  TGCocoa(const char *name, const char *title);
62 
63  ~TGCocoa();
64 
65  //TVirtualX final overriders.
66  //I split them in a group not to get lost in this fat interface.
67 
68  ///////////////////////////////////////
69  //General.
70  virtual Bool_t Init(void *display);
71  virtual Int_t OpenDisplay(const char *displayName);
72  virtual const char *DisplayName(const char *);
73  virtual Int_t SupportsExtension(const char *extensionName)const;
74  virtual void CloseDisplay();
75  virtual Display_t GetDisplay()const;
76  virtual Visual_t GetVisual()const;
77  virtual Int_t GetScreen()const;
78  virtual UInt_t ScreenWidthMM()const;
79  virtual Int_t GetDepth()const;
80  virtual void Update(Int_t mode);
81 
82  //Non-virtual functions.
83  void ReconfigureDisplay();
85  //End of general.
86  ///////////////////////////////////////
87 
88  ///////////////////////////////////////
89  //Window management part:
90  virtual Window_t GetDefaultRootWindow()const;
91  //-Functions used by TCanvas/TPad (work with window, selected by SelectWindow).
92  virtual Int_t InitWindow(ULong_t window);
93  virtual Window_t GetWindowID(Int_t wid);//TGCocoa simply returns wid.
94  virtual void SelectWindow(Int_t wid);
95  virtual void ClearWindow();
96  virtual void GetGeometry(Int_t wid, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h);
97  virtual void MoveWindow(Int_t wid, Int_t x, Int_t y);
98  virtual void RescaleWindow(Int_t wid, UInt_t w, UInt_t h);
99  virtual void ResizeWindow(Int_t wid);
100  virtual void UpdateWindow(Int_t mode);
101  virtual Window_t GetCurrentWindow()const;
102  virtual void CloseWindow();
103  virtual Int_t AddWindow(ULong_t qwid, UInt_t w, UInt_t h); //-"Qt ROOT".
104  virtual void RemoveWindow(ULong_t qwid); //-"Qt ROOT".
105 
106 
107  //-Functions used by GUI.
108  virtual Window_t CreateWindow(Window_t parent, Int_t x, Int_t y,
109  UInt_t w, UInt_t h, UInt_t border,
110  Int_t depth, UInt_t clss,
111  void *visual, SetWindowAttributes_t *attr,
112  UInt_t wtype);
113 
114 
115  virtual void DestroyWindow(Window_t wid);
116  virtual void DestroySubwindows(Window_t wid);
117 
118  virtual void GetWindowAttributes(Window_t wid, WindowAttributes_t &attr);
119  virtual void ChangeWindowAttributes(Window_t wid, SetWindowAttributes_t *attr);
120  virtual void SelectInput(Window_t wid, UInt_t evmask);//Can also be in events-related part.
121 
122  void ReparentChild(Window_t wid, Window_t pid, Int_t x, Int_t y);//Non-overrider.
123  void ReparentTopLevel(Window_t wid, Window_t pid, Int_t x, Int_t y);//Non-overrider.
124  virtual void ReparentWindow(Window_t wid, Window_t pid, Int_t x, Int_t y);
125 
126  virtual void MapWindow(Window_t wid);
127  virtual void MapSubwindows(Window_t wid);
128  virtual void MapRaised(Window_t wid);
129  virtual void UnmapWindow(Window_t wid);
130  virtual void RaiseWindow(Window_t wid);
131  virtual void LowerWindow(Window_t wid);
132 
133  virtual void MoveWindow(Window_t wid, Int_t x, Int_t y);
134  virtual void MoveResizeWindow(Window_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h);
135  virtual void ResizeWindow(Window_t wid, UInt_t w, UInt_t h);
136  virtual void IconifyWindow(Window_t wid);
137  virtual void TranslateCoordinates(Window_t src, Window_t dest, Int_t src_x,Int_t src_y,
138  Int_t &dest_x, Int_t &dest_y, Window_t &child);
139  virtual void GetWindowSize(Drawable_t wid, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h);
140 
141 
142  virtual void SetWindowBackground(Window_t wid, ULong_t color);
143  virtual void SetWindowBackgroundPixmap(Window_t wid, Pixmap_t pxm);
144 
145  virtual Window_t GetParent(Window_t wid)const;
146 
147  virtual void SetWindowName(Window_t wid, char *name);
148  virtual void SetIconName(Window_t wid, char *name);
149  virtual void SetIconPixmap(Window_t wid, Pixmap_t pix);
150  virtual void SetClassHints(Window_t wid, char *className, char *resourceName);
151  //Non-rectangular window:
152  virtual void ShapeCombineMask(Window_t wid, Int_t x, Int_t y, Pixmap_t mask);
153 
154  //End window-management part.
155  ///////////////////////////////////////
156 
157  /////////////////////////////
158  //Set of "Window manager hints".
159  virtual void SetMWMHints(Window_t winID, UInt_t value, UInt_t decorators, UInt_t inputMode);
160  virtual void SetWMPosition(Window_t winID, Int_t x, Int_t y);
161  virtual void SetWMSize(Window_t winID, UInt_t w, UInt_t h);
162  virtual void SetWMSizeHints(Window_t winID, UInt_t wMin, UInt_t hMin, UInt_t wMax, UInt_t hMax, UInt_t wInc, UInt_t hInc);
163  virtual void SetWMState(Window_t winID, EInitialState state);
164  virtual void SetWMTransientHint(Window_t winID, Window_t mainWinID);
165  //"Window manager hints".
166  /////////////////////////////
167 
168 
169  ///////////////////////////////////////
170  //GUI-rendering part.
171  void DrawLineAux(Drawable_t wid, const GCValues_t &gcVals, Int_t x1, Int_t y1, Int_t x2, Int_t y2);//Non-overrider.
172  virtual void DrawLine(Drawable_t wid, GContext_t gc, Int_t x1, Int_t y1, Int_t x2, Int_t y2);
173  void DrawSegmentsAux(Drawable_t wid, const GCValues_t &gcVals, const Segment_t *segments, Int_t nSegments);//Non-overrider.
174  virtual void DrawSegments(Drawable_t wid, GContext_t gc, Segment_t *segments, Int_t nSegments);
175  void DrawRectangleAux(Drawable_t wid, const GCValues_t &gcVals, Int_t x, Int_t y, UInt_t w, UInt_t h);//Non-overrider.
176  virtual void DrawRectangle(Drawable_t wid, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h);
177  void FillRectangleAux(Drawable_t wid, const GCValues_t &gcVals, Int_t x, Int_t y, UInt_t w, UInt_t h);//Non-overrider.
178  virtual void FillRectangle(Drawable_t wid, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h);
179  void FillPolygonAux(Window_t wid, const GCValues_t &gcVals, const Point_t *polygon, Int_t nPoints) ;//Non-overrider.
180  virtual void FillPolygon(Window_t wid, GContext_t gc, Point_t *polygon, Int_t nPoints);
181  void CopyAreaAux(Drawable_t src, Drawable_t dst, const GCValues_t &gc, Int_t srcX, Int_t srcY, UInt_t width,
182  UInt_t height, Int_t dstX, Int_t dstY);//Non-overrider.
183  virtual void CopyArea(Drawable_t src, Drawable_t dst, GContext_t gc, Int_t srcX, Int_t srcY, UInt_t width,
184  UInt_t height, Int_t dstX, Int_t dstY);
185  void DrawStringAux(Drawable_t wid, const GCValues_t &gc, Int_t x, Int_t y, const char *s, Int_t len);//Non-overrider.
186  virtual void DrawString(Drawable_t wid, GContext_t gc, Int_t x, Int_t y, const char *s, Int_t len);
187  void ClearAreaAux(Window_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h);//Non-overrider.
188  virtual void ClearArea(Window_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h);
189  virtual void ClearWindow(Window_t wid);
190  //End of GUI-rendering part.
191  ///////////////////////////////////////
192 
193 
194  ///////////////////////////////////////
195  //Pixmap management.
196  //-Used by TCanvas/TPad classes:
197  virtual Int_t OpenPixmap(UInt_t w, UInt_t h);
198  virtual Int_t ResizePixmap(Int_t wid, UInt_t w, UInt_t h);
199  virtual void SelectPixmap(Int_t qpixid);
200  virtual void CopyPixmap(Int_t wid, Int_t xpos, Int_t ypos);
201  virtual void ClosePixmap();
202  //Used by GUI.
203  virtual Pixmap_t CreatePixmap(Drawable_t wid, UInt_t w, UInt_t h);
204  virtual Pixmap_t CreatePixmap(Drawable_t wid, const char *bitmap, UInt_t width, UInt_t height,
205  ULong_t foregroundColor, ULong_t backgroundColor,
206  Int_t depth);
207  virtual Pixmap_t CreatePixmapFromData(unsigned char *bits, UInt_t width, UInt_t height);
208  virtual Pixmap_t CreateBitmap(Drawable_t wid, const char *bitmap,
209  UInt_t width, UInt_t height);
210  void DeletePixmapAux(Pixmap_t pixmapID);//Non-overrider.
211  virtual void DeletePixmap(Pixmap_t pixmapID);
212 
213  //-"Qt ROOT".
214  virtual Int_t AddPixmap(ULong_t pixid, UInt_t w, UInt_t h);
215  virtual unsigned char *GetColorBits(Drawable_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h);
216  //End of pixmap management.
217  /////////////////////////////
218 
219 
220  /////////////////////////////
221  //"Images" - emulation of XCreateImage/XPutImage etc.
222  virtual Drawable_t CreateImage(UInt_t width, UInt_t height);
223  virtual void GetImageSize(Drawable_t wid, UInt_t &width, UInt_t &height);
224  virtual void PutPixel(Drawable_t wid, Int_t x, Int_t y, ULong_t pixel);
225  virtual void PutImage(Drawable_t wid, GContext_t gc, Drawable_t img, Int_t dx, Int_t dy,
226  Int_t x, Int_t y, UInt_t w, UInt_t h);
227  virtual void DeleteImage(Drawable_t img);
228  //"Images".
229  /////////////////////////////
230 
231  /////////////////////////////
232  //Mouse (cursor, events, etc.)
233  virtual void GrabButton(Window_t wid, EMouseButton button, UInt_t modifier,
234  UInt_t evmask, Window_t confine, Cursor_t cursor,
235  Bool_t grab = kTRUE);
236  virtual void GrabPointer(Window_t wid, UInt_t evmask, Window_t confine,
237  Cursor_t cursor, Bool_t grab = kTRUE,
238  Bool_t owner_events = kTRUE);
239  virtual void ChangeActivePointerGrab(Window_t, UInt_t, Cursor_t);//Noop.
240  //End of mouse related part.
241  /////////////////////////////
242 
243  /////////////////////////////
244  //Keyboard management.
245  virtual void SetKeyAutoRepeat(Bool_t on = kTRUE);
246  virtual void GrabKey(Window_t wid, Int_t keycode, UInt_t modifier, Bool_t grab = kTRUE);
247  virtual Int_t KeysymToKeycode(UInt_t keysym);
248  virtual Window_t GetInputFocus();
249  virtual void SetInputFocus(Window_t wid);
250  virtual void LookupString(Event_t *event, char *buf, Int_t buflen, UInt_t &keysym);
251  //End of keyboard management.
252  /////////////////////////////
253 
254  /////////////////////////////
255  //Font management.
256  virtual FontStruct_t LoadQueryFont(const char *font_name);
257  virtual FontH_t GetFontHandle(FontStruct_t fs);
258  virtual void DeleteFont(FontStruct_t fs);
259  virtual Bool_t HasTTFonts() const;
260  virtual Int_t TextWidth(FontStruct_t font, const char *s, Int_t len);
261  virtual void GetFontProperties(FontStruct_t font, Int_t &max_ascent, Int_t &max_descent);
262  virtual FontStruct_t GetFontStruct(FontH_t fh);
263  virtual void FreeFontStruct(FontStruct_t fs);
264  virtual char **ListFonts(const char *fontname, Int_t max, Int_t &count);
265  virtual void FreeFontNames(char **fontlist);
266  //End of font management.
267  /////////////////////////////
268 
269  /////////////////////////////
270  //Color management.
271  virtual Bool_t ParseColor(Colormap_t cmap, const char *cname, ColorStruct_t &color);
272  virtual Bool_t AllocColor(Colormap_t cmap, ColorStruct_t &color);
273  virtual void QueryColor(Colormap_t cmap, ColorStruct_t &color);
274  virtual void FreeColor(Colormap_t cmap, ULong_t pixel);
275  virtual ULong_t GetPixel(Color_t cindex);
276  virtual void GetPlanes(Int_t &nplanes);
277  virtual void GetRGB(Int_t index, Float_t &r, Float_t &g, Float_t &b);
278  virtual void SetRGB(Int_t cindex, Float_t r, Float_t g, Float_t b);
279  virtual Colormap_t GetColormap() const;
280 
281  //End of color management.
282  /////////////////////////////
283 
284  /////////////////////////////
285  //Context management.
286  virtual GContext_t CreateGC(Drawable_t wid, GCValues_t *gval);
287  virtual void SetForeground(GContext_t gc, ULong_t foreground);
288  virtual void ChangeGC(GContext_t gc, GCValues_t *gval);
289  virtual void CopyGC(GContext_t org, GContext_t dest, Mask_t mask);
290  virtual void GetGCValues(GContext_t gc, GCValues_t &gval);
291  virtual void DeleteGC(GContext_t gc);
292  //Context management.
293  /////////////////////////////
294 
295  /////////////////////////////
296  //Cursors.
297  virtual Cursor_t CreateCursor(ECursor cursor);
298  virtual void SetCursor(Window_t wid, Cursor_t curid);
299  virtual void SetCursor(Int_t win, ECursor cursor);
300  virtual void QueryPointer(Int_t &x, Int_t &y);
301  virtual void QueryPointer(Window_t wid, Window_t &rootw, Window_t &childw,
302  Int_t &root_x, Int_t &root_y, Int_t &win_x,
303  Int_t &win_y, UInt_t &mask);
304  //Cursors.
305  /////////////////////////////
306 
307 
308  /////////////////////////////
309  //OpenGL.
310  //We have a mix of Handle_t, Window_t (both are long) and Int_t (this is an obsolete version).
312  virtual Window_t CreateOpenGLWindow(Window_t parentID, UInt_t width, UInt_t height, const std::vector<std::pair<UInt_t, Int_t> > &format);
313  virtual Handle_t CreateOpenGLContext(Window_t windowID, Handle_t sharedContext);
314  virtual void CreateOpenGLContext(Int_t wid);
315  virtual Bool_t MakeOpenGLContextCurrent(Handle_t ctx, Window_t windowID);
317  virtual void FlushOpenGLBuffer(Handle_t ctxID);
318 
319  virtual void DeleteOpenGLContext(Int_t ctxID);
320  //OpenGL.
321  /////////////////////////////
322 
323  /////////////////////////////
324  //TPad's/TCanvas' specific - "double buffer" (off-screen rendering) + 'xor' mode.
325  virtual void SetDoubleBuffer(Int_t wid, Int_t mode);
326  virtual void SetDoubleBufferOFF();
327  virtual void SetDoubleBufferON();
328  virtual void SetDrawMode(EDrawMode mode);
329  //TPad's/TCanvas'.
330  /////////////////////////////
331 
332  /////////////////////////////
333  //Event management.
334  virtual void SendEvent(Window_t wid, Event_t *ev);
335  virtual void NextEvent(Event_t &event);
336  virtual Int_t EventsPending();
337  virtual Bool_t CheckEvent(Window_t wid, EGEventType type, Event_t &ev);
338  virtual Handle_t GetNativeEvent() const;
339  //Event management.
340  /////////////////////////////
341 
342  /////////////////////////////
343  //"Drag and drop" and "Copy and paste" (quotes are intentional :)).
344 
345  //Names here are total mess, but this comes from TVirtualX interface.
346  virtual Atom_t InternAtom(const char *atom_name, Bool_t only_if_exist);
347 
348  virtual void SetPrimarySelectionOwner(Window_t wid);
349  virtual Bool_t SetSelectionOwner(Window_t windowID, Atom_t &selectionID);
351 
352  virtual void ConvertPrimarySelection(Window_t wid, Atom_t clipboard, Time_t when);
353  virtual void ConvertSelection(Window_t, Atom_t&, Atom_t&, Atom_t&, Time_t&);
355  Atom_t*, Int_t*, ULong_t*, ULong_t*, unsigned char**);
356  virtual void GetPasteBuffer(Window_t wid, Atom_t atom, TString &text, Int_t &nchar,
357  Bool_t del);
358 
359  virtual void ChangeProperty(Window_t wid, Atom_t property, Atom_t type,
360  UChar_t *data, Int_t len);
361  virtual void ChangeProperties(Window_t wid, Atom_t property, Atom_t type,
362  Int_t format, UChar_t *data, Int_t len);
363  virtual void DeleteProperty(Window_t, Atom_t&);
364 
365  virtual void SetDNDAware(Window_t, Atom_t *);
366  virtual Bool_t IsDNDAware(Window_t win, Atom_t *typelist);
367 
368  virtual void SetTypeList(Window_t win, Atom_t prop, Atom_t *typelist);
369  //FindRWindow is in DND part, since it looks for a DND aware window.
370  virtual Window_t FindRWindow(Window_t win, Window_t dragwin, Window_t input, int x, int y, int maxd);
371  //"Drag and drop" and "Copy and paste".
372  /////////////////////////////
373 
374  //The remaining bunch of functions is not sorted yet (and not implemented at the moment).
375 
376  virtual UInt_t ExecCommand(TGWin32Command *code);
377  virtual void GetCharacterUp(Float_t &chupx, Float_t &chupy);
378 
379  virtual Int_t GetDoubleBuffer(Int_t wid);
380 
381  virtual Pixmap_t ReadGIF(Int_t x0, Int_t y0, const char *file, Window_t wid);
382  virtual Int_t RequestLocator(Int_t mode, Int_t ctyp, Int_t &x, Int_t &y);
383  virtual Int_t RequestString(Int_t x, Int_t y, char *text);
384 
385  virtual void SetCharacterUp(Float_t chupx, Float_t chupy);
386  virtual void SetClipOFF(Int_t wid);
387  virtual void SetClipRegion(Int_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h);
388 
389  virtual void SetTextMagnitude(Float_t mgn);
390 
391  virtual void Sync(Int_t mode);
392  virtual void Warp(Int_t ix, Int_t iy, Window_t wid);
393  virtual Int_t WriteGIF(char *name);
394  virtual void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxname);
395 
396  virtual Bool_t NeedRedraw(ULong_t tgwindow, Bool_t force);
397 
398 
399  virtual Bool_t CreatePictureFromFile(Drawable_t wid, const char *filename,
400  Pixmap_t &pict, Pixmap_t &pict_mask,
401  PictureAttributes_t &attr);
402  virtual Bool_t CreatePictureFromData(Drawable_t wid, char **data,
403  Pixmap_t &pict, Pixmap_t &pict_mask,
404  PictureAttributes_t &attr);
405  virtual Bool_t ReadPictureDataFromFile(const char *filename, char ***ret_data);
406  virtual void DeletePictureData(void *data);
407  virtual void SetDashes(GContext_t gc, Int_t offset, const char *dash_list, Int_t n);
408 
409 
410  virtual void Bell(Int_t percent);
411 
412  virtual void WMDeleteNotify(Window_t wid);
413 
414  virtual void SetClipRectangles(GContext_t gc, Int_t x, Int_t y, Rectangle_t *recs, Int_t n);
415  virtual Region_t CreateRegion();
416  virtual void DestroyRegion(Region_t reg);
417  virtual void UnionRectWithRegion(Rectangle_t *rect, Region_t src, Region_t dest);
418  virtual Region_t PolygonRegion(Point_t *points, Int_t np, Bool_t winding);
419  virtual void UnionRegion(Region_t rega, Region_t regb, Region_t result);
420  virtual void IntersectRegion(Region_t rega, Region_t regb, Region_t result);
421  virtual void SubtractRegion(Region_t rega, Region_t regb, Region_t result);
422  virtual void XorRegion(Region_t rega, Region_t regb, Region_t result);
423  virtual Bool_t EmptyRegion(Region_t reg);
424  virtual Bool_t PointInRegion(Int_t x, Int_t y, Region_t reg);
425  virtual Bool_t EqualRegion(Region_t rega, Region_t regb);
426  virtual void GetRegionBox(Region_t reg, Rectangle_t *rect);
427  //
428 
429  virtual Bool_t IsCmdThread()const { return kTRUE; }
430 
431  //Non virtual, non-overriding functions.
434 
435  void CocoaDrawON();
436  void CocoaDrawOFF();
437  Bool_t IsCocoaDraw()const;
438 
439 protected:
440  void *GetCurrentContext();
441 
443 
444  std::unique_ptr<ROOT::MacOSX::Details::CocoaPrivate> fPimpl; //!
446 
448  bool fDirectDraw;//Primitive in canvas tries to draw into window directly.
449 
450 private:
451  bool MakeProcessForeground();
452  Atom_t FindAtom(const std::string &atomName, bool addIfNotFound);
453  void SetApplicationIcon();
454 
456  std::vector<GCValues_t> fX11Contexts;
457  //
459  std::vector<std::string> fAtomToName;
460 
461  std::map<Atom_t, Window_t> fSelectionOwners;
462  typedef std::map<Atom_t, Window_t>::iterator selection_iterator;
463 
464  bool fSetApp;
465  mutable bool fDisplayShapeChanged;
467 
468 public:
470 
471 private:
472  //I'd prefer to use = delete syntax from C++0x11, but this file is processed by CINT.
473  TGCocoa(const TGCocoa &rhs);
474  TGCocoa &operator = (const TGCocoa &rhs);
475 
476  ClassDef(TGCocoa, 0); //TVirtualX for MacOS X.
477 };
478 
479 #endif
virtual void SetClipRectangles(GContext_t gc, Int_t x, Int_t y, Rectangle_t *recs, Int_t n)
Sets clipping rectangles in graphics context.
Definition: TGCocoa.mm:4236
virtual Int_t GetDepth() const
Returns depth of screen (number of bit planes).
Definition: TGCocoa.mm:536
virtual void GetGCValues(GContext_t gc, GCValues_t &gval)
Returns the components specified by the mask in "gval" for the specified GC "gc" (see also the GCValu...
Definition: TGCocoa.mm:3062
Handle_t FontStruct_t
Definition: GuiTypes.h:38
virtual Window_t GetInputFocus()
Returns the window id of the window having the input focus.
Definition: TGCocoa.mm:2740
virtual Pixmap_t CreatePixmap(Drawable_t wid, UInt_t w, UInt_t h)
Creates a pixmap of the specified width and height and returns a pixmap ID that identifies it...
Definition: TGCocoa.mm:2399
virtual void MoveResizeWindow(Window_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h)
Changes the size and location of the specified window "id" without raising it.
Definition: TGCocoa.mm:1241
virtual void DeletePixmap(Pixmap_t pixmapID)
Explicitly deletes the pixmap resource "pmap".
Definition: TGCocoa.mm:2513
virtual Int_t KeysymToKeycode(UInt_t keysym)
Converts the "keysym" to the appropriate keycode.
Definition: TGCocoa.mm:2729
virtual void SetWindowBackground(Window_t wid, ULong_t color)
Sets the background of the window "id" to the specified color value "color".
Definition: TGCocoa.mm:1421
virtual Drawable_t CreateImage(UInt_t width, UInt_t height)
Allocates the memory needed for an drawable.
Definition: TGCocoa.mm:2551
TGCocoa()
Definition: TGCocoa.mm:409
Semi-Abstract base class defining a generic interface to the underlying, low level, native graphics backend (X11, Win32, MacOS, OpenGL...).
Definition: TVirtualX.h:53
std::unique_ptr< ROOT::MacOSX::Details::CocoaPrivate > fPimpl
Definition: TGCocoa.h:444
virtual GContext_t CreateGC(Drawable_t wid, GCValues_t *gval)
Creates a graphics context using the provided GCValues_t *gval structure.
Definition: TGCocoa.mm:2959
virtual void ChangeWindowAttributes(Window_t wid, SetWindowAttributes_t *attr)
Changes the attributes of the specified window "id" according the values provided in "attr"...
Definition: TGCocoa.mm:981
bool fDisplayShapeChanged
Definition: TGCocoa.h:465
std::vector< GCValues_t > fX11Contexts
Definition: TGCocoa.h:456
EInitialState
Definition: GuiTypes.h:344
virtual void GrabPointer(Window_t wid, UInt_t evmask, Window_t confine, Cursor_t cursor, Bool_t grab=kTRUE, Bool_t owner_events=kTRUE)
Establishes an active pointer grab.
Definition: TGCocoa.mm:2650
void DrawSegmentsAux(Drawable_t wid, const GCValues_t &gcVals, const Segment_t *segments, Int_t nSegments)
Definition: TGCocoa.mm:1749
void ReparentTopLevel(Window_t wid, Window_t pid, Int_t x, Int_t y)
Definition: TGCocoa.mm:1064
virtual void GetRegionBox(Region_t reg, Rectangle_t *rect)
Returns smallest enclosing rectangle.
Definition: TGCocoa.mm:4346
virtual Int_t AddWindow(ULong_t qwid, UInt_t w, UInt_t h)
Registers a window created by Qt as a ROOT window.
Definition: TGCocoa.mm:821
Returns the available number of logical cores.
Definition: StringConv.hxx:21
bool fSetApp
Definition: TGCocoa.h:464
virtual void CopyArea(Drawable_t src, Drawable_t dst, GContext_t gc, Int_t srcX, Int_t srcY, UInt_t width, UInt_t height, Int_t dstX, Int_t dstY)
Combines the specified rectangle of "src" with the specified rectangle of "dest" according to the "gc...
Definition: TGCocoa.mm:2111
float Float_t
Definition: RtypesCore.h:53
virtual FontStruct_t GetFontStruct(FontH_t fh)
Retrieves the associated font structure of the font specified font handle "fh".
Definition: TGCocoa.mm:2835
UInt_t Mask_t
Definition: GuiTypes.h:40
virtual Int_t AddPixmap(ULong_t pixid, UInt_t w, UInt_t h)
Registers a pixmap created by TGLManager as a ROOT pixmap.
Definition: TGCocoa.mm:2521
virtual Bool_t IsCmdThread() const
Definition: TGCocoa.h:429
virtual Int_t SupportsExtension(const char *extensionName) const
Returns 1 if window system server supports extension given by the argument, returns 0 in case extensi...
Definition: TGCocoa.mm:492
virtual void MapRaised(Window_t wid)
Maps the window "id" and all of its subwindows that have had map requests on the screen and put this ...
Definition: TGCocoa.mm:1138
virtual Handle_t CreateOpenGLContext(Window_t windowID, Handle_t sharedContext)
Creates OpenGL context for window "windowID".
Definition: TGCocoa.mm:3257
#define g(i)
Definition: RSha256.hxx:105
ULong_t Time_t
Definition: GuiTypes.h:41
virtual Region_t CreateRegion()
Creates a new empty region.
Definition: TGCocoa.mm:4246
virtual void SetWMSize(Window_t winID, UInt_t w, UInt_t h)
Tells window manager the desired size of window "id".
Definition: TGCocoa.mm:1606
virtual void SetDrawMode(EDrawMode mode)
Sets the drawing mode.
Definition: TGCocoa.mm:3465
virtual 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...
Definition: TGCocoa.mm:3952
virtual void SetIconPixmap(Window_t wid, Pixmap_t pix)
Sets the icon name pixmap.
Definition: TGCocoa.mm:1514
EGEventType
Definition: GuiTypes.h:58
Handle_t Cursor_t
Definition: GuiTypes.h:33
void DrawRectangleAux(Drawable_t wid, const GCValues_t &gcVals, Int_t x, Int_t y, UInt_t w, UInt_t h)
Definition: TGCocoa.mm:1795
virtual Bool_t SetSelectionOwner(Window_t windowID, Atom_t &selectionID)
Changes the owner and last-change time for the specified selection.
Definition: TGCocoa.mm:3572
virtual void DrawLine(Drawable_t wid, GContext_t gc, Int_t x1, Int_t y1, Int_t x2, Int_t y2)
Uses the components of the specified GC to draw a line between the specified set of points (x1...
Definition: TGCocoa.mm:1712
virtual Window_t GetWindowID(Int_t wid)
Returns the X11 window identifier.
Definition: TGCocoa.mm:640
virtual void CloseDisplay()
Closes connection to display server and destroys all windows.
Definition: TGCocoa.mm:499
Int_t fCocoaDraw
Definition: TGCocoa.h:445
virtual void UpdateWindow(Int_t mode)
Updates or synchronises client and server once (not permanent).
Definition: TGCocoa.mm:769
virtual Window_t GetDefaultRootWindow() const
Returns handle to the default root window created when calling XOpenDisplay().
Definition: TGCocoa.mm:608
virtual void DeleteOpenGLContext(Int_t ctxID)
Deletes OpenGL context for window "wid".
Definition: TGCocoa.mm:3391
virtual void SetDoubleBufferON()
Turns double buffer mode on.
Definition: TGCocoa.mm:3434
void DeletePixmapAux(Pixmap_t pixmapID)
Definition: TGCocoa.mm:2507
Handle_t GContext_t
Definition: GuiTypes.h:37
virtual void Bell(Int_t percent)
Sets the sound bell. Percent is loudness from -100% to 100%.
Definition: TGCocoa.mm:4224
Basic string class.
Definition: TString.h:131
virtual void FreeFontNames(char **fontlist)
Frees the specified the array of strings "fontlist".
Definition: TGCocoa.mm:2868
virtual void GetPlanes(Int_t &nplanes)
Returns the maximum number of planes.
Definition: TGCocoa.mm:2929
virtual Int_t RequestLocator(Int_t mode, Int_t ctyp, Int_t &x, Int_t &y)
Requests Locator position.
Definition: TGCocoa.mm:4013
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
virtual Bool_t ParseColor(Colormap_t cmap, const char *cname, ColorStruct_t &color)
Looks up the string name of a color "cname" with respect to the screen associated with the specified ...
Definition: TGCocoa.mm:2880
std::map< Atom_t, Window_t >::iterator selection_iterator
Definition: TGCocoa.h:462
virtual void RaiseWindow(Window_t wid)
Raises the specified window to the top of the stack so that no sibling window obscures it...
Definition: TGCocoa.mm:1189
Handle_t Drawable_t
Definition: GuiTypes.h:30
Atom_t FindAtom(const std::string &atomName, bool addIfNotFound)
Definition: TGCocoa.mm:4455
virtual void IconifyWindow(Window_t wid)
Iconifies the window "id".
Definition: TGCocoa.mm:1283
virtual void ConvertPrimarySelection(Window_t wid, Atom_t clipboard, Time_t when)
Causes a SelectionRequest event to be sent to the current primary selection owner.
Definition: TGCocoa.mm:3609
ECursor
Definition: TVirtualX.h:44
virtual Atom_t InternAtom(const char *atom_name, Bool_t only_if_exist)
Returns the atom identifier associated with the specified "atom_name" string.
Definition: TGCocoa.mm:3537
virtual void QueryColor(Colormap_t cmap, ColorStruct_t &color)
Returns the current RGB value for the pixel in the "color" structure.
Definition: TGCocoa.mm:2899
ROOT::MacOSX::X11::name_to_atom_map fNameToAtom
Definition: TGCocoa.h:458
virtual void SetTypeList(Window_t win, Atom_t prop, Atom_t *typelist)
Add the list of drag and drop types to the Window win.
Definition: TGCocoa.mm:3944
virtual void SetIconName(Window_t wid, char *name)
Sets the window icon name.
Definition: TGCocoa.mm:1508
Handle_t Display_t
Definition: GuiTypes.h:26
virtual void GrabKey(Window_t wid, Int_t keycode, UInt_t modifier, Bool_t grab=kTRUE)
Establishes a passive grab on the keyboard.
Definition: TGCocoa.mm:2687
void SetApplicationIcon()
Definition: TGCocoa.mm:4473
virtual void SetWMState(Window_t winID, EInitialState state)
Sets the initial state of the window "id": either kNormalState or kIconicState.
Definition: TGCocoa.mm:1628
void ClearAreaAux(Window_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h)
Definition: TGCocoa.mm:2225
virtual void SelectWindow(Int_t wid)
Selects the window "wid" to which subsequent output is directed.
Definition: TGCocoa.mm:649
Handle_t FontH_t
Definition: GuiTypes.h:34
virtual void SetCursor(Window_t wid, Cursor_t curid)
Sets the cursor "curid" to be used when the pointer is in the window "id".
Definition: TGCocoa.mm:3105
virtual void GetImageSize(Drawable_t wid, UInt_t &width, UInt_t &height)
Returns the width and height of the image id.
Definition: TGCocoa.mm:2561
virtual void UnmapWindow(Window_t wid)
Unmaps the specified window "id".
Definition: TGCocoa.mm:1159
virtual void DrawRectangle(Drawable_t wid, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h)
Draws rectangle outlines of [x,y] [x+w,y] [x+w,y+h] [x,y+h].
Definition: TGCocoa.mm:1829
virtual void SetDashes(GContext_t gc, Int_t offset, const char *dash_list, Int_t n)
Sets the dash-offset and dash-list attributes for dashed line styles in the specified GC...
Definition: TGCocoa.mm:4205
virtual void MapSubwindows(Window_t wid)
Maps all subwindows for the specified window "id" in top-to-bottom stacking order.
Definition: TGCocoa.mm:1124
virtual void CopyGC(GContext_t org, GContext_t dest, Mask_t mask)
Copies the specified components from the source GC "org" to the destination GC "dest".
Definition: TGCocoa.mm:3050
static const double x2[5]
virtual Bool_t ReadPictureDataFromFile(const char *filename, char ***ret_data)
Reads picture data from file "filename" and store it in "ret_data".
Definition: TGCocoa.mm:4190
Double_t x[n]
Definition: legend1.C:17
virtual void ResizeWindow(Int_t wid)
Resizes the window "wid" if necessary.
Definition: TGCocoa.mm:746
virtual Bool_t CreatePictureFromFile(Drawable_t wid, const char *filename, Pixmap_t &pict, Pixmap_t &pict_mask, PictureAttributes_t &attr)
Creates a picture pict from data in file "filename".
Definition: TGCocoa.mm:4162
virtual void SetWMSizeHints(Window_t winID, UInt_t wMin, UInt_t hMin, UInt_t wMax, UInt_t hMax, UInt_t wInc, UInt_t hInc)
Gives the window manager minimum and maximum size hints of the window "id".
Definition: TGCocoa.mm:1612
#define ClassDef(name, id)
Definition: Rtypes.h:326
virtual void MapWindow(Window_t wid)
Maps the window "id" and all of its subwindows that have had map requests.
Definition: TGCocoa.mm:1104
virtual void MoveWindow(Int_t wid, Int_t x, Int_t y)
Moves the window "wid" to the specified x and y coordinates.
Definition: TGCocoa.mm:724
virtual Int_t ResizePixmap(Int_t wid, UInt_t w, UInt_t h)
Resizes the specified pixmap "wid".
Definition: TGCocoa.mm:2323
virtual void GetPasteBuffer(Window_t wid, Atom_t atom, TString &text, Int_t &nchar, Bool_t del)
Gets contents of the paste buffer "atom" into the string "text".
Definition: TGCocoa.mm:3725
virtual void FillPolygon(Window_t wid, GContext_t gc, Point_t *polygon, Int_t nPoints)
Fills the region closed by the specified path.
Definition: TGCocoa.mm:2029
virtual void ClearWindow()
Clears the entire area of the current window.
Definition: TGCocoa.mm:656
virtual Bool_t NeedRedraw(ULong_t tgwindow, Bool_t force)
Notify the low level GUI layer ROOT requires "tgwindow" to be updated.
Definition: TGCocoa.mm:4142
void DrawLineAux(Drawable_t wid, const GCValues_t &gcVals, Int_t x1, Int_t y1, Int_t x2, Int_t y2)
Definition: TGCocoa.mm:1672
virtual void ConvertSelection(Window_t, Atom_t &, Atom_t &, Atom_t &, Time_t &)
Requests that the specified selection be converted to the specified target type.
Definition: TGCocoa.mm:3643
Handle_t Atom_t
Definition: GuiTypes.h:36
virtual void ChangeActivePointerGrab(Window_t, UInt_t, Cursor_t)
Changes the specified dynamic parameters if the pointer is actively grabbed by the client and if the ...
Definition: TGCocoa.mm:2671
virtual void Sync(Int_t mode)
Set synchronisation on or off.
Definition: TGCocoa.mm:4085
virtual void DestroyWindow(Window_t wid)
Destroys the window "id" as well as all of its subwindows.
Definition: TGCocoa.mm:878
virtual Bool_t CheckEvent(Window_t wid, EGEventType type, Event_t &ev)
Check if there is for window "id" an event of type "type".
Definition: TGCocoa.mm:3507
virtual Double_t GetOpenGLScalingFactor()
On a HiDPI resolution it can be > 1., this means glViewport should use scaled width and height...
Definition: TGCocoa.mm:3169
void FillRectangleAux(Drawable_t wid, const GCValues_t &gcVals, Int_t x, Int_t y, UInt_t w, UInt_t h)
Definition: TGCocoa.mm:1864
ROOT::MacOSX::X11::Rectangle GetDisplayGeometry() const
Definition: TGCocoa.mm:576
virtual void DeleteProperty(Window_t, Atom_t &)
Deletes the specified property only if the property was defined on the specified window and causes th...
Definition: TGCocoa.mm:3854
virtual Int_t EventsPending()
Returns the number of events that have been received from the X server but have not been removed from...
Definition: TGCocoa.mm:3500
virtual void DeleteImage(Drawable_t img)
Deallocates the memory associated with the image img.
Definition: TGCocoa.mm:2605
virtual Int_t OpenDisplay(const char *displayName)
Opens connection to display server (if such a thing exist on the current platform).
Definition: TGCocoa.mm:478
void ReconfigureDisplay()
Definition: TGCocoa.mm:570
virtual void SelectInput(Window_t wid, UInt_t evmask)
Defines which input events the window is interested in.
Definition: TGCocoa.mm:997
virtual void ReparentWindow(Window_t wid, Window_t pid, Int_t x, Int_t y)
If the specified window is mapped, ReparentWindow automatically performs an UnmapWindow request on it...
Definition: TGCocoa.mm:1086
virtual void UnionRegion(Region_t rega, Region_t regb, Region_t result)
Computes the union of two regions.
Definition: TGCocoa.mm:4283
virtual Bool_t EqualRegion(Region_t rega, Region_t regb)
Returns kTRUE if the two regions have the same offset, size, and shape.
Definition: TGCocoa.mm:4338
virtual unsigned char * GetColorBits(Drawable_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h)
Returns an array of pixels created from a part of drawable (defined by x, y, w, h) in format: ...
Definition: TGCocoa.mm:2530
static constexpr double s
virtual Window_t GetParent(Window_t wid) const
Returns the parent of the window "id".
Definition: TGCocoa.mm:1479
void CocoaDrawOFF()
Definition: TGCocoa.mm:4372
virtual Bool_t AllocColor(Colormap_t cmap, ColorStruct_t &color)
Allocates a read-only colormap entry corresponding to the closest RGB value supported by the hardware...
Definition: TGCocoa.mm:2889
short Color_t
Definition: RtypesCore.h:79
virtual void XorRegion(Region_t rega, Region_t regb, Region_t result)
Calculates the difference between the union and intersection of two regions.
Definition: TGCocoa.mm:4310
virtual void SetDNDAware(Window_t, Atom_t *)
Add XdndAware property and the list of drag and drop types to the Window win.
Definition: TGCocoa.mm:3878
Drawable_t fSelectedDrawable
Definition: TGCocoa.h:442
void CopyAreaAux(Drawable_t src, Drawable_t dst, const GCValues_t &gc, Int_t srcX, Int_t srcY, UInt_t width, UInt_t height, Int_t dstX, Int_t dstY)
Definition: TGCocoa.mm:2074
point * points
Definition: X3DBuffer.c:22
virtual Visual_t GetVisual() const
Returns handle to visual.
Definition: TGCocoa.mm:512
virtual void NextEvent(Event_t &event)
The "event" is set to default event.
Definition: TGCocoa.mm:3491
virtual Int_t TextWidth(FontStruct_t font, const char *s, Int_t len)
Return length of the string "s" in pixels. Size depends on font.
Definition: TGCocoa.mm:2821
virtual void SetKeyAutoRepeat(Bool_t on=kTRUE)
Turns key auto repeat on (kTRUE) or off (kFALSE).
Definition: TGCocoa.mm:2680
EMouseButton
Definition: GuiTypes.h:213
~TGCocoa()
Definition: TGCocoa.mm:460
virtual Bool_t Init(void *display)
Initializes the X system.
Definition: TGCocoa.mm:469
virtual void SetTextMagnitude(Float_t mgn)
Sets the current text magnification factor to "mgn".
Definition: TGCocoa.mm:4079
virtual Int_t GetScreen() const
Returns screen number.
Definition: TGCocoa.mm:519
virtual void SetCharacterUp(Float_t chupx, Float_t chupy)
Sets character up vector.
Definition: TGCocoa.mm:4056
virtual void SetInputFocus(Window_t wid)
Changes the input focus to specified window "id".
Definition: TGCocoa.mm:2748
ROOT::R::TRInterface & r
Definition: Object.C:4
void DrawStringAux(Drawable_t wid, const GCValues_t &gc, Int_t x, Int_t y, const char *s, Int_t len)
Definition: TGCocoa.mm:2148
static Atom_t fgDeleteWindowAtom
Definition: TGCocoa.h:469
bool fDirectDraw
Definition: TGCocoa.h:448
virtual void GetWindowAttributes(Window_t wid, WindowAttributes_t &attr)
The WindowAttributes_t structure is set to default.
Definition: TGCocoa.mm:967
virtual FontH_t GetFontHandle(FontStruct_t fs)
Returns the font handle of the specified font structure "fs".
Definition: TGCocoa.mm:2801
Handle_t Visual_t
Definition: GuiTypes.h:27
virtual void SubtractRegion(Region_t rega, Region_t regb, Region_t result)
Subtracts regb from rega and stores the results in result.
Definition: TGCocoa.mm:4304
bool MakeProcessForeground()
Definition: TGCocoa.mm:4398
virtual char ** ListFonts(const char *fontname, Int_t max, Int_t &count)
Returns list of font names matching fontname regexp, like "-*-times-*".
Definition: TGCocoa.mm:2854
std::map< Atom_t, Window_t > fSelectionOwners
Definition: TGCocoa.h:461
virtual Bool_t IsDNDAware(Window_t win, Atom_t *typelist)
Checks if the Window is DND aware, and knows any of the DND formats passed in argument.
Definition: TGCocoa.mm:3929
void ReparentChild(Window_t wid, Window_t pid, Int_t x, Int_t y)
Definition: TGCocoa.mm:1017
virtual void SetClassHints(Window_t wid, char *className, char *resourceName)
Sets the windows class and resource name.
Definition: TGCocoa.mm:1520
virtual Int_t WriteGIF(char *name)
Writes the current window into GIF file.
Definition: TGCocoa.mm:4123
virtual void QueryPointer(Int_t &x, Int_t &y)
Returns the pointer position.
Definition: TGCocoa.mm:3116
unsigned int UInt_t
Definition: RtypesCore.h:42
TGCocoa & operator=(const TGCocoa &rhs)
virtual Window_t CreateOpenGLWindow(Window_t parentID, UInt_t width, UInt_t height, const std::vector< std::pair< UInt_t, Int_t > > &format)
Create window with special pixel format. Noop everywhere except Cocoa.
Definition: TGCocoa.mm:3178
ROOT::MacOSX::X11::Rectangle fDisplayRect
Definition: TGCocoa.h:466
virtual void RemoveWindow(ULong_t qwid)
Removes the created by Qt window "qwid".
Definition: TGCocoa.mm:831
virtual void SetMWMHints(Window_t winID, UInt_t value, UInt_t decorators, UInt_t inputMode)
Sets decoration style.
Definition: TGCocoa.mm:1560
virtual void GetFontProperties(FontStruct_t font, Int_t &max_ascent, Int_t &max_descent)
Returns the font properties.
Definition: TGCocoa.mm:2828
virtual Int_t RequestString(Int_t x, Int_t y, char *text)
Requests string: text is displayed and can be edited with Emacs-like keybinding.
Definition: TGCocoa.mm:4045
virtual void IntersectRegion(Region_t rega, Region_t regb, Region_t result)
Computes the intersection of two regions.
Definition: TGCocoa.mm:4294
virtual void Update(Int_t mode)
Flushes (mode = 0, default) or synchronizes (mode = 1) X output buffer.
Definition: TGCocoa.mm:553
virtual void GetCharacterUp(Float_t &chupx, Float_t &chupy)
Returns character up vector.
Definition: TGCocoa.mm:3997
virtual void FreeColor(Colormap_t cmap, ULong_t pixel)
Frees color cell with specified pixel value.
Definition: TGCocoa.mm:2908
#define h(i)
Definition: RSha256.hxx:106
virtual void PutImage(Drawable_t wid, GContext_t gc, Drawable_t img, Int_t dx, Int_t dy, Int_t x, Int_t y, UInt_t w, UInt_t h)
Combines an image with a rectangle of the specified drawable.
Definition: TGCocoa.mm:2594
virtual Window_t GetCurrentWindow() const
pointer to the current internal window used in canvas graphics
Definition: TGCocoa.mm:808
Handle_t Colormap_t
Definition: GuiTypes.h:32
include TDocParser_001 C image html pict1_TDocParser_001 png width
Definition: TDocParser.cxx:121
virtual void FillRectangle(Drawable_t wid, GContext_t gc, Int_t x, Int_t y, UInt_t w, UInt_t h)
Fills the specified rectangle defined by [x,y] [x+w,y] [x+w,y+h] [x,y+h].
Definition: TGCocoa.mm:1928
virtual void SetDoubleBufferOFF()
Turns double buffer mode off.
Definition: TGCocoa.mm:3428
virtual Display_t GetDisplay() const
Returns handle to display (might be useful in some cases where direct X11 manipulation outside of TVi...
Definition: TGCocoa.mm:505
long Long_t
Definition: RtypesCore.h:50
virtual void CloseWindow()
Deletes current window.
Definition: TGCocoa.mm:815
virtual FontStruct_t LoadQueryFont(const char *font_name)
Provides the most common way for accessing a font: opens (loads) the specified font and returns a poi...
Definition: TGCocoa.mm:2781
virtual void SetClipRegion(Int_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h)
Sets clipping region for the window "wid".
Definition: TGCocoa.mm:4068
bool fForegroundProcess
Definition: TGCocoa.h:455
virtual void ChangeGC(GContext_t gc, GCValues_t *gval)
Changes the components specified by the mask in gval for the specified GC.
Definition: TGCocoa.mm:2984
static const double x1[5]
virtual Bool_t EmptyRegion(Region_t reg)
Returns kTRUE if the region reg is empty.
Definition: TGCocoa.mm:4322
virtual ULong_t GetPixel(Color_t cindex)
Returns pixel value associated to specified ROOT color number "cindex".
Definition: TGCocoa.mm:2914
virtual 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)
Creates an unmapped subwindow for a specified parent window and returns the created window...
Definition: TGCocoa.mm:837
virtual void SetWindowName(Window_t wid, char *name)
Sets the window name.
Definition: TGCocoa.mm:1492
virtual void ClosePixmap()
Deletes current pixmap.
Definition: TGCocoa.mm:2385
double Double_t
Definition: RtypesCore.h:55
TText * text
virtual Bool_t PointInRegion(Int_t x, Int_t y, Region_t reg)
Returns kTRUE if the point [x, y] is contained in the region reg.
Definition: TGCocoa.mm:4330
virtual void ClearArea(Window_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h)
Paints a rectangular area in the specified window "id" according to the specified dimensions with the...
Definition: TGCocoa.mm:2264
virtual Bool_t HasTTFonts() const
Returns True when TrueType fonts are used.
Definition: TGCocoa.mm:2813
int type
Definition: TGX11.cxx:120
virtual void WritePixmap(Int_t wid, UInt_t w, UInt_t h, char *pxname)
Writes the pixmap "wid" in the bitmap file "pxname".
Definition: TGCocoa.mm:4132
unsigned long ULong_t
Definition: RtypesCore.h:51
Double_t y[n]
Definition: legend1.C:17
virtual void PutPixel(Drawable_t wid, Int_t x, Int_t y, ULong_t pixel)
Overwrites the pixel in the image with the specified pixel value.
Definition: TGCocoa.mm:2572
virtual Pixmap_t ReadGIF(Int_t x0, Int_t y0, const char *file, Window_t wid)
If id is NULL - loads the specified gif file at position [x0,y0] in the current window.
Definition: TGCocoa.mm:4004
virtual void DestroyRegion(Region_t reg)
Destroys the region "reg".
Definition: TGCocoa.mm:4254
virtual const char * DisplayName(const char *)
Returns hostname on which the display is opened.
Definition: TGCocoa.mm:485
virtual 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...
Definition: TGCocoa.mm:3678
virtual void SetWMPosition(Window_t winID, Int_t x, Int_t y)
Tells the window manager the desired position [x,y] of window "id".
Definition: TGCocoa.mm:1600
virtual Pixmap_t CreatePixmapFromData(unsigned char *bits, UInt_t width, UInt_t height)
create pixmap from RGB data.
Definition: TGCocoa.mm:2439
virtual void SetDoubleBuffer(Int_t wid, Int_t mode)
Sets the double buffer on/off on the window "wid".
Definition: TGCocoa.mm:3413
virtual UInt_t ScreenWidthMM() const
Returns the width of the screen in millimeters.
Definition: TGCocoa.mm:526
virtual void RescaleWindow(Int_t wid, UInt_t w, UInt_t h)
Rescales the window "wid".
Definition: TGCocoa.mm:738
virtual void ShapeCombineMask(Window_t wid, Int_t x, Int_t y, Pixmap_t mask)
The Non-rectangular Window Shape Extension adds non-rectangular windows to the System.
Definition: TGCocoa.mm:1526
virtual void GrabButton(Window_t wid, EMouseButton button, UInt_t modifier, UInt_t evmask, Window_t confine, Cursor_t cursor, Bool_t grab=kTRUE)
Establishes a passive grab on a certain mouse button.
Definition: TGCocoa.mm:2616
virtual void GetWindowSize(Drawable_t wid, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h)
Returns the location and the size of window "id".
Definition: TGCocoa.mm:1385
EDrawMode fDrawMode
Definition: TGCocoa.h:447
virtual void ChangeProperty(Window_t wid, Atom_t property, Atom_t type, UChar_t *data, Int_t len)
Alters the property for the specified window and causes the X server to generate a PropertyNotify eve...
Definition: TGCocoa.mm:3776
#define org(otri, vertexptr)
Definition: triangle.c:1037
ROOT::MacOSX::X11::CommandBuffer * GetCommandBuffer() const
Definition: TGCocoa.mm:4360
virtual void SetWindowBackgroundPixmap(Window_t wid, Pixmap_t pxm)
Sets the background pixmap of the window "id" to the specified pixmap "pxm".
Definition: TGCocoa.mm:1433
virtual void SetRGB(Int_t cindex, Float_t r, Float_t g, Float_t b)
Sets color intensities the specified color index "cindex".
Definition: TGCocoa.mm:2942
Handle_t Window_t
Definition: GuiTypes.h:28
virtual Int_t OpenPixmap(UInt_t w, UInt_t h)
Creates a pixmap of the width "w" and height "h" you specified.
Definition: TGCocoa.mm:2303
virtual void SelectPixmap(Int_t qpixid)
Selects the pixmap "qpixid".
Definition: TGCocoa.mm:2341
virtual void DeleteFont(FontStruct_t fs)
Explicitly deletes the font structure "fs" obtained via LoadQueryFont().
Definition: TGCocoa.mm:2807
virtual void CopyPixmap(Int_t wid, Int_t xpos, Int_t ypos)
Copies the pixmap "wid" at the position [xpos,ypos] in the current window.
Definition: TGCocoa.mm:2350
This class implements TVirtualX interface for MacOS X, using Cocoa and Quartz 2D. ...
Definition: TGCocoa.h:58
virtual void SetClipOFF(Int_t wid)
Turns off the clipping for the window "wid".
Definition: TGCocoa.mm:4062
virtual Bool_t MakeOpenGLContextCurrent(Handle_t ctx, Window_t windowID)
Makes context ctx current OpenGL context.
Definition: TGCocoa.mm:3282
virtual void UnionRectWithRegion(Rectangle_t *rect, Region_t src, Region_t dest)
Updates the destination region from a union of the specified rectangle and the specified source regio...
Definition: TGCocoa.mm:4260
Definition: file.py:1
virtual 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)
Translates coordinates in one window to the coordinate space of another window.
Definition: TGCocoa.mm:1310
virtual void ChangeProperties(Window_t wid, Atom_t property, Atom_t type, Int_t format, UChar_t *data, Int_t len)
Alters the property for the specified window and causes the X server to generate a PropertyNotify eve...
Definition: TGCocoa.mm:3819
#define dest(otri, vertexptr)
Definition: triangle.c:1040
virtual void LowerWindow(Window_t wid)
Lowers the specified window "id" to the bottom of the stack so that it does not obscure any sibling w...
Definition: TGCocoa.mm:1206
Handle_t Region_t
Definition: GuiTypes.h:31
virtual void DrawSegments(Drawable_t wid, GContext_t gc, Segment_t *segments, Int_t nSegments)
Draws multiple line segments.
Definition: TGCocoa.mm:1760
virtual void SetWMTransientHint(Window_t winID, Window_t mainWinID)
Tells window manager that the window "id" is a transient window of the window "main_id".
Definition: TGCocoa.mm:1634
Handle_t Pixmap_t
Definition: GuiTypes.h:29
virtual void GetRGB(Int_t index, Float_t &r, Float_t &g, Float_t &b)
Returns RGB values for color "index".
Definition: TGCocoa.mm:2936
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Definition: TRolke.cxx:630
virtual void DestroySubwindows(Window_t wid)
The DestroySubwindows function destroys all inferior windows of the specified window, in bottom-to-top stacking order.
Definition: TGCocoa.mm:936
std::vector< std::string > fAtomToName
Definition: TGCocoa.h:459
virtual Region_t PolygonRegion(Point_t *points, Int_t np, Bool_t winding)
Returns a region for the polygon defined by the points array.
Definition: TGCocoa.mm:4271
virtual Colormap_t GetColormap() const
Returns handle to colormap.
Definition: TGCocoa.mm:2951
virtual Cursor_t CreateCursor(ECursor cursor)
Creates the specified cursor.
Definition: TGCocoa.mm:3079
virtual void FlushOpenGLBuffer(Handle_t ctxID)
Flushes OpenGL buffer.
Definition: TGCocoa.mm:3376
virtual void LookupString(Event_t *event, char *buf, Int_t buflen, UInt_t &keysym)
Converts the keycode from the event structure to a key symbol (according to the modifiers specified i...
Definition: TGCocoa.mm:2760
virtual void SetPrimarySelectionOwner(Window_t wid)
Makes the window "id" the current owner of the primary selection.
Definition: TGCocoa.mm:3546
unsigned char UChar_t
Definition: RtypesCore.h:34
virtual void SendEvent(Window_t wid, Event_t *ev)
Specifies the event "ev" is to be sent to the window "id".
Definition: TGCocoa.mm:3476
virtual void WMDeleteNotify(Window_t wid)
Tells WM to send message when window is closed via WM.
Definition: TGCocoa.mm:4230
std::map< std::string, Atom_t > name_to_atom_map
Definition: X11Atoms.h:14
void FillPolygonAux(Window_t wid, const GCValues_t &gcVals, const Point_t *polygon, Int_t nPoints)
Definition: TGCocoa.mm:1958
virtual void DeletePictureData(void *data)
Delete picture data created by the function ReadPictureDataFromFile.
Definition: TGCocoa.mm:4199
virtual void FreeFontStruct(FontStruct_t fs)
Frees the font structure "fs".
Definition: TGCocoa.mm:2846
virtual void DrawString(Drawable_t wid, GContext_t gc, Int_t x, Int_t y, const char *s, Int_t len)
Each character image, as defined by the font in the GC, is treated as an additional mask for a fill o...
Definition: TGCocoa.mm:2192
virtual void Warp(Int_t ix, Int_t iy, Window_t wid)
Sets the pointer position.
Definition: TGCocoa.mm:4094
virtual Handle_t GetNativeEvent() const
Returns the current native event handle.
Definition: TGCocoa.mm:3527
virtual Window_t GetPrimarySelectionOwner()
Returns the window id of the current owner of the primary selection.
Definition: TGCocoa.mm:3595
const Bool_t kTRUE
Definition: RtypesCore.h:87
void CocoaDrawON()
Definition: TGCocoa.mm:4366
virtual Int_t InitWindow(ULong_t window)
Creates a new window and return window number.
Definition: TGCocoa.mm:615
virtual void DeleteGC(GContext_t gc)
Deletes the specified GC "gc".
Definition: TGCocoa.mm:3071
virtual void GetGeometry(Int_t wid, Int_t &x, Int_t &y, UInt_t &w, UInt_t &h)
Returns position and size of window "wid".
Definition: TGCocoa.mm:682
ROOT::MacOSX::X11::EventTranslator * GetEventTranslator() const
Definition: TGCocoa.mm:4354
virtual Handle_t GetCurrentOpenGLContext()
Asks OpenGL subsystem about the current OpenGL context.
Definition: TGCocoa.mm:3359
const Int_t n
Definition: legend1.C:16
Bool_t IsCocoaDraw() const
Definition: TGCocoa.mm:4379
virtual UInt_t ExecCommand(TGWin32Command *code)
Executes the command "code" coming from the other threads (Win32)
Definition: TGCocoa.mm:3983
char name[80]
Definition: TGX11.cxx:109
virtual Int_t GetDoubleBuffer(Int_t wid)
Queries the double buffer value for the window "wid".
Definition: TGCocoa.mm:3990
void * GetCurrentContext()
Definition: TGCocoa.mm:4385
virtual Bool_t CreatePictureFromData(Drawable_t wid, char **data, Pixmap_t &pict, Pixmap_t &pict_mask, PictureAttributes_t &attr)
Creates a picture pict from data in bitmap format.
Definition: TGCocoa.mm:4177
virtual void SetForeground(GContext_t gc, ULong_t foreground)
Sets the foreground color for the specified GC (shortcut for ChangeGC with only foreground mask set)...
Definition: TGCocoa.mm:2967
virtual Pixmap_t CreateBitmap(Drawable_t wid, const char *bitmap, UInt_t width, UInt_t height)
Creates a bitmap (i.e.
Definition: TGCocoa.mm:2470
ULong_t Handle_t
Definition: GuiTypes.h:25