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

#include <salgdi.hxx>

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

Public Member Functions

 SalGraphics ()
 
 ~SalGraphics () override
 
virtual SalGraphicsImplGetImpl () const =0
 
rtl::Reference< OpenGLContextGetOpenGLContext () const
 Check that our mpImpl is OpenGL and return the context, otherwise NULL. More...
 
void setAntiAliasB2DDraw (bool bNew)
 
bool getAntiAliasB2DDraw () const
 
virtual void GetResolution (sal_Int32 &rDPIX, sal_Int32 &rDPIY)=0
 
virtual sal_uInt16 GetBitCount () const =0
 
virtual long GetGraphicsWidth () const =0
 
virtual void ResetClipRegion ()=0
 
virtual void SetLineColor ()=0
 
virtual void SetLineColor (Color nColor)=0
 
virtual void SetFillColor ()=0
 
virtual void SetFillColor (Color nColor)=0
 
virtual void SetXORMode (bool bSet, bool bInvertOnly)=0
 
virtual void SetROPLineColor (SalROPColor nROPColor)=0
 
virtual void SetROPFillColor (SalROPColor nROPColor)=0
 
virtual void SetTextColor (Color nColor)=0
 
virtual void SetFont (LogicalFontInstance *, int nFallbackLevel)=0
 
void ReleaseFonts ()
 
virtual void GetFontMetric (ImplFontMetricDataRef &, int nFallbackLevel)=0
 
virtual FontCharMapRef GetFontCharMap () const =0
 
virtual bool GetFontCapabilities (vcl::FontCapabilities &rFontCapabilities) const =0
 
virtual void GetDevFontList (PhysicalFontCollection *)=0
 
virtual void ClearDevFontCache ()=0
 
virtual bool AddTempDevFont (PhysicalFontCollection *, const OUString &rFileURL, const OUString &rFontName)=0
 
virtual bool CreateFontSubset (const OUString &rToFile, const PhysicalFontFace *pFont, const sal_GlyphId *pGlyphIDs, const sal_uInt8 *pEncoding, sal_Int32 *pWidths, int nGlyphs, FontSubsetInfo &rInfo)=0
 
virtual const voidGetEmbedFontData (const PhysicalFontFace *pFont, long *pDataLen)=0
 
virtual void FreeEmbedFontData (const void *pData, long nDataLen)=0
 
virtual void GetGlyphWidths (const PhysicalFontFace *pFont, bool bVertical, std::vector< sal_Int32 > &rWidths, Ucs2UIntMap &rUnicodeEnc)=0
 
virtual std::unique_ptr< GenericSalLayoutGetTextLayout (int nFallbackLevel)=0
 
virtual void DrawTextLayout (const GenericSalLayout &)=0
 
virtual bool supportsOperation (OutDevSupportType) const =0
 
SalLayoutFlags GetLayout () const
 
void SetLayout (SalLayoutFlags aLayout)
 
void mirror (long &nX, const OutputDevice *pOutDev) const
 
long mirror2 (long nX, const OutputDevice *pOutDev) const
 
void mirror (long &nX, long nWidth, const OutputDevice *pOutDev, bool bBack=false) const
 
bool mirror (sal_uInt32 nPoints, const SalPoint *pPtAry, SalPoint *pPtAry2, const OutputDevice *pOutDev) const
 
void mirror (tools::Rectangle &rRect, const OutputDevice *, bool bBack=false) const
 
void mirror (vcl::Region &rRgn, const OutputDevice *pOutDev) const
 
void mirror (ImplControlValue &, const OutputDevice *) const
 
basegfx::B2DPoint mirror (const basegfx::B2DPoint &i_rPoint, const OutputDevice *pOutDev) const
 
basegfx::B2DPolyPolygon mirror (const basegfx::B2DPolyPolygon &i_rPoly, const OutputDevice *pOutDev) const
 
const basegfx::B2DHomMatrixgetMirror (const OutputDevice *pOutDev) const
 
basegfx::B2DHomMatrix mirror (const basegfx::B2DHomMatrix &i_rMatrix, const OutputDevice *pOutDev) const
 
bool SetClipRegion (const vcl::Region &, const OutputDevice *pOutDev)
 
void DrawPixel (long nX, long nY, const OutputDevice *pOutDev)
 
void DrawPixel (long nX, long nY, Color nColor, const OutputDevice *pOutDev)
 
void DrawLine (long nX1, long nY1, long nX2, long nY2, const OutputDevice *pOutDev)
 
void DrawRect (long nX, long nY, long nWidth, long nHeight, const OutputDevice *pOutDev)
 
void DrawPolyLine (sal_uInt32 nPoints, SalPoint const *pPtAry, const OutputDevice *pOutDev)
 
void DrawPolygon (sal_uInt32 nPoints, const SalPoint *pPtAry, const OutputDevice *pOutDev)
 
void DrawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, PCONSTSALPOINT *pPtAry, const OutputDevice *pOutDev)
 
bool DrawPolyPolygon (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolyPolygon &i_rPolyPolygon, double i_fTransparency, const OutputDevice *i_pOutDev)
 
bool DrawPolyLine (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolygon &i_rPolygon, double i_fTransparency, const basegfx::B2DVector &i_rLineWidth, basegfx::B2DLineJoin i_eLineJoin, css::drawing::LineCap i_eLineCap, double i_fMiterMinimumAngle, bool bPixelSnapHairline, const OutputDevice *i_pOutDev)
 
bool DrawPolyLineBezier (sal_uInt32 nPoints, const SalPoint *pPtAry, const PolyFlags *pFlgAry, const OutputDevice *pOutDev)
 
bool DrawPolygonBezier (sal_uInt32 nPoints, const SalPoint *pPtAry, const PolyFlags *pFlgAry, const OutputDevice *pOutDev)
 
bool DrawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const SalPoint *const *pPtAry, const PolyFlags *const *pFlgAry, const OutputDevice *pOutDev)
 
bool DrawGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient)
 
void CopyArea (long nDestX, long nDestY, long nSrcX, long nSrcY, long nSrcWidth, long nSrcHeight, const OutputDevice *pOutDev)
 
void CopyBits (const SalTwoRect &rPosAry, SalGraphics *pSrcGraphics, const OutputDevice *pOutDev, const OutputDevice *pSrcOutDev)
 
void DrawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const OutputDevice *pOutDev)
 
void DrawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rTransparentBitmap, const OutputDevice *pOutDev)
 
void DrawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor, const OutputDevice *pOutDev)
 
std::shared_ptr< SalBitmapGetBitmap (long nX, long nY, long nWidth, long nHeight, const OutputDevice *pOutDev)
 
Color GetPixel (long nX, long nY, const OutputDevice *pOutDev)
 
void Invert (long nX, long nY, long nWidth, long nHeight, SalInvert nFlags, const OutputDevice *pOutDev)
 
void Invert (sal_uInt32 nPoints, const SalPoint *pPtAry, SalInvert nFlags, const OutputDevice *pOutDev)
 
bool DrawEPS (long nX, long nY, long nWidth, long nHeight, void *pPtr, sal_uInt32 nSize, const OutputDevice *pOutDev)
 
bool IsNativeControlSupported (ControlType, ControlPart)
 
bool HitTestNativeScrollbar (ControlPart nPart, const tools::Rectangle &rControlRegion, const Point &aPos, bool &rIsInside, const OutputDevice *pOutDev)
 
bool DrawNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const OutputDevice *pOutDev)
 
bool GetNativeControlRegion (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion, const OutputDevice *pOutDev)
 
bool UpdateSettings (AllSettings &)
 
bool BlendBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const OutputDevice *pOutDev)
 
bool BlendAlphaBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalSrcBitmap, const SalBitmap &rSalMaskBitmap, const SalBitmap &rSalAlphaBitmap, const OutputDevice *pOutDev)
 
bool DrawAlphaBitmap (const SalTwoRect &, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap, const OutputDevice *pOutDev)
 
bool DrawTransformedBitmap (const basegfx::B2DPoint &rNull, const basegfx::B2DPoint &rX, const basegfx::B2DPoint &rY, const SalBitmap &rSourceBitmap, const SalBitmap *pAlphaBitmap, const OutputDevice *pOutDev)
 
bool DrawAlphaRect (long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency, const OutputDevice *pOutDev)
 
virtual SystemGraphicsData GetGraphicsData () const =0
 

Protected Member Functions

virtual bool setClipRegion (const vcl::Region &)=0
 
virtual void drawPixel (long nX, long nY)=0
 
virtual void drawPixel (long nX, long nY, Color nColor)=0
 
virtual void drawLine (long nX1, long nY1, long nX2, long nY2)=0
 
virtual void drawRect (long nX, long nY, long nWidth, long nHeight)=0
 
virtual void drawPolyLine (sal_uInt32 nPoints, const SalPoint *pPtAry)=0
 
virtual void drawPolygon (sal_uInt32 nPoints, const SalPoint *pPtAry)=0
 
virtual void drawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, PCONSTSALPOINT *pPtAry)=0
 
virtual bool drawPolyPolygon (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolyPolygon &, double fTransparency)=0
 
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)=0
 
virtual bool drawPolyLineBezier (sal_uInt32 nPoints, const SalPoint *pPtAry, const PolyFlags *pFlgAry)=0
 
virtual bool drawPolygonBezier (sal_uInt32 nPoints, const SalPoint *pPtAry, const PolyFlags *pFlgAry)=0
 
virtual bool drawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const SalPoint *const *pPtAry, const PolyFlags *const *pFlgAry)=0
 
virtual bool drawGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient)=0
 
virtual void copyArea (long nDestX, long nDestY, long nSrcX, long nSrcY, long nSrcWidth, long nSrcHeight, bool bWindowInvalidate)=0
 
virtual void copyBits (const SalTwoRect &rPosAry, SalGraphics *pSrcGraphics)=0
 
virtual void drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap)=0
 
virtual void drawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rMaskBitmap)=0
 
virtual void drawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor)=0
 
virtual std::shared_ptr< SalBitmapgetBitmap (long nX, long nY, long nWidth, long nHeight)=0
 
virtual Color getPixel (long nX, long nY)=0
 
virtual void invert (long nX, long nY, long nWidth, long nHeight, SalInvert nFlags)=0
 
virtual void invert (sal_uInt32 nPoints, const SalPoint *pPtAry, SalInvert nFlags)=0
 
virtual bool drawEPS (long nX, long nY, long nWidth, long nHeight, void *pPtr, sal_uInt32 nSize)=0
 
virtual bool blendBitmap (const SalTwoRect &, const SalBitmap &rBitmap)=0
 Blend the bitmap with the current buffer. More...
 
virtual bool blendAlphaBitmap (const SalTwoRect &, const SalBitmap &rSrcBitmap, const SalBitmap &rMaskBitmap, const SalBitmap &rAlphaBitmap)=0
 Draw the bitmap by blending using the mask and alpha channel. More...
 
virtual bool drawAlphaBitmap (const SalTwoRect &, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap)=0
 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)=0
 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)=0
 Render solid rectangle with given transparency. More...
 
long GetDeviceWidth (const OutputDevice *pOutDev) const
 
virtual void handleDamage (const tools::Rectangle &rDamagedRegion)
 Handle damage done by drawing with a widget draw override. More...
 
bool initWidgetDrawBackends (bool bForce=false)
 
vcl::WidgetDrawInterfaceforWidget ()
 
- Protected Member Functions inherited from vcl::WidgetDrawInterface
virtual ~WidgetDrawInterface ()
 
virtual bool isNativeControlSupported (ControlType eType, ControlPart ePart)
 Query the platform layer for native control support. More...
 
virtual bool hitTestNativeControl (ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, const Point &aPos, bool &rIsInside)
 Query if a position is inside the native widget part. More...
 
virtual bool drawNativeControl (ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, ControlState eState, const ImplControlValue &aValue, const OUString &aCaptions)
 Draw the requested control. More...
 
virtual bool getNativeControlRegion (ControlType eType, ControlPart ePart, const tools::Rectangle &rBoundingControlRegion, ControlState eState, const ImplControlValue &aValue, const OUString &aCaption, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion)
 Get the native control regions for the control part. More...
 
virtual bool updateSettings (AllSettings &rSettings)
 

Protected Attributes

bool m_bAntiAliasB2DDraw: 1
 flags which hold the SetAntialiasing() value from OutputDevice More...
 
std::unique_ptr< vcl::WidgetDrawInterfacem_pWidgetDraw
 

Private Attributes

SalLayoutFlags m_nLayout
 
basegfx::B2DHomMatrix m_aLastMirror
 
long m_aLastMirrorW
 

Detailed Description

Definition at line 72 of file salgdi.hxx.

Constructor & Destructor Documentation

SalGraphics::SalGraphics ( )

Definition at line 54 of file salgdilayout.cxx.

References BiDiRtl, AllSettings::GetLayoutRTL(), m_nLayout, and NONE.

SalGraphics::~SalGraphics ( )
override

Definition at line 83 of file salgdilayout.cxx.

Member Function Documentation

virtual bool SalGraphics::AddTempDevFont ( PhysicalFontCollection ,
const OUString &  rFileURL,
const OUString &  rFontName 
)
pure virtual
bool SalGraphics::BlendAlphaBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalSrcBitmap,
const SalBitmap rSalMaskBitmap,
const SalBitmap rSalAlphaBitmap,
const OutputDevice pOutDev 
)
virtual bool SalGraphics::blendAlphaBitmap ( const SalTwoRect ,
const SalBitmap rSrcBitmap,
const SalBitmap rMaskBitmap,
const SalBitmap rAlphaBitmap 
)
protectedpure virtual

Draw the bitmap by blending using the mask and alpha channel.

Implemented in WinSalGraphics, AquaSalGraphics, X11SalGraphics, GenPspGraphics, Qt5Graphics, and SvpSalGraphics.

Referenced by BlendAlphaBitmap().

bool SalGraphics::BlendBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const OutputDevice pOutDev 
)
virtual bool SalGraphics::blendBitmap ( const SalTwoRect ,
const SalBitmap rBitmap 
)
protectedpure virtual

Blend the bitmap with the current buffer.

Implemented in WinSalGraphics, AquaSalGraphics, X11SalGraphics, GenPspGraphics, Qt5Graphics, and SvpSalGraphics.

Referenced by BlendBitmap().

virtual void SalGraphics::ClearDevFontCache ( )
pure virtual
void SalGraphics::CopyArea ( long  nDestX,
long  nDestY,
long  nSrcX,
long  nSrcY,
long  nSrcWidth,
long  nSrcHeight,
const OutputDevice pOutDev 
)
virtual void SalGraphics::copyArea ( long  nDestX,
long  nDestY,
long  nSrcX,
long  nSrcY,
long  nSrcWidth,
long  nSrcHeight,
bool  bWindowInvalidate 
)
protectedpure virtual
void SalGraphics::CopyBits ( const SalTwoRect rPosAry,
SalGraphics pSrcGraphics,
const OutputDevice pOutDev,
const OutputDevice pSrcOutDev 
)
virtual void SalGraphics::copyBits ( const SalTwoRect rPosAry,
SalGraphics pSrcGraphics 
)
protectedpure virtual
virtual bool SalGraphics::CreateFontSubset ( const OUString &  rToFile,
const PhysicalFontFace pFont,
const sal_GlyphId pGlyphIDs,
const sal_uInt8 pEncoding,
sal_Int32 *  pWidths,
int  nGlyphs,
FontSubsetInfo rInfo 
)
pure virtual
bool SalGraphics::DrawAlphaBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSourceBitmap,
const SalBitmap rAlphaBitmap,
const OutputDevice pOutDev 
)
virtual bool SalGraphics::drawAlphaBitmap ( const SalTwoRect ,
const SalBitmap rSourceBitmap,
const SalBitmap rAlphaBitmap 
)
protectedpure virtual

Render bitmap with alpha channel.

Parameters
rSourceBitmapSource bitmap to blit
rAlphaBitmapAlpha channel to use for blitting
Returns
true, if the operation succeeded, and false otherwise. In this case, clients should try to emulate alpha compositing themselves

Implemented in WinSalGraphics, AquaSalGraphics, X11SalGraphics, GenPspGraphics, Qt5Graphics, and SvpSalGraphics.

Referenced by DrawAlphaBitmap().

bool SalGraphics::DrawAlphaRect ( long  nX,
long  nY,
long  nWidth,
long  nHeight,
sal_uInt8  nTransparency,
const OutputDevice pOutDev 
)
virtual bool SalGraphics::drawAlphaRect ( long  nX,
long  nY,
long  nWidth,
long  nHeight,
sal_uInt8  nTransparency 
)
protectedpure virtual

Render solid rectangle with given transparency.

Parameters
nXTop left coordinate of rectangle
nYBottom right coordinate of rectangle
nWidthWidth of rectangle
nHeightHeight of rectangle
nTransparencyTransparency value (0-255) to use. 0 blits and opaque, 255 a fully transparent rectangle
Returns
true if successfully drawn, false if not able to draw rectangle

Implemented in WinSalGraphics, AquaSalGraphics, X11SalGraphics, GenPspGraphics, Qt5Graphics, and SvpSalGraphics.

Referenced by DrawAlphaRect().

void SalGraphics::DrawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const OutputDevice pOutDev 
)
void SalGraphics::DrawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const SalBitmap rTransparentBitmap,
const OutputDevice pOutDev 
)
virtual void SalGraphics::drawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap 
)
protectedpure virtual
virtual void SalGraphics::drawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const SalBitmap rMaskBitmap 
)
protectedpure virtual
bool SalGraphics::DrawEPS ( long  nX,
long  nY,
long  nWidth,
long  nHeight,
void pPtr,
sal_uInt32  nSize,
const OutputDevice pOutDev 
)

Definition at line 759 of file salgdilayout.cxx.

References BiDiRtl, drawEPS(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

Referenced by OutputDevice::DrawEPS().

virtual bool SalGraphics::drawEPS ( long  nX,
long  nY,
long  nWidth,
long  nHeight,
void pPtr,
sal_uInt32  nSize 
)
protectedpure virtual
bool SalGraphics::DrawGradient ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient 
)

Definition at line 650 of file salgdilayout.cxx.

References drawGradient().

Referenced by OutputDevice::DrawGradient().

virtual bool SalGraphics::drawGradient ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient 
)
protectedpure virtual
void SalGraphics::DrawLine ( long  nX1,
long  nY1,
long  nX2,
long  nY2,
const OutputDevice pOutDev 
)
virtual void SalGraphics::drawLine ( long  nX1,
long  nY1,
long  nX2,
long  nY2 
)
protectedpure virtual
void SalGraphics::DrawMask ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
Color  nMaskColor,
const OutputDevice pOutDev 
)
virtual void SalGraphics::drawMask ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
Color  nMaskColor 
)
protectedpure virtual
bool SalGraphics::DrawNativeControl ( ControlType  nType,
ControlPart  nPart,
const tools::Rectangle rControlRegion,
ControlState  nState,
const ImplControlValue aValue,
const OUString &  aCaption,
const OutputDevice pOutDev 
)
void SalGraphics::DrawPixel ( long  nX,
long  nY,
const OutputDevice pOutDev 
)
void SalGraphics::DrawPixel ( long  nX,
long  nY,
Color  nColor,
const OutputDevice pOutDev 
)

Definition at line 399 of file salgdilayout.cxx.

References BiDiRtl, drawPixel(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

virtual void SalGraphics::drawPixel ( long  nX,
long  nY 
)
protectedpure virtual
virtual void SalGraphics::drawPixel ( long  nX,
long  nY,
Color  nColor 
)
protectedpure virtual
void SalGraphics::DrawPolygon ( sal_uInt32  nPoints,
const SalPoint pPtAry,
const OutputDevice pOutDev 
)
virtual void SalGraphics::drawPolygon ( sal_uInt32  nPoints,
const SalPoint pPtAry 
)
protectedpure virtual
bool SalGraphics::DrawPolygonBezier ( sal_uInt32  nPoints,
const SalPoint pPtAry,
const PolyFlags pFlgAry,
const OutputDevice pOutDev 
)
virtual bool SalGraphics::drawPolygonBezier ( sal_uInt32  nPoints,
const SalPoint pPtAry,
const PolyFlags pFlgAry 
)
protectedpure virtual
void SalGraphics::DrawPolyLine ( sal_uInt32  nPoints,
SalPoint const *  pPtAry,
const OutputDevice pOutDev 
)
bool SalGraphics::DrawPolyLine ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolygon i_rPolygon,
double  i_fTransparency,
const basegfx::B2DVector i_rLineWidth,
basegfx::B2DLineJoin  i_eLineJoin,
css::drawing::LineCap  i_eLineCap,
double  i_fMiterMinimumAngle,
bool  bPixelSnapHairline,
const OutputDevice i_pOutDev 
)
virtual void SalGraphics::drawPolyLine ( sal_uInt32  nPoints,
const SalPoint pPtAry 
)
protectedpure virtual
virtual bool SalGraphics::drawPolyLine ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolygon ,
double  fTransparency,
const basegfx::B2DVector rLineWidths,
basegfx::B2DLineJoin  ,
css::drawing::LineCap  ,
double  fMiterMinimumAngle,
bool  bPixelSnapHairline 
)
protectedpure virtual
bool SalGraphics::DrawPolyLineBezier ( sal_uInt32  nPoints,
const SalPoint pPtAry,
const PolyFlags pFlgAry,
const OutputDevice pOutDev 
)
virtual bool SalGraphics::drawPolyLineBezier ( sal_uInt32  nPoints,
const SalPoint pPtAry,
const PolyFlags pFlgAry 
)
protectedpure virtual
void SalGraphics::DrawPolyPolygon ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
PCONSTSALPOINT pPtAry,
const OutputDevice pOutDev 
)
bool SalGraphics::DrawPolyPolygon ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolyPolygon i_rPolyPolygon,
double  i_fTransparency,
const OutputDevice i_pOutDev 
)
virtual void SalGraphics::drawPolyPolygon ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
PCONSTSALPOINT pPtAry 
)
protectedpure virtual
virtual bool SalGraphics::drawPolyPolygon ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolyPolygon ,
double  fTransparency 
)
protectedpure virtual
bool SalGraphics::DrawPolyPolygonBezier ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const SalPoint *const *  pPtAry,
const PolyFlags *const *  pFlgAry,
const OutputDevice pOutDev 
)
virtual bool SalGraphics::drawPolyPolygonBezier ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const SalPoint *const *  pPtAry,
const PolyFlags *const *  pFlgAry 
)
protectedpure virtual
void SalGraphics::DrawRect ( long  nX,
long  nY,
long  nWidth,
long  nHeight,
const OutputDevice pOutDev 
)
virtual void SalGraphics::drawRect ( long  nX,
long  nY,
long  nWidth,
long  nHeight 
)
protectedpure virtual
virtual void SalGraphics::DrawTextLayout ( const GenericSalLayout )
pure virtual
bool SalGraphics::DrawTransformedBitmap ( const basegfx::B2DPoint rNull,
const basegfx::B2DPoint rX,
const basegfx::B2DPoint rY,
const SalBitmap rSourceBitmap,
const SalBitmap pAlphaBitmap,
const OutputDevice pOutDev 
)
bool SalGraphics::drawTransformedBitmap ( const basegfx::B2DPoint rNull,
const basegfx::B2DPoint rX,
const basegfx::B2DPoint rY,
const SalBitmap rSourceBitmap,
const SalBitmap pAlphaBitmap 
)
protectedpure virtual

draw transformed bitmap (maybe with alpha) where Null, X, Y define the coordinate system

Implemented in WinSalGraphics, AquaSalGraphics, X11SalGraphics, GenPspGraphics, Qt5Graphics, and SvpSalGraphics.

Definition at line 122 of file salgdilayout.cxx.

Referenced by DrawTransformedBitmap().

vcl::WidgetDrawInterface* SalGraphics::forWidget ( )
inlineprotected
virtual void SalGraphics::FreeEmbedFontData ( const void pData,
long  nDataLen 
)
pure virtual
bool SalGraphics::getAntiAliasB2DDraw ( ) const
inline

Definition at line 84 of file salgdi.hxx.

Referenced by vcl::FileDefinitionWidgetDraw::drawNativeControl().

virtual sal_uInt16 SalGraphics::GetBitCount ( ) const
pure virtual
std::shared_ptr< SalBitmap > SalGraphics::GetBitmap ( long  nX,
long  nY,
long  nWidth,
long  nHeight,
const OutputDevice pOutDev 
)

Definition at line 726 of file salgdilayout.cxx.

References BiDiRtl, getBitmap(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

Referenced by OutputDevice::GetBitmap().

virtual std::shared_ptr<SalBitmap> SalGraphics::getBitmap ( long  nX,
long  nY,
long  nWidth,
long  nHeight 
)
protectedpure virtual
virtual void SalGraphics::GetDevFontList ( PhysicalFontCollection )
pure virtual
long SalGraphics::GetDeviceWidth ( const OutputDevice pOutDev) const
inlineprotected
virtual const void* SalGraphics::GetEmbedFontData ( const PhysicalFontFace pFont,
long *  pDataLen 
)
pure virtual
virtual bool SalGraphics::GetFontCapabilities ( vcl::FontCapabilities rFontCapabilities) const
pure virtual
virtual FontCharMapRef SalGraphics::GetFontCharMap ( ) const
pure virtual
virtual void SalGraphics::GetFontMetric ( ImplFontMetricDataRef ,
int  nFallbackLevel 
)
pure virtual
virtual void SalGraphics::GetGlyphWidths ( const PhysicalFontFace pFont,
bool  bVertical,
std::vector< sal_Int32 > &  rWidths,
Ucs2UIntMap rUnicodeEnc 
)
pure virtual
virtual SystemGraphicsData SalGraphics::GetGraphicsData ( ) const
pure virtual
virtual long SalGraphics::GetGraphicsWidth ( ) const
pure virtual
virtual SalGraphicsImpl* SalGraphics::GetImpl ( ) const
pure virtual
SalLayoutFlags SalGraphics::GetLayout ( ) const
inline
const basegfx::B2DHomMatrix & SalGraphics::getMirror ( const OutputDevice pOutDev) const
bool SalGraphics::GetNativeControlRegion ( ControlType  nType,
ControlPart  nPart,
const tools::Rectangle rControlRegion,
ControlState  nState,
const ImplControlValue aValue,
tools::Rectangle rNativeBoundingRegion,
tools::Rectangle rNativeContentRegion,
const OutputDevice pOutDev 
)
rtl::Reference<OpenGLContext> SalGraphics::GetOpenGLContext ( ) const

Check that our mpImpl is OpenGL and return the context, otherwise NULL.

Referenced by OpenGLContext::getVCLContext(), and ImplGetDefaultContextWindow().

Color SalGraphics::GetPixel ( long  nX,
long  nY,
const OutputDevice pOutDev 
)

Definition at line 733 of file salgdilayout.cxx.

References BiDiRtl, getPixel(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

Referenced by OutputDevice::GetPixel().

virtual Color SalGraphics::getPixel ( long  nX,
long  nY 
)
protectedpure virtual
virtual void SalGraphics::GetResolution ( sal_Int32 &  rDPIX,
sal_Int32 &  rDPIY 
)
pure virtual
virtual std::unique_ptr<GenericSalLayout> SalGraphics::GetTextLayout ( int  nFallbackLevel)
pure virtual
void SalGraphics::handleDamage ( const tools::Rectangle rDamagedRegion)
inlineprotectedvirtual

Handle damage done by drawing with a widget draw override.

If a m_pWidgetDraw is set and successfully draws using drawNativeControl, this function is called to handle the damage done to the graphics buffer.

Parameters
rDamagedRegionthe region damaged by drawNativeControl.

Reimplemented in GtkSalGraphics, Qt5Graphics, and Qt5SvpGraphics.

Definition at line 622 of file salgdi.hxx.

Referenced by DrawNativeControl().

bool SalGraphics::HitTestNativeScrollbar ( ControlPart  nPart,
const tools::Rectangle rControlRegion,
const Point aPos,
bool &  rIsInside,
const OutputDevice pOutDev 
)
bool SalGraphics::initWidgetDrawBackends ( bool  bForce = false)
protected

Definition at line 65 of file salgdilayout.cxx.

References m_pWidgetDraw.

void SalGraphics::Invert ( long  nX,
long  nY,
long  nWidth,
long  nHeight,
SalInvert  nFlags,
const OutputDevice pOutDev 
)
void SalGraphics::Invert ( sal_uInt32  nPoints,
const SalPoint pPtAry,
SalInvert  nFlags,
const OutputDevice pOutDev 
)

Definition at line 747 of file salgdilayout.cxx.

References BiDiRtl, invert(), OutputDevice::IsRTLEnabled(), m_nLayout, and mirror().

virtual void SalGraphics::invert ( long  nX,
long  nY,
long  nWidth,
long  nHeight,
SalInvert  nFlags 
)
protectedpure virtual
virtual void SalGraphics::invert ( sal_uInt32  nPoints,
const SalPoint pPtAry,
SalInvert  nFlags 
)
protectedpure virtual
bool SalGraphics::IsNativeControlSupported ( ControlType  eType,
ControlPart  ePart 
)
inline
See also
WidgetDrawInterface::isNativeControlSupported

Definition at line 612 of file salgdi.hxx.

References forWidget(), and vcl::WidgetDrawInterface::isNativeControlSupported().

Referenced by OutputDevice::IsNativeControlSupported().

void SalGraphics::mirror ( long &  nX,
const OutputDevice pOutDev 
) const
void SalGraphics::mirror ( long &  nX,
long  nWidth,
const OutputDevice pOutDev,
bool  bBack = false 
) const
bool SalGraphics::mirror ( sal_uInt32  nPoints,
const SalPoint pPtAry,
SalPoint pPtAry2,
const OutputDevice pOutDev 
) const
void SalGraphics::mirror ( tools::Rectangle rRect,
const OutputDevice pOutDev,
bool  bBack = false 
) const
void SalGraphics::mirror ( vcl::Region rRgn,
const OutputDevice pOutDev 
) const
void SalGraphics::mirror ( ImplControlValue rVal,
const OutputDevice pOutDev 
) const
basegfx::B2DPoint SalGraphics::mirror ( const basegfx::B2DPoint i_rPoint,
const OutputDevice pOutDev 
) const

Definition at line 292 of file salgdilayout.cxx.

References getMirror(), and basegfx::B2DHomMatrix::isIdentity().

basegfx::B2DPolyPolygon SalGraphics::mirror ( const basegfx::B2DPolyPolygon i_rPoly,
const OutputDevice pOutDev 
) const
basegfx::B2DHomMatrix SalGraphics::mirror ( const basegfx::B2DHomMatrix i_rMatrix,
const OutputDevice pOutDev 
) const

Definition at line 371 of file salgdilayout.cxx.

References getMirror().

long SalGraphics::mirror2 ( long  nX,
const OutputDevice pOutDev 
) const
void SalGraphics::ReleaseFonts ( )
inline
virtual void SalGraphics::ResetClipRegion ( )
pure virtual
void SalGraphics::setAntiAliasB2DDraw ( bool  bNew)
inline
bool SalGraphics::SetClipRegion ( const vcl::Region i_rClip,
const OutputDevice pOutDev 
)
virtual bool SalGraphics::setClipRegion ( const vcl::Region )
protectedpure virtual
virtual void SalGraphics::SetFillColor ( )
pure virtual
virtual void SalGraphics::SetFillColor ( Color  nColor)
pure virtual
virtual void SalGraphics::SetFont ( LogicalFontInstance ,
int  nFallbackLevel 
)
pure virtual
void SalGraphics::SetLayout ( SalLayoutFlags  aLayout)
inline

Definition at line 200 of file salgdi.hxx.

Referenced by VirtualDevice::EnableRTL().

virtual void SalGraphics::SetLineColor ( )
pure virtual
virtual void SalGraphics::SetLineColor ( Color  nColor)
pure virtual
virtual void SalGraphics::SetROPFillColor ( SalROPColor  nROPColor)
pure virtual
virtual void SalGraphics::SetROPLineColor ( SalROPColor  nROPColor)
pure virtual
virtual void SalGraphics::SetTextColor ( Color  nColor)
pure virtual
virtual void SalGraphics::SetXORMode ( bool  bSet,
bool  bInvertOnly 
)
pure virtual
virtual bool SalGraphics::supportsOperation ( OutDevSupportType  ) const
pure virtual
bool SalGraphics::UpdateSettings ( AllSettings rSettings)
inline
See also
WidgetDrawInterface::updateSettings

Definition at line 617 of file salgdi.hxx.

References forWidget(), and vcl::WidgetDrawInterface::updateSettings().

Member Data Documentation

basegfx::B2DHomMatrix SalGraphics::m_aLastMirror
private

Definition at line 586 of file salgdi.hxx.

Referenced by getMirror().

long SalGraphics::m_aLastMirrorW
private

Definition at line 587 of file salgdi.hxx.

Referenced by getMirror().

bool SalGraphics::m_bAntiAliasB2DDraw
protected

flags which hold the SetAntialiasing() value from OutputDevice

Definition at line 591 of file salgdi.hxx.

SalLayoutFlags SalGraphics::m_nLayout
private
std::unique_ptr<vcl::WidgetDrawInterface> SalGraphics::m_pWidgetDraw
protected

Definition at line 608 of file salgdi.hxx.

Referenced by DrawNativeControl(), and initWidgetDrawBackends().


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