Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGLPadPainter Class Reference

"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 }
 

Public Member Functions

 TGLPadPainter ()
 
void ClearDrawable () override
 Do nothing, sub-pads not cleared in GL.
 
void ClearWindow (Int_t device) override
 Clear specified window - calling gVirtualX->ClearWindowW.
 
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 DrawImage (TImage *img, Int_t x, Int_t y, Int_t flags=0) override
 Draw image on the GL window.
 
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
 Draw poly-line in user coordinates.
 
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.
 
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.
 
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)
 Helper function to draw text.
 
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.
 
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 DrawTTFglyphs (Int_t x, Int_t y, TTFhandle &ttf, ETextMode mode)
 Performs rendering of TTF glyphs on output device Can be implemented in derived classes instead of implementing 4 different signatures of DrawText.
 
const TAttFillGetAttFill () const override
 Get fill attributes.
 
const TAttLineGetAttLine () const override
 Get line attributes.
 
const TAttMarkerGetAttMarker () const override
 Get marker attributes.
 
const TAttTextGetAttText () const override
 Get text attributes.
 
Color_t GetFillColor () const override
 
Style_t GetFillStyle () const override
 
Color_t GetLineColor () const override
 
Style_t GetLineStyle () const override
 
Width_t GetLineWidth () const override
 
Color_t GetMarkerColor () const override
 
Size_t GetMarkerSize () const override
 
Style_t GetMarkerStyle () const override
 
virtual TVirtualPSGetPS () const
 
UInt_t GetTextAdvance (Font_t font, Double_t size, const char *text, Bool_t kern) override
 Returns text advance.
 
Short_t GetTextAlign () const override
 
Float_t GetTextAngle () const override
 
void GetTextAscentDescent (Font_t font, Double_t size, UInt_t &a, UInt_t &d, const char *mess) override
 Returns text accent / descent.
 
void GetTextAscentDescent (Font_t font, Double_t size, UInt_t &a, UInt_t &d, const wchar_t *mess) override
 Returns text accent / descent.
 
Color_t GetTextColor () const override
 
void GetTextExtent (Font_t font, Double_t size, UInt_t &w, UInt_t &h, const char *mess) override
 Returns text extend.
 
void GetTextExtent (Font_t font, Double_t size, UInt_t &w, UInt_t &h, const wchar_t *mess) override
 Returns text extend.
 
Font_t GetTextFont () const override
 
Float_t GetTextMagnitude () const override
 Delegate to gVirtualX.
 
Float_t GetTextSize () const override
 
Bool_t HasTTFonts () const override
 Indicate that TTF can be used for text metrics Drawing done with FTGL which is based on Freetype library.
 
void InitPainter () override
 Init gl-pad painter:
 
void InvalidateCS () override
 When TPad::Range for gPad is called, projection must be changed in OpenGL.
 
TClassIsA () const override
 
Bool_t IsCocoa () const override
 Returns true when cocoa backend is used.
 
Bool_t IsNative () const override
 
Bool_t IsSupportAlpha () const override
 
Bool_t IsTransparent () const override
 
void LockPainter () override
 Locked state of painter means, that GL context can be invalid, so no GL calls can be executed.
 
virtual void NewPage ()
 
void OnPad (TVirtualPad *) override
 Select pad where current painting will be performed.
 
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 SetAttFill (const TAttFill &att) override
 Set fill attributes.
 
void SetAttLine (const TAttLine &att) override
 Set line attributes.
 
void SetAttMarker (const TAttMarker &att) override
 Set marker attributes.
 
void SetAttText (const TAttText &att) override
 Set text attributes.
 
virtual void SetDoubleBuffer (Int_t device, Int_t mode)
 Set double buffer mode for specified device, redirect to gVirtualX.
 
void SetDrawMode (Int_t device, Int_t mode) override
 Set drawing mode for specified device.
 
void SetFillColor (Color_t fcolor) override
 
void SetFillStyle (Style_t fstyle) override
 
void SetLineColor (Color_t lcolor) override
 
void SetLineStyle (Style_t lstyle) override
 
void SetLineWidth (Width_t lwidth) override
 
void SetMarkerColor (Color_t mcolor) override
 
void SetMarkerSize (Size_t msize) override
 
void SetMarkerStyle (Style_t mstyle) override
 
void SetOpacity (Int_t percent) override
 Delegate to gVirtualX.
 
void SetTextAlign (Short_t align) override
 
void SetTextAngle (Float_t tangle) override
 
void SetTextColor (Color_t tcolor) override
 
void SetTextFont (Font_t tfont) override
 
void SetTextSize (Float_t tsize) override
 
void SetTextSizePixels (Int_t npixels) override
 
void Streamer (TBuffer &) override
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
void UpdateDrawable (Int_t mode) override
 Call low-level update of selected drawable, redirect to gVirtualX.
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TVirtualPadPainterPadPainter (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 .
 
Double_t GetTTFScale () const override
 

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
 
TVirtualPadfPad = nullptr
 

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.
 
TGLPadPainteroperator= (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.
 

Private Attributes

TGLFont fF
 
TGLFontManager fFM
 
TAttFill fGlFillAtt
 
Bool_t fIsHollowArea
 
Rgl::Pad::GLLimits fLimits
 
Bool_t fLocked
 
Rgl::Pad::PolygonStippleSet fSSet
 
Rgl::Pad::Tesselator fTess
 
Int_t fVp [4]
 
std::vector< Double_tfVs
 
WinContext_t fWinContext
 

#include <TGLPadPainter.h>

Inheritance diagram for TGLPadPainter:
[legend]

Member Enumeration Documentation

◆ EBoxMode

Enumerator
kHollow 
kFilled 

Definition at line 28 of file TVirtualPadPainter.h.

◆ ETextMode

Enumerator
kClear 
kOpaque 

Definition at line 29 of file TVirtualPadPainter.h.

Constructor & Destructor Documentation

◆ TGLPadPainter() [1/2]

TGLPadPainter::TGLPadPainter ( )

Definition at line 61 of file TGLPadPainter.cxx.

◆ TGLPadPainter() [2/2]

TGLPadPainter::TGLPadPainter ( const TGLPadPainter & rhs)
private

Member Function Documentation

◆ Class()

static TClass * TPadPainterBase::Class ( )
staticinherited
Returns
TClass describing this class

◆ Class_Name()

static const char * TPadPainterBase::Class_Name ( )
staticinherited
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TPadPainterBase::Class_Version ( )
inlinestaticconstexprinherited
Returns
Version of this class

Definition at line 130 of file TPadPainterBase.h.

◆ ClearDrawable()

void TGLPadPainter::ClearDrawable ( )
overridevirtual

Do nothing, sub-pads not cleared in GL.

Implements TVirtualPadPainter.

Definition at line 160 of file TGLPadPainter.cxx.

◆ ClearWindow()

void TGLPadPainter::ClearWindow ( Int_t device)
overridevirtual

Clear specified window - calling gVirtualX->ClearWindowW.

Reimplemented from TVirtualPadPainter.

Definition at line 167 of file TGLPadPainter.cxx.

◆ CopyDrawable()

void TGLPadPainter::CopyDrawable ( Int_t device,
Int_t px,
Int_t py )
overridevirtual

Not required at the moment.

Implements TVirtualPadPainter.

Definition at line 185 of file TGLPadPainter.cxx.

◆ CreateDrawable()

Int_t TGLPadPainter::CreateDrawable ( UInt_t w,
UInt_t h )
overridevirtual

Not required at the moment.

Implements TVirtualPadPainter.

Definition at line 143 of file TGLPadPainter.cxx.

◆ DeclFileName()

static const char * TPadPainterBase::DeclFileName ( )
inlinestaticinherited
Returns
Name of the file containing the class declaration

Definition at line 130 of file TPadPainterBase.h.

◆ DestroyDrawable()

void TGLPadPainter::DestroyDrawable ( Int_t device)
overridevirtual

Not required at the moment.

Implements TVirtualPadPainter.

Definition at line 193 of file TGLPadPainter.cxx.

◆ DrawBox()

void TGLPadPainter::DrawBox ( Double_t x1,
Double_t y1,
Double_t x2,
Double_t y2,
EBoxMode mode )
overridevirtual

Draw filled or hollow box.

Implements TVirtualPadPainter.

Definition at line 419 of file TGLPadPainter.cxx.

◆ DrawFillArea() [1/2]

void TGLPadPainter::DrawFillArea ( Int_t n,
const Double_t * x,
const Double_t * y )
overridevirtual

Draw tesselated polygon (probably, outline only).

Implements TVirtualPadPainter.

Definition at line 460 of file TGLPadPainter.cxx.

◆ DrawFillArea() [2/2]

void TGLPadPainter::DrawFillArea ( Int_t n,
const Float_t * x,
const Float_t * y )
overridevirtual

Draw tesselated polygon (never called, probably, since TPad::PaintFillArea for floats is deprecated).

Implements TVirtualPadPainter.

Definition at line 490 of file TGLPadPainter.cxx.

◆ DrawGradient() [1/2]

void TGLPadPainter::DrawGradient ( const TLinearGradient * gradient,
Int_t n,
const Double_t * x,
const Double_t * y )
private

Definition at line 1236 of file TGLPadPainter.cxx.

◆ DrawGradient() [2/2]

void TGLPadPainter::DrawGradient ( const TRadialGradient * gradient,
Int_t n,
const Double_t * x,
const Double_t * y )
private

Definition at line 1059 of file TGLPadPainter.cxx.

◆ DrawImage()

void TGLPadPainter::DrawImage ( TImage * img,
Int_t x,
Int_t y,
Int_t flags = 0 )
overridevirtual

Draw image on the GL window.

Reimplemented from TVirtualPadPainter.

Definition at line 866 of file TGLPadPainter.cxx.

◆ DrawLine()

void TGLPadPainter::DrawLine ( Double_t x1,
Double_t y1,
Double_t x2,
Double_t y2 )
overridevirtual

Draw line segment.

Implements TVirtualPadPainter.

Definition at line 350 of file TGLPadPainter.cxx.

◆ DrawLineNDC()

void TGLPadPainter::DrawLineNDC ( Double_t u1,
Double_t v1,
Double_t u2,
Double_t v2 )
overridevirtual

Draw line segment in NDC coordinates.

Implements TVirtualPadPainter.

Definition at line 395 of file TGLPadPainter.cxx.

◆ DrawPixels()

void TGLPadPainter::DrawPixels ( const unsigned char * pixelData,
UInt_t width,
UInt_t height,
Int_t dstX,
Int_t dstY,
Bool_t enableBlending )
overridevirtual

Implements TVirtualPadPainter.

Definition at line 929 of file TGLPadPainter.cxx.

◆ DrawPolygonWithGradient()

void TGLPadPainter::DrawPolygonWithGradient ( Int_t n,
const Double_t * x,
const Double_t * y )
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 1007 of file TGLPadPainter.cxx.

◆ DrawPolyLine() [1/2]

void TGLPadPainter::DrawPolyLine ( Int_t n,
const Double_t * x,
const Double_t * y )
overridevirtual

Draw poly-line in user coordinates.

Implements TVirtualPadPainter.

Definition at line 570 of file TGLPadPainter.cxx.

◆ DrawPolyLine() [2/2]

void TGLPadPainter::DrawPolyLine ( Int_t n,
const Float_t * x,
const Float_t * y )
overridevirtual

Draw poly-line in user coordinates.

Implements TVirtualPadPainter.

Definition at line 578 of file TGLPadPainter.cxx.

◆ DrawPolyLineHelper()

template<class ValueType >
void TGLPadPainter::DrawPolyLineHelper ( Int_t n,
const ValueType * x,
const ValueType * y )
private

Draw poly-line in user coordinates.

Definition at line 523 of file TGLPadPainter.cxx.

◆ DrawPolyLineNDC()

void TGLPadPainter::DrawPolyLineNDC ( Int_t n,
const Double_t * u,
const Double_t * v )
overridevirtual

Poly line in NDC.

Implements TVirtualPadPainter.

Definition at line 586 of file TGLPadPainter.cxx.

◆ DrawPolyMarker() [1/2]

void TGLPadPainter::DrawPolyMarker ( Int_t n,
const Double_t * x,
const Double_t * y )
overridevirtual

Poly-marker.

Implements TVirtualPadPainter.

Definition at line 665 of file TGLPadPainter.cxx.

◆ DrawPolyMarker() [2/2]

void TGLPadPainter::DrawPolyMarker ( Int_t n,
const Float_t * x,
const Float_t * y )
overridevirtual

Poly-marker.

Implements TVirtualPadPainter.

Definition at line 673 of file TGLPadPainter.cxx.

◆ DrawPolyMarkerHelper()

template<class ValueType >
void TGLPadPainter::DrawPolyMarkerHelper ( Int_t n,
const ValueType * x,
const ValueType * y )
private

Poly-marker drawing.

Definition at line 616 of file TGLPadPainter.cxx.

◆ DrawSegments()

void TVirtualPadPainter::DrawSegments ( Int_t n,
Double_t * x,
Double_t * y )
virtualinherited

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.

◆ DrawSegmentsNDC()

void TVirtualPadPainter::DrawSegmentsNDC ( Int_t n,
Double_t * u,
Double_t * v )
virtualinherited

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.

◆ DrawTesselation()

void TGLPadPainter::DrawTesselation ( Int_t n,
const Double_t * x,
const Double_t * y )
private

Definition at line 1357 of file TGLPadPainter.cxx.

◆ DrawText() [1/2]

void TGLPadPainter::DrawText ( Double_t x,
Double_t y,
const char * text,
ETextMode mode )
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 750 of file TGLPadPainter.cxx.

◆ DrawText() [2/2]

void TGLPadPainter::DrawText ( Double_t x,
Double_t y,
const wchar_t * text,
ETextMode mode )
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 764 of file TGLPadPainter.cxx.

◆ DrawTextHelper() [1/2]

template<class Char >
void TGLPadPainter::DrawTextHelper ( Double_t x,
Double_t y,
const Char * text,
ETextMode  )

Helper function to draw text.

Definition at line 715 of file TGLPadPainter.cxx.

◆ DrawTextHelper() [2/2]

template<class Char_t >
void TGLPadPainter::DrawTextHelper ( Double_t x,
Double_t y,
const Char_t * text,
ETextMode mode )
private

◆ DrawTextNDC() [1/2]

void TGLPadPainter::DrawTextNDC ( Double_t u,
Double_t v,
const char * text,
ETextMode mode )
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 778 of file TGLPadPainter.cxx.

◆ DrawTextNDC() [2/2]

void TGLPadPainter::DrawTextNDC ( Double_t u,
Double_t v,
const wchar_t * text,
ETextMode mode )
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 793 of file TGLPadPainter.cxx.

◆ DrawTextUrl()

void TVirtualPadPainter::DrawTextUrl ( Double_t x,
Double_t y,
const char * text,
const char * url )
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.

◆ DrawTTFglyphs()

void TPadPainterBase::DrawTTFglyphs ( Int_t x,
Int_t y,
TTFhandle & ttf,
ETextMode mode )
virtualinherited

Performs rendering of TTF glyphs on output device Can be implemented in derived classes instead of implementing 4 different signatures of DrawText.

Reimplemented in TPadPainter.

Definition at line 165 of file TPadPainterBase.cxx.

◆ GetAttFill()

const TAttFill & TPadPainterBase::GetAttFill ( ) const
inlineoverridevirtualinherited

Get fill attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 88 of file TPadPainterBase.h.

◆ GetAttFillInternal()

TAttFill TPadPainterBase::GetAttFillInternal ( Bool_t with_transparency)
protectedinherited

Returns fill attributes after modification Checks for special fill styles 4000 .

. 4100

Definition at line 33 of file TPadPainterBase.cxx.

◆ GetAttLine()

const TAttLine & TPadPainterBase::GetAttLine ( ) const
inlineoverridevirtualinherited

Get line attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 89 of file TPadPainterBase.h.

◆ GetAttMarker()

const TAttMarker & TPadPainterBase::GetAttMarker ( ) const
inlineoverridevirtualinherited

Get marker attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 90 of file TPadPainterBase.h.

◆ GetAttText()

const TAttText & TPadPainterBase::GetAttText ( ) const
inlineoverridevirtualinherited

Get text attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 91 of file TPadPainterBase.h.

◆ GetFillColor()

Color_t TPadPainterBase::GetFillColor ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 52 of file TPadPainterBase.h.

◆ GetFillStyle()

Style_t TPadPainterBase::GetFillStyle ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 53 of file TPadPainterBase.h.

◆ GetLineColor()

Color_t TPadPainterBase::GetLineColor ( ) const
inlineoverridevirtualinherited

old methods only for backward compatibility

Implements TVirtualPadPainter.

Definition at line 43 of file TPadPainterBase.h.

◆ GetLineStyle()

Style_t TPadPainterBase::GetLineStyle ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 44 of file TPadPainterBase.h.

◆ GetLineWidth()

Width_t TPadPainterBase::GetLineWidth ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 45 of file TPadPainterBase.h.

◆ GetMarkerColor()

Color_t TPadPainterBase::GetMarkerColor ( ) const
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 75 of file TPadPainterBase.h.

◆ GetMarkerSize()

Size_t TPadPainterBase::GetMarkerSize ( ) const
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 77 of file TPadPainterBase.h.

◆ GetMarkerStyle()

Style_t TPadPainterBase::GetMarkerStyle ( ) const
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 76 of file TPadPainterBase.h.

◆ GetPS()

virtual TVirtualPS * TVirtualPadPainter::GetPS ( ) const
inlinevirtualinherited

Reimplemented in TPadPainterPS.

Definition at line 163 of file TVirtualPadPainter.h.

◆ GetTextAdvance()

UInt_t TPadPainterBase::GetTextAdvance ( Font_t font,
Double_t size,
const char * text,
Bool_t kern )
overridevirtualinherited

Returns text advance.

Reimplemented from TVirtualPadPainter.

Definition at line 142 of file TPadPainterBase.cxx.

◆ GetTextAlign()

Short_t TPadPainterBase::GetTextAlign ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 60 of file TPadPainterBase.h.

◆ GetTextAngle()

Float_t TPadPainterBase::GetTextAngle ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 61 of file TPadPainterBase.h.

◆ GetTextAscentDescent() [1/2]

void TPadPainterBase::GetTextAscentDescent ( Font_t font,
Double_t size,
UInt_t & a,
UInt_t & d,
const char * mess )
overridevirtualinherited

Returns text accent / descent.

Reimplemented from TVirtualPadPainter.

Definition at line 89 of file TPadPainterBase.cxx.

◆ GetTextAscentDescent() [2/2]

void TPadPainterBase::GetTextAscentDescent ( Font_t font,
Double_t size,
UInt_t & a,
UInt_t & d,
const wchar_t * mess )
overridevirtualinherited

Returns text accent / descent.

Reimplemented from TVirtualPadPainter.

Definition at line 115 of file TPadPainterBase.cxx.

◆ GetTextColor()

Color_t TPadPainterBase::GetTextColor ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 62 of file TPadPainterBase.h.

◆ GetTextExtent() [1/2]

void TPadPainterBase::GetTextExtent ( Font_t font,
Double_t size,
UInt_t & w,
UInt_t & h,
const char * mess )
overridevirtualinherited

Returns text extend.

Reimplemented from TVirtualPadPainter.

Definition at line 53 of file TPadPainterBase.cxx.

◆ GetTextExtent() [2/2]

void TPadPainterBase::GetTextExtent ( Font_t font,
Double_t size,
UInt_t & w,
UInt_t & h,
const wchar_t * mess )
overridevirtualinherited

Returns text extend.

Reimplemented from TVirtualPadPainter.

Definition at line 71 of file TPadPainterBase.cxx.

◆ GetTextFont()

Font_t TPadPainterBase::GetTextFont ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 63 of file TPadPainterBase.h.

◆ GetTextMagnitude()

Float_t TGLPadPainter::GetTextMagnitude ( ) const
overridevirtual

Delegate to gVirtualX.

Implements TVirtualPadPainter.

Definition at line 82 of file TGLPadPainter.cxx.

◆ GetTextSize()

Float_t TPadPainterBase::GetTextSize ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 64 of file TPadPainterBase.h.

◆ GetTTFScale()

Double_t TGLPadPainter::GetTTFScale ( ) const
inlineoverrideprotectedvirtual

Reimplemented from TPadPainterBase.

Definition at line 64 of file TGLPadPainter.h.

◆ HasTTFonts()

Bool_t TGLPadPainter::HasTTFonts ( ) const
overridevirtual

Indicate that TTF can be used for text metrics Drawing done with FTGL which is based on Freetype library.

Reimplemented from TVirtualPadPainter.

Definition at line 705 of file TGLPadPainter.cxx.

◆ InitPainter()

void TGLPadPainter::InitPainter ( )
overridevirtual

Init gl-pad painter:

  1. 2D painter does not use depth test, should not modify depth-buffer content (except initial cleanup).
  2. Disable cull face.
  3. Disable lighting.
  4. Set viewport (to the whole canvas area).
  5. Set camera.
  6. Unlock painter.

Reimplemented from TVirtualPadPainter.

Definition at line 277 of file TGLPadPainter.cxx.

◆ InvalidateCS()

void TGLPadPainter::InvalidateCS ( )
overridevirtual

When TPad::Range for gPad is called, projection must be changed in OpenGL.

Reimplemented from TVirtualPadPainter.

Definition at line 316 of file TGLPadPainter.cxx.

◆ IsA()

TClass * TPadPainterBase::IsA ( ) const
inlineoverridevirtualinherited
Returns
TClass describing current object

Reimplemented from TVirtualPadPainter.

Reimplemented in TPadPainterPS, and TWebPadPainter.

Definition at line 130 of file TPadPainterBase.h.

◆ IsCocoa()

Bool_t TGLPadPainter::IsCocoa ( ) const
overridevirtual

Returns true when cocoa backend is used.

Reimplemented from TVirtualPadPainter.

Definition at line 177 of file TGLPadPainter.cxx.

◆ IsInvertMode()

Bool_t TGLPadPainter::IsInvertMode ( )
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 607 of file TGLPadPainter.cxx.

◆ IsNative()

Bool_t TGLPadPainter::IsNative ( ) const
inlineoverridevirtual

Reimplemented from TVirtualPadPainter.

Definition at line 128 of file TGLPadPainter.h.

◆ IsSupportAlpha()

Bool_t TGLPadPainter::IsSupportAlpha ( ) const
inlineoverridevirtual

Reimplemented from TVirtualPadPainter.

Definition at line 132 of file TGLPadPainter.h.

◆ IsTransparent()

Bool_t TPadPainterBase::IsTransparent ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 54 of file TPadPainterBase.h.

◆ LockPainter()

void TGLPadPainter::LockPainter ( )
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 333 of file TGLPadPainter.cxx.

◆ NewPage()

virtual void TVirtualPadPainter::NewPage ( )
inlinevirtualinherited

Reimplemented in TPadPainterPS.

Definition at line 117 of file TVirtualPadPainter.h.

◆ OnPad()

void TGLPadPainter::OnPad ( TVirtualPad * pad)
overridevirtual

Select pad where current painting will be performed.

Reimplemented from TVirtualPadPainter.

Definition at line 90 of file TGLPadPainter.cxx.

◆ operator=()

TGLPadPainter & TGLPadPainter::operator= ( const TGLPadPainter & rhs)
private

◆ PadPainter()

TVirtualPadPainter * TVirtualPadPainter::PadPainter ( Option_t * opt = "")
staticinherited

Create a pad painter of specified type.

Definition at line 62 of file TVirtualPadPainter.cxx.

◆ ResizeDrawable()

Int_t TGLPadPainter::ResizeDrawable ( Int_t device,
UInt_t w,
UInt_t h )
overridevirtual

Resize a gVirtualX Pixmap.

Reimplemented from TVirtualPadPainter.

Definition at line 152 of file TGLPadPainter.cxx.

◆ RestoreModelviewMatrix()

void TGLPadPainter::RestoreModelviewMatrix ( ) const
private

Restore the modelview matrix.

Attention! GL_MODELVIEW will become the current matrix after this call!

Definition at line 840 of file TGLPadPainter.cxx.

◆ RestoreProjectionMatrix()

void TGLPadPainter::RestoreProjectionMatrix ( ) const
private

Restore the projection matrix.

Attention! GL_PROJECTION will become the current matrix after this call!

Definition at line 818 of file TGLPadPainter.cxx.

◆ RestoreViewport()

void TGLPadPainter::RestoreViewport ( )
private

Restore the saved viewport.

Definition at line 857 of file TGLPadPainter.cxx.

◆ SaveImage()

void TGLPadPainter::SaveImage ( TVirtualPad * pad,
const char * fileName,
Int_t type ) const
overridevirtual

Using TImage save frame-buffer contents as a picture.

Implements TVirtualPadPainter.

Definition at line 878 of file TGLPadPainter.cxx.

◆ SaveModelviewMatrix()

void TGLPadPainter::SaveModelviewMatrix ( ) const
private

Save the modelview matrix.

Attention! GL_MODELVIEW will become the current matrix after this call!

Definition at line 829 of file TGLPadPainter.cxx.

◆ SaveProjectionMatrix()

void TGLPadPainter::SaveProjectionMatrix ( ) const
private

Save the projection matrix.

Attention! GL_PROJECTION will become the current matrix after this call!

Definition at line 807 of file TGLPadPainter.cxx.

◆ SaveViewport()

void TGLPadPainter::SaveViewport ( )
private

Extract and save the current viewport.

Definition at line 849 of file TGLPadPainter.cxx.

◆ SelectDrawable()

void TGLPadPainter::SelectDrawable ( Int_t device)
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 206 of file TGLPadPainter.cxx.

◆ SelectGLFont()

void TGLPadPainter::SelectGLFont ( Font_t font,
Float_t size )
private

Select specified font/size.

Definition at line 681 of file TGLPadPainter.cxx.

◆ SetAttFill()

void TGLPadPainter::SetAttFill ( const TAttFill & att)
overridevirtual

Set fill attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 101 of file TGLPadPainter.cxx.

◆ SetAttLine()

void TGLPadPainter::SetAttLine ( const TAttLine & att)
overridevirtual

Set line attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 115 of file TGLPadPainter.cxx.

◆ SetAttMarker()

void TGLPadPainter::SetAttMarker ( const TAttMarker & att)
overridevirtual

Set marker attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 127 of file TGLPadPainter.cxx.

◆ SetAttText()

void TPadPainterBase::SetAttText ( const TAttText & att)
inlineoverridevirtualinherited

Set text attributes.

Reimplemented from TVirtualPadPainter.

Reimplemented in TPadPainterPS.

Definition at line 111 of file TPadPainterBase.h.

◆ SetDoubleBuffer()

void TVirtualPadPainter::SetDoubleBuffer ( Int_t device,
Int_t mode )
virtualinherited

Set double buffer mode for specified device, redirect to gVirtualX.

Reimplemented in TPadPainter.

Definition at line 198 of file TVirtualPadPainter.cxx.

◆ SetDrawMode()

void TGLPadPainter::SetDrawMode ( Int_t device,
Int_t mode )
overridevirtual

Set drawing mode for specified device.

Reimplemented from TVirtualPadPainter.

Definition at line 258 of file TGLPadPainter.cxx.

◆ SetFillColor()

void TPadPainterBase::SetFillColor ( Color_t fcolor)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 56 of file TPadPainterBase.h.

◆ SetFillStyle()

void TPadPainterBase::SetFillStyle ( Style_t fstyle)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 57 of file TPadPainterBase.h.

◆ SetLineColor()

void TPadPainterBase::SetLineColor ( Color_t lcolor)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 47 of file TPadPainterBase.h.

◆ SetLineStyle()

void TPadPainterBase::SetLineStyle ( Style_t lstyle)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 48 of file TPadPainterBase.h.

◆ SetLineWidth()

void TPadPainterBase::SetLineWidth ( Width_t lwidth)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 49 of file TPadPainterBase.h.

◆ SetMarkerColor()

void TPadPainterBase::SetMarkerColor ( Color_t mcolor)
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 79 of file TPadPainterBase.h.

◆ SetMarkerSize()

void TPadPainterBase::SetMarkerSize ( Size_t msize)
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 81 of file TPadPainterBase.h.

◆ SetMarkerStyle()

void TPadPainterBase::SetMarkerStyle ( Style_t mstyle)
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 80 of file TPadPainterBase.h.

◆ SetOpacity()

void TGLPadPainter::SetOpacity ( Int_t percent)
overridevirtual

Delegate to gVirtualX.

Implements TVirtualPadPainter.

Definition at line 73 of file TGLPadPainter.cxx.

◆ SetTextAlign()

void TPadPainterBase::SetTextAlign ( Short_t align)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 67 of file TPadPainterBase.h.

◆ SetTextAngle()

void TPadPainterBase::SetTextAngle ( Float_t tangle)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 68 of file TPadPainterBase.h.

◆ SetTextColor()

void TPadPainterBase::SetTextColor ( Color_t tcolor)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 69 of file TPadPainterBase.h.

◆ SetTextFont()

void TPadPainterBase::SetTextFont ( Font_t tfont)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 70 of file TPadPainterBase.h.

◆ SetTextSize()

void TPadPainterBase::SetTextSize ( Float_t tsize)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 71 of file TPadPainterBase.h.

◆ SetTextSizePixels()

void TPadPainterBase::SetTextSizePixels ( Int_t npixels)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 72 of file TPadPainterBase.h.

◆ Streamer()

void TPadPainterBase::Streamer ( TBuffer & )
overridevirtualinherited

Reimplemented from TVirtualPadPainter.

Reimplemented in TPadPainterPS, and TWebPadPainter.

◆ StreamerNVirtual()

void TPadPainterBase::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inlineinherited

Definition at line 130 of file TPadPainterBase.h.

◆ UpdateDrawable()

void TGLPadPainter::UpdateDrawable ( Int_t mode)
overridevirtual

Call low-level update of selected drawable, redirect to gVirtualX.

Reimplemented from TVirtualPadPainter.

Definition at line 248 of file TGLPadPainter.cxx.

Member Data Documentation

◆ fAttFill

TAttFill TPadPainterBase::fAttFill
protectedinherited

current fill attributes

Definition at line 28 of file TPadPainterBase.h.

◆ fAttLine

TAttLine TPadPainterBase::fAttLine
protectedinherited

current line attributes

Definition at line 29 of file TPadPainterBase.h.

◆ fAttMarker

TAttMarker TPadPainterBase::fAttMarker
protectedinherited

current marker attributes

Definition at line 30 of file TPadPainterBase.h.

◆ fAttText

TAttText TPadPainterBase::fAttText
protectedinherited

current text attributes

Definition at line 31 of file TPadPainterBase.h.

◆ fF

TGLFont TGLPadPainter::fF
private

Definition at line 41 of file TGLPadPainter.h.

◆ fFM

TGLFontManager TGLPadPainter::fFM
private

Definition at line 40 of file TGLPadPainter.h.

◆ fFullyTransparent

Bool_t TPadPainterBase::fFullyTransparent = kFALSE
protectedinherited

if transformed fill attributes fully transparent

Definition at line 32 of file TPadPainterBase.h.

◆ fGlFillAtt

TAttFill TGLPadPainter::fGlFillAtt
private

Definition at line 36 of file TGLPadPainter.h.

◆ fIsHollowArea

Bool_t TGLPadPainter::fIsHollowArea
private

Definition at line 45 of file TGLPadPainter.h.

◆ fLimits

Rgl::Pad::GLLimits TGLPadPainter::fLimits
private

Definition at line 33 of file TGLPadPainter.h.

◆ fLocked

Bool_t TGLPadPainter::fLocked
private

Definition at line 47 of file TGLPadPainter.h.

◆ fPad

TVirtualPad* TPadPainterBase::fPad = nullptr
protectedinherited

Definition at line 26 of file TPadPainterBase.h.

◆ fSSet

Rgl::Pad::PolygonStippleSet TGLPadPainter::fSSet
private

Definition at line 31 of file TGLPadPainter.h.

◆ fTess

Rgl::Pad::Tesselator TGLPadPainter::fTess
private

Definition at line 32 of file TGLPadPainter.h.

◆ fVp

Int_t TGLPadPainter::fVp[4]
private

Definition at line 43 of file TGLPadPainter.h.

◆ fVs

std::vector<Double_t> TGLPadPainter::fVs
private

Definition at line 38 of file TGLPadPainter.h.

◆ fWinContext

WinContext_t TGLPadPainter::fWinContext
private

Definition at line 35 of file TGLPadPainter.h.

Libraries for TGLPadPainter:

The documentation for this class was generated from the following files: