"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.
Public Types | |
| enum | EBoxMode { kHollow , kFilled } |
| enum | ETextMode { kClear , kOpaque } |
Static Public Member Functions | |
| 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 | |
| TAttFill | GetAttFillInternal (Bool_t with_transparency) |
| Returns fill attributes after modification Checks for special fill styles 4000 . | |
Protected Attributes | |
| 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 | |
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. | |
| template<class ValueType > | |
| void | DrawPolyLineHelper (Int_t n, const ValueType *x, const ValueType *y) |
| Draw poly-line in user coordinates. | |
| template<class ValueType > | |
| void | DrawPolyMarkerHelper (Int_t n, const ValueType *x, const ValueType *y) |
| Poly-marker drawing. | |
| 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) |
| Bool_t | IsInvertMode () |
| Returns true when invert mode is configured and painter in locked state Used when non-opaque of objects moving is involved. | |
| 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. | |
| void | SelectGLFont (Font_t font, Float_t size) |
| Select specified font/size. | |
| template<class Char_t > | |
| void | TextAscentDescentHelper (Font_t font, Double_t size, UInt_t &a, UInt_t &d, const Char_t *text) |
| Helper function to get text ascent / descent. | |
| template<class Char_t > | |
| void | TextExtentHelper (Font_t font, Double_t size, UInt_t &w, UInt_t &h, const Char_t *text) |
| Helper function to get text extent. | |
Private Attributes | |
| TGLFont | fF |
| TGLFontManager | fFM |
| TAttFill | fGlFillAtt |
| Bool_t | fIsHollowArea |
| Rgl::Pad::GLLimits | fLimits |
| Bool_t | fLocked |
| Rgl::Pad::MarkerPainter | fMarker |
| Rgl::Pad::PolygonStippleSet | fSSet |
| Rgl::Pad::Tesselator | fTess |
| Int_t | fVp [4] |
| std::vector< Double_t > | fVs |
| WinContext_t | fWinContext |
#include <TGLPadPainter.h>
|
inherited |
| Enumerator | |
|---|---|
| kHollow | |
| kFilled | |
Definition at line 27 of file TVirtualPadPainter.h.
|
inherited |
| Enumerator | |
|---|---|
| kClear | |
| kOpaque | |
Definition at line 28 of file TVirtualPadPainter.h.
| TGLPadPainter::TGLPadPainter | ( | ) |
Definition at line 60 of file TGLPadPainter.cxx.
|
private |
Definition at line 114 of file TPadPainterBase.h.
|
overridevirtual |
Do nothing, sub-pads not cleared in GL.
Implements TVirtualPadPainter.
Definition at line 159 of file TGLPadPainter.cxx.
|
overridevirtual |
Clear specified window - calling gVirtualX->ClearWindowW.
Reimplemented from TVirtualPadPainter.
Definition at line 166 of file TGLPadPainter.cxx.
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 184 of file TGLPadPainter.cxx.
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 142 of file TGLPadPainter.cxx.
Definition at line 114 of file TPadPainterBase.h.
|
overridevirtual |
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 192 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw filled or hollow box.
Implements TVirtualPadPainter.
Definition at line 418 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw tesselated polygon (probably, outline only).
Implements TVirtualPadPainter.
Definition at line 459 of file TGLPadPainter.cxx.
Draw tesselated polygon (never called, probably, since TPad::PaintFillArea for floats is deprecated).
Implements TVirtualPadPainter.
Definition at line 489 of file TGLPadPainter.cxx.
|
private |
Definition at line 1408 of file TGLPadPainter.cxx.
|
private |
Definition at line 1231 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw line segment in NDC coordinates.
Implements TVirtualPadPainter.
Definition at line 394 of file TGLPadPainter.cxx.
|
overridevirtual |
Implements TVirtualPadPainter.
Definition at line 1101 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 1179 of file TGLPadPainter.cxx.
|
overridevirtual |
Draw poly-line in user coordinates.
Implements TVirtualPadPainter.
Definition at line 569 of file TGLPadPainter.cxx.
Draw poly-line in user coordinates.
Implements TVirtualPadPainter.
Definition at line 577 of file TGLPadPainter.cxx.
|
private |
Draw poly-line in user coordinates.
Definition at line 522 of file TGLPadPainter.cxx.
|
private |
Poly-marker drawing.
Definition at line 615 of file TGLPadPainter.cxx.
Draw N segments on the pad Exclude segments where both points match.
Reimplemented in TPadPainter, and TPadPainterPS.
Definition at line 78 of file TVirtualPadPainter.cxx.
Draw N segments in NDC coordinates on the pad Exclude segments where both points match.
Reimplemented in TPadPainter, and TPadPainterPS.
Definition at line 89 of file TVirtualPadPainter.cxx.
Definition at line 1529 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 891 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 905 of file TGLPadPainter.cxx.
| void TGLPadPainter::DrawTextHelper | ( | Double_t | x, |
| Double_t | y, | ||
| const Char * | text, | ||
| ETextMode | ) |
Helper function to draw text.
Definition at line 820 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 919 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 978 of file TGLPadPainter.cxx.
|
virtualinherited |
Draw text with url link By default only text is drawn.
Reimplemented in TPadPainterPS, and TWebPadPainter.
Definition at line 100 of file TVirtualPadPainter.cxx.
Returns fill attributes after modification Checks for special fill styles 4000 .
. 4100
Definition at line 31 of file TPadPainterBase.cxx.
Get line attributes.
Reimplemented from TVirtualPadPainter.
Definition at line 80 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Get marker attributes.
Reimplemented from TVirtualPadPainter.
Definition at line 81 of file TPadPainterBase.h.
Get text attributes.
Reimplemented from TVirtualPadPainter.
Definition at line 82 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 46 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 47 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
old methods only for backward compatibility
Implements TVirtualPadPainter.
Definition at line 37 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 38 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 39 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Reimplemented from TVirtualPadPainter.
Definition at line 69 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Reimplemented from TVirtualPadPainter.
Definition at line 71 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Reimplemented from TVirtualPadPainter.
Definition at line 70 of file TPadPainterBase.h.
|
inlinevirtualinherited |
Reimplemented in TPadPainterPS.
Definition at line 161 of file TVirtualPadPainter.h.
|
overridevirtual |
Get text advance.
Reimplemented from TVirtualPadPainter.
Definition at line 963 of file TGLPadPainter.cxx.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 54 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 55 of file TPadPainterBase.h.
|
overridevirtual |
Get text extent.
Reimplemented from TVirtualPadPainter.
Definition at line 947 of file TGLPadPainter.cxx.
|
overridevirtual |
Get text extent.
Reimplemented from TVirtualPadPainter.
Definition at line 955 of file TGLPadPainter.cxx.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 56 of file TPadPainterBase.h.
|
overridevirtual |
Get text extent.
Reimplemented from TVirtualPadPainter.
Definition at line 931 of file TGLPadPainter.cxx.
|
overridevirtual |
Get text extent.
Reimplemented from TVirtualPadPainter.
Definition at line 939 of file TGLPadPainter.cxx.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 57 of file TPadPainterBase.h.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 81 of file TGLPadPainter.cxx.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 58 of file TPadPainterBase.h.
|
virtualinherited |
Return true if TTF font can be used.
Reimplemented in TPadPainterPS, and TWebPadPainter.
Definition at line 218 of file TVirtualPadPainter.cxx.
|
overridevirtual |
Init gl-pad painter:
Reimplemented from TVirtualPadPainter.
Definition at line 276 of file TGLPadPainter.cxx.
|
overridevirtual |
When TPad::Range for gPad is called, projection must be changed in OpenGL.
Reimplemented from TVirtualPadPainter.
Definition at line 315 of file TGLPadPainter.cxx.
|
inlineoverridevirtualinherited |
Reimplemented from TVirtualPadPainter.
Reimplemented in TPadPainterPS, and TWebPadPainter.
Definition at line 114 of file TPadPainterBase.h.
|
overridevirtual |
Returns true when cocoa backend is used.
Reimplemented from TVirtualPadPainter.
Definition at line 176 of file TGLPadPainter.cxx.
|
private |
Returns true when invert mode is configured and painter in locked state Used when non-opaque of objects moving is involved.
Definition at line 606 of file TGLPadPainter.cxx.
|
inlineoverridevirtual |
Reimplemented from TVirtualPadPainter.
Definition at line 133 of file TGLPadPainter.h.
|
inlineoverridevirtual |
Reimplemented from TVirtualPadPainter.
Definition at line 137 of file TGLPadPainter.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 48 of file TPadPainterBase.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 332 of file TGLPadPainter.cxx.
|
inlinevirtualinherited |
Reimplemented in TPadPainterPS.
Definition at line 117 of file TVirtualPadPainter.h.
|
overridevirtual |
Select pad where current painting will be performed.
Reimplemented from TVirtualPadPainter.
Definition at line 89 of file TGLPadPainter.cxx.
|
private |
|
staticinherited |
Create a pad painter of specified type.
Definition at line 62 of file TVirtualPadPainter.cxx.
Resize a gVirtualX Pixmap.
Reimplemented from TVirtualPadPainter.
Definition at line 151 of file TGLPadPainter.cxx.
|
private |
Restore the modelview matrix.
Attention! GL_MODELVIEW will become the current matrix after this call!
Definition at line 1025 of file TGLPadPainter.cxx.
|
private |
Restore the projection matrix.
Attention! GL_PROJECTION will become the current matrix after this call!
Definition at line 1003 of file TGLPadPainter.cxx.
|
private |
Restore the saved viewport.
Definition at line 1042 of file TGLPadPainter.cxx.
|
overridevirtual |
Using TImage save frame-buffer contents as a picture.
Implements TVirtualPadPainter.
Definition at line 1050 of file TGLPadPainter.cxx.
|
private |
Save the modelview matrix.
Attention! GL_MODELVIEW will become the current matrix after this call!
Definition at line 1014 of file TGLPadPainter.cxx.
|
private |
Save the projection matrix.
Attention! GL_PROJECTION will become the current matrix after this call!
Definition at line 992 of file TGLPadPainter.cxx.
|
private |
Extract and save the current viewport.
Definition at line 1034 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 205 of file TGLPadPainter.cxx.
Select specified font/size.
Definition at line 796 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.
Reimplemented in TPadPainterPS.
Definition at line 102 of file TPadPainterBase.h.
Set cursor for specified device, redirect to gVirtualX.
Definition at line 208 of file TVirtualPadPainter.cxx.
Set double buffer mode for specified device, redirect to gVirtualX.
Reimplemented in TPadPainter.
Definition at line 198 of file TVirtualPadPainter.cxx.
Set drawing mode for specified device.
Reimplemented from TVirtualPadPainter.
Definition at line 257 of file TGLPadPainter.cxx.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 50 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 51 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 41 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 42 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 43 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Reimplemented from TVirtualPadPainter.
Definition at line 73 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Reimplemented from TVirtualPadPainter.
Definition at line 75 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Reimplemented from TVirtualPadPainter.
Definition at line 74 of file TPadPainterBase.h.
|
overridevirtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 72 of file TGLPadPainter.cxx.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 61 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 62 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 63 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 64 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 65 of file TPadPainterBase.h.
|
inlineoverridevirtualinherited |
Implements TVirtualPadPainter.
Definition at line 66 of file TPadPainterBase.h.
|
overridevirtualinherited |
Reimplemented from TVirtualPadPainter.
Reimplemented in TPadPainterPS, and TWebPadPainter.
|
inlineinherited |
Definition at line 114 of file TPadPainterBase.h.
|
private |
Helper function to get text ascent / descent.
Definition at line 871 of file TGLPadPainter.cxx.
|
private |
Helper function to get text extent.
Definition at line 853 of file TGLPadPainter.cxx.
|
overridevirtual |
Call low-level update of selected drawable, redirect to gVirtualX.
Reimplemented from TVirtualPadPainter.
Definition at line 247 of file TGLPadPainter.cxx.
|
protectedinherited |
current fill attributes
Definition at line 23 of file TPadPainterBase.h.
|
protectedinherited |
current line attributes
Definition at line 24 of file TPadPainterBase.h.
|
protectedinherited |
current marker attributes
Definition at line 25 of file TPadPainterBase.h.
|
protectedinherited |
current text attributes
Definition at line 26 of file TPadPainterBase.h.
|
private |
Definition at line 42 of file TGLPadPainter.h.
|
private |
Definition at line 41 of file TGLPadPainter.h.
if transformed fill attributes fully transparent
Definition at line 27 of file TPadPainterBase.h.
|
private |
Definition at line 37 of file TGLPadPainter.h.
|
private |
Definition at line 46 of file TGLPadPainter.h.
|
private |
Definition at line 34 of file TGLPadPainter.h.
|
private |
Definition at line 48 of file TGLPadPainter.h.
|
private |
Definition at line 33 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.