LibreOffice Module vcl (master)  1
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
X11OpenGLSalGraphicsImpl Class Reference

#include <gdiimpl.hxx>

Inheritance diagram for X11OpenGLSalGraphicsImpl:
[legend]
Collaboration diagram for X11OpenGLSalGraphicsImpl:
[legend]

Public Member Functions

 X11OpenGLSalGraphicsImpl (X11SalGraphics &rParent)
 
virtual ~X11OpenGLSalGraphicsImpl () override
 
virtual void copyBits (const SalTwoRect &rPosAry, SalGraphics *pSrcGraphics) override
 
virtual void Init () override
 
- Public Member Functions inherited from OpenGLSalGraphicsImpl
bool UseProgram (const OUString &rVertexShader, const OUString &rFragmentShader, const OString &preamble="")
 
bool UseSolid (Color nColor, sal_uInt8 nTransparency)
 
bool UseSolid (Color nColor, double fTransparency)
 
bool UseSolid (Color nColor)
 
void UseSolid ()
 
bool UseLine (Color nColor, double fTransparency, GLfloat fLineWidth, bool bUseAA)
 
void UseLine (GLfloat fLineWidth, bool bUseAA)
 
bool UseInvert50 ()
 
bool UseInvert (SalInvert nFlags)
 
void DrawConvexPolygon (sal_uInt32 nPoints, const SalPoint *pPtAry, bool blockAA=false)
 
void DrawConvexPolygon (const tools::Polygon &rPolygon, bool blockAA)
 
void DrawTrapezoid (const basegfx::B2DTrapezoid &trapezoid, bool blockAA)
 
void DrawRect (long nX, long nY, long nWidth, long nHeight)
 
void DrawRect (const tools::Rectangle &rRect)
 
void DrawPolygon (sal_uInt32 nPoints, const SalPoint *pPtAry)
 
void DrawLineSegment (float x1, float y1, float x2, float y2)
 
void DrawPolyPolygon (const basegfx::B2DPolyPolygon &rPolyPolygon, bool blockAA=false)
 
void DrawRegionBand (const RegionBand &rRegion)
 
void DrawTextureRect (const SalTwoRect &rPosAry)
 
void DrawTexture (OpenGLTexture &rTexture, const SalTwoRect &rPosAry, bool bInverted=false)
 
void DrawTransformedTexture (OpenGLTexture &rTexture, OpenGLTexture &rMask, const basegfx::B2DPoint &rNull, const basegfx::B2DPoint &rX, const basegfx::B2DPoint &rY)
 
void DrawAlphaTexture (OpenGLTexture &rTexture, const SalTwoRect &rPosAry, bool bInverted, bool pPremultiplied)
 
void DrawTextureDiff (OpenGLTexture &rTexture, OpenGLTexture &rMask, const SalTwoRect &rPosAry, bool bInverted)
 
void DrawTextureWithMask (OpenGLTexture &rTexture, OpenGLTexture &rMask, const SalTwoRect &rPosAry)
 
void DrawBlendedTexture (OpenGLTexture &rTexture, OpenGLTexture &rMask, OpenGLTexture &rAlpha, const SalTwoRect &rPosAry)
 
void DrawMask (OpenGLTexture &rTexture, Color nMaskColor, const SalTwoRect &rPosAry)
 
void DrawLinearGradient (const Gradient &rGradient, const tools::Rectangle &rRect)
 
void DrawAxialGradient (const Gradient &rGradient, const tools::Rectangle &rRect)
 
void DrawRadialGradient (const Gradient &rGradient, const tools::Rectangle &rRect)
 
void DeferredTextDraw (OpenGLTexture const &rTexture, const Color nMaskColor, const SalTwoRect &rPosAry)
 
void FlushDeferredDrawing ()
 
void FlushLinesOrTriangles (DrawShaderType eType, RenderParameters const &rParameters)
 
GLfloat GetWidth () const
 
GLfloat GetHeight () const
 
bool IsOffscreen () const
 check whether this instance is used for offscreen (Virtual Device) rendering ie. More...
 
void InitializePreDrawState (XOROption eOpt)
 
void PreDraw (XOROption eOpt=IGNORE_XOR)
 
void PostDraw ()
 
void PostBatchDraw ()
 
 OpenGLSalGraphicsImpl (SalGraphics &pParent, SalGeometryProvider *pProvider)
 
virtual ~OpenGLSalGraphicsImpl () override
 
rtl::Reference< OpenGLContextGetOpenGLContext ()
 
virtual void DeInit () override
 
virtual void freeResources () override
 
const vcl::RegiongetClipRegion () const
 
virtual bool setClipRegion (const vcl::Region &) override
 
virtual sal_uInt16 GetBitCount () const override
 
virtual long GetGraphicsWidth () const override
 
virtual void ResetClipRegion () override
 
virtual void SetLineColor () override
 
virtual void SetLineColor (Color nColor) override
 
virtual void SetFillColor () override
 
virtual void SetFillColor (Color nColor) override
 
virtual void SetXORMode (bool bSet, bool bInvertOnly) override
 
virtual void SetROPLineColor (SalROPColor nROPColor) override
 
virtual void SetROPFillColor (SalROPColor nROPColor) override
 
virtual void drawPixel (long nX, long nY) override
 
virtual void drawPixel (long nX, long nY, Color nColor) override
 
virtual void drawLine (long nX1, long nY1, long nX2, long nY2) override
 
virtual void drawRect (long nX, long nY, long nWidth, long nHeight) override
 
virtual void drawPolyLine (sal_uInt32 nPoints, const SalPoint *pPtAry) override
 
virtual void drawPolygon (sal_uInt32 nPoints, const SalPoint *pPtAry) override
 
virtual void drawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, PCONSTSALPOINT *pPtAry) override
 
virtual bool drawPolyPolygon (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolyPolygon &, double fTransparency) override
 
virtual bool drawPolyLine (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolygon &, double fTransparency, const basegfx::B2DVector &rLineWidths, basegfx::B2DLineJoin, css::drawing::LineCap, double fMiterMinimumAngle, bool bPixelSnapHairline) override
 
virtual bool drawPolyLineBezier (sal_uInt32 nPoints, const SalPoint *pPtAry, const PolyFlags *pFlgAry) override
 
virtual bool drawPolygonBezier (sal_uInt32 nPoints, const SalPoint *pPtAry, const PolyFlags *pFlgAry) override
 
virtual bool drawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const SalPoint *const *pPtAry, const PolyFlags *const *pFlgAry) override
 
virtual void copyArea (long nDestX, long nDestY, long nSrcX, long nSrcY, long nSrcWidth, long nSrcHeight, bool bWindowInvalidate) override
 
void DoCopyBits (const SalTwoRect &rPosAry, OpenGLSalGraphicsImpl &rSrcImpl)
 
virtual bool blendBitmap (const SalTwoRect &, const SalBitmap &rBitmap) override
 
virtual bool blendAlphaBitmap (const SalTwoRect &, const SalBitmap &rSrcBitmap, const SalBitmap &rMaskBitmap, const SalBitmap &rAlphaBitmap) override
 
virtual void drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap) override
 
virtual void drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rMaskBitmap) override
 
virtual void drawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor) override
 
virtual std::shared_ptr< SalBitmapgetBitmap (long nX, long nY, long nWidth, long nHeight) override
 
virtual Color getPixel (long nX, long nY) override
 
virtual void invert (long nX, long nY, long nWidth, long nHeight, SalInvert nFlags) override
 
virtual void invert (sal_uInt32 nPoints, const SalPoint *pPtAry, SalInvert nFlags) override
 
virtual bool drawEPS (long nX, long nY, long nWidth, long nHeight, void *pPtr, sal_uInt32 nSize) override
 
virtual bool drawAlphaBitmap (const SalTwoRect &, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap) override
 Render bitmap with alpha channel. More...
 
virtual bool drawTransformedBitmap (const basegfx::B2DPoint &rNull, const basegfx::B2DPoint &rX, const basegfx::B2DPoint &rY, const SalBitmap &rSourceBitmap, const SalBitmap *pAlphaBitmap) override
 draw transformed bitmap (maybe with alpha) where Null, X, Y define the coordinate system More...
 
virtual bool drawAlphaRect (long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency) override
 Render solid rectangle with given transparency. More...
 
virtual bool drawGradient (const tools::PolyPolygon &rPolygon, const Gradient &rGradient) override
 
void flush ()
 queue an idle flush of contents of the back-buffer to the screen More...
 
void doFlush ()
 do flush of contents of the back-buffer to the screen & swap. More...
 
- Public Member Functions inherited from SalGraphicsImpl
virtual ~SalGraphicsImpl ()
 
- Public Member Functions inherited from X11GraphicsImpl
virtual ~X11GraphicsImpl ()
 

Protected Member Functions

virtual rtl::Reference< OpenGLContextCreateWinContext () override
 create a new context for rendering to the underlying window More...
 
- Protected Member Functions inherited from OpenGLSalGraphicsImpl
void ImplInitClipRegion ()
 
void ImplSetClipBit (const vcl::Region &rClip, GLuint nMask)
 
void ImplDrawLineAA (double nX1, double nY1, double nX2, double nY2, bool edge)
 
void CheckOffscreenTexture ()
 
void ApplyProgramMatrices (float fPixelOffset=0.0)
 
bool AcquireContext (bool bForceCreate=false)
 
void ReleaseContext ()
 

Private Attributes

X11SalGraphicsmrX11Parent
 

Additional Inherited Members

- Public Types inherited from OpenGLSalGraphicsImpl
enum  XOROption {
  IGNORE_XOR,
  IMPLEMENT_XOR
}
 Oddly not all operations obey the XOR option. More...
 
- Static Protected Member Functions inherited from OpenGLSalGraphicsImpl
static bool UseContext (const rtl::Reference< OpenGLContext > &pContext)
 check whether the given context can be used for off-screen rendering More...
 
- Protected Attributes inherited from OpenGLSalGraphicsImpl
rtl::Reference< OpenGLContextmpWindowContext
 This context is solely for blitting maOffscreenTex. More...
 
rtl::Reference< OpenGLContextmpContext
 This context is whatever is most convenient to render to maOffscreenTex with. More...
 
SalGraphicsmrParent
 
SalGeometryProvidermpProvider
 Pointer to the SalFrame or SalVirtualDevice. More...
 
OpenGLProgrammpProgram
 
std::unique_ptr< OpenGLFlushIdle > mpFlush
 This idle handler is used to swap buffers after rendering. More...
 
vcl::Region maClipRegion
 
bool mbUseScissor
 
bool mbUseStencil
 
bool mbXORMode
 
bool mbAcquiringOpenGLContext
 
OpenGLTexture maOffscreenTex
 All rendering happens to this off-screen texture. More...
 
Color mnLineColor
 
Color mnFillColor
 
bool mProgramIsSolidColor
 
sal_uInt32 mnDrawCount
 
sal_uInt32 mnDrawCountAtFlush
 
Color mProgramSolidColor
 
double mProgramSolidTransparency
 
std::unique_ptr< RenderListmpRenderList
 

Detailed Description

Definition at line 22 of file x11/gdiimpl.hxx.

Constructor & Destructor Documentation

X11OpenGLSalGraphicsImpl::X11OpenGLSalGraphicsImpl ( X11SalGraphics rParent)
virtual X11OpenGLSalGraphicsImpl::~X11OpenGLSalGraphicsImpl ( )
overridevirtual

Member Function Documentation

virtual void X11OpenGLSalGraphicsImpl::copyBits ( const SalTwoRect rPosAry,
SalGraphics pSrcGraphics 
)
overridevirtual

Implements SalGraphicsImpl.

virtual rtl::Reference<OpenGLContext> X11OpenGLSalGraphicsImpl::CreateWinContext ( )
overrideprotectedvirtual

create a new context for rendering to the underlying window

Implements OpenGLSalGraphicsImpl.

virtual void X11OpenGLSalGraphicsImpl::Init ( )
overridevirtual

Reimplemented from OpenGLSalGraphicsImpl.

Member Data Documentation

X11SalGraphics& X11OpenGLSalGraphicsImpl::mrX11Parent
private

Definition at line 25 of file x11/gdiimpl.hxx.


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