Logo ROOT  
Reference Guide
X11Buffer.h
Go to the documentation of this file.
1 // @(#)root/graf2d:$Id$
2 // Author: Timur Pocheptsov 29/02/2012
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 #ifndef ROOT_X11Buffer
13 #define ROOT_X11Buffer
14 
15 #include <vector>
16 #include <string>
17 
18 #include <Cocoa/Cocoa.h>
19 
20 #include "CocoaGuiTypes.h"
21 #include "GuiTypes.h"
22 
23 //////////////////////////////////////////////////////////////////////////////////
24 // //
25 // Unfortunately, TGCocoa's drawing methods can be called in a //
26 // "wrong" time and place: not from QuartzView -drawRect. //
27 // For example, on mouse move. This is bad and unnatural for Cocoa application, //
28 // since I expect GUI to draw only when I'm ready == ... called from drawRect. //
29 // In X11 commands are buffered and this buffer is flushed at some points. //
30 // I'm trying to emulate this, just to make GUI happy. //
31 // //
32 //////////////////////////////////////////////////////////////////////////////////
33 
34 @class QuartzView;
35 
36 namespace ROOT {
37 namespace MacOSX {
38 
39 namespace Details {
40 class CocoaPrivate;
41 }
42 
43 namespace X11 {
44 
45 class Command {
46  friend class CommandBuffer;
47 
48 protected:
49  const Drawable_t fID;
50  const GCValues_t fGC;
51  NSView * view = nil;
52 public:
53  Command(Drawable_t wid);
54  Command(Drawable_t wid, const GCValues_t &gc);
55  virtual ~Command();
56 
57  virtual bool HasOperand(Drawable_t drawable)const;
58  virtual bool IsGraphicsCommand()const;//By-default - false.
59 
60  virtual void Execute()const = 0;
61  virtual void Execute(CGContextRef /*ctx*/)const;
62 
63  void setView(NSView *v)
64  {
65  view = v;
66  }
67 private:
68  Command(const Command &rhs);
69  Command &operator = (const Command &rhs);
70 };
71 
72 class DrawLine : public Command {
73 private:
74  const Point fP1;
75  const Point fP2;
76 
77 public:
78  DrawLine(Drawable_t wid, const GCValues_t &gc, const Point &p1, const Point &p2);
79  void Execute()const;
80  bool IsGraphicsCommand()const
81  {
82  return true;
83  }
84 };
85 
86 class DrawSegments : public Command {
87 private:
88  std::vector<Segment_t> fSegments;
89 
90 public:
91  DrawSegments(Drawable_t wid, const GCValues_t &gc, const Segment_t *segments, Int_t nSegments);
92  void Execute()const;
93  bool IsGraphicsCommand()const
94  {
95  return true;
96  }
97 };
98 
99 class ClearArea : public Command {
100 private:
101  const Rectangle_t fArea;//to be replaced with X11::Rectangle
102 
103 public:
104  ClearArea(Window_t wid, const Rectangle_t &area);
105  void Execute()const;
106  bool IsGraphicsCommand()const
107  {
108  return true;
109  }
110 };
111 
112 class CopyArea : public Command {
113 private:
115  const Rectangle_t fArea;//to be replaced with X11::Rectangle
117 
118 public:
119  CopyArea(Drawable_t src, Drawable_t dst, const GCValues_t &gc, const Rectangle_t &area, const Point &dstPoint);
120 
121  bool HasOperand(Drawable_t drawable)const;
122  bool IsGraphicsCommand()const
123  {
124  return true;
125  }
126 
127  void Execute()const;
128 
129 };
130 
131 class DrawString : public Command {
132 private:
133  const Point fPoint;
134  const std::string fText;
135 
136 public:
137  DrawString(Drawable_t wid, const GCValues_t &gc, const Point &point, const std::string &text);
138 
139  bool IsGraphicsCommand()const
140  {
141  return true;
142  }
143 
144  void Execute()const;
145 };
146 
147 class FillRectangle : public Command {
148 private:
149  const Rectangle_t fRectangle;//to be replaced with X11::Rectangle
150 
151 public:
152  FillRectangle(Drawable_t wid, const GCValues_t &gc, const Rectangle_t &rectangle);
153 
154  bool IsGraphicsCommand()const
155  {
156  return true;
157  }
158 
159  void Execute()const;
160 };
161 
162 class FillPolygon : public Command {
163 private:
164  std::vector<Point_t> fPolygon;
165 
166 public:
167  FillPolygon(Drawable_t wid, const GCValues_t &gc, const Point_t *points, Int_t nPoints);
168 
169  bool IsGraphicsCommand()const
170  {
171  return true;
172  }
173 
174  void Execute()const;
175 };
176 
177 class DrawRectangle : public Command {
178 private:
179  Rectangle_t fRectangle;//to be replaced with X11::Rectangle
180 
181 public:
182  DrawRectangle(Drawable_t wid, const GCValues_t &gc, const Rectangle_t &rectangle);
183 
184  bool IsGraphicsCommand()const
185  {
186  return true;
187  }
188 
189  void Execute()const;
190 };
191 
192 class UpdateWindow : public Command {
193 private:
195 
196 public:
198 
199  bool IsGraphicsCommand()const
200  {
201  return true;
202  }
203 
204  void Execute()const;
205 };
206 
207 class DeletePixmap : public Command {
208 public:
209  DeletePixmap(Pixmap_t pixmap);
210  void Execute()const;
211 };
212 
213 //Set of 'xor' operations, required by TCanvas and ExecuteEvent's machinery.
214 class DrawBoxXor : public Command {
215 private:
218 
219 public:
220  DrawBoxXor(Window_t windowID, const Point &p1, const Point &p2);
221 
222  void Execute()const;
223  void Execute(CGContextRef ctx)const;
224 };
225 
226 class DrawLineXor : public Command {
227 private:
230 
231 public:
232  DrawLineXor(Window_t windowID, const Point &p1, const Point &p2);
233 
234  void Execute()const;
235  void Execute(CGContextRef ctx)const;
236 
237  Point start() const {return fP1;}
238  Point end() const {return fP2;}
239 };
240 
242 private:
245 
246  std::vector<Command *> fCommands;
247  std::vector<QuartzView *> fViewBranch;
248 
249  std::vector<Command *> fXorOps;
250 public:
251  typedef std::vector<Command *>::size_type size_type;
252 
253  CommandBuffer();
254  ~CommandBuffer();
255 
256  void AddDrawLine(Drawable_t wid, const GCValues_t &gc, Int_t x1, Int_t y1, Int_t x2, Int_t y2);
257  void AddDrawSegments(Drawable_t wid, const GCValues_t &gc, const Segment_t *segments, Int_t nSegments);
258  void AddClearArea(Window_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h);
259  void AddCopyArea(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);
260  void AddDrawString(Drawable_t wid, const GCValues_t &gc, Int_t x, Int_t y, const char *text, Int_t len);
261  void AddFillRectangle(Drawable_t wid, const GCValues_t &gc, Int_t x, Int_t y, UInt_t w, UInt_t h);
262  void AddFillPolygon(Drawable_t wid, const GCValues_t &gc, const Point_t *polygon, Int_t nPoints);
263  void AddDrawRectangle(Drawable_t wid, const GCValues_t &gc, Int_t x, Int_t y, UInt_t w, UInt_t h);
264  void AddUpdateWindow(QuartzView *view);
265  void AddDeletePixmap(Pixmap_t pixmap);
266 
267  //'XOR' graphics for canvas.
268  void AddDrawBoxXor(Window_t windowID, Int_t x1, Int_t y1, Int_t x2, Int_t y2);
269  void AddDrawLineXor(Window_t windowID, Int_t x1, Int_t y1, Int_t x2, Int_t y2);
270 
271  void Flush(Details::CocoaPrivate *impl);
276 
278  {
279  return fCommands.size();
280  }
281 
282  void ClearXOROperations();
283 private:
284  void ClearCommands();
285  //Clip related stuff.
286  struct WidgetRect {
287  int fX1;
288  int fY1;
289  int fX2;
290  int fY2;
291 
293  : fX1(0), fY1(0), fX2(0), fY2(0)
294  {
295  }
296 
297  WidgetRect(int leftX, int bottomY, int rightX, int topY)
298  : fX1(leftX), fY1(bottomY), fX2(rightX), fY2(topY)
299  {
300  }
301  };
302 
303  void ClipOverlaps(QuartzView *view);
304  void BuildClipRegion(const WidgetRect &rect);
305 
306  std::vector<WidgetRect> fRectsToClip;
307  std::vector<CGRect> fClippedRegion;
308  std::vector<int> fXBounds;
309  std::vector<int> fYBounds;
310  std::vector<bool> fGrid;
311 };
312 
313 }//X11
314 }//MacOSX
315 }//ROOT
316 
317 #endif
ROOT::MacOSX::X11::CommandBuffer::WidgetRect::WidgetRect
WidgetRect()
Definition: X11Buffer.h:292
ROOT::MacOSX::X11::CommandBuffer::fCommands
std::vector< Command * > fCommands
Definition: X11Buffer.h:246
ROOT::MacOSX::X11::DrawLine::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:80
ROOT::MacOSX::X11::DrawRectangle
Definition: X11Buffer.h:177
ROOT::MacOSX::X11::CopyArea::fSrc
const Drawable_t fSrc
Definition: X11Buffer.h:114
ROOT::MacOSX::X11::FillPolygon::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:169
ROOT::MacOSX::X11::CommandBuffer::RemoveXORGraphicsOperationsForWindow
void RemoveXORGraphicsOperationsForWindow(Window_t wid)
Definition: X11Buffer.mm:675
NSView
Pixmap_t
Handle_t Pixmap_t
Pixmap handle.
Definition: GuiTypes.h:30
ROOT::MacOSX::X11::Command::Execute
virtual void Execute() const =0
ROOT::MacOSX::X11::DrawLineXor
Definition: X11Buffer.h:226
ROOT::MacOSX::X11::CommandBuffer::AddDrawBoxXor
void AddDrawBoxXor(Window_t windowID, Int_t x1, Int_t y1, Int_t x2, Int_t y2)
Definition: X11Buffer.mm:502
ROOT::MacOSX::X11::DeletePixmap
Definition: X11Buffer.h:207
ROOT::MacOSX::X11::Command::IsGraphicsCommand
virtual bool IsGraphicsCommand() const
Definition: X11Buffer.mm:68
Rectangle_t
Rectangle structure (maps to the X11 XRectangle structure)
Definition: GuiTypes.h:361
ROOT::MacOSX::X11::DrawSegments
Definition: X11Buffer.h:86
ROOT::MacOSX::X11::DrawLineXor::Execute
void Execute() const
Definition: X11Buffer.mm:305
ROOT::MacOSX::X11::DrawRectangle::fRectangle
Rectangle_t fRectangle
Definition: X11Buffer.h:179
ROOT::MacOSX::X11::DrawString::Execute
void Execute() const
Definition: X11Buffer.mm:163
Point_t
Point structure (maps to the X11 XPoint structure)
Definition: GuiTypes.h:356
ROOT::MacOSX::X11::UpdateWindow::UpdateWindow
UpdateWindow(QuartzView *view)
Definition: X11Buffer.mm:231
ROOT::MacOSX::X11::CommandBuffer::WidgetRect::fY2
int fY2
Definition: X11Buffer.h:290
ROOT::MacOSX::X11::ClearArea::Execute
void Execute() const
Definition: X11Buffer.mm:118
ROOT::MacOSX::X11::UpdateWindow::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:199
ROOT::MacOSX::X11::DrawLine::fP1
const Point fP1
Definition: X11Buffer.h:74
ROOT::MacOSX::X11::DrawLine::DrawLine
DrawLine(Drawable_t wid, const GCValues_t &gc, const Point &p1, const Point &p2)
Definition: X11Buffer.mm:74
ROOT::MacOSX::X11::CopyArea::fDstPoint
const Point fDstPoint
Definition: X11Buffer.h:116
ROOT::MacOSX::X11::DrawSegments::Execute
void Execute() const
Definition: X11Buffer.mm:102
ROOT::MacOSX::X11::CommandBuffer::WidgetRect::fY1
int fY1
Definition: X11Buffer.h:288
ROOT::MacOSX::X11::UpdateWindow::fView
QuartzView * fView
Definition: X11Buffer.h:194
ROOT::MacOSX::X11::FillRectangle::Execute
void Execute() const
Definition: X11Buffer.mm:181
GCValues_t
Graphics context structure.
Definition: GuiTypes.h:224
ROOT::MacOSX::X11::DrawRectangle::DrawRectangle
DrawRectangle(Drawable_t wid, const GCValues_t &gc, const Rectangle_t &rectangle)
Definition: X11Buffer.mm:212
ROOT::MacOSX::X11::DrawString::DrawString
DrawString(Drawable_t wid, const GCValues_t &gc, const Point &point, const std::string &text)
Definition: X11Buffer.mm:154
ROOT::MacOSX::X11::DrawLine::fP2
const Point fP2
Definition: X11Buffer.h:75
width
include TDocParser_001 C image html pict1_TDocParser_001 png width
Definition: TDocParser.cxx:121
ROOT::MacOSX::X11::UpdateWindow
Definition: X11Buffer.h:192
ROOT::MacOSX::X11::ClearArea::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:106
ROOT::MacOSX::X11::DrawSegments::DrawSegments
DrawSegments(Drawable_t wid, const GCValues_t &gc, const Segment_t *segments, Int_t nSegments)
Definition: X11Buffer.mm:91
x
Double_t x[n]
Definition: legend1.C:17
ROOT::MacOSX::X11::DrawRectangle::Execute
void Execute() const
Definition: X11Buffer.mm:220
ROOT::MacOSX::X11::DrawLine
Definition: X11Buffer.h:72
ROOT::MacOSX::X11::CommandBuffer::AddDrawLine
void AddDrawLine(Drawable_t wid, const GCValues_t &gc, Int_t x1, Int_t y1, Int_t x2, Int_t y2)
Definition: X11Buffer.mm:341
ROOT::MacOSX::X11::Command::setView
void setView(NSView *v)
Definition: X11Buffer.h:63
ROOT::MacOSX::X11::Command::fID
const Drawable_t fID
Definition: X11Buffer.h:49
ROOT::MacOSX::X11::CommandBuffer::WidgetRect::fX2
int fX2
Definition: X11Buffer.h:289
ROOT::MacOSX::X11::FillPolygon
Definition: X11Buffer.h:162
ROOT::MacOSX::X11::FillRectangle::fRectangle
const Rectangle_t fRectangle
Definition: X11Buffer.h:149
ROOT::MacOSX::X11::CopyArea
Definition: X11Buffer.h:112
ROOT::MacOSX::X11::CommandBuffer::CommandBuffer
CommandBuffer()
Definition: X11Buffer.mm:329
ROOT::MacOSX::X11::CommandBuffer::AddFillRectangle
void AddFillRectangle(Drawable_t wid, const GCValues_t &gc, Int_t x, Int_t y, UInt_t w, UInt_t h)
Definition: X11Buffer.mm:424
ROOT::MacOSX::X11::DrawString::fText
const std::string fText
Definition: X11Buffer.h:134
ROOT::MacOSX::X11::ClearArea::ClearArea
ClearArea(Window_t wid, const Rectangle_t &area)
Definition: X11Buffer.mm:111
v
@ v
Definition: rootcling_impl.cxx:3664
text
TText * text
Definition: entrylist_figure1.C:10
ROOT::MacOSX::X11::DrawBoxXor::fP1
Point fP1
Definition: X11Buffer.h:216
ROOT::MacOSX::X11::ClearArea
Definition: X11Buffer.h:99
ROOT::MacOSX::X11::CopyArea::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:122
ROOT::MacOSX::X11::FillRectangle::FillRectangle
FillRectangle(Drawable_t wid, const GCValues_t &gc, const Rectangle_t &rectangle)
Definition: X11Buffer.mm:173
ROOT::MacOSX::X11::CommandBuffer::BuildClipRegion
void BuildClipRegion(const WidgetRect &rect)
Definition: X11Buffer.mm:882
x1
static const double x1[5]
Definition: RooGaussKronrodIntegrator1D.cxx:346
Drawable_t
Handle_t Drawable_t
Drawable handle.
Definition: GuiTypes.h:31
ROOT::MacOSX::X11::CommandBuffer::WidgetRect
Definition: X11Buffer.h:286
ROOT::MacOSX::X11::CommandBuffer::fClippedRegion
std::vector< CGRect > fClippedRegion
Definition: X11Buffer.h:307
ROOT::MacOSX::X11::DrawString::fPoint
const Point fPoint
Definition: X11Buffer.h:133
ROOT::MacOSX::X11::FillPolygon::Execute
void Execute() const
Definition: X11Buffer.mm:203
ROOT::MacOSX::X11::CopyArea::fArea
const Rectangle_t fArea
Definition: X11Buffer.h:115
ROOT::MacOSX::X11::DrawBoxXor::DrawBoxXor
DrawBoxXor(Window_t windowID, const Point &p1, const Point &p2)
Definition: X11Buffer.mm:264
ROOT::MacOSX::X11::CommandBuffer::CommandBuffer
CommandBuffer(const CommandBuffer &rhs)
ROOT::MacOSX::X11::DeletePixmap::Execute
void Execute() const
Definition: X11Buffer.mm:255
ROOT::MacOSX::X11::CommandBuffer::Flush
void Flush(Details::CocoaPrivate *impl)
Definition: X11Buffer.mm:526
h
#define h(i)
Definition: RSha256.hxx:106
ROOT::MacOSX::X11::DrawSegments::fSegments
std::vector< Segment_t > fSegments
Definition: X11Buffer.h:88
ROOT::MacOSX::X11::Command::~Command
virtual ~Command()
Definition: X11Buffer.mm:52
ROOT::MacOSX::X11::CommandBuffer::fXorOps
std::vector< Command * > fXorOps
Definition: X11Buffer.h:249
ROOT::MacOSX::X11::CommandBuffer::~CommandBuffer
~CommandBuffer()
Definition: X11Buffer.mm:334
ROOT::MacOSX::X11::CommandBuffer::fViewBranch
std::vector< QuartzView * > fViewBranch
Definition: X11Buffer.h:247
GuiTypes.h
QuartzView
Definition: QuartzWindow.h:194
ROOT::MacOSX::X11::DrawLineXor::DrawLineXor
DrawLineXor(Window_t windowID, const Point &p1, const Point &p2)
Definition: X11Buffer.mm:297
ROOT::MacOSX::X11::DrawString
Definition: X11Buffer.h:131
ROOT::MacOSX::X11::Command::Command
Command(Drawable_t wid)
Definition: X11Buffer.mm:45
ROOT::MacOSX::X11::DrawSegments::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:93
ROOT::MacOSX::X11::CommandBuffer::BufferSize
size_type BufferSize() const
Definition: X11Buffer.h:277
ROOT::MacOSX::X11::DrawBoxXor::fP2
Point fP2
Definition: X11Buffer.h:217
Window_t
Handle_t Window_t
Window handle.
Definition: GuiTypes.h:29
ROOT::MacOSX::Details::CocoaPrivate
Definition: CocoaPrivate.h:49
y
Double_t y[n]
Definition: legend1.C:17
ROOT::MacOSX::X11::CommandBuffer::AddDrawSegments
void AddDrawSegments(Drawable_t wid, const GCValues_t &gc, const Segment_t *segments, Int_t nSegments)
Definition: X11Buffer.mm:355
ROOT::MacOSX::X11::CommandBuffer::WidgetRect::fX1
int fX1
Definition: X11Buffer.h:287
unsigned int
ROOT::MacOSX::X11::DrawLineXor::end
Point end() const
Definition: X11Buffer.h:238
ROOT::MacOSX::X11::CopyArea::HasOperand
bool HasOperand(Drawable_t drawable) const
Definition: X11Buffer.mm:137
ROOT::MacOSX::X11::Command::fGC
const GCValues_t fGC
Definition: X11Buffer.h:50
ROOT::MacOSX::Details
Definition: TMacOSXSystem.h:30
ROOT::MacOSX::X11::CommandBuffer::AddClearArea
void AddClearArea(Window_t wid, Int_t x, Int_t y, UInt_t w, UInt_t h)
Definition: X11Buffer.mm:371
ROOT::MacOSX::X11::CommandBuffer::AddUpdateWindow
void AddUpdateWindow(QuartzView *view)
Definition: X11Buffer.mm:476
ROOT::MacOSX::X11::DrawRectangle::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:184
ROOT::MacOSX::X11::FillRectangle
Definition: X11Buffer.h:147
ROOT::MacOSX::X11::CommandBuffer::fXBounds
std::vector< int > fXBounds
Definition: X11Buffer.h:308
ROOT::MacOSX::X11::CommandBuffer::AddDeletePixmap
void AddDeletePixmap(Pixmap_t pixmap)
Definition: X11Buffer.mm:490
ROOT::MacOSX::X11::UpdateWindow::Execute
void Execute() const
Definition: X11Buffer.mm:239
ROOT::MacOSX::X11::Command::operator=
Command & operator=(const Command &rhs)
ROOT::MacOSX::X11::CommandBuffer::ClipOverlaps
void ClipOverlaps(QuartzView *view)
Definition: X11Buffer.mm:725
ROOT::MacOSX::X11::DrawLineXor::fP1
Point fP1
Definition: X11Buffer.h:228
ROOT::MacOSX::X11::CommandBuffer::AddCopyArea
void AddCopyArea(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: X11Buffer.mm:388
ROOT::MacOSX::X11::DrawBoxXor::Execute
void Execute() const
Definition: X11Buffer.mm:276
ROOT::MacOSX::X11::DrawBoxXor
Definition: X11Buffer.h:214
ROOT::MacOSX::X11::CommandBuffer::AddDrawString
void AddDrawString(Drawable_t wid, const GCValues_t &gc, Int_t x, Int_t y, const char *text, Int_t len)
Definition: X11Buffer.mm:408
ROOT::MacOSX::X11::DrawLineXor::fP2
Point fP2
Definition: X11Buffer.h:229
ROOT::MacOSX::X11::CommandBuffer::size_type
std::vector< Command * >::size_type size_type
Definition: X11Buffer.h:251
ROOT::MacOSX::X11::CommandBuffer::RemoveOperationsForDrawable
void RemoveOperationsForDrawable(Drawable_t wid)
Definition: X11Buffer.mm:644
points
point * points
Definition: X3DBuffer.c:22
ROOT::MacOSX::X11::CommandBuffer::ClearXOROperations
void ClearXOROperations()
Definition: X11Buffer.mm:695
ROOT::MacOSX::X11::Command::view
NSView * view
Definition: X11Buffer.h:51
ROOT::MacOSX::X11::DrawString::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:139
ROOT::MacOSX::X11::ClearArea::fArea
const Rectangle_t fArea
Definition: X11Buffer.h:101
ROOT::MacOSX::X11::CommandBuffer::FlushXOROps
void FlushXOROps(Details::CocoaPrivate *impl)
Definition: X11Buffer.mm:608
x2
static const double x2[5]
Definition: RooGaussKronrodIntegrator1D.cxx:364
ROOT::MacOSX::X11::DrawLineXor::start
Point start() const
Definition: X11Buffer.h:237
ROOT::MacOSX::X11::Command
Definition: X11Buffer.h:45
ROOT::MacOSX::X11::DeletePixmap::DeletePixmap
DeletePixmap(Pixmap_t pixmap)
Definition: X11Buffer.mm:249
ROOT::MacOSX::X11::CommandBuffer::AddDrawRectangle
void AddDrawRectangle(Drawable_t wid, const GCValues_t &gc, Int_t x, Int_t y, UInt_t w, UInt_t h)
Definition: X11Buffer.mm:442
ROOT::MacOSX::X11::CommandBuffer::AddFillPolygon
void AddFillPolygon(Drawable_t wid, const GCValues_t &gc, const Point_t *polygon, Int_t nPoints)
Definition: X11Buffer.mm:460
ROOT::MacOSX::X11::CommandBuffer::fYBounds
std::vector< int > fYBounds
Definition: X11Buffer.h:309
ROOT::MacOSX::X11::CommandBuffer::WidgetRect::WidgetRect
WidgetRect(int leftX, int bottomY, int rightX, int topY)
Definition: X11Buffer.h:297
ROOT::MacOSX::X11::CopyArea::Execute
void Execute() const
Definition: X11Buffer.mm:143
ROOT::MacOSX::X11::FillPolygon::FillPolygon
FillPolygon(Drawable_t wid, const GCValues_t &gc, const Point_t *points, Int_t nPoints)
Definition: X11Buffer.mm:192
ROOT::MacOSX::X11::CommandBuffer
Definition: X11Buffer.h:241
ROOT::MacOSX::X11::CommandBuffer::AddDrawLineXor
void AddDrawLineXor(Window_t windowID, Int_t x1, Int_t y1, Int_t x2, Int_t y2)
Definition: X11Buffer.mm:514
Segment_t
Used for drawing line segments (maps to the X11 XSegments structure)
Definition: GuiTypes.h:351
ROOT::MacOSX::X11::CommandBuffer::operator=
CommandBuffer & operator=(const CommandBuffer &rhs)
ROOT::MacOSX::X11::CommandBuffer::fGrid
std::vector< bool > fGrid
Definition: X11Buffer.h:310
ROOT::MacOSX::X11::FillPolygon::fPolygon
std::vector< Point_t > fPolygon
Definition: X11Buffer.h:164
ROOT::MacOSX::X11::Point
Definition: CocoaGuiTypes.h:12
ROOT::MacOSX::X11::FillRectangle::IsGraphicsCommand
bool IsGraphicsCommand() const
Definition: X11Buffer.h:154
ROOT::MacOSX::X11::DrawLine::Execute
void Execute() const
Definition: X11Buffer.mm:82
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition: EExecutionPolicy.hxx:4
CocoaGuiTypes.h
ROOT::MacOSX::X11::CommandBuffer::ClearCommands
void ClearCommands()
Definition: X11Buffer.mm:686
ROOT::MacOSX::X11::CommandBuffer::fRectsToClip
std::vector< WidgetRect > fRectsToClip
Definition: X11Buffer.h:306
ROOT::MacOSX::X11::Command::Command
Command(const Command &rhs)
ROOT::MacOSX::X11::CopyArea::CopyArea
CopyArea(Drawable_t src, Drawable_t dst, const GCValues_t &gc, const Rectangle_t &area, const Point &dstPoint)
Definition: X11Buffer.mm:127
int
ROOT::MacOSX::X11
Definition: CocoaGuiTypes.h:10
ROOT::MacOSX::X11::Command::HasOperand
virtual bool HasOperand(Drawable_t drawable) const
Definition: X11Buffer.mm:62
ROOT::MacOSX::X11::CommandBuffer::RemoveGraphicsOperationsForWindow
void RemoveGraphicsOperationsForWindow(Window_t wid)
Definition: X11Buffer.mm:662