LibreOffice Module vcl (master)  1
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Attributes | Friends | 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 () COVERITY_NOEXCEPT_FALSE override
 
virtual SalGraphicsImplGetImpl () const =0
 
void setAntiAlias (bool bNew)
 
bool getAntiAlias () const
 
virtual void GetResolution (sal_Int32 &rDPIX, sal_Int32 &rDPIY)=0
 
virtual sal_uInt16 GetBitCount () const =0
 
virtual tools::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, tools::Long *pDataLen)=0
 
virtual void FreeEmbedFontData (const void *pData, tools::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 (tools::Long &nX, const OutputDevice &rOutDev) const
 
tools::Long mirror2 (tools::Long nX, const OutputDevice &rOutDev) const
 
void mirror (tools::Long &nX, tools::Long nWidth, const OutputDevice &rOutDev, bool bBack=false) const
 
bool mirror (sal_uInt32 nPoints, const Point *pPtAry, Point *pPtAry2, const OutputDevice &rOutDev) const
 
void mirror (tools::Rectangle &rRect, const OutputDevice &, bool bBack=false) const
 
void mirror (vcl::Region &rRgn, const OutputDevice &rOutDev) const
 
void mirror (ImplControlValue &, const OutputDevice &) const
 
basegfx::B2DPolyPolygon mirror (const basegfx::B2DPolyPolygon &i_rPoly, const OutputDevice &rOutDev) const
 
const basegfx::B2DHomMatrixgetMirror (const OutputDevice &rOutDev) const
 
bool SetClipRegion (const vcl::Region &, const OutputDevice &rOutDev)
 
void DrawPixel (tools::Long nX, tools::Long nY, const OutputDevice &rOutDev)
 
void DrawPixel (tools::Long nX, tools::Long nY, Color nColor, const OutputDevice &rOutDev)
 
void DrawLine (tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2, const OutputDevice &rOutDev)
 
void DrawRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const OutputDevice &rOutDev)
 
void DrawPolyLine (sal_uInt32 nPoints, Point const *pPtAry, const OutputDevice &rOutDev)
 
void DrawPolygon (sal_uInt32 nPoints, const Point *pPtAry, const OutputDevice &rOutDev)
 
void DrawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point **pPtAry, const OutputDevice &rOutDev)
 
bool DrawPolyPolygon (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolyPolygon &i_rPolyPolygon, double i_fTransparency, const OutputDevice &i_rOutDev)
 
bool DrawPolyLine (const basegfx::B2DHomMatrix &rObjectToDevice, const basegfx::B2DPolygon &i_rPolygon, double i_fTransparency, double i_fLineWidth, const std::vector< double > *i_pStroke, basegfx::B2DLineJoin i_eLineJoin, css::drawing::LineCap i_eLineCap, double i_fMiterMinimumAngle, bool bPixelSnapHairline, const OutputDevice &i_rOutDev)
 
bool DrawPolyLineBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry, const OutputDevice &rOutDev)
 
bool DrawPolygonBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry, const OutputDevice &rOutDev)
 
bool DrawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point *const *pPtAry, const PolyFlags *const *pFlgAry, const OutputDevice &rOutDev)
 
bool DrawGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient, const OutputDevice &rOutDev)
 
void CopyArea (tools::Long nDestX, tools::Long nDestY, tools::Long nSrcX, tools::Long nSrcY, tools::Long nSrcWidth, tools::Long nSrcHeight, const OutputDevice &rOutDev)
 
void CopyBits (const SalTwoRect &rPosAry, const OutputDevice &rOutDev)
 
void CopyBits (const SalTwoRect &rPosAry, SalGraphics &rSrcGraphics, const OutputDevice &rOutDev, const OutputDevice &rSrcOutDev)
 
void DrawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const OutputDevice &rOutDev)
 
void DrawBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const SalBitmap &rTransparentBitmap, const OutputDevice &rOutDev)
 
void DrawMask (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, Color nMaskColor, const OutputDevice &rOutDev)
 
std::shared_ptr< SalBitmapGetBitmap (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const OutputDevice &rOutDev)
 
Color GetPixel (tools::Long nX, tools::Long nY, const OutputDevice &rOutDev)
 
void Invert (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, SalInvert nFlags, const OutputDevice &rOutDev)
 
void Invert (sal_uInt32 nPoints, const Point *pPtAry, SalInvert nFlags, const OutputDevice &rOutDev)
 
bool DrawEPS (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, void *pPtr, sal_uInt32 nSize, const OutputDevice &rOutDev)
 
bool IsNativeControlSupported (ControlType, ControlPart)
 
bool HitTestNativeScrollbar (ControlPart nPart, const tools::Rectangle &rControlRegion, const Point &aPos, bool &rIsInside, const OutputDevice &rOutDev)
 
bool DrawNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const OutputDevice &rOutDev, const Color &rBackgroundColor=COL_AUTO)
 
bool GetNativeControlRegion (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion, const OutputDevice &rOutDev)
 
bool UpdateSettings (AllSettings &)
 
bool BlendBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalBitmap, const OutputDevice &rOutDev)
 
bool BlendAlphaBitmap (const SalTwoRect &rPosAry, const SalBitmap &rSalSrcBitmap, const SalBitmap &rSalMaskBitmap, const SalBitmap &rSalAlphaBitmap, const OutputDevice &rOutDev)
 
bool DrawAlphaBitmap (const SalTwoRect &, const SalBitmap &rSourceBitmap, const SalBitmap &rAlphaBitmap, const OutputDevice &rOutDev)
 
bool DrawTransformedBitmap (const basegfx::B2DPoint &rNull, const basegfx::B2DPoint &rX, const basegfx::B2DPoint &rY, const SalBitmap &rSourceBitmap, const SalBitmap *pAlphaBitmap, double fAlpha, const OutputDevice &rOutDev)
 
bool HasFastDrawTransformedBitmap () const
 
bool DrawAlphaRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, sal_uInt8 nTransparency, const OutputDevice &rOutDev)
 
virtual OUString getRenderBackendName () const
 
virtual SystemGraphicsData GetGraphicsData () const =0
 

Protected Member Functions

virtual bool setClipRegion (const vcl::Region &)=0
 
virtual void drawPixel (tools::Long nX, tools::Long nY)=0
 
virtual void drawPixel (tools::Long nX, tools::Long nY, Color nColor)=0
 
virtual void drawLine (tools::Long nX1, tools::Long nY1, tools::Long nX2, tools::Long nY2)=0
 
virtual void drawRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight)=0
 
virtual void drawPolyLine (sal_uInt32 nPoints, const Point *pPtAry)=0
 
virtual void drawPolygon (sal_uInt32 nPoints, const Point *pPtAry)=0
 
virtual void drawPolyPolygon (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point **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, double fLineWidth, const std::vector< double > *pStroke, basegfx::B2DLineJoin, css::drawing::LineCap, double fMiterMinimumAngle, bool bPixelSnapHairline)=0
 
virtual bool drawPolyLineBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry)=0
 
virtual bool drawPolygonBezier (sal_uInt32 nPoints, const Point *pPtAry, const PolyFlags *pFlgAry)=0
 
virtual bool drawPolyPolygonBezier (sal_uInt32 nPoly, const sal_uInt32 *pPoints, const Point *const *pPtAry, const PolyFlags *const *pFlgAry)=0
 
virtual bool drawGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient)=0
 
virtual bool implDrawGradient (basegfx::B2DPolyPolygon const &, SalGradient const &)
 
virtual void copyArea (tools::Long nDestX, tools::Long nDestY, tools::Long nSrcX, tools::Long nSrcY, tools::Long nSrcWidth, tools::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 (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight)=0
 
virtual Color getPixel (tools::Long nX, tools::Long nY)=0
 
virtual void invert (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, SalInvert nFlags)=0
 
virtual void invert (sal_uInt32 nPoints, const Point *pPtAry, SalInvert nFlags)=0
 
virtual bool drawEPS (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::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, double fAlpha)=0
 draw transformed bitmap (maybe with alpha) where Null, X, Y define the coordinate system More...
 
virtual bool hasFastDrawTransformedBitmap () const =0
 Used e.g. More...
 
virtual bool drawAlphaRect (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, sal_uInt8 nTransparency)=0
 Render solid rectangle with given transparency. More...
 
tools::Long GetDeviceWidth (const OutputDevice &rOutDev) 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 () COVERITY_NOEXCEPT_FALSE
 
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, const Color &rBackgroundColor)
 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)
 

Static Protected Member Functions

static void GetGlyphWidths (const vcl::AbstractTrueTypeFont &rTTF, const PhysicalFontFace &rFontFace, bool bVertical, std::vector< sal_Int32 > &rWidths, Ucs2UIntMap &rUnicodeEnc)
 
static bool CreateTTFfontSubset (vcl::AbstractTrueTypeFont &aTTF, const OString &rSysPath, const bool bVertical, const sal_GlyphId *pGlyphIds, const sal_uInt8 *pEncoding, sal_Int32 *pGlyphWidths, int nGlyphCount)
 
static bool CreateCFFfontSubset (const unsigned char *pFontBytes, int nByteLength, const OString &rSysPath, const sal_GlyphId *pGlyphIds, const sal_uInt8 *pEncoding, sal_Int32 *pGlyphWidths, int nGlyphCount, FontSubsetInfo &rInfo)
 
static void FillFontSubsetInfo (const vcl::TTGlobalFontInfo &rTTInfo, const OUString &pPSName, FontSubsetInfo &rInfo)
 

Protected Attributes

bool m_bAntiAlias: 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
 
tools::Long m_aLastMirrorW
 
tools::Long m_nLastMirrorDeviceLTRButBiDiRtlTranslate
 
bool m_bLastMirrorDeviceLTRButBiDiRtlSet
 

Friends

class vcl::FileDefinitionWidgetDraw
 

Detailed Description

Definition at line 75 of file salgdi.hxx.

Constructor & Destructor Documentation

SalGraphics::SalGraphics ( )

Definition at line 50 of file salgdilayout.cxx.

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

SalGraphics::~SalGraphics ( )
override

Definition at line 81 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 rOutDev 
)
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 SalGraphicsAutoDelegateToImpl, AquaSalGraphics, WinSalGraphics, X11SalGraphics, and SvpSalGraphics.

Referenced by BlendAlphaBitmap().

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

Blend the bitmap with the current buffer.

Implemented in SalGraphicsAutoDelegateToImpl, AquaSalGraphics, WinSalGraphics, X11SalGraphics, and SvpSalGraphics.

Referenced by BlendBitmap().

virtual void SalGraphics::ClearDevFontCache ( )
pure virtual
void SalGraphics::CopyArea ( tools::Long  nDestX,
tools::Long  nDestY,
tools::Long  nSrcX,
tools::Long  nSrcY,
tools::Long  nSrcWidth,
tools::Long  nSrcHeight,
const OutputDevice rOutDev 
)
virtual void SalGraphics::copyArea ( tools::Long  nDestX,
tools::Long  nDestY,
tools::Long  nSrcX,
tools::Long  nSrcY,
tools::Long  nSrcWidth,
tools::Long  nSrcHeight,
bool  bWindowInvalidate 
)
protectedpure virtual
void SalGraphics::CopyBits ( const SalTwoRect rPosAry,
const OutputDevice rOutDev 
)
void SalGraphics::CopyBits ( const SalTwoRect rPosAry,
SalGraphics rSrcGraphics,
const OutputDevice rOutDev,
const OutputDevice rSrcOutDev 
)
virtual void SalGraphics::copyBits ( const SalTwoRect rPosAry,
SalGraphics pSrcGraphics 
)
protectedpure virtual
bool SalGraphics::CreateCFFfontSubset ( const unsigned char *  pFontBytes,
int  nByteLength,
const OString &  rSysPath,
const sal_GlyphId pGlyphIds,
const sal_uInt8 pEncoding,
sal_Int32 *  pGlyphWidths,
int  nGlyphCount,
FontSubsetInfo rInfo 
)
staticprotected
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::CreateTTFfontSubset ( vcl::AbstractTrueTypeFont aTTF,
const OString &  rSysPath,
const bool  bVertical,
const sal_GlyphId pGlyphIds,
const sal_uInt8 pEncoding,
sal_Int32 *  pGlyphWidths,
int  nGlyphCount 
)
staticprotected
bool SalGraphics::DrawAlphaBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSourceBitmap,
const SalBitmap rAlphaBitmap,
const OutputDevice rOutDev 
)
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 SalGraphicsAutoDelegateToImpl, AquaSalGraphics, WinSalGraphics, X11SalGraphics, and SvpSalGraphics.

Referenced by DrawAlphaBitmap().

bool SalGraphics::DrawAlphaRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
sal_uInt8  nTransparency,
const OutputDevice rOutDev 
)
virtual bool SalGraphics::drawAlphaRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::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 SalGraphicsAutoDelegateToImpl, AquaSalGraphics, WinSalGraphics, X11SalGraphics, and SvpSalGraphics.

Referenced by DrawAlphaRect().

void SalGraphics::DrawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const OutputDevice rOutDev 
)
void SalGraphics::DrawBitmap ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
const SalBitmap rTransparentBitmap,
const OutputDevice rOutDev 
)
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 ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
void pPtr,
sal_uInt32  nSize,
const OutputDevice rOutDev 
)

Definition at line 685 of file salgdilayout.cxx.

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

Referenced by OutputDevice::DrawEPS().

virtual bool SalGraphics::drawEPS ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
void pPtr,
sal_uInt32  nSize 
)
protectedpure virtual
bool SalGraphics::DrawGradient ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient,
const OutputDevice rOutDev 
)
virtual bool SalGraphics::drawGradient ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient 
)
protectedpure virtual
void SalGraphics::DrawLine ( tools::Long  nX1,
tools::Long  nY1,
tools::Long  nX2,
tools::Long  nY2,
const OutputDevice rOutDev 
)
virtual void SalGraphics::drawLine ( tools::Long  nX1,
tools::Long  nY1,
tools::Long  nX2,
tools::Long  nY2 
)
protectedpure virtual
void SalGraphics::DrawMask ( const SalTwoRect rPosAry,
const SalBitmap rSalBitmap,
Color  nMaskColor,
const OutputDevice rOutDev 
)
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 rOutDev,
const Color rBackgroundColor = COL_AUTO 
)
void SalGraphics::DrawPixel ( tools::Long  nX,
tools::Long  nY,
const OutputDevice rOutDev 
)
void SalGraphics::DrawPixel ( tools::Long  nX,
tools::Long  nY,
Color  nColor,
const OutputDevice rOutDev 
)

Definition at line 354 of file salgdilayout.cxx.

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

virtual void SalGraphics::drawPixel ( tools::Long  nX,
tools::Long  nY 
)
protectedpure virtual
virtual void SalGraphics::drawPixel ( tools::Long  nX,
tools::Long  nY,
Color  nColor 
)
protectedpure virtual
void SalGraphics::DrawPolygon ( sal_uInt32  nPoints,
const Point pPtAry,
const OutputDevice rOutDev 
)
virtual void SalGraphics::drawPolygon ( sal_uInt32  nPoints,
const Point pPtAry 
)
protectedpure virtual
bool SalGraphics::DrawPolygonBezier ( sal_uInt32  nPoints,
const Point pPtAry,
const PolyFlags pFlgAry,
const OutputDevice rOutDev 
)
virtual bool SalGraphics::drawPolygonBezier ( sal_uInt32  nPoints,
const Point pPtAry,
const PolyFlags pFlgAry 
)
protectedpure virtual
void SalGraphics::DrawPolyLine ( sal_uInt32  nPoints,
Point const *  pPtAry,
const OutputDevice rOutDev 
)
bool SalGraphics::DrawPolyLine ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolygon i_rPolygon,
double  i_fTransparency,
double  i_fLineWidth,
const std::vector< double > *  i_pStroke,
basegfx::B2DLineJoin  i_eLineJoin,
css::drawing::LineCap  i_eLineCap,
double  i_fMiterMinimumAngle,
bool  bPixelSnapHairline,
const OutputDevice i_rOutDev 
)
virtual void SalGraphics::drawPolyLine ( sal_uInt32  nPoints,
const Point pPtAry 
)
protectedpure virtual
virtual bool SalGraphics::drawPolyLine ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolygon ,
double  fTransparency,
double  fLineWidth,
const std::vector< double > *  pStroke,
basegfx::B2DLineJoin  ,
css::drawing::LineCap  ,
double  fMiterMinimumAngle,
bool  bPixelSnapHairline 
)
protectedpure virtual
bool SalGraphics::DrawPolyLineBezier ( sal_uInt32  nPoints,
const Point pPtAry,
const PolyFlags pFlgAry,
const OutputDevice rOutDev 
)
virtual bool SalGraphics::drawPolyLineBezier ( sal_uInt32  nPoints,
const Point pPtAry,
const PolyFlags pFlgAry 
)
protectedpure virtual
void SalGraphics::DrawPolyPolygon ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point **  pPtAry,
const OutputDevice rOutDev 
)
bool SalGraphics::DrawPolyPolygon ( const basegfx::B2DHomMatrix rObjectToDevice,
const basegfx::B2DPolyPolygon i_rPolyPolygon,
double  i_fTransparency,
const OutputDevice i_rOutDev 
)
virtual void SalGraphics::drawPolyPolygon ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point **  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 Point *const *  pPtAry,
const PolyFlags *const *  pFlgAry,
const OutputDevice rOutDev 
)
virtual bool SalGraphics::drawPolyPolygonBezier ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point *const *  pPtAry,
const PolyFlags *const *  pFlgAry 
)
protectedpure virtual
void SalGraphics::DrawRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
const OutputDevice rOutDev 
)
virtual void SalGraphics::drawRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::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,
double  fAlpha,
const OutputDevice rOutDev 
)
bool SalGraphics::drawTransformedBitmap ( const basegfx::B2DPoint rNull,
const basegfx::B2DPoint rX,
const basegfx::B2DPoint rY,
const SalBitmap rSourceBitmap,
const SalBitmap pAlphaBitmap,
double  fAlpha 
)
protectedpure virtual

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

Parameters
fAlphaadditional alpha (0 to 1) to apply while drawing

Implemented in SalGraphicsAutoDelegateToImpl, AquaSalGraphics, WinSalGraphics, X11SalGraphics, and SvpSalGraphics.

Definition at line 86 of file salgdilayout.cxx.

Referenced by DrawTransformedBitmap().

void SalGraphics::FillFontSubsetInfo ( const vcl::TTGlobalFontInfo rTTInfo,
const OUString &  pPSName,
FontSubsetInfo rInfo 
)
staticprotected
vcl::WidgetDrawInterface* SalGraphics::forWidget ( )
inlineprotected
virtual void SalGraphics::FreeEmbedFontData ( const void pData,
tools::Long  nDataLen 
)
pure virtual
bool SalGraphics::getAntiAlias ( ) const
inline

Definition at line 92 of file salgdi.hxx.

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

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

Definition at line 652 of file salgdilayout.cxx.

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

Referenced by OutputDevice::GetBitmap().

virtual std::shared_ptr<SalBitmap> SalGraphics::getBitmap ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight 
)
protectedpure virtual
virtual void SalGraphics::GetDevFontList ( PhysicalFontCollection )
pure virtual
tools::Long SalGraphics::GetDeviceWidth ( const OutputDevice rOutDev) const
inlineprotected
virtual const void* SalGraphics::GetEmbedFontData ( const PhysicalFontFace pFont,
tools::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
void SalGraphics::GetGlyphWidths ( const vcl::AbstractTrueTypeFont rTTF,
const PhysicalFontFace rFontFace,
bool  bVertical,
std::vector< sal_Int32 > &  rWidths,
Ucs2UIntMap rUnicodeEnc 
)
staticprotected
virtual SystemGraphicsData SalGraphics::GetGraphicsData ( ) const
pure virtual
virtual tools::Long SalGraphics::GetGraphicsWidth ( ) const
pure virtual
virtual SalGraphicsImpl* SalGraphics::GetImpl ( ) const
pure virtual

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

Referenced by SalGraphicsAutoDelegateToImpl::blendAlphaBitmap(), SalGraphicsAutoDelegateToImpl::blendBitmap(), SalGraphicsAutoDelegateToImpl::copyArea(), SalGraphicsAutoDelegateToImpl::copyBits(), SalGraphicsAutoDelegateToImpl::drawAlphaBitmap(), SalGraphicsAutoDelegateToImpl::drawAlphaRect(), SalGraphicsAutoDelegateToImpl::drawBitmap(), SalGraphicsAutoDelegateToImpl::drawEPS(), SalGraphicsAutoDelegateToImpl::drawGradient(), SalGraphicsAutoDelegateToImpl::drawLine(), SalGraphicsAutoDelegateToImpl::drawMask(), SalGraphicsAutoDelegateToImpl::drawPixel(), SalGraphicsAutoDelegateToImpl::drawPolygon(), SalGraphicsAutoDelegateToImpl::drawPolygonBezier(), SalGraphicsAutoDelegateToImpl::drawPolyLine(), SalGraphicsAutoDelegateToImpl::drawPolyLineBezier(), SalGraphicsAutoDelegateToImpl::drawPolyPolygon(), SalGraphicsAutoDelegateToImpl::drawPolyPolygonBezier(), SalGraphicsAutoDelegateToImpl::drawRect(), SalGraphicsAutoDelegateToImpl::drawTransformedBitmap(), SalGraphicsAutoDelegateToImpl::GetBitCount(), SalGraphicsAutoDelegateToImpl::getBitmap(), SalGraphicsAutoDelegateToImpl::GetGraphicsWidth(), SalGraphicsAutoDelegateToImpl::getPixel(), getRenderBackendName(), SalGraphicsAutoDelegateToImpl::getRenderBackendName(), SalGraphicsAutoDelegateToImpl::hasFastDrawTransformedBitmap(), SalGraphicsAutoDelegateToImpl::implDrawGradient(), SalGraphicsAutoDelegateToImpl::invert(), SalGraphicsAutoDelegateToImpl::ResetClipRegion(), SalGraphicsAutoDelegateToImpl::setClipRegion(), SalGraphicsAutoDelegateToImpl::SetFillColor(), SalGraphicsAutoDelegateToImpl::SetLineColor(), SalGraphicsAutoDelegateToImpl::SetROPFillColor(), SalGraphicsAutoDelegateToImpl::SetROPLineColor(), SalGraphicsAutoDelegateToImpl::SetXORMode(), and SalGraphicsAutoDelegateToImpl::supportsOperation().

SalLayoutFlags SalGraphics::GetLayout ( ) const
inline
const basegfx::B2DHomMatrix & SalGraphics::getMirror ( const OutputDevice rOutDev) 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 rOutDev 
)
Color SalGraphics::GetPixel ( tools::Long  nX,
tools::Long  nY,
const OutputDevice rOutDev 
)

Definition at line 659 of file salgdilayout.cxx.

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

Referenced by OutputDevice::GetPixel().

virtual Color SalGraphics::getPixel ( tools::Long  nX,
tools::Long  nY 
)
protectedpure virtual
OUString SalGraphics::getRenderBackendName ( ) const
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 Qt5Graphics, GtkSalGraphics, and Qt5SvpGraphics.

Definition at line 679 of file salgdi.hxx.

Referenced by DrawNativeControl().

bool SalGraphics::HasFastDrawTransformedBitmap ( ) const
virtual bool SalGraphics::hasFastDrawTransformedBitmap ( ) const
protectedpure virtual

Used e.g.

by canvas to know whether to cache the drawing. See also tdf#138068.

Implemented in SalGraphicsAutoDelegateToImpl, AquaSalGraphics, WinSalGraphics, X11SalGraphics, and SvpSalGraphics.

Referenced by HasFastDrawTransformedBitmap().

bool SalGraphics::HitTestNativeScrollbar ( ControlPart  nPart,
const tools::Rectangle rControlRegion,
const Point aPos,
bool &  rIsInside,
const OutputDevice rOutDev 
)
See also
WidgetDrawInterface::hitTestNativeControl

Definition at line 692 of file salgdilayout.cxx.

References BiDiRtl, forWidget(), vcl::WidgetDrawInterface::hitTestNativeControl(), OutputDevice::IsRTLEnabled(), m_nLayout, mirror(), mirror2(), Point, pt, and Scrollbar.

Referenced by OutputDevice::HitTestNativeScrollbar().

virtual bool SalGraphics::implDrawGradient ( basegfx::B2DPolyPolygon const &  ,
SalGradient const &   
)
inlineprotectedvirtual
bool SalGraphics::initWidgetDrawBackends ( bool  bForce = false)
protected

Definition at line 63 of file salgdilayout.cxx.

References m_pWidgetDraw.

void SalGraphics::Invert ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
SalInvert  nFlags,
const OutputDevice rOutDev 
)
void SalGraphics::Invert ( sal_uInt32  nPoints,
const Point pPtAry,
SalInvert  nFlags,
const OutputDevice rOutDev 
)

Definition at line 673 of file salgdilayout.cxx.

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

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

Definition at line 669 of file salgdi.hxx.

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

Referenced by OutputDevice::IsNativeControlSupported().

void SalGraphics::mirror ( tools::Long nX,
const OutputDevice rOutDev 
) const
void SalGraphics::mirror ( tools::Long nX,
tools::Long  nWidth,
const OutputDevice rOutDev,
bool  bBack = false 
) const
bool SalGraphics::mirror ( sal_uInt32  nPoints,
const Point pPtAry,
Point pPtAry2,
const OutputDevice rOutDev 
) const
void SalGraphics::mirror ( tools::Rectangle rRect,
const OutputDevice rOutDev,
bool  bBack = false 
) const
void SalGraphics::mirror ( vcl::Region rRgn,
const OutputDevice rOutDev 
) const
void SalGraphics::mirror ( ImplControlValue rVal,
const OutputDevice rOutDev 
) const
basegfx::B2DPolyPolygon SalGraphics::mirror ( const basegfx::B2DPolyPolygon i_rPoly,
const OutputDevice rOutDev 
) const
tools::Long SalGraphics::mirror2 ( tools::Long  nX,
const OutputDevice rOutDev 
) const
void SalGraphics::ReleaseFonts ( )
inline
virtual void SalGraphics::ResetClipRegion ( )
pure virtual
void SalGraphics::setAntiAlias ( bool  bNew)
inline
bool SalGraphics::SetClipRegion ( const vcl::Region i_rClip,
const OutputDevice rOutDev 
)
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 211 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 674 of file salgdi.hxx.

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

Friends And Related Function Documentation

friend class vcl::FileDefinitionWidgetDraw
friend

Definition at line 459 of file salgdi.hxx.

Member Data Documentation

basegfx::B2DHomMatrix SalGraphics::m_aLastMirror
private

Definition at line 624 of file salgdi.hxx.

Referenced by getMirror().

tools::Long SalGraphics::m_aLastMirrorW
private

Definition at line 625 of file salgdi.hxx.

Referenced by getMirror().

bool SalGraphics::m_bAntiAlias
protected

flags which hold the SetAntialiasing() value from OutputDevice

Definition at line 631 of file salgdi.hxx.

bool SalGraphics::m_bLastMirrorDeviceLTRButBiDiRtlSet
private

Definition at line 627 of file salgdi.hxx.

Referenced by getMirror().

tools::Long SalGraphics::m_nLastMirrorDeviceLTRButBiDiRtlTranslate
private

Definition at line 626 of file salgdi.hxx.

Referenced by getMirror().

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

Definition at line 648 of file salgdi.hxx.

Referenced by DrawNativeControl(), and initWidgetDrawBackends().


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