"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 29 of file TGLPadPainter.h.
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 |
| TAttFill | fGlFillAtt |
| 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 |
| WinContext_t | fWinContext |
Additional Inherited Members | |
Public Types inherited from TVirtualPadPainter | |
| enum | EBoxMode { kHollow , kFilled } |
| enum | ETextMode { kClear , kOpaque } |
Static Public Member Functions inherited from TPadPainterBase | |
| 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. | |
Protected Member Functions inherited from TPadPainterBase | |
| TAttFill | GetAttFillInternal (Bool_t with_transparency) |
| Returns fill attributes after modification Checks for special fill styles 4000 . | |
Protected Attributes inherited from TPadPainterBase | |
| TAttFill | fAttFill |
| current fill attributes | |
| TAttLine | fAttLine |
| current line attributes | |
| TAttMarker | fAttMarker |
| current marker attributes | |
| TAttText | fAttText |
| current text attributes | |
| Bool_t | fFullyTransparent = kFALSE |
| if transformed fill attributes fully transparent | |
#include <TGLPadPainter.h>
| TGLPadPainter::TGLPadPainter | ( | ) |
Definition at line 60 of file TGLPadPainter.cxx.
|
private |
|
overridevirtual |
Call gVirtualX->ClearWindow()
Implements TVirtualPadPainter.
Definition at line 171 of file TGLPadPainter.cxx.
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 187 of file TGLPadPainter.cxx.
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 154 of file TGLPadPainter.cxx.
|
overridevirtual |
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 195 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw filled or hollow box.
Implements TVirtualPadPainter.
Definition at line 424 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw tesselated polygon (probably, outline only).
Implements TVirtualPadPainter.
Definition at line 465 of file TGLPadPainter.cxx.
Draw tesselated polygon (never called, probably, since TPad::PaintFillArea for floats is deprecated).
Implements TVirtualPadPainter.
Definition at line 495 of file TGLPadPainter.cxx.
|
private |
Definition at line 1310 of file TGLPadPainter.cxx.
|
private |
Definition at line 1133 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw line segment in NDC coordinates.
Implements TVirtualPadPainter.
Definition at line 398 of file TGLPadPainter.cxx.
|
overridevirtual |
Implements TVirtualPadPainter.
Definition at line 1003 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 1081 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw poly-line in user coordinates.
Implements TVirtualPadPainter.
Definition at line 527 of file TGLPadPainter.cxx.
|
private |
Poly-marker.
Definition at line 636 of file TGLPadPainter.cxx.
Definition at line 1431 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 833 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 849 of file TGLPadPainter.cxx.
| void TGLPadPainter::DrawTextHelper | ( | Double_t | x, |
| Double_t | y, | ||
| const Char * | text, | ||
| ETextMode | ) |
Definition at line 786 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 865 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 880 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 81 of file TGLPadPainter.cxx.
|
overridevirtual |
Init gl-pad painter:
Reimplemented from TVirtualPadPainter.
Definition at line 279 of file TGLPadPainter.cxx.
|
overridevirtual |
When TPad::Range for gPad is called, projection must be changed in OpenGL.
Reimplemented from TVirtualPadPainter.
Definition at line 318 of file TGLPadPainter.cxx.
|
overridevirtual |
Returns true when cocoa backend is used.
Reimplemented from TVirtualPadPainter.
Definition at line 179 of file TGLPadPainter.cxx.
|
inlineoverridevirtual |
Reimplemented from TVirtualPadPainter.
Definition at line 111 of file TGLPadPainter.h.
|
inlineoverridevirtual |
Reimplemented from TVirtualPadPainter.
Definition at line 115 of file TGLPadPainter.h.
|
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 335 of file TGLPadPainter.cxx.
|
overridevirtual |
Select pad where current painting will be performed.
Reimplemented from TVirtualPadPainter.
Definition at line 89 of file TGLPadPainter.cxx.
|
private |
Resize a gVirtualX Pixmap.
Reimplemented from TVirtualPadPainter.
Definition at line 163 of file TGLPadPainter.cxx.
|
private |
Restore the modelview matrix.
Attention! GL_MODELVIEW will become the current matrix after this call!
Definition at line 927 of file TGLPadPainter.cxx.
|
private |
Restore the projection matrix.
Attention! GL_PROJECTION will become the current matrix after this call!
Definition at line 905 of file TGLPadPainter.cxx.
|
private |
Restore the saved viewport.
Definition at line 944 of file TGLPadPainter.cxx.
|
overridevirtual |
Using TImage save frame-buffer contents as a picture.
Implements TVirtualPadPainter.
Definition at line 952 of file TGLPadPainter.cxx.
|
private |
Save the modelview matrix.
Attention! GL_MODELVIEW will become the current matrix after this call!
Definition at line 916 of file TGLPadPainter.cxx.
|
private |
Save the projection matrix.
Attention! GL_PROJECTION will become the current matrix after this call!
Definition at line 894 of file TGLPadPainter.cxx.
|
private |
Extract and save the current viewport.
Definition at line 936 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 208 of file TGLPadPainter.cxx.
Set fill attributes.
Reimplemented from TVirtualPadPainter.
Definition at line 100 of file TGLPadPainter.cxx.
Set line attributes.
Reimplemented from TVirtualPadPainter.
Definition at line 114 of file TGLPadPainter.cxx.
|
overridevirtual |
Set marker attributes.
Reimplemented from TVirtualPadPainter.
Definition at line 126 of file TGLPadPainter.cxx.
Set text attributes.
Reimplemented from TVirtualPadPainter.
Definition at line 138 of file TGLPadPainter.cxx.
Set drawing mode for specified device.
Reimplemented from TVirtualPadPainter.
Definition at line 260 of file TGLPadPainter.cxx.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 72 of file TGLPadPainter.cxx.
|
overridevirtual |
Call low-level update of selected drawable, redirect to gVirtualX.
Reimplemented from TVirtualPadPainter.
Definition at line 250 of file TGLPadPainter.cxx.
|
private |
Definition at line 42 of file TGLPadPainter.h.
|
private |
Definition at line 41 of file TGLPadPainter.h.
|
private |
Definition at line 37 of file TGLPadPainter.h.
|
private |
Definition at line 47 of file TGLPadPainter.h.
|
private |
Definition at line 34 of file TGLPadPainter.h.
|
private |
Definition at line 49 of file TGLPadPainter.h.
|
private |
Definition at line 33 of file TGLPadPainter.h.
|
private |
Definition at line 46 of file TGLPadPainter.h.
|
private |
Definition at line 31 of file TGLPadPainter.h.
|
private |
Definition at line 32 of file TGLPadPainter.h.
|
private |
Definition at line 44 of file TGLPadPainter.h.
|
private |
Definition at line 39 of file TGLPadPainter.h.
|
private |
Definition at line 36 of file TGLPadPainter.h.