"Delegating" part of TGLPadPainter.
Line/fill/etc. attributes can be set inside TPad, but not only there: many of them are set by base sub-objects of 2d primitives (2d primitives usually inherit TAttLine or TAttFill etc.). And these sub-objects call gVirtualX->SetLineWidth ... etc. So, if I save some attributes in my painter, it will be mess - at any moment I do not know, where to take line attribute - from gVirtualX or from my own member. So! All attributed, ALL go to/from gVirtualX.
Definition at line 28 of file TGLPadPainter.h.
Public Member Functions | |
| TGLPadPainter () | |
| void | ClearDrawable () override |
| Call gVirtualX->ClearWindow() | |
| void | CopyDrawable (Int_t device, Int_t px, Int_t py) override |
| Not required at the moment. | |
| Int_t | CreateDrawable (UInt_t w, UInt_t h) override |
| Not required at the moment. | |
| void | DestroyDrawable (Int_t device) override |
| Not required at the moment. | |
| void | DrawBox (Double_t x1, Double_t y1, Double_t x2, Double_t y2, EBoxMode mode) override |
| Draw filled or hollow box. | |
| void | DrawFillArea (Int_t n, const Double_t *x, const Double_t *y) override |
| Draw tesselated polygon (probably, outline only). | |
| void | DrawFillArea (Int_t n, const Float_t *x, const Float_t *y) override |
| Draw tesselated polygon (never called, probably, since TPad::PaintFillArea for floats is deprecated). | |
| void | DrawLine (Double_t x1, Double_t y1, Double_t x2, Double_t y2) override |
| Draw line segment. | |
| void | DrawLineNDC (Double_t u1, Double_t v1, Double_t u2, Double_t v2) override |
| Draw line segment in NDC coordinates. | |
| void | DrawPixels (const unsigned char *pixelData, UInt_t width, UInt_t height, Int_t dstX, Int_t dstY, Bool_t enableBlending) override |
| void | DrawPolyLine (Int_t n, const Double_t *x, const Double_t *y) override |
| Draw poly-line in user coordinates. | |
| void | DrawPolyLine (Int_t n, const Float_t *x, const Float_t *y) override |
| Never called? | |
| void | DrawPolyLineNDC (Int_t n, const Double_t *u, const Double_t *v) override |
| Poly line in NDC. | |
| void | DrawPolyMarker (Int_t n, const Double_t *x, const Double_t *y) override |
| Poly-marker. | |
| void | DrawPolyMarker (Int_t n, const Float_t *x, const Float_t *y) override |
| Poly-marker. | |
| void | DrawText (Double_t x, Double_t y, const char *text, ETextMode mode) override |
| Draw text. | |
| void | DrawText (Double_t, Double_t, const wchar_t *, ETextMode) override |
| Draw text. | |
| template<class Char > | |
| void | DrawTextHelper (Double_t x, Double_t y, const Char *text, ETextMode) |
| void | DrawTextNDC (Double_t x, Double_t y, const char *text, ETextMode mode) override |
| Draw text in NDC. | |
| void | DrawTextNDC (Double_t, Double_t, const wchar_t *, ETextMode) override |
| Draw text in NDC. | |
| Color_t | GetFillColor () const override |
| Delegate to gVirtualX. | |
| Style_t | GetFillStyle () const override |
| Delegate to gVirtualX. | |
| Color_t | GetLineColor () const override |
| Delegate to gVirtualX. | |
| Style_t | GetLineStyle () const override |
| Delegate to gVirtualX. | |
| Width_t | GetLineWidth () const override |
| Delegate to gVirtualX. | |
| Color_t | GetMarkerColor () const override |
| Delegate to gVirtualX. | |
| Size_t | GetMarkerSize () const override |
| Delegate to gVirtualX. | |
| Style_t | GetMarkerStyle () const override |
| Delegate to gVirtualX. | |
| Short_t | GetTextAlign () const override |
| Delegate to gVirtualX. | |
| Float_t | GetTextAngle () const override |
| Delegate to gVirtualX. | |
| Color_t | GetTextColor () const override |
| Delegate to gVirtualX. | |
| Font_t | GetTextFont () const override |
| Delegate to gVirtualX. | |
| Float_t | GetTextMagnitude () const override |
| Delegate to gVirtualX. | |
| Float_t | GetTextSize () const override |
| Delegate to gVirtualX. | |
| void | InitPainter () override |
| Init gl-pad painter: | |
| void | InvalidateCS () override |
| When TPad::Range for gPad is called, projection must be changed in OpenGL. | |
| TClass * | IsA () const override |
| Bool_t | IsCocoa () const override |
| Returns true when cocoa backend is used. | |
| Bool_t | IsNative () const override |
| Bool_t | IsTransparent () const override |
| Delegate to gVirtualX. | |
| void | LockPainter () override |
| Locked state of painter means, that GL context can be invalid, so no GL calls can be executed. | |
| Int_t | ResizeDrawable (Int_t device, UInt_t w, UInt_t h) override |
| Resize a gVirtualX Pixmap. | |
| void | SaveImage (TVirtualPad *pad, const char *fileName, Int_t type) const override |
| Using TImage save frame-buffer contents as a picture. | |
| void | SelectDrawable (Int_t device) override |
| For gVirtualX this means select pixmap (or window) and all subsequent drawings will go into this pixmap. | |
| void | SetFillColor (Color_t fcolor) override |
| Delegate to gVirtualX. | |
| void | SetFillStyle (Style_t fstyle) override |
| Delegate to gVirtualX. | |
| void | SetLineColor (Color_t lcolor) override |
| Delegate to gVirtualX. | |
| void | SetLineStyle (Style_t lstyle) override |
| Delegate to gVirtualX. | |
| void | SetLineWidth (Width_t lwidth) override |
| Delegate to gVirtualX. | |
| void | SetMarkerColor (Color_t mcolor) override |
| Delegate to gVirtualX. | |
| void | SetMarkerSize (Size_t msize) override |
| Delegate to gVirtualX. | |
| void | SetMarkerStyle (Style_t mstyle) override |
| Delegate to gVirtualX. | |
| void | SetOpacity (Int_t percent) override |
| Delegate to gVirtualX. | |
| void | SetTextAlign (Short_t align) override |
| Delegate to gVirtualX. | |
| void | SetTextAngle (Float_t tangle) override |
| Delegate to gVirtualX. | |
| void | SetTextColor (Color_t tcolor) override |
| Delegate to gVirtualX. | |
| void | SetTextFont (Font_t tfont) override |
| Delegate to gVirtualX. | |
| void | SetTextSize (Float_t tsize) override |
| Delegate to gVirtualX. | |
| void | SetTextSizePixels (Int_t npixels) override |
| Delegate to gVirtualX. | |
| void | Streamer (TBuffer &) override |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TVirtualPadPainter | |
| virtual | ~TVirtualPadPainter () |
| Virtual dtor. | |
| virtual void | DrawSegments (Int_t n, Double_t *x, Double_t *y) |
| Draw N segments on the pad Exclude segments where both points match. | |
| virtual void | DrawSegmentsNDC (Int_t n, Double_t *u, Double_t *v) |
| Draw N segments in NDC coordinates on the pad Exclude segments where both points match. | |
| virtual void | DrawTextUrl (Double_t x, Double_t y, const char *text, const char *url) |
| Draw text with url link By default only text is drawn. | |
| virtual void | NewPage () |
| virtual void | OnPad (TVirtualPad *) |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
Static Public Member Functions inherited from TVirtualPadPainter | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static TVirtualPadPainter * | PadPainter (Option_t *opt="") |
| Create a pad painter of specified type. | |
Private Member Functions | |
| TGLPadPainter (const TGLPadPainter &rhs) | |
| void | DrawGradient (const TLinearGradient *gradient, Int_t n, const Double_t *x, const Double_t *y) |
| void | DrawGradient (const TRadialGradient *gradient, Int_t n, const Double_t *x, const Double_t *y) |
| void | DrawPolygonWithGradient (Int_t n, const Double_t *x, const Double_t *y) |
| At the moment I assume both linear and radial gradients will work the same way - using a stencil buffer and some big rectangle(s) to fill with a gradient. | |
| void | DrawPolyMarker () |
| Poly-marker. | |
| void | DrawTesselation (Int_t n, const Double_t *x, const Double_t *y) |
| template<class Char_t > | |
| void | DrawTextHelper (Double_t x, Double_t y, const Char_t *text, ETextMode mode) |
| TGLPadPainter & | operator= (const TGLPadPainter &rhs) |
| void | RestoreModelviewMatrix () const |
| Restore the modelview matrix. | |
| void | RestoreProjectionMatrix () const |
| Restore the projection matrix. | |
| void | RestoreViewport () |
| Restore the saved viewport. | |
| void | SaveModelviewMatrix () const |
| Save the modelview matrix. | |
| void | SaveProjectionMatrix () const |
| Save the projection matrix. | |
| void | SaveViewport () |
| Extract and save the current viewport. | |
Private Attributes | |
| TGLFont | fF |
| TGLFontManager | fFM |
| Bool_t | fIsHollowArea |
| Rgl::Pad::GLLimits | fLimits |
| Bool_t | fLocked |
| Rgl::Pad::MarkerPainter | fMarker |
| std::vector< TPoint > | fPoly |
| Rgl::Pad::PolygonStippleSet | fSSet |
| Rgl::Pad::Tesselator | fTess |
| Int_t | fVp [4] |
| std::vector< Double_t > | fVs |
Additional Inherited Members | |
Public Types inherited from TVirtualPadPainter | |
| enum | EBoxMode { kHollow , kFilled } |
| enum | ETextMode { kClear , kOpaque } |
#include <TGLPadPainter.h>
| TGLPadPainter::TGLPadPainter | ( | ) |
Definition at line 59 of file TGLPadPainter.cxx.
|
private |
Definition at line 169 of file TGLPadPainter.h.
|
overridevirtual |
Call gVirtualX->ClearWindow()
Implements TVirtualPadPainter.
Definition at line 338 of file TGLPadPainter.cxx.
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 354 of file TGLPadPainter.cxx.
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 321 of file TGLPadPainter.cxx.
Definition at line 169 of file TGLPadPainter.h.
|
overridevirtual |
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 362 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw filled or hollow box.
Implements TVirtualPadPainter.
Definition at line 551 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw tesselated polygon (probably, outline only).
Implements TVirtualPadPainter.
Definition at line 578 of file TGLPadPainter.cxx.
Draw tesselated polygon (never called, probably, since TPad::PaintFillArea for floats is deprecated).
Implements TVirtualPadPainter.
Definition at line 608 of file TGLPadPainter.cxx.
|
private |
Definition at line 1420 of file TGLPadPainter.cxx.
|
private |
Definition at line 1243 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw line segment in NDC coordinates.
Implements TVirtualPadPainter.
Definition at line 534 of file TGLPadPainter.cxx.
|
overridevirtual |
Implements TVirtualPadPainter.
Definition at line 1111 of file TGLPadPainter.cxx.
|
private |
At the moment I assume both linear and radial gradients will work the same way - using a stencil buffer and some big rectangle(s) to fill with a gradient.
Thus I have a 'common' part - the part responsible for a stencil test.
Definition at line 1189 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw poly-line in user coordinates.
Implements TVirtualPadPainter.
Definition at line 640 of file TGLPadPainter.cxx.
|
private |
Poly-marker.
Definition at line 749 of file TGLPadPainter.cxx.
Definition at line 1541 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw text.
This operation is especially dangerous if in locked state - ftgl will assert on zero texture size (which is result of bad GL context).
Implements TVirtualPadPainter.
Definition at line 941 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw text.
This operation is especially dangerous if in locked state - ftgl will assert on zero texture size (which is result of bad GL context).
Implements TVirtualPadPainter.
Definition at line 957 of file TGLPadPainter.cxx.
| void TGLPadPainter::DrawTextHelper | ( | Double_t | x, |
| Double_t | y, | ||
| const Char * | text, | ||
| ETextMode | ) |
Definition at line 896 of file TGLPadPainter.cxx.
|
private |
|
overridevirtual |
Draw text in NDC.
This operation is especially dangerous if in locked state - ftgl will assert on zero texture size (which is result of bad GL context).
Implements TVirtualPadPainter.
Definition at line 973 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw text in NDC.
This operation is especially dangerous if in locked state - ftgl will assert on zero texture size (which is result of bad GL context).
Implements TVirtualPadPainter.
Definition at line 988 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 118 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 126 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 70 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 78 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 86 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Reimplemented from TVirtualPadPainter.
Definition at line 264 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Reimplemented from TVirtualPadPainter.
Definition at line 282 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Reimplemented from TVirtualPadPainter.
Definition at line 273 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 167 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 175 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 183 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 191 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 207 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 199 of file TGLPadPainter.cxx.
|
overridevirtual |
Init gl-pad painter:
Reimplemented from TVirtualPadPainter.
Definition at line 417 of file TGLPadPainter.cxx.
|
overridevirtual |
When TPad::Range for gPad is called, projection must be changed in OpenGL.
Reimplemented from TVirtualPadPainter.
Definition at line 456 of file TGLPadPainter.cxx.
|
inlineoverridevirtual |
Reimplemented from TVirtualPadPainter.
Definition at line 169 of file TGLPadPainter.h.
|
overridevirtual |
Returns true when cocoa backend is used.
Reimplemented from TVirtualPadPainter.
Definition at line 346 of file TGLPadPainter.cxx.
|
inlineoverridevirtual |
Reimplemented from TVirtualPadPainter.
Definition at line 137 of file TGLPadPainter.h.
|
overridevirtual |
Delegate to gVirtualX.
IsTransparent is implemented as inline function in TAttFill.
Implements TVirtualPadPainter.
Definition at line 135 of file TGLPadPainter.cxx.
|
overridevirtual |
Locked state of painter means, that GL context can be invalid, so no GL calls can be executed.
Reimplemented from TVirtualPadPainter.
Definition at line 473 of file TGLPadPainter.cxx.
|
private |
Resize a gVirtualX Pixmap.
Reimplemented from TVirtualPadPainter.
Definition at line 330 of file TGLPadPainter.cxx.
|
private |
Restore the modelview matrix.
Attention! GL_MODELVIEW will become the current matrix after this call!
Definition at line 1035 of file TGLPadPainter.cxx.
|
private |
Restore the projection matrix.
Attention! GL_PROJECTION will become the current matrix after this call!
Definition at line 1013 of file TGLPadPainter.cxx.
|
private |
Restore the saved viewport.
Definition at line 1052 of file TGLPadPainter.cxx.
|
overridevirtual |
Using TImage save frame-buffer contents as a picture.
Implements TVirtualPadPainter.
Definition at line 1060 of file TGLPadPainter.cxx.
|
private |
Save the modelview matrix.
Attention! GL_MODELVIEW will become the current matrix after this call!
Definition at line 1024 of file TGLPadPainter.cxx.
|
private |
Save the projection matrix.
Attention! GL_PROJECTION will become the current matrix after this call!
Definition at line 1002 of file TGLPadPainter.cxx.
|
private |
Extract and save the current viewport.
Definition at line 1044 of file TGLPadPainter.cxx.
|
overridevirtual |
For gVirtualX this means select pixmap (or window) and all subsequent drawings will go into this pixmap.
For OpenGL this means the change of coordinate system and viewport.
Implements TVirtualPadPainter.
Definition at line 374 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 143 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 151 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 94 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 102 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 110 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Reimplemented from TVirtualPadPainter.
Definition at line 291 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Reimplemented from TVirtualPadPainter.
Definition at line 309 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Reimplemented from TVirtualPadPainter.
Definition at line 300 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 159 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 215 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 223 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 231 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 239 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 247 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 255 of file TGLPadPainter.cxx.
|
overridevirtual |
Reimplemented from TVirtualPadPainter.
|
inline |
Definition at line 169 of file TGLPadPainter.h.
|
private |
Definition at line 38 of file TGLPadPainter.h.
|
private |
Definition at line 37 of file TGLPadPainter.h.
|
private |
Definition at line 43 of file TGLPadPainter.h.
|
private |
Definition at line 33 of file TGLPadPainter.h.
|
private |
Definition at line 45 of file TGLPadPainter.h.
|
private |
Definition at line 32 of file TGLPadPainter.h.
|
private |
Definition at line 42 of file TGLPadPainter.h.
|
private |
Definition at line 30 of file TGLPadPainter.h.
|
private |
Definition at line 31 of file TGLPadPainter.h.
|
private |
Definition at line 40 of file TGLPadPainter.h.
|
private |
Definition at line 35 of file TGLPadPainter.h.