ROOT
6.06/09
Reference Guide
|
"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 36 of file TGLPadPainter.h.
Public Member Functions | |
TGLPadPainter () | |
Color_t | GetLineColor () const |
Delegate to gVirtualX. More... | |
Style_t | GetLineStyle () const |
Delegate to gVirtualX. More... | |
Width_t | GetLineWidth () const |
Delegate to gVirtualX. More... | |
void | SetLineColor (Color_t lcolor) |
Delegate to gVirtualX. More... | |
void | SetLineStyle (Style_t lstyle) |
Delegate to gVirtualX. More... | |
void | SetLineWidth (Width_t lwidth) |
Delegate to gVirtualX. More... | |
Color_t | GetFillColor () const |
Delegate to gVirtualX. More... | |
Style_t | GetFillStyle () const |
Delegate to gVirtualX. More... | |
Bool_t | IsTransparent () const |
Delegate to gVirtualX. More... | |
void | SetFillColor (Color_t fcolor) |
Delegate to gVirtualX. More... | |
void | SetFillStyle (Style_t fstyle) |
Delegate to gVirtualX. More... | |
void | SetOpacity (Int_t percent) |
Delegate to gVirtualX. More... | |
Short_t | GetTextAlign () const |
Delegate to gVirtualX. More... | |
Float_t | GetTextAngle () const |
Delegate to gVirtualX. More... | |
Color_t | GetTextColor () const |
Delegate to gVirtualX. More... | |
Font_t | GetTextFont () const |
Delegate to gVirtualX. More... | |
Float_t | GetTextSize () const |
Delegate to gVirtualX. More... | |
Float_t | GetTextMagnitude () const |
Delegate to gVirtualX. More... | |
void | SetTextAlign (Short_t align) |
Delegate to gVirtualX. More... | |
void | SetTextAngle (Float_t tangle) |
Delegate to gVirtualX. More... | |
void | SetTextColor (Color_t tcolor) |
Delegate to gVirtualX. More... | |
void | SetTextFont (Font_t tfont) |
Delegate to gVirtualX. More... | |
void | SetTextSize (Float_t tsize) |
Delegate to gVirtualX. More... | |
void | SetTextSizePixels (Int_t npixels) |
Delegate to gVirtualX. More... | |
Int_t | CreateDrawable (UInt_t w, UInt_t h) |
Not required at the moment. More... | |
void | ClearDrawable () |
Not required at the moment. More... | |
void | CopyDrawable (Int_t id, Int_t px, Int_t py) |
Not required at the moment. More... | |
void | DestroyDrawable () |
Not required at the moment. More... | |
void | SelectDrawable (Int_t device) |
For gVirtualX this means select pixmap (or window) and all subsequent drawings will go into this pixmap. More... | |
void | InitPainter () |
Init gl-pad painter: More... | |
void | InvalidateCS () |
When TPad::Range for gPad is called, projection must be changed in OpenGL. More... | |
void | LockPainter () |
Locked state of painter means, that GL context can be invalid, so no GL calls can be executed. More... | |
void | DrawLine (Double_t x1, Double_t y1, Double_t x2, Double_t y2) |
Draw line segment. More... | |
void | DrawLineNDC (Double_t u1, Double_t v1, Double_t u2, Double_t v2) |
Draw line segment in NDC coordinates. More... | |
void | DrawBox (Double_t x1, Double_t y1, Double_t x2, Double_t y2, EBoxMode mode) |
Draw filled or hollow box. More... | |
void | DrawFillArea (Int_t n, const Double_t *x, const Double_t *y) |
Draw tesselated polygon (probably, outline only). More... | |
void | DrawFillArea (Int_t n, const Float_t *x, const Float_t *y) |
Draw tesselated polygon (never called, probably, since TPad::PaintFillArea for floats is deprecated). More... | |
void | DrawPolyLine (Int_t n, const Double_t *x, const Double_t *y) |
Draw poly-line in user coordinates. More... | |
void | DrawPolyLine (Int_t n, const Float_t *x, const Float_t *y) |
Never called? More... | |
void | DrawPolyLineNDC (Int_t n, const Double_t *u, const Double_t *v) |
Poly line in NDC. More... | |
void | DrawPolyMarker (Int_t n, const Double_t *x, const Double_t *y) |
Poly-marker. More... | |
void | DrawPolyMarker (Int_t n, const Float_t *x, const Float_t *y) |
Poly-marker. More... | |
void | DrawText (Double_t x, Double_t y, const char *text, ETextMode mode) |
Draw text. More... | |
void | DrawText (Double_t, Double_t, const wchar_t *, ETextMode) |
Draw text. More... | |
void | DrawTextNDC (Double_t x, Double_t y, const char *text, ETextMode mode) |
Draw text in NDC. More... | |
void | DrawTextNDC (Double_t, Double_t, const wchar_t *, ETextMode) |
Draw text in NDC. More... | |
void | SaveImage (TVirtualPad *pad, const char *fileName, Int_t type) const |
Using TImage save frame-buffer contents as a picture. More... | |
void | DrawPixels (const unsigned char *pixelData, UInt_t width, UInt_t height, Int_t dstX, Int_t dstY, Bool_t enableBlending) |
template<class Char > | |
void | DrawTextHelper (Double_t x, Double_t y, const Char *text, ETextMode) |
Public Member Functions inherited from TVirtualPadPainter | |
virtual | ~TVirtualPadPainter () |
Private Member Functions | |
template<class Char_t > | |
void | DrawTextHelper (Double_t x, Double_t y, const Char_t *text, ETextMode mode) |
void | SaveProjectionMatrix () const |
Save the projection matrix. More... | |
void | RestoreProjectionMatrix () const |
Restore the projection matrix. More... | |
void | SaveModelviewMatrix () const |
Save the modelview matrix. More... | |
void | RestoreModelviewMatrix () const |
Restore the modelview matrix. More... | |
void | SaveViewport () |
Extract and save the current viewport. More... | |
void | RestoreViewport () |
Restore the saved viewport. More... | |
void | DrawPolyMarker () |
Poly-marker. More... | |
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. More... | |
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 | DrawTesselation (Int_t n, const Double_t *x, const Double_t *y) |
TGLPadPainter (const TGLPadPainter &rhs) | |
TGLPadPainter & | operator= (const TGLPadPainter &rhs) |
Private Attributes | |
Rgl::Pad::PolygonStippleSet | fSSet |
Rgl::Pad::Tesselator | fTess |
Rgl::Pad::MarkerPainter | fMarker |
Rgl::Pad::GLLimits | fLimits |
std::vector< Double_t > | fVs |
TGLFontManager | fFM |
TGLFont | fF |
Int_t | fVp [4] |
std::vector< TPoint > | fPoly |
Bool_t | fIsHollowArea |
Bool_t | fLocked |
Additional Inherited Members | |
Public Types inherited from TVirtualPadPainter | |
enum | EBoxMode { kHollow, kFilled } |
enum | ETextMode { kClear, kOpaque } |
Static Public Member Functions inherited from TVirtualPadPainter | |
static TVirtualPadPainter * | PadPainter (Option_t *opt="") |
Create a pad painter of specified type. More... | |
#include <TGLPadPainter.h>
TGLPadPainter::TGLPadPainter | ( | ) |
|
private |
|
virtual |
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 276 of file TGLPadPainter.cxx.
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 283 of file TGLPadPainter.cxx.
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 268 of file TGLPadPainter.cxx.
|
virtual |
Not required at the moment.
Implements TVirtualPadPainter.
Definition at line 290 of file TGLPadPainter.cxx.
|
virtual |
Draw filled or hollow box.
Implements TVirtualPadPainter.
Definition at line 468 of file TGLPadPainter.cxx.
Draw tesselated polygon (probably, outline only).
Implements TVirtualPadPainter.
Definition at line 495 of file TGLPadPainter.cxx.
Draw tesselated polygon (never called, probably, since TPad::PaintFillArea for floats is deprecated).
Implements TVirtualPadPainter.
Definition at line 525 of file TGLPadPainter.cxx.
|
private |
Definition at line 1279 of file TGLPadPainter.cxx.
Referenced by DrawPolygonWithGradient().
|
private |
Definition at line 1100 of file TGLPadPainter.cxx.
Draw line segment in NDC coordinates.
Implements TVirtualPadPainter.
Definition at line 451 of file TGLPadPainter.cxx.
|
virtual |
Implements TVirtualPadPainter.
Definition at line 968 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 1046 of file TGLPadPainter.cxx.
Referenced by DrawBox(), and DrawFillArea().
Draw poly-line in user coordinates.
Implements TVirtualPadPainter.
Definition at line 557 of file TGLPadPainter.cxx.
Referenced by DrawFillArea().
|
private |
Definition at line 1400 of file TGLPadPainter.cxx.
Referenced by DrawFillArea(), and DrawPolygonWithGradient().
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 798 of file TGLPadPainter.cxx.
Referenced by DrawTextNDC().
|
virtual |
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 814 of file TGLPadPainter.cxx.
|
private |
Referenced by DrawText().
void TGLPadPainter::DrawTextHelper | ( | Double_t | x, |
Double_t | y, | ||
const Char * | text, | ||
ETextMode | |||
) |
Definition at line 753 of file TGLPadPainter.cxx.
|
virtual |
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 830 of file TGLPadPainter.cxx.
|
virtual |
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 845 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 119 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 127 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 71 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 79 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 87 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 168 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 176 of file TGLPadPainter.cxx.
Referenced by DrawTextHelper().
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 184 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 192 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 208 of file TGLPadPainter.cxx.
Referenced by DrawTextHelper().
|
virtual |
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 200 of file TGLPadPainter.cxx.
|
virtual |
Init gl-pad painter:
Reimplemented from TVirtualPadPainter.
Definition at line 343 of file TGLPadPainter.cxx.
|
virtual |
When TPad::Range for gPad is called, projection must be changed in OpenGL.
Reimplemented from TVirtualPadPainter.
Definition at line 373 of file TGLPadPainter.cxx.
|
virtual |
Delegate to gVirtualX.
IsTransparent is implemented as inline function in TAttFill.
Implements TVirtualPadPainter.
Definition at line 136 of file TGLPadPainter.cxx.
|
virtual |
Locked state of painter means, that GL context can be invalid, so no GL calls can be executed.
Reimplemented from TVirtualPadPainter.
Definition at line 390 of file TGLPadPainter.cxx.
|
private |
|
private |
Restore the modelview matrix.
Attention! GL_MODELVIEW will become the current matrix after this call!
Definition at line 892 of file TGLPadPainter.cxx.
Referenced by DrawGradient().
|
private |
Restore the projection matrix.
Attention! GL_PROJECTION will become the current matrix after this call!
Definition at line 870 of file TGLPadPainter.cxx.
Referenced by DrawGradient(), DrawPolyMarker(), and DrawTextHelper().
|
private |
Restore the saved viewport.
Definition at line 909 of file TGLPadPainter.cxx.
|
virtual |
Using TImage save frame-buffer contents as a picture.
Implements TVirtualPadPainter.
Definition at line 917 of file TGLPadPainter.cxx.
|
private |
Save the modelview matrix.
Attention! GL_MODELVIEW will become the current matrix after this call!
Definition at line 881 of file TGLPadPainter.cxx.
Referenced by DrawGradient().
|
private |
Save the projection matrix.
Attention! GL_PROJECTION will become the current matrix after this call!
Definition at line 859 of file TGLPadPainter.cxx.
Referenced by DrawGradient(), DrawPolyMarker(), and DrawTextHelper().
|
private |
Extract and save the current viewport.
Definition at line 901 of file TGLPadPainter.cxx.
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 300 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 144 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 152 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 95 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 103 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 111 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 160 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 216 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 224 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 232 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 240 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 248 of file TGLPadPainter.cxx.
Delegate to gVirtualX.
Implements TVirtualPadPainter.
Definition at line 256 of file TGLPadPainter.cxx.
|
private |
Definition at line 46 of file TGLPadPainter.h.
Referenced by DrawTextHelper().
|
private |
Definition at line 45 of file TGLPadPainter.h.
Referenced by DrawTextHelper().
|
private |
Definition at line 51 of file TGLPadPainter.h.
Referenced by DrawFillArea(), and DrawPolyLine().
|
private |
Definition at line 41 of file TGLPadPainter.h.
Referenced by DrawBox(), DrawLine(), DrawLineNDC(), DrawPolyLine(), and DrawPolyLineNDC().
|
private |
Definition at line 53 of file TGLPadPainter.h.
Referenced by DrawBox(), DrawFillArea(), DrawLine(), DrawLineNDC(), DrawPixels(), DrawPolygonWithGradient(), DrawPolyLine(), DrawPolyLineNDC(), DrawPolyMarker(), DrawText(), DrawTextNDC(), InitPainter(), InvalidateCS(), LockPainter(), and SelectDrawable().
|
private |
Definition at line 40 of file TGLPadPainter.h.
Referenced by DrawPolyMarker().
|
private |
Definition at line 50 of file TGLPadPainter.h.
Referenced by DrawPolyMarker().
|
private |
Definition at line 38 of file TGLPadPainter.h.
Referenced by DrawBox(), and DrawFillArea().
|
private |
Definition at line 39 of file TGLPadPainter.h.
Referenced by DrawFillArea(), and DrawTesselation().
|
private |
Definition at line 48 of file TGLPadPainter.h.
Referenced by RestoreViewport(), and SaveViewport().
|
private |
Definition at line 43 of file TGLPadPainter.h.
Referenced by DrawFillArea(), and DrawTesselation().