LibreOffice Module vcl (master) 1
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | 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 SalGraphicsImpl * GetImpl () 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 (FontMetricDataRef &, int nFallbackLevel)=0
 
virtual FontCharMapRef GetFontCharMap () const =0
 
virtual bool GetFontCapabilities (vcl::FontCapabilities &rFontCapabilities) const =0
 
virtual void GetDevFontList (vcl::font::PhysicalFontCollection *)=0
 
virtual void ClearDevFontCache ()=0
 
virtual bool AddTempDevFont (vcl::font::PhysicalFontCollection *, const OUString &rFileURL, const OUString &rFontName)=0
 
virtual std::unique_ptr< GenericSalLayout > GetTextLayout (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::B2DHomMatrix & getMirror (const OutputDevice &rOutDev) const
 
void 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< SalBitmap > GetBitmap (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
 
virtual bool ShouldDownscaleIconsAtSurface (double *pScaleOut) const
 

Protected Member Functions

virtual void 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< SalBitmap > getBitmap (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
 Returns true if the drawTransformedBitmap() call is fast, and so it should be used directly without trying to optimize some calls 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::WidgetDrawInterface * forWidget ()
 
- 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)
 

Protected Attributes

bool m_bAntiAlias: 1
 flags which hold the SetAntialiasing() value from OutputDevice More...
 
std::unique_ptr< vcl::WidgetDrawInterface > m_pWidgetDraw
 

Private Types

enum class  MirrorMode {
  NONE ,
  Antiparallel ,
  AntiparallelBiDi ,
  BiDi
}
 

Private Member Functions

MirrorMode GetMirrorMode (const OutputDevice &rOutDev) const
 

Private Attributes

SalLayoutFlags m_nLayout
 
MirrorMode m_eLastMirrorMode
 
tools::Long m_nLastMirrorTranslation
 
basegfx::B2DHomMatrix m_aLastMirror
 

Friends

class vcl::FileDefinitionWidgetDraw
 

Detailed Description

Definition at line 75 of file salgdi.hxx.

Member Enumeration Documentation

◆ MirrorMode

enum class SalGraphics::MirrorMode
strongprivate
Enumerator
NONE 
Antiparallel 
AntiparallelBiDi 
BiDi 

Definition at line 597 of file salgdi.hxx.

Constructor & Destructor Documentation

◆ SalGraphics()

SalGraphics::SalGraphics ( )

Definition at line 52 of file salgdilayout.cxx.

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

◆ ~SalGraphics()

SalGraphics::~SalGraphics ( )
override

Definition at line 81 of file salgdilayout.cxx.

Member Function Documentation

◆ AddTempDevFont()

virtual bool SalGraphics::AddTempDevFont ( vcl::font::PhysicalFontCollection *  ,
const OUString &  rFileURL,
const OUString &  rFontName 
)
pure virtual

◆ blendAlphaBitmap()

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, and SalGraphicsAutoDelegateToImpl.

Referenced by BlendAlphaBitmap().

◆ BlendAlphaBitmap()

bool SalGraphics::BlendAlphaBitmap ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSalSrcBitmap,
const SalBitmap &  rSalMaskBitmap,
const SalBitmap &  rSalAlphaBitmap,
const OutputDevice &  rOutDev 
)

◆ blendBitmap()

virtual bool SalGraphics::blendBitmap ( const SalTwoRect &  ,
const SalBitmap &  rBitmap 
)
protectedpure virtual

Blend the bitmap with the current buffer.

Implemented in WinSalGraphics, and SalGraphicsAutoDelegateToImpl.

Referenced by BlendBitmap().

◆ BlendBitmap()

bool SalGraphics::BlendBitmap ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSalBitmap,
const OutputDevice &  rOutDev 
)

◆ ClearDevFontCache()

virtual void SalGraphics::ClearDevFontCache ( )
pure virtual

◆ copyArea()

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

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by CopyArea().

◆ CopyArea()

void SalGraphics::CopyArea ( tools::Long  nDestX,
tools::Long  nDestY,
tools::Long  nSrcX,
tools::Long  nSrcY,
tools::Long  nSrcWidth,
tools::Long  nSrcHeight,
const OutputDevice &  rOutDev 
)

◆ CopyBits() [1/2]

void SalGraphics::CopyBits ( const SalTwoRect &  rPosAry,
const OutputDevice &  rOutDev 
)

◆ CopyBits() [2/2]

void SalGraphics::CopyBits ( const SalTwoRect &  rPosAry,
SalGraphics &  rSrcGraphics,
const OutputDevice &  rOutDev,
const OutputDevice &  rSrcOutDev 
)

◆ copyBits()

virtual void SalGraphics::copyBits ( const SalTwoRect &  rPosAry,
SalGraphics *  pSrcGraphics 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by CopyBits().

◆ drawAlphaBitmap()

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, and SalGraphicsAutoDelegateToImpl.

Referenced by DrawAlphaBitmap().

◆ DrawAlphaBitmap()

bool SalGraphics::DrawAlphaBitmap ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSourceBitmap,
const SalBitmap &  rAlphaBitmap,
const OutputDevice &  rOutDev 
)

◆ drawAlphaRect()

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, and WinSalGraphics.

Referenced by DrawAlphaRect().

◆ DrawAlphaRect()

bool SalGraphics::DrawAlphaRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
sal_uInt8  nTransparency,
const OutputDevice &  rOutDev 
)

◆ drawBitmap() [1/2]

virtual void SalGraphics::drawBitmap ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSalBitmap 
)
protectedpure virtual

◆ DrawBitmap() [1/2]

void SalGraphics::DrawBitmap ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSalBitmap,
const OutputDevice &  rOutDev 
)

◆ drawBitmap() [2/2]

virtual void SalGraphics::drawBitmap ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSalBitmap,
const SalBitmap &  rMaskBitmap 
)
protectedpure virtual

◆ DrawBitmap() [2/2]

void SalGraphics::DrawBitmap ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSalBitmap,
const SalBitmap &  rTransparentBitmap,
const OutputDevice &  rOutDev 
)

◆ drawEPS()

virtual bool SalGraphics::drawEPS ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
void *  pPtr,
sal_uInt32  nSize 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawEPS().

◆ DrawEPS()

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 728 of file salgdilayout.cxx.

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

Referenced by OutputDevice::DrawEPS().

◆ drawGradient()

virtual bool SalGraphics::drawGradient ( const tools::PolyPolygon &  rPolyPoly,
const Gradient &  rGradient 
)
protectedpure virtual

Implemented in WinSalGraphics, and SalGraphicsAutoDelegateToImpl.

Referenced by DrawGradient().

◆ DrawGradient()

bool SalGraphics::DrawGradient ( const tools::PolyPolygon &  rPolyPoly,
const Gradient &  rGradient,
const OutputDevice &  rOutDev 
)

◆ drawLine()

virtual void SalGraphics::drawLine ( tools::Long  nX1,
tools::Long  nY1,
tools::Long  nX2,
tools::Long  nY2 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawLine().

◆ DrawLine()

void SalGraphics::DrawLine ( tools::Long  nX1,
tools::Long  nY1,
tools::Long  nX2,
tools::Long  nY2,
const OutputDevice &  rOutDev 
)

◆ drawMask()

virtual void SalGraphics::drawMask ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSalBitmap,
Color  nMaskColor 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawMask().

◆ DrawMask()

void SalGraphics::DrawMask ( const SalTwoRect &  rPosAry,
const SalBitmap &  rSalBitmap,
Color  nMaskColor,
const OutputDevice &  rOutDev 
)

◆ DrawNativeControl()

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 
)

◆ drawPixel() [1/2]

virtual void SalGraphics::drawPixel ( tools::Long  nX,
tools::Long  nY 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawPixel().

◆ drawPixel() [2/2]

virtual void SalGraphics::drawPixel ( tools::Long  nX,
tools::Long  nY,
Color  nColor 
)
protectedpure virtual

◆ DrawPixel() [1/2]

void SalGraphics::DrawPixel ( tools::Long  nX,
tools::Long  nY,
Color  nColor,
const OutputDevice &  rOutDev 
)

Definition at line 397 of file salgdilayout.cxx.

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

◆ DrawPixel() [2/2]

void SalGraphics::DrawPixel ( tools::Long  nX,
tools::Long  nY,
const OutputDevice &  rOutDev 
)

◆ drawPolygon()

virtual void SalGraphics::drawPolygon ( sal_uInt32  nPoints,
const Point *  pPtAry 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawPolygon().

◆ DrawPolygon()

void SalGraphics::DrawPolygon ( sal_uInt32  nPoints,
const Point *  pPtAry,
const OutputDevice &  rOutDev 
)

◆ drawPolygonBezier()

virtual bool SalGraphics::drawPolygonBezier ( sal_uInt32  nPoints,
const Point *  pPtAry,
const PolyFlags *  pFlgAry 
)
protectedpure virtual

◆ DrawPolygonBezier()

bool SalGraphics::DrawPolygonBezier ( sal_uInt32  nPoints,
const Point *  pPtAry,
const PolyFlags *  pFlgAry,
const OutputDevice &  rOutDev 
)

◆ drawPolyLine() [1/2]

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

◆ DrawPolyLine() [1/2]

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 
)

◆ drawPolyLine() [2/2]

virtual void SalGraphics::drawPolyLine ( sal_uInt32  nPoints,
const Point *  pPtAry 
)
protectedpure virtual

◆ DrawPolyLine() [2/2]

void SalGraphics::DrawPolyLine ( sal_uInt32  nPoints,
Point const *  pPtAry,
const OutputDevice &  rOutDev 
)

◆ drawPolyLineBezier()

virtual bool SalGraphics::drawPolyLineBezier ( sal_uInt32  nPoints,
const Point *  pPtAry,
const PolyFlags *  pFlgAry 
)
protectedpure virtual

◆ DrawPolyLineBezier()

bool SalGraphics::DrawPolyLineBezier ( sal_uInt32  nPoints,
const Point *  pPtAry,
const PolyFlags *  pFlgAry,
const OutputDevice &  rOutDev 
)

◆ drawPolyPolygon() [1/2]

virtual bool SalGraphics::drawPolyPolygon ( const basegfx::B2DHomMatrix &  rObjectToDevice,
const basegfx::B2DPolyPolygon &  ,
double  fTransparency 
)
protectedpure virtual

◆ DrawPolyPolygon() [1/2]

bool SalGraphics::DrawPolyPolygon ( const basegfx::B2DHomMatrix &  rObjectToDevice,
const basegfx::B2DPolyPolygon &  i_rPolyPolygon,
double  i_fTransparency,
const OutputDevice &  i_rOutDev 
)

◆ drawPolyPolygon() [2/2]

virtual void SalGraphics::drawPolyPolygon ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point **  pPtAry 
)
protectedpure virtual

◆ DrawPolyPolygon() [2/2]

void SalGraphics::DrawPolyPolygon ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point **  pPtAry,
const OutputDevice &  rOutDev 
)

◆ drawPolyPolygonBezier()

virtual bool SalGraphics::drawPolyPolygonBezier ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point *const *  pPtAry,
const PolyFlags *const *  pFlgAry 
)
protectedpure virtual

◆ DrawPolyPolygonBezier()

bool SalGraphics::DrawPolyPolygonBezier ( sal_uInt32  nPoly,
const sal_uInt32 *  pPoints,
const Point *const *  pPtAry,
const PolyFlags *const *  pFlgAry,
const OutputDevice &  rOutDev 
)

◆ drawRect()

virtual void SalGraphics::drawRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by DrawRect().

◆ DrawRect()

void SalGraphics::DrawRect ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
const OutputDevice &  rOutDev 
)

◆ DrawTextLayout()

virtual void SalGraphics::DrawTextLayout ( const GenericSalLayout &  )
pure virtual

◆ drawTransformedBitmap()

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, and WinSalGraphics.

Definition at line 86 of file salgdilayout.cxx.

Referenced by DrawTransformedBitmap().

◆ DrawTransformedBitmap()

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 
)

◆ forWidget()

vcl::WidgetDrawInterface * SalGraphics::forWidget ( )
inlineprotected

◆ getAntiAlias()

bool SalGraphics::getAntiAlias ( ) const
inline

◆ GetBitCount()

virtual sal_uInt16 SalGraphics::GetBitCount ( ) const
pure virtual

◆ getBitmap()

virtual std::shared_ptr< SalBitmap > SalGraphics::getBitmap ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by GetBitmap().

◆ GetBitmap()

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

Definition at line 695 of file salgdilayout.cxx.

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

Referenced by OutputDevice::GetBitmap().

◆ GetDevFontList()

virtual void SalGraphics::GetDevFontList ( vcl::font::PhysicalFontCollection *  )
pure virtual

◆ GetDeviceWidth()

tools::Long SalGraphics::GetDeviceWidth ( const OutputDevice &  rOutDev) const
inlineprotected

◆ GetFontCapabilities()

virtual bool SalGraphics::GetFontCapabilities ( vcl::FontCapabilities &  rFontCapabilities) const
pure virtual

◆ GetFontCharMap()

virtual FontCharMapRef SalGraphics::GetFontCharMap ( ) const
pure virtual

◆ GetFontMetric()

virtual void SalGraphics::GetFontMetric ( FontMetricDataRef &  ,
int  nFallbackLevel 
)
pure virtual

◆ GetGraphicsData()

virtual SystemGraphicsData SalGraphics::GetGraphicsData ( ) const
pure virtual

◆ GetGraphicsWidth()

virtual tools::Long SalGraphics::GetGraphicsWidth ( ) const
pure virtual

◆ GetImpl()

virtual SalGraphicsImpl * SalGraphics::GetImpl ( ) const
pure virtual

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

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().

◆ GetLayout()

SalLayoutFlags SalGraphics::GetLayout ( ) const
inline

◆ getMirror()

const basegfx::B2DHomMatrix & SalGraphics::getMirror ( const OutputDevice &  rOutDev) const

Definition at line 284 of file salgdilayout.cxx.

References GetMirrorMode().

Referenced by DrawPolyLine(), DrawPolyPolygon(), DrawTransformedBitmap(), and mirror().

◆ GetMirrorMode()

SalGraphics::MirrorMode SalGraphics::GetMirrorMode ( const OutputDevice &  rOutDev) const
private

◆ GetNativeControlRegion()

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 
)

◆ getPixel()

virtual Color SalGraphics::getPixel ( tools::Long  nX,
tools::Long  nY 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by GetPixel().

◆ GetPixel()

Color SalGraphics::GetPixel ( tools::Long  nX,
tools::Long  nY,
const OutputDevice &  rOutDev 
)

Definition at line 702 of file salgdilayout.cxx.

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

Referenced by OutputDevice::GetPixel().

◆ getRenderBackendName()

OUString SalGraphics::getRenderBackendName ( ) const
virtual

◆ GetResolution()

virtual void SalGraphics::GetResolution ( sal_Int32 &  rDPIX,
sal_Int32 &  rDPIY 
)
pure virtual

◆ GetTextLayout()

virtual std::unique_ptr< GenericSalLayout > SalGraphics::GetTextLayout ( int  nFallbackLevel)
pure virtual

◆ handleDamage()

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 QtGraphics, QtSvpGraphics, and GtkSalGraphics.

Definition at line 643 of file salgdi.hxx.

Referenced by DrawNativeControl().

◆ HasFastDrawTransformedBitmap()

bool SalGraphics::HasFastDrawTransformedBitmap ( ) const

◆ hasFastDrawTransformedBitmap()

virtual bool SalGraphics::hasFastDrawTransformedBitmap ( ) const
protectedpure virtual

Returns true if the drawTransformedBitmap() call is fast, and so it should be used directly without trying to optimize some calls e.g.

by calling drawBitmap() instead (which is faster for most VCL backends). These optimizations are not done unconditionally because they may be counter-productive for some fast VCL backends (for example, some OutputDevice optimizations could try access the pixels, which would make performance worse for GPU-backed backends). See also tdf#138068.

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by HasFastDrawTransformedBitmap().

◆ HitTestNativeScrollbar()

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

Definition at line 735 of file salgdilayout.cxx.

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

Referenced by OutputDevice::HitTestNativeScrollbar().

◆ implDrawGradient()

virtual bool SalGraphics::implDrawGradient ( basegfx::B2DPolyPolygon const &  ,
SalGradient const &   
)
inlineprotectedvirtual

Reimplemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Definition at line 481 of file salgdi.hxx.

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

◆ initWidgetDrawBackends()

bool SalGraphics::initWidgetDrawBackends ( bool  bForce = false)
protected

Definition at line 63 of file salgdilayout.cxx.

References m_pWidgetDraw.

◆ invert() [1/2]

virtual void SalGraphics::invert ( sal_uInt32  nPoints,
const Point *  pPtAry,
SalInvert  nFlags 
)
protectedpure virtual

◆ Invert() [1/2]

void SalGraphics::Invert ( sal_uInt32  nPoints,
const Point *  pPtAry,
SalInvert  nFlags,
const OutputDevice &  rOutDev 
)

Definition at line 716 of file salgdilayout.cxx.

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

◆ invert() [2/2]

virtual void SalGraphics::invert ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
SalInvert  nFlags 
)
protectedpure virtual

Implemented in SalGraphicsAutoDelegateToImpl, and WinSalGraphics.

Referenced by Invert().

◆ Invert() [2/2]

void SalGraphics::Invert ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
SalInvert  nFlags,
const OutputDevice &  rOutDev 
)

◆ IsNativeControlSupported()

bool SalGraphics::IsNativeControlSupported ( ControlType  eType,
ControlPart  ePart 
)
inline
See also
WidgetDrawInterface::isNativeControlSupported

Definition at line 633 of file salgdi.hxx.

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

Referenced by OutputDevice::IsNativeControlSupported().

◆ mirror() [1/7]

basegfx::B2DPolyPolygon SalGraphics::mirror ( const basegfx::B2DPolyPolygon &  i_rPoly,
const OutputDevice &  rOutDev 
) const

◆ mirror() [2/7]

void SalGraphics::mirror ( ImplControlValue &  rVal,
const OutputDevice &  rOutDev 
) const

◆ mirror() [3/7]

bool SalGraphics::mirror ( sal_uInt32  nPoints,
const Point *  pPtAry,
Point *  pPtAry2,
const OutputDevice &  rOutDev 
) const

◆ mirror() [4/7]

void SalGraphics::mirror ( tools::Long &  nX,
const OutputDevice &  rOutDev 
) const

◆ mirror() [5/7]

void SalGraphics::mirror ( tools::Long &  nX,
tools::Long  nWidth,
const OutputDevice &  rOutDev,
bool  bBack = false 
) const

◆ mirror() [6/7]

void SalGraphics::mirror ( tools::Rectangle &  rRect,
const OutputDevice &  rOutDev,
bool  bBack = false 
) const

◆ mirror() [7/7]

void SalGraphics::mirror ( vcl::Region &  rRgn,
const OutputDevice &  rOutDev 
) const

◆ mirror2()

tools::Long SalGraphics::mirror2 ( tools::Long  nX,
const OutputDevice &  rOutDev 
) const

Definition at line 98 of file salgdilayout.cxx.

References mirror(), and x.

Referenced by HitTestNativeScrollbar().

◆ ReleaseFonts()

void SalGraphics::ReleaseFonts ( )
inline

◆ ResetClipRegion()

virtual void SalGraphics::ResetClipRegion ( )
pure virtual

◆ setAntiAlias()

void SalGraphics::setAntiAlias ( bool  bNew)
inline

◆ setClipRegion()

virtual void SalGraphics::setClipRegion ( const vcl::Region &  )
protectedpure virtual

Implemented in WinSalGraphics, and SalGraphicsAutoDelegateToImpl.

Referenced by SetClipRegion().

◆ SetClipRegion()

void SalGraphics::SetClipRegion ( const vcl::Region &  i_rClip,
const OutputDevice &  rOutDev 
)

◆ SetFillColor() [1/2]

virtual void SalGraphics::SetFillColor ( )
pure virtual

◆ SetFillColor() [2/2]

virtual void SalGraphics::SetFillColor ( Color  nColor)
pure virtual

◆ SetFont()

virtual void SalGraphics::SetFont ( LogicalFontInstance *  ,
int  nFallbackLevel 
)
pure virtual

◆ SetLayout()

void SalGraphics::SetLayout ( SalLayoutFlags  aLayout)
inline

Definition at line 171 of file salgdi.hxx.

Referenced by VirtualDevice::EnableRTL().

◆ SetLineColor() [1/2]

virtual void SalGraphics::SetLineColor ( )
pure virtual

◆ SetLineColor() [2/2]

virtual void SalGraphics::SetLineColor ( Color  nColor)
pure virtual

◆ SetROPFillColor()

virtual void SalGraphics::SetROPFillColor ( SalROPColor  nROPColor)
pure virtual

◆ SetROPLineColor()

virtual void SalGraphics::SetROPLineColor ( SalROPColor  nROPColor)
pure virtual

◆ SetTextColor()

virtual void SalGraphics::SetTextColor ( Color  nColor)
pure virtual

◆ SetXORMode()

virtual void SalGraphics::SetXORMode ( bool  bSet,
bool  bInvertOnly 
)
pure virtual

◆ ShouldDownscaleIconsAtSurface()

bool SalGraphics::ShouldDownscaleIconsAtSurface ( double *  pScaleOut) const
virtual

◆ supportsOperation()

virtual bool SalGraphics::supportsOperation ( OutDevSupportType  ) const
pure virtual

◆ UpdateSettings()

bool SalGraphics::UpdateSettings ( AllSettings &  rSettings)
inline
See also
WidgetDrawInterface::updateSettings

Definition at line 638 of file salgdi.hxx.

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

Friends And Related Function Documentation

◆ vcl::FileDefinitionWidgetDraw

friend class vcl::FileDefinitionWidgetDraw
friend

Definition at line 427 of file salgdi.hxx.

Member Data Documentation

◆ m_aLastMirror

basegfx::B2DHomMatrix SalGraphics::m_aLastMirror
private

Definition at line 606 of file salgdi.hxx.

◆ m_bAntiAlias

bool SalGraphics::m_bAntiAlias
protected

flags which hold the SetAntialiasing() value from OutputDevice

Definition at line 612 of file salgdi.hxx.

◆ m_eLastMirrorMode

MirrorMode SalGraphics::m_eLastMirrorMode
private

Definition at line 604 of file salgdi.hxx.

◆ m_nLastMirrorTranslation

tools::Long SalGraphics::m_nLastMirrorTranslation
private

Definition at line 605 of file salgdi.hxx.

◆ m_nLayout

SalLayoutFlags SalGraphics::m_nLayout
private

◆ m_pWidgetDraw

std::unique_ptr<vcl::WidgetDrawInterface> SalGraphics::m_pWidgetDraw
protected

Definition at line 629 of file salgdi.hxx.

Referenced by DrawNativeControl(), and initWidgetDrawBackends().


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