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 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.
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.
const TAttFillGetAttFill () const override
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
 Get 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
 Get text extent.
void GetTextAscentDescent (Font_t font, Double_t size, UInt_t &a, UInt_t &d, const wchar_t *mess) override
 Get text extent.
Color_t GetTextColor () const override
void GetTextExtent (Font_t font, Double_t size, UInt_t &w, UInt_t &h, const char *mess) override
 Get text extent.
void GetTextExtent (Font_t font, Double_t size, UInt_t &w, UInt_t &h, const wchar_t *mess) override
 Get text extent.
Font_t GetTextFont () const override
Float_t GetTextMagnitude () const override
 Delegate to gVirtualX.
Float_t GetTextSize () const override
virtual Bool_t HasTTFonts () const
 Return true if TTF font can be used.
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 SetCursor (Int_t win, ECursor cursor)
 Set cursor for specified device, redirect to gVirtualX.
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 .

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.
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)
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.
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
std::vector< TPointfPoly
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:
TPadPainterBase TVirtualPadPainter

Member Enumeration Documentation

◆ EBoxMode

Enumerator
kHollow 
kFilled 

Definition at line 27 of file TVirtualPadPainter.h.

◆ ETextMode

Enumerator
kClear 
kOpaque 

Definition at line 28 of file TVirtualPadPainter.h.

Constructor & Destructor Documentation

◆ TGLPadPainter() [1/2]

TGLPadPainter::TGLPadPainter ( )

Definition at line 60 of file TGLPadPainter.cxx.

◆ TGLPadPainter() [2/2]

TGLPadPainter::TGLPadPainter ( const TGLPadPainter & rhs)
private

Member Function Documentation

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

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

Definition at line 114 of file TPadPainterBase.h.

◆ ClearDrawable()

void TGLPadPainter::ClearDrawable ( )
overridevirtual

Do nothing, sub-pads not cleared in GL.

Implements TVirtualPadPainter.

Definition at line 159 of file TGLPadPainter.cxx.

◆ ClearWindow()

void TGLPadPainter::ClearWindow ( Int_t device)
overridevirtual

Clear specified window - calling gVirtualX->ClearWindowW.

Reimplemented from TVirtualPadPainter.

Definition at line 166 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 184 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 142 of file TGLPadPainter.cxx.

◆ DeclFileName()

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

Definition at line 114 of file TPadPainterBase.h.

◆ DestroyDrawable()

void TGLPadPainter::DestroyDrawable ( Int_t device)
overridevirtual

Not required at the moment.

Implements TVirtualPadPainter.

Definition at line 192 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 421 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 462 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 492 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 1395 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 1218 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 349 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 1088 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 1166 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 524 of file TGLPadPainter.cxx.

◆ DrawPolyLine() [2/2]

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

Never called?

Implements TVirtualPadPainter.

Definition at line 561 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 583 of file TGLPadPainter.cxx.

◆ DrawPolyMarker() [1/3]

void TGLPadPainter::DrawPolyMarker ( )
private

Poly-marker.

Definition at line 633 of file TGLPadPainter.cxx.

◆ DrawPolyMarker() [2/3]

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

Poly-marker.

Implements TVirtualPadPainter.

Definition at line 611 of file TGLPadPainter.cxx.

◆ DrawPolyMarker() [3/3]

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

Poly-marker.

Implements TVirtualPadPainter.

Definition at line 622 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 1516 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 878 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 892 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 807 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 906 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 965 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.

◆ GetAttFill()

const TAttFill & TPadPainterBase::GetAttFill ( ) const
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 79 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 31 of file TPadPainterBase.cxx.

◆ GetAttLine()

const TAttLine & TPadPainterBase::GetAttLine ( ) const
inlineoverridevirtualinherited

Get line attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 80 of file TPadPainterBase.h.

◆ GetAttMarker()

const TAttMarker & TPadPainterBase::GetAttMarker ( ) const
inlineoverridevirtualinherited

Get marker attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 81 of file TPadPainterBase.h.

◆ GetAttText()

const TAttText & TPadPainterBase::GetAttText ( ) const
inlineoverridevirtualinherited

Get text attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 82 of file TPadPainterBase.h.

◆ GetFillColor()

Color_t TPadPainterBase::GetFillColor ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 46 of file TPadPainterBase.h.

◆ GetFillStyle()

Style_t TPadPainterBase::GetFillStyle ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 47 of file TPadPainterBase.h.

◆ GetLineColor()

Color_t TPadPainterBase::GetLineColor ( ) const
inlineoverridevirtualinherited

old methods only for backward compatibility

Implements TVirtualPadPainter.

Definition at line 37 of file TPadPainterBase.h.

◆ GetLineStyle()

Style_t TPadPainterBase::GetLineStyle ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 38 of file TPadPainterBase.h.

◆ GetLineWidth()

Width_t TPadPainterBase::GetLineWidth ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 39 of file TPadPainterBase.h.

◆ GetMarkerColor()

Color_t TPadPainterBase::GetMarkerColor ( ) const
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 69 of file TPadPainterBase.h.

◆ GetMarkerSize()

Size_t TPadPainterBase::GetMarkerSize ( ) const
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 71 of file TPadPainterBase.h.

◆ GetMarkerStyle()

Style_t TPadPainterBase::GetMarkerStyle ( ) const
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 70 of file TPadPainterBase.h.

◆ GetPS()

virtual TVirtualPS * TVirtualPadPainter::GetPS ( ) const
inlinevirtualinherited

Reimplemented in TPadPainterPS.

Definition at line 161 of file TVirtualPadPainter.h.

◆ GetTextAdvance()

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

Get text advance.

Reimplemented from TVirtualPadPainter.

Definition at line 950 of file TGLPadPainter.cxx.

◆ GetTextAlign()

Short_t TPadPainterBase::GetTextAlign ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 54 of file TPadPainterBase.h.

◆ GetTextAngle()

Float_t TPadPainterBase::GetTextAngle ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 55 of file TPadPainterBase.h.

◆ GetTextAscentDescent() [1/2]

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

Get text extent.

Reimplemented from TVirtualPadPainter.

Definition at line 934 of file TGLPadPainter.cxx.

◆ GetTextAscentDescent() [2/2]

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

Get text extent.

Reimplemented from TVirtualPadPainter.

Definition at line 942 of file TGLPadPainter.cxx.

◆ GetTextColor()

Color_t TPadPainterBase::GetTextColor ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 56 of file TPadPainterBase.h.

◆ GetTextExtent() [1/2]

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

Get text extent.

Reimplemented from TVirtualPadPainter.

Definition at line 918 of file TGLPadPainter.cxx.

◆ GetTextExtent() [2/2]

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

Get text extent.

Reimplemented from TVirtualPadPainter.

Definition at line 926 of file TGLPadPainter.cxx.

◆ GetTextFont()

Font_t TPadPainterBase::GetTextFont ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 57 of file TPadPainterBase.h.

◆ GetTextMagnitude()

Float_t TGLPadPainter::GetTextMagnitude ( ) const
overridevirtual

Delegate to gVirtualX.

Implements TVirtualPadPainter.

Definition at line 81 of file TGLPadPainter.cxx.

◆ GetTextSize()

Float_t TPadPainterBase::GetTextSize ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 58 of file TPadPainterBase.h.

◆ HasTTFonts()

Bool_t TVirtualPadPainter::HasTTFonts ( ) const
virtualinherited

Return true if TTF font can be used.

Reimplemented in TPadPainterPS, and TWebPadPainter.

Definition at line 218 of file TVirtualPadPainter.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 276 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 315 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 114 of file TPadPainterBase.h.

◆ IsCocoa()

Bool_t TGLPadPainter::IsCocoa ( ) const
overridevirtual

Returns true when cocoa backend is used.

Reimplemented from TVirtualPadPainter.

Definition at line 176 of file TGLPadPainter.cxx.

◆ IsNative()

Bool_t TGLPadPainter::IsNative ( ) const
inlineoverridevirtual

Reimplemented from TVirtualPadPainter.

Definition at line 126 of file TGLPadPainter.h.

◆ IsSupportAlpha()

Bool_t TGLPadPainter::IsSupportAlpha ( ) const
inlineoverridevirtual

Reimplemented from TVirtualPadPainter.

Definition at line 130 of file TGLPadPainter.h.

◆ IsTransparent()

Bool_t TPadPainterBase::IsTransparent ( ) const
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 48 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 332 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 89 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 151 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 1012 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 990 of file TGLPadPainter.cxx.

◆ RestoreViewport()

void TGLPadPainter::RestoreViewport ( )
private

Restore the saved viewport.

Definition at line 1029 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 1037 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 1001 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 979 of file TGLPadPainter.cxx.

◆ SaveViewport()

void TGLPadPainter::SaveViewport ( )
private

Extract and save the current viewport.

Definition at line 1021 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 205 of file TGLPadPainter.cxx.

◆ SelectGLFont()

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

Select specified font/size.

Definition at line 783 of file TGLPadPainter.cxx.

◆ SetAttFill()

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

Set fill attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 100 of file TGLPadPainter.cxx.

◆ SetAttLine()

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

Set line attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 114 of file TGLPadPainter.cxx.

◆ SetAttMarker()

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

Set marker attributes.

Reimplemented from TVirtualPadPainter.

Definition at line 126 of file TGLPadPainter.cxx.

◆ SetAttText()

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

Set text attributes.

Reimplemented from TVirtualPadPainter.

Reimplemented in TPadPainterPS.

Definition at line 102 of file TPadPainterBase.h.

◆ SetCursor()

void TVirtualPadPainter::SetCursor ( Int_t win,
ECursor cursor )
virtualinherited

Set cursor for specified device, redirect to gVirtualX.

Definition at line 208 of file TVirtualPadPainter.cxx.

◆ 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 257 of file TGLPadPainter.cxx.

◆ SetFillColor()

void TPadPainterBase::SetFillColor ( Color_t fcolor)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 50 of file TPadPainterBase.h.

◆ SetFillStyle()

void TPadPainterBase::SetFillStyle ( Style_t fstyle)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 51 of file TPadPainterBase.h.

◆ SetLineColor()

void TPadPainterBase::SetLineColor ( Color_t lcolor)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 41 of file TPadPainterBase.h.

◆ SetLineStyle()

void TPadPainterBase::SetLineStyle ( Style_t lstyle)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 42 of file TPadPainterBase.h.

◆ SetLineWidth()

void TPadPainterBase::SetLineWidth ( Width_t lwidth)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 43 of file TPadPainterBase.h.

◆ SetMarkerColor()

void TPadPainterBase::SetMarkerColor ( Color_t mcolor)
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 73 of file TPadPainterBase.h.

◆ SetMarkerSize()

void TPadPainterBase::SetMarkerSize ( Size_t msize)
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 75 of file TPadPainterBase.h.

◆ SetMarkerStyle()

void TPadPainterBase::SetMarkerStyle ( Style_t mstyle)
inlineoverridevirtualinherited

Reimplemented from TVirtualPadPainter.

Definition at line 74 of file TPadPainterBase.h.

◆ SetOpacity()

void TGLPadPainter::SetOpacity ( Int_t percent)
overridevirtual

Delegate to gVirtualX.

Implements TVirtualPadPainter.

Definition at line 72 of file TGLPadPainter.cxx.

◆ SetTextAlign()

void TPadPainterBase::SetTextAlign ( Short_t align)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 61 of file TPadPainterBase.h.

◆ SetTextAngle()

void TPadPainterBase::SetTextAngle ( Float_t tangle)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 62 of file TPadPainterBase.h.

◆ SetTextColor()

void TPadPainterBase::SetTextColor ( Color_t tcolor)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 63 of file TPadPainterBase.h.

◆ SetTextFont()

void TPadPainterBase::SetTextFont ( Font_t tfont)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 64 of file TPadPainterBase.h.

◆ SetTextSize()

void TPadPainterBase::SetTextSize ( Float_t tsize)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 65 of file TPadPainterBase.h.

◆ SetTextSizePixels()

void TPadPainterBase::SetTextSizePixels ( Int_t npixels)
inlineoverridevirtualinherited

Implements TVirtualPadPainter.

Definition at line 66 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 114 of file TPadPainterBase.h.

◆ TextAscentDescentHelper()

template<class Char_t>
void TGLPadPainter::TextAscentDescentHelper ( Font_t font,
Double_t size,
UInt_t & a,
UInt_t & d,
const Char_t * text )
private

Helper function to get text ascent / descent.

Definition at line 858 of file TGLPadPainter.cxx.

◆ TextExtentHelper()

template<class Char_t>
void TGLPadPainter::TextExtentHelper ( Font_t font,
Double_t size,
UInt_t & w,
UInt_t & h,
const Char_t * text )
private

Helper function to get text extent.

Definition at line 840 of file TGLPadPainter.cxx.

◆ UpdateDrawable()

void TGLPadPainter::UpdateDrawable ( Int_t mode)
overridevirtual

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

Reimplemented from TVirtualPadPainter.

Definition at line 247 of file TGLPadPainter.cxx.

Member Data Documentation

◆ fAttFill

TAttFill TPadPainterBase::fAttFill
protectedinherited

current fill attributes

Definition at line 23 of file TPadPainterBase.h.

◆ fAttLine

TAttLine TPadPainterBase::fAttLine
protectedinherited

current line attributes

Definition at line 24 of file TPadPainterBase.h.

◆ fAttMarker

TAttMarker TPadPainterBase::fAttMarker
protectedinherited

current marker attributes

Definition at line 25 of file TPadPainterBase.h.

◆ fAttText

TAttText TPadPainterBase::fAttText
protectedinherited

current text attributes

Definition at line 26 of file TPadPainterBase.h.

◆ fF

TGLFont TGLPadPainter::fF
private

Definition at line 42 of file TGLPadPainter.h.

◆ fFM

TGLFontManager TGLPadPainter::fFM
private

Definition at line 41 of file TGLPadPainter.h.

◆ fFullyTransparent

Bool_t TPadPainterBase::fFullyTransparent = kFALSE
protectedinherited

if transformed fill attributes fully transparent

Definition at line 27 of file TPadPainterBase.h.

◆ fGlFillAtt

TAttFill TGLPadPainter::fGlFillAtt
private

Definition at line 37 of file TGLPadPainter.h.

◆ fIsHollowArea

Bool_t TGLPadPainter::fIsHollowArea
private

Definition at line 47 of file TGLPadPainter.h.

◆ fLimits

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

Definition at line 34 of file TGLPadPainter.h.

◆ fLocked

Bool_t TGLPadPainter::fLocked
private

Definition at line 49 of file TGLPadPainter.h.

◆ fMarker

Rgl::Pad::MarkerPainter TGLPadPainter::fMarker
private

Definition at line 33 of file TGLPadPainter.h.

◆ fPoly

std::vector<TPoint> TGLPadPainter::fPoly
private

Definition at line 46 of file TGLPadPainter.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 44 of file TGLPadPainter.h.

◆ fVs

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

Definition at line 39 of file TGLPadPainter.h.

◆ fWinContext

WinContext_t TGLPadPainter::fWinContext
private

Definition at line 36 of file TGLPadPainter.h.


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