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

Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inheritance to keep the referencing counting OK. More...

#include <outdev.hxx>

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

Classes

struct  FontMappingUseItem
 

Public Member Functions

virtual Size GetButtonBorderSize ()
 
virtual Color GetMonochromeButtonColor ()
 
virtual void DrawBorder (tools::Rectangle aBorderRect)
 
virtual css::awt::DeviceInfo GetDeviceInfo () const
 
virtual vcl::WindowGetOwnerWindow () const
 Get the vcl::Window that this OutputDevice belongs to, if any. More...
 
Helper functions
SAL_DLLPRIVATE sal_Int32 GetDPIX () const
 Get the output device's DPI x-axis value. More...
 
SAL_DLLPRIVATE sal_Int32 GetDPIY () const
 Get the output device's DPI y-axis value. More...
 
SAL_DLLPRIVATE void SetDPIX (sal_Int32 nDPIX)
 
SAL_DLLPRIVATE void SetDPIY (sal_Int32 nDPIY)
 
float GetDPIScaleFactor () const
 
sal_Int32 GetDPIScalePercentage () const
 
OutDevType GetOutDevType () const
 
virtual bool IsVirtual () const
 
bool SupportsOperation (OutDevSupportType) const
 Query an OutputDevice to see whether it supports a specific operation. More...
 
void SetExtOutDevData (vcl::ExtOutDevData *pExtOutDevData)
 
vcl::ExtOutDevDataGetExtOutDevData () const
 
Pixel functions
void DrawPixel (const Point &rPt)
 
void DrawPixel (const Point &rPt, const Color &rColor)
 
Color GetPixel (const Point &rPt) const
 
Rectangle functions
void DrawRect (const tools::Rectangle &rRect)
 
void DrawRect (const tools::Rectangle &rRect, sal_uLong nHorzRount, sal_uLong nVertRound)
 
void DrawCheckered (const Point &rPos, const Size &rSize, sal_uInt32 nLen=8, Color aStart=COL_WHITE, Color aEnd=COL_BLACK)
 Fill the given rectangle with checkered rectangles of size nLen x nLen using the colors aStart and aEnd. More...
 
void DrawGrid (const tools::Rectangle &rRect, const Size &rDist, DrawGridFlags nFlags)
 
Invert functions
void Invert (const tools::Rectangle &rRect, InvertFlags nFlags=InvertFlags::NONE)
 
void Invert (const tools::Polygon &rPoly, InvertFlags nFlags=InvertFlags::NONE)
 
Curved shape functions
void DrawEllipse (const tools::Rectangle &rRect)
 
void DrawArc (const tools::Rectangle &rRect, const Point &rStartPt, const Point &rEndPt)
 
void DrawPie (const tools::Rectangle &rRect, const Point &rStartPt, const Point &rEndPt)
 
void DrawChord (const tools::Rectangle &rRect, const Point &rStartPt, const Point &rEndPt)
 
Native Widget Rendering functions

These all just call through to the private mpGraphics functions of the same name.

virtual bool CanEnableNativeWidget () const
 Determine if native widgets can be enabled. More...
 
bool IsNativeControlSupported (ControlType nType, ControlPart nPart) const
 Query the platform layer for control support. More...
 
bool HitTestNativeScrollbar (ControlPart nPart, const tools::Rectangle &rControlRegion, const Point &aPos, bool &rIsInside) const
 Query the native control to determine if it was acted upon. More...
 
bool DrawNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const Color &rBackgroundColor=COL_AUTO)
 Request rendering of a particular control and/or part. More...
 
bool GetNativeControlRegion (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion) const
 Query the native control's actual drawing region (including adornment) More...
 
EPS functions
bool DrawEPS (const Point &rPt, const Size &rSz, const GfxLink &rGfxLink, GDIMetaFile *pSubst=nullptr)
 
- Public Member Functions inherited from VclReferenceBase
void acquire () const
 
void release () const
 
sal_Int32 getRefCount () const
 
void disposeOnce ()
 
bool isDisposed () const
 

Protected Member Functions

css::awt::DeviceInfo GetCommonDeviceInfo (Size const &aDevSize) const
 
- Protected Member Functions inherited from VclReferenceBase
 VclReferenceBase ()
 
virtual ~VclReferenceBase ()
 
virtual void dispose ()
 

Protected Attributes

std::shared_ptr< vcl::font::PhysicalFontCollectionmxFontCollection
 
std::shared_ptr< ImplFontCachemxFontCache
 

Private Member Functions

 OutputDevice (const OutputDevice &)=delete
 
OutputDeviceoperator= (const OutputDevice &)=delete
 
bool DrawPolyLineDirectInternal (const basegfx::B2DHomMatrix &rObjectTransform, const basegfx::B2DPolygon &rB2DPolygon, double fLineWidth=0.0, double fTransparency=0.0, const std::vector< double > *=nullptr, basegfx::B2DLineJoin eLineJoin=basegfx::B2DLineJoin::NONE, css::drawing::LineCap eLineCap=css::drawing::LineCap_BUTT, double fMiterMinimumAngle=basegfx::deg2rad(15.0))
 
SAL_DLLPRIVATE void ImplDrawWaveLineBezier (tools::Long nStartX, tools::Long nStartY, tools::Long nEndX, tools::Long nEndY, tools::Long nWaveHeight, double fOrientation, tools::Long nLineWidth)
 

Private Attributes

SalGraphicsmpGraphics
 Graphics context to draw on. More...
 
VclPtr< OutputDevicempPrevGraphics
 Previous output device in list. More...
 
VclPtr< OutputDevicempNextGraphics
 Next output device in list. More...
 
GDIMetaFilempMetaFile
 
rtl::Reference< LogicalFontInstancempFontInstance
 
std::unique_ptr< vcl::font::PhysicalFontFaceCollectionmpFontFaceCollection
 
std::vector< vcl::StatemaOutDevStateStack
 
std::unique_ptr< ImplOutDevDatampOutDevData
 
std::vector< VCLXGraphics * > * mpUnoGraphicsList
 
vcl::ExtOutDevDatampExtOutDevData
 
css::uno::WeakReference< css::rendering::XCanvas > mxCanvas
 
VclPtr< VirtualDevicempAlphaVDev
 
tools::Long mnOutOffOrigX
 Additional output pixel offset, applied in LogicToPixel (used by SetPixelOffset/GetPixelOffset) More...
 
tools::Long mnOutOffLogicX
 Additional output offset in logical coordinates, applied in PixelToLogic (used by SetPixelOffset/GetPixelOffset) More...
 
tools::Long mnOutOffOrigY
 Additional output pixel offset, applied in LogicToPixel (used by SetPixelOffset/GetPixelOffset) More...
 
tools::Long mnOutOffLogicY
 Additional output offset in logical coordinates, applied in PixelToLogic (used by SetPixelOffset/GetPixelOffset) More...
 
tools::Long mnOutOffX
 Output offset for device output in pixel (pseudo window offset within window system's frames) More...
 
tools::Long mnOutOffY
 Output offset for device output in pixel (pseudo window offset within window system's frames) More...
 
tools::Long mnOutWidth
 
tools::Long mnOutHeight
 
sal_Int32 mnDPIX
 
sal_Int32 mnDPIY
 
sal_Int32 mnDPIScalePercentage
 For HiDPI displays, we want to draw elements for a percentage larger. More...
 
tools::Long mnTextOffX
 font specific text alignment offsets in pixel units More...
 
tools::Long mnTextOffY
 
tools::Long mnEmphasisAscent
 
tools::Long mnEmphasisDescent
 
DrawModeFlags mnDrawMode
 
vcl::text::ComplexTextLayoutFlags mnTextLayoutMode
 
ImplMapRes maMapRes
 
const OutDevType meOutDevType
 
OutDevViewType meOutDevViewType
 
vcl::Region maRegion
 
Color maLineColor
 
Color maFillColor
 
vcl::Font maFont
 
Color maTextColor
 
Color maTextLineColor
 
Color maOverlineColor
 
RasterOp meRasterOp
 
Wallpaper maBackground
 
std::optional< AllSettingsmoSettings
 
MapMode maMapMode
 
Point maRefPoint
 
AntialiasingFlags mnAntialiasing
 
LanguageType meTextLanguage
 
bool mbMap: 1
 
bool mbClipRegion: 1
 
bool mbBackground: 1
 
bool mbOutput: 1
 
bool mbDevOutput: 1
 
bool mbOutputClipped: 1
 
bool mbLineColor: 1
 
bool mbFillColor: 1
 
bool mbInitLineColor: 1
 
bool mbInitFillColor: 1
 
bool mbInitFont: 1
 
bool mbInitTextColor: 1
 
bool mbInitClipRegion: 1
 
bool mbClipRegionSet: 1
 
bool mbNewFont: 1
 
bool mbTextLines: 1
 
bool mbTextSpecial: 1
 
bool mbRefPoint: 1
 
bool mbEnableRTL: 1
 

Friends

class Printer
 
class VirtualDevice
 
class vcl::Window
 
class vcl::WindowOutputDevice
 
class WorkWindow
 
void ImplHandleResize (vcl::Window *pWindow, tools::Long nNewWidth, tools::Long nNewHeight)
 

Font functions

typedef void(OutputDevice::* FontUpdateHandler_t) (bool)
 
SAL_DLLPRIVATE void ImplDrawEmphasisMark (tools::Long nBaseX, tools::Long nX, tools::Long nY, const tools::PolyPolygon &rPolyPoly, bool bPolyLine, const tools::Rectangle &rRect1, const tools::Rectangle &rRect2)
 
SAL_DLLPRIVATE void ImplDrawEmphasisMarks (SalLayout &)
 
SAL_DLLPRIVATE tools::Long GetEmphasisAscent () const
 
SAL_DLLPRIVATE tools::Long GetEmphasisDescent () const
 
SAL_DLLPRIVATE bool InitFont () const
 
virtual void SetFontOrientation (LogicalFontInstance *const pFontInstance) const
 
virtual tools::Long GetFontExtLeading () const
 
virtual void ImplClearFontData (bool bNewFontLists)
 
virtual void ImplRefreshFontData (bool bNewFontLists)
 
void ReleaseFontCache ()
 
void ReleaseFontCollection ()
 
void SetFontCollectionFromSVData ()
 
void ResetNewFontCache ()
 
virtual bool ImplNewFont () const
 
FontMetric GetFontMetricFromCollection (int nDevFontIndex) const
 
int GetFontFaceCollectionCount () const
 
bool IsFontAvailable (std::u16string_view rFontName) const
 
bool AddTempDevFont (const OUString &rFileURL, const OUString &rFontName)
 
void RefreshFontData (const bool bNewFontLists)
 
FontMetric GetFontMetric () const
 
FontMetric GetFontMetric (const vcl::Font &rFont) const
 
bool GetFontCharMap (FontCharMapRef &rxFontCharMap) const
 
bool GetFontCapabilities (vcl::FontCapabilities &rFontCapabilities) const
 
bool GetFontFeatures (std::vector< vcl::font::Feature > &rFontFeatures) const
 
bool GetGlyphBoundRects (const Point &rOrigin, const OUString &rStr, int nIndex, int nLen, std::vector< tools::Rectangle > &rVector) const
 
sal_Int32 HasGlyphs (const vcl::Font &rFont, std::u16string_view rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1) const
 
tools::Long GetMinKashida () const
 
sal_Int32 ValidateKashidas (const OUString &rTxt, sal_Int32 nIdx, sal_Int32 nLen, sal_Int32 nKashCount, const sal_Int32 *pKashidaPos, sal_Int32 *pKashidaPosDropped) const
 
SAL_DLLPRIVATE void ImplInitFontList () const
 
SAL_DLLPRIVATE void ImplUpdateFontData ()
 
LogicalFontInstance const * GetFontInstance () const
 
static void BeginFontSubstitution ()
 
static void EndFontSubstitution ()
 
static void AddFontSubstitute (const OUString &rFontName, const OUString &rReplaceFontName, AddFontSubstituteFlags nFlags)
 
static void RemoveFontsSubstitute ()
 
static vcl::Font GetDefaultFont (DefaultFontType nType, LanguageType eLang, GetDefaultFontFlags nFlags, const OutputDevice *pOutDev=nullptr)
 
static void ImplClearAllFontData (bool bNewFontLists)
 
static void ImplRefreshAllFontData (bool bNewFontLists)
 
static SAL_DLLPRIVATE void ImplUpdateAllFontData (bool bNewFontLists)
 
static SAL_DLLPRIVATE void ImplUpdateFontDataForAllFrames (FontUpdateHandler_t pHdl, bool bNewFontLists)
 
static SAL_DLLPRIVATE OUString ImplGetEllipsisString (const OutputDevice &rTargetDevice, const OUString &rStr, tools::Long nMaxWidth, DrawTextFlags nStyle, const vcl::ITextLayout &_rLayout)
 

Layout functions

typedef std::vector< FontMappingUseItemFontMappingUseData
 
SAL_DLLPRIVATE bool ImplIsAntiparallel () const
 
SAL_DLLPRIVATE void ReMirror (Point &rPoint) const
 
SAL_DLLPRIVATE void ReMirror (tools::Rectangle &rRect) const
 
SAL_DLLPRIVATE void ReMirror (vcl::Region &rRegion) const
 
SAL_DLLPRIVATE bool ImplIsRecordLayout () const
 
virtual bool HasMirroredGraphics () const
 
std::unique_ptr< SalLayoutImplLayout (const OUString &, sal_Int32 nIndex, sal_Int32 nLen, const Point &rLogicPos=Point(0, 0), tools::Long nLogicWidth=0, KernArraySpan aKernArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}, SalLayoutFlags flags=SalLayoutFlags::NONE, vcl::text::TextLayoutCache const *=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr) const
 
SAL_DLLPRIVATE vcl::text::ImplLayoutArgs ImplPrepareLayoutArgs (OUString &, const sal_Int32 nIndex, const sal_Int32 nLen, double nPixelWidth, SalLayoutFlags flags=SalLayoutFlags::NONE, vcl::text::TextLayoutCache const *=nullptr) const
 
SAL_DLLPRIVATE std::unique_ptr< SalLayoutImplGlyphFallbackLayout (std::unique_ptr< SalLayout >, vcl::text::ImplLayoutArgs &, const SalLayoutGlyphs *) const
 
SAL_DLLPRIVATE std::unique_ptr< SalLayoutgetFallbackLayout (LogicalFontInstance *pLogicalFont, int nFallbackLevel, vcl::text::ImplLayoutArgs &rLayoutArgs, const SalLayoutGlyphs *) const
 
virtual void EnableRTL (bool bEnable=true)
 
bool IsRTLEnabled () const
 
bool GetTextIsRTL (const OUString &, sal_Int32 nIndex, sal_Int32 nLen) const
 
static void StartTrackingFontMappingUse ()
 
static FontMappingUseData FinishTrackingFontMappingUse ()
 

Direct OutputDevice drawing functions

SAL_DLLPRIVATE void DrawOutDev (const Point &, const Size &, const Point &, const Size &, const Printer &)=delete
 
virtual void CopyDeviceArea (SalTwoRect &aPosAry, bool bWindowInvalidate)
 
virtual tools::Rectangle GetBackgroundComponentBounds () const
 
virtual const OutputDeviceDrawOutDevDirectCheck (const OutputDevice &rSrcDev) const
 
virtual void DrawOutDevDirectProcess (const OutputDevice &rSrcDev, SalTwoRect &rPosAry, SalGraphics *pSrcGraphics)
 
SAL_DLLPRIVATE void drawOutDevDirect (const OutputDevice &rSrcDev, SalTwoRect &rPosAry)
 
SAL_DLLPRIVATE bool is_double_buffered_window () const
 
virtual css::uno::Reference< css::rendering::XCanvas > ImplGetCanvas (bool bSpriteCanvas) const
 
SAL_DLLPRIVATE void ImplDisposeCanvas ()
 
virtual void Flush ()
 
virtual void DrawOutDev (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPt, const Size &rSrcSize)
 
virtual void DrawOutDev (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPt, const Size &rSrcSize, const OutputDevice &rOutDev)
 
virtual void CopyArea (const Point &rDestPt, const Point &rSrcPt, const Size &rSrcSize, bool bWindowInvalidate=false)
 

OutputDevice state functions

SAL_DLLPRIVATE void InitLineColor ()
 
SAL_DLLPRIVATE void InitFillColor ()
 
virtual void ImplReleaseFonts ()
 
void Push (vcl::PushFlags nFlags=vcl::PushFlags::ALL)
 
void Pop ()
 
void ClearStack ()
 
void EnableOutput (bool bEnable=true)
 
bool IsOutputEnabled () const
 
bool IsDeviceOutputNecessary () const
 
void SetAntialiasing (AntialiasingFlags nMode)
 
AntialiasingFlags GetAntialiasing () const
 
void SetDrawMode (DrawModeFlags nDrawMode)
 
DrawModeFlags GetDrawMode () const
 
void SetLayoutMode (vcl::text::ComplexTextLayoutFlags nTextLayoutMode)
 
vcl::text::ComplexTextLayoutFlags GetLayoutMode () const
 
void SetDigitLanguage (LanguageType)
 
LanguageType GetDigitLanguage () const
 
void SetRasterOp (RasterOp eRasterOp)
 
RasterOp GetRasterOp () const
 
void SetOutDevViewType (OutDevViewType eOutDevViewType)
 If this OutputDevice is used for displaying a Print Preview the OutDevViewType should be set to 'OutDevViewType::PrintPreview'. More...
 
OutDevViewType GetOutDevViewType () const
 
void SetLineColor ()
 
void SetLineColor (const Color &rColor)
 
const ColorGetLineColor () const
 
bool IsLineColor () const
 
void SetFillColor ()
 
void SetFillColor (const Color &rColor)
 
const ColorGetFillColor () const
 
bool IsFillColor () const
 
void SetBackground ()
 
void SetBackground (const Wallpaper &rBackground)
 
virtual void SaveBackground (VirtualDevice &rSaveDevice, const Point &rPos, const Size &rSize, const Size &rBackgroundSize) const
 
const WallpaperGetBackground () const
 
virtual Color GetBackgroundColor () const
 
virtual Color GetReadableFontColor (const Color &rFontColor, const Color &rBgColor) const
 
bool IsBackground () const
 
void SetFont (const vcl::Font &rNewFont)
 
const vcl::FontGetFont () const
 

Clipping functions

SAL_DLLPRIVATE void SetDeviceClipRegion (const vcl::Region *pRegion)
 
virtual void InitClipRegion ()
 
virtual vcl::Region ClipToDeviceBounds (vcl::Region aRegion) const
 Perform actual rect clip against outdev dimensions, to generate empty clips whenever one of the values is completely off the device. More...
 
virtual void ClipToPaintRegion (tools::Rectangle &rDstRect)
 
vcl::Region GetClipRegion () const
 
void SetClipRegion ()
 
void SetClipRegion (const vcl::Region &rRegion)
 
bool SelectClipRegion (const vcl::Region &, SalGraphics *pGraphics=nullptr)
 
bool IsClipRegion () const
 
void MoveClipRegion (tools::Long nHorzMove, tools::Long nVertMove)
 
void IntersectClipRegion (const tools::Rectangle &rRect)
 
void IntersectClipRegion (const vcl::Region &rRegion)
 
virtual vcl::Region GetActiveClipRegion () const
 
virtual vcl::Region GetOutputBoundsClipRegion () const
 

Line functions

SAL_DLLPRIVATE void drawLine (basegfx::B2DPolyPolygon aLinePolyPolygon, const LineInfo &rInfo)
 Helper for line geometry paint with support for graphic expansion (pattern and fat_to_area) More...
 
virtual void DrawHatchLine_DrawLine (const Point &rStartPoint, const Point &rEndPoint)
 
void DrawLine (const Point &rStartPt, const Point &rEndPt)
 
void DrawLine (const Point &rStartPt, const Point &rEndPt, const LineInfo &rLineInfo)
 

Polyline functions

SAL_DLLPRIVATE void drawPolyLine (const tools::Polygon &rPoly, const LineInfo &rLineInfo)
 
void DrawPolyLine (const tools::Polygon &rPoly)
 Render the given polygon as a line stroke. More...
 
void DrawPolyLine (const basegfx::B2DPolygon &, double fLineWidth=0.0, basegfx::B2DLineJoin eLineJoin=basegfx::B2DLineJoin::Round, css::drawing::LineCap eLineCap=css::drawing::LineCap_BUTT, double fMiterMinimumAngle=basegfx::deg2rad(15.0))
 
void DrawPolyLine (const tools::Polygon &rPoly, const LineInfo &rLineInfo)
 Render the given polygon as a line stroke. More...
 
bool DrawPolyLineDirect (const basegfx::B2DHomMatrix &rObjectTransform, const basegfx::B2DPolygon &rB2DPolygon, double fLineWidth=0.0, double fTransparency=0.0, const std::vector< double > *=nullptr, basegfx::B2DLineJoin eLineJoin=basegfx::B2DLineJoin::NONE, css::drawing::LineCap eLineCap=css::drawing::LineCap_BUTT, double fMiterMinimumAngle=basegfx::deg2rad(15.0))
 

Polygon functions

SAL_DLLPRIVATE void ImplDrawPolygon (const tools::Polygon &rPoly, const tools::PolyPolygon *pClipPolyPoly=nullptr)
 
SAL_DLLPRIVATE void ImplDrawPolyPolygon (const tools::PolyPolygon &rPolyPoly, const tools::PolyPolygon *pClipPolyPoly)
 
SAL_DLLPRIVATE void ImplDrawPolyPolygon (sal_uInt16 nPoly, const tools::PolyPolygon &rPolyPoly)
 
SAL_DLLPRIVATE void ImplDrawPolyPolygonWithB2DPolyPolygon (const basegfx::B2DPolyPolygon &rB2DPolyPoly)
 
void DrawPolygon (const tools::Polygon &rPoly)
 Render the given polygon. More...
 
void DrawPolygon (const basegfx::B2DPolygon &)
 
void DrawPolyPolygon (const tools::PolyPolygon &rPolyPoly)
 Render the given poly-polygon. More...
 
void DrawPolyPolygon (const basegfx::B2DPolyPolygon &)
 

Gradient functions

SAL_DLLPRIVATE void DrawLinearGradient (const tools::Rectangle &rRect, const Gradient &rGradient, const tools::PolyPolygon *pClipPolyPoly)
 
SAL_DLLPRIVATE void DrawComplexGradient (const tools::Rectangle &rRect, const Gradient &rGradient, const tools::PolyPolygon *pClipPolyPoly)
 
SAL_DLLPRIVATE void DrawGradientToMetafile (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient)
 
SAL_DLLPRIVATE tools::Long GetGradientSteps (Gradient const &rGradient, tools::Rectangle const &rRect)
 
SAL_DLLPRIVATE Color GetSingleColorGradientFill ()
 
virtual bool UsePolyPolygonForComplexGradient ()=0
 
virtual tools::Long GetGradientStepCount (tools::Long nMinRect)
 
void DrawGradient (const tools::Rectangle &rRect, const Gradient &rGradient)
 
void DrawGradient (const tools::PolyPolygon &rPolyPoly, const Gradient &rGradient)
 

Hatch functions

SAL_DLLPRIVATE void CalcHatchValues (const tools::Rectangle &rRect, tools::Long nDist, Degree10 nAngle10, Point &rPt1, Point &rPt2, Size &rInc, Point &rEndPt1)
 
SAL_DLLPRIVATE void DrawHatchLine (const tools::Line &rLine, const tools::PolyPolygon &rPolyPoly, Point *pPtBuffer, bool bMtf)
 
void DrawHatch (const tools::PolyPolygon &rPolyPoly, const Hatch &rHatch)
 
void AddHatchActions (const tools::PolyPolygon &rPolyPoly, const Hatch &rHatch, GDIMetaFile &rMtf)
 
void DrawHatch (const tools::PolyPolygon &rPolyPoly, const Hatch &rHatch, bool bMtf)
 

Wallpaper functions

SAL_DLLPRIVATE void DrawWallpaper (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const Wallpaper &rWallpaper)
 
SAL_DLLPRIVATE void DrawColorWallpaper (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const Wallpaper &rWallpaper)
 
SAL_DLLPRIVATE void DrawBitmapWallpaper (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const Wallpaper &rWallpaper)
 
void DrawGradientWallpaper (tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, const Wallpaper &rWallpaper)
 
void DrawWallpaper (const tools::Rectangle &rRect, const Wallpaper &rWallpaper)
 
void Erase ()
 
void Erase (const tools::Rectangle &rRect)
 

Text functions

SAL_DLLPRIVATE void ImplInitTextColor ()
 
SAL_DLLPRIVATE void ImplDrawTextDirect (SalLayout &, bool bTextLines)
 
SAL_DLLPRIVATE void ImplDrawSpecialText (SalLayout &)
 
SAL_DLLPRIVATE void ImplDrawTextRect (tools::Long nBaseX, tools::Long nBaseY, tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight)
 
SAL_DLLPRIVATE void ImplDrawWavePixel (tools::Long nOriginX, tools::Long nOriginY, tools::Long nCurX, tools::Long nCurY, tools::Long nWidth, Degree10 nOrientation, SalGraphics *pGraphics, const OutputDevice &rOutDev, tools::Long nPixWidth, tools::Long nPixHeight)
 
SAL_DLLPRIVATE void ImplDrawWaveLine (tools::Long nBaseX, tools::Long nBaseY, tools::Long nStartX, tools::Long nStartY, tools::Long nWidth, tools::Long nHeight, tools::Long nLineWidth, Degree10 nOrientation, const Color &rColor)
 
SAL_DLLPRIVATE void ImplDrawWaveTextLine (tools::Long nBaseX, tools::Long nBaseY, tools::Long nX, tools::Long nY, tools::Long nWidth, FontLineStyle eTextLine, Color aColor, bool bIsAbove)
 
SAL_DLLPRIVATE void ImplDrawStraightTextLine (tools::Long nBaseX, tools::Long nBaseY, tools::Long nX, tools::Long nY, tools::Long nWidth, FontLineStyle eTextLine, Color aColor, bool bIsAbove)
 
SAL_DLLPRIVATE void ImplDrawStrikeoutLine (tools::Long nBaseX, tools::Long nBaseY, tools::Long nX, tools::Long nY, tools::Long nWidth, FontStrikeout eStrikeout, Color aColor)
 
SAL_DLLPRIVATE void ImplDrawStrikeoutChar (tools::Long nBaseX, tools::Long nBaseY, tools::Long nX, tools::Long nY, tools::Long nWidth, FontStrikeout eStrikeout, Color aColor)
 
SAL_DLLPRIVATE void ImplDrawMnemonicLine (tools::Long nX, tools::Long nY, tools::Long nWidth)
 
SAL_DLLPRIVATE bool AttemptOLEFontScaleFix (vcl::Font &rFont, tools::Long nHeight) const
 
SAL_DLLPRIVATE void ImplInitTextLineSize ()
 
SAL_DLLPRIVATE void ImplInitAboveTextLineSize ()
 
SAL_DLLPRIVATE float approximate_char_width () const
 
virtual bool shouldDrawWavePixelAsRect (tools::Long nLineWidth) const
 
virtual void SetWaveLineColors (Color const &rColor, tools::Long nLineWidth)
 
virtual Size GetWaveLineSize (tools::Long nLineWidth) const
 
void DrawText (const Point &rStartPt, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pLayoutCache=nullptr)
 
void DrawText (const tools::Rectangle &rRect, const OUString &rStr, DrawTextFlags nStyle=DrawTextFlags::NONE, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, vcl::ITextLayout *_pTextLayout=nullptr)
 
void ImplDrawText (SalLayout &)
 
void ImplDrawTextBackground (const SalLayout &)
 
void DrawCtrlText (const Point &rPos, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, DrawTextFlags nStyle=DrawTextFlags::Mnemonic, std::vector< tools::Rectangle > *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr)
 
void DrawTextLine (const Point &rPos, tools::Long nWidth, FontStrikeout eStrikeout, FontLineStyle eUnderline, FontLineStyle eOverline, bool bUnderlineAbove=false)
 
void ImplDrawTextLine (tools::Long nBaseX, tools::Long nX, tools::Long nY, double nWidth, FontStrikeout eStrikeout, FontLineStyle eUnderline, FontLineStyle eOverline, bool bUnderlineAbove)
 
void ImplDrawTextLines (SalLayout &, FontStrikeout eStrikeout, FontLineStyle eUnderline, FontLineStyle eOverline, bool bWordLine, bool bUnderlineAbove)
 
void DrawWaveLine (const Point &rStartPos, const Point &rEndPos, tools::Long nLineWidth=1, tools::Long nWaveHeight=3)
 
bool ImplDrawRotateText (SalLayout &)
 
tools::Rectangle GetTextRect (const tools::Rectangle &rRect, const OUString &rStr, DrawTextFlags nStyle=DrawTextFlags::WordBreak, TextRectInfo *pInfo=nullptr, const vcl::ITextLayout *_pTextLayout=nullptr) const
 
bool GetTextBoundRect (tools::Rectangle &rRect, const OUString &rStr, sal_Int32 nBase=0, sal_Int32 nIndex=0, sal_Int32 nLen=-1, sal_uLong nLayoutWidth=0, KernArraySpan aDXArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}, const SalLayoutGlyphs *pGlyphs=nullptr) const
 Return the exact bounding rectangle of rStr. More...
 
tools::Rectangle ImplGetTextBoundRect (const SalLayout &) const
 
bool GetTextOutline (tools::PolyPolygon &, const OUString &rStr) const
 
bool GetTextOutlines (PolyPolyVector &, const OUString &rStr, sal_Int32 nBase=0, sal_Int32 nIndex=0, sal_Int32 nLen=-1, sal_uLong nLayoutWidth=0, KernArraySpan aDXArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}) const
 
bool GetTextOutlines (basegfx::B2DPolyPolygonVector &rVector, const OUString &rStr, sal_Int32 nBase, sal_Int32 nIndex=0, sal_Int32 nLen=-1, sal_uLong nLayoutWidth=0, KernArraySpan aDXArray=KernArraySpan(), o3tl::span< const sal_Bool > pKashidaArray={}) const
 
OUString GetEllipsisString (const OUString &rStr, tools::Long nMaxWidth, DrawTextFlags nStyle=DrawTextFlags::EndEllipsis) const
 
tools::Long GetCtrlTextWidth (const OUString &rStr, const SalLayoutGlyphs *pLayoutCache=nullptr) const
 
void AddTextRectActions (const tools::Rectangle &rRect, const OUString &rOrigStr, DrawTextFlags nStyle, GDIMetaFile &rMtf)
 Generate MetaTextActions for the text rect. More...
 
void SetTextColor (const Color &rColor)
 
virtual void SetSystemTextColor (SystemTextColorFlags nFlags, bool bEnabled)
 
const ColorGetTextColor () const
 
void SetTextFillColor ()
 
void SetTextFillColor (const Color &rColor)
 
Color GetTextFillColor () const
 
bool IsTextFillColor () const
 
void SetTextLineColor ()
 
void SetTextLineColor (const Color &rColor)
 
const ColorGetTextLineColor () const
 
bool IsTextLineColor () const
 
void SetOverlineColor ()
 
void SetOverlineColor (const Color &rColor)
 
const ColorGetOverlineColor () const
 
bool IsOverlineColor () const
 
void SetTextAlign (TextAlign eAlign)
 
TextAlign GetTextAlign () const
 
tools::Long GetTextWidth (const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, vcl::text::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
 Width of the text. More...
 
tools::Long GetTextHeight () const
 Height where any character of the current font fits; in logic coordinates. More...
 
float approximate_digit_width () const
 
void DrawTextArray (const Point &rStartPt, const OUString &rStr, KernArraySpan aKernArray, o3tl::span< const sal_Bool > pKashidaAry, sal_Int32 nIndex, sal_Int32 nLen, SalLayoutFlags flags=SalLayoutFlags::NONE, const SalLayoutGlyphs *pLayoutCache=nullptr)
 
tools::Long GetTextArray (const OUString &rStr, KernArray *pDXAry, sal_Int32 nIndex=0, sal_Int32 nLen=-1, bool bCaret=false, vcl::text::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
 
void GetCaretPositions (const OUString &, KernArray &rCaretXArray, sal_Int32 nIndex, sal_Int32 nLen, const SalLayoutGlyphs *pGlyphs=nullptr) const
 
void DrawStretchText (const Point &rStartPt, sal_Int32 nWidth, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1)
 
sal_Int32 GetTextBreak (const OUString &rStr, tools::Long nTextWidth, sal_Int32 nIndex, sal_Int32 nLen=-1, tools::Long nCharExtra=0, vcl::text::TextLayoutCache const *=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr) const
 
sal_Int32 GetTextBreak (const OUString &rStr, tools::Long nTextWidth, sal_Unicode nExtraChar, sal_Int32 &rExtraCharPos, sal_Int32 nIndex, sal_Int32 nLen, tools::Long nCharExtra, vcl::text::TextLayoutCache const *=nullptr, const SalLayoutGlyphs *pGlyphs=nullptr) const
 
SAL_DLLPRIVATE SalLayoutFlags GetBiDiLayoutFlags (std::u16string_view rStr, const sal_Int32 nMinIndex, const sal_Int32 nEndIndex) const
 
static void ImplDrawText (OutputDevice &rTargetDevice, const tools::Rectangle &rRect, const OUString &rOrigStr, DrawTextFlags nStyle, std::vector< tools::Rectangle > *pVector, OUString *pDisplayText, vcl::ITextLayout &_rLayout)
 
static std::shared_ptr< const vcl::text::TextLayoutCacheCreateTextLayoutCache (OUString const &)
 
static SAL_DLLPRIVATE tools::Long ImplGetTextLines (const tools::Rectangle &rRect, tools::Long nTextHeight, ImplMultiTextLineInfo &rLineInfo, tools::Long nWidth, const OUString &rStr, DrawTextFlags nStyle, const vcl::ITextLayout &_rLayout)
 
static SAL_DLLPRIVATE sal_Int32 ImplBreakLinesWithIterator (const tools::Long nWidth, const OUString &rStr, const vcl::ITextLayout &_rLayout, const css::uno::Reference< css::linguistic2::XHyphenator > &xHyph, const css::uno::Reference< css::i18n::XBreakIterator > &xBI, const bool bHyphenate, const sal_Int32 nPos, sal_Int32 nBreakPos)
 
static SAL_DLLPRIVATE sal_Int32 ImplBreakLinesSimple (const tools::Long nWidth, const OUString &rStr, const vcl::ITextLayout &_rLayout, const sal_Int32 nPos, sal_Int32 nBreakPos, tools::Long &nLineWidth)
 

Bitmap functions

SAL_DLLPRIVATE void DrawDeviceAlphaBitmap (const Bitmap &rBmp, const AlphaMask &rAlpha, const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel)
 
SAL_DLLPRIVATE void DrawDeviceAlphaBitmapSlowPath (const Bitmap &rBitmap, const AlphaMask &rAlpha, tools::Rectangle aDstRect, tools::Rectangle aBmpRect, Size const &aOutSz, Point const &aOutPt)
 
SAL_DLLPRIVATE void BlendBitmap (const SalTwoRect &rPosAry, const Bitmap &rBmp)
 
SAL_DLLPRIVATE Bitmap BlendBitmap (Bitmap &aBmp, BitmapReadAccess const *pP, BitmapReadAccess const *pA, const sal_Int32 nOffY, const sal_Int32 nDstHeight, const sal_Int32 nOffX, const sal_Int32 nDstWidth, const tools::Rectangle &aBmpRect, const Size &aOutSz, const bool bHMirr, const bool bVMirr, const sal_Int32 *pMapX, const sal_Int32 *pMapY)
 
SAL_DLLPRIVATE Bitmap BlendBitmapWithAlpha (Bitmap &aBmp, BitmapReadAccess const *pP, BitmapReadAccess const *pA, const tools::Rectangle &aDstRect, const sal_Int32 nOffY, const sal_Int32 nDstHeight, const sal_Int32 nOffX, const sal_Int32 nDstWidth, const sal_Int32 *pMapX, const sal_Int32 *pMapY)
 
virtual void DrawDeviceBitmapEx (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, BitmapEx &rBitmapEx)
 
virtual bool CanSubsampleBitmap () const
 
virtual bool DrawTransformBitmapExDirect (const basegfx::B2DHomMatrix &aFullTransform, const BitmapEx &rBitmapEx, double fAlpha=1.0)
 Transform and draw a bitmap directly. More...
 
virtual bool TransformAndReduceBitmapExToTargetRange (const basegfx::B2DHomMatrix &aFullTransform, basegfx::B2DRange &aVisibleRange, double &fMaximumArea)
 Transform and reduce the area that needs to be drawn of the bitmap and return the new visible range and the maximum area. More...
 
void DrawBitmap (const Point &rDestPt, const Bitmap &rBitmap)
 
void DrawBitmap (const Point &rDestPt, const Size &rDestSize, const Bitmap &rBitmap)
 
void DrawBitmap (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const Bitmap &rBitmap)
 
void DrawBitmap (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const Bitmap &rBitmap, MetaActionType nAction)
 
void DrawBitmapEx (const Point &rDestPt, const BitmapEx &rBitmapEx)
 
void DrawBitmapEx (const Point &rDestPt, const Size &rDestSize, const BitmapEx &rBitmapEx)
 
void DrawBitmapEx (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const BitmapEx &rBitmapEx)
 
void DrawBitmapEx (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const BitmapEx &rBitmapEx, MetaActionType nAction)
 
void DrawImage (const Point &rPos, const Image &rImage, DrawImageFlags nStyle=DrawImageFlags::NONE)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. virtual void DrawImage( const Point& rPos, const Size& rSize, const Image& rImage, sal_uInt16 nStyle = 0) More...
 
void DrawImage (const Point &rPos, const Size &rSize, const Image &rImage, DrawImageFlags nStyle=DrawImageFlags::NONE)
 
virtual Bitmap GetBitmap (const Point &rSrcPt, const Size &rSize) const
 
BitmapEx GetBitmapEx (const Point &rSrcPt, const Size &rSize) const
 Query extended bitmap (with alpha channel, if available). More...
 
void DrawTransformedBitmapEx (const basegfx::B2DHomMatrix &rTransformation, const BitmapEx &rBitmapEx, double fAlpha=1.0)
 Draw BitmapEx transformed. More...
 
bool HasFastDrawTransformedBitmap () const
 Return true if DrawTransformedBitmapEx() is fast. More...
 

Transparency functions

SAL_DLLPRIVATE bool DrawTransparentNatively (const tools::PolyPolygon &rPolyPoly, sal_uInt16 nTransparencePercent)
 
virtual void EmulateDrawTransparent (const tools::PolyPolygon &rPolyPoly, sal_uInt16 nTransparencePercent)
 
virtual void ClipAndDrawGradientMetafile (const Gradient &rGradient, const tools::PolyPolygon &rPolyPoly)
 
bool RemoveTransparenciesFromMetaFile (const GDIMetaFile &rInMtf, GDIMetaFile &rOutMtf, tools::Long nMaxBmpDPIX, tools::Long nMaxBmpDPIY, bool bReduceTransparency, bool bTransparencyAutoMode, bool bDownsampleBitmaps, const Color &rBackground=COL_TRANSPARENT)
 helper method removing transparencies from a metafile (e.g. More...
 
void DrawTransparent (const tools::PolyPolygon &rPolyPoly, sal_uInt16 nTransparencePercent)
 
void DrawTransparent (const basegfx::B2DHomMatrix &rObjectTransform, const basegfx::B2DPolyPolygon &rB2DPolyPoly, double fTransparency)
 
void DrawTransparent (const GDIMetaFile &rMtf, const Point &rPos, const Size &rSize, const Gradient &rTransparenceGradient)
 

Map functions

SAL_DLLPRIVATE tools::Long ImplLogicXToDevicePixel (tools::Long nX) const
 Convert a logical X coordinate to a device pixel's X coordinate. More...
 
SAL_DLLPRIVATE tools::Long ImplLogicYToDevicePixel (tools::Long nY) const
 Convert a logical Y coordinate to a device pixel's Y coordinate. More...
 
virtual void ImplInitMapModeObjects ()
 
void EnableMapMode (bool bEnable=true)
 
bool IsMapModeEnabled () const
 
void SetMapMode ()
 
void SetMapMode (const MapMode &rNewMapMode)
 
void SetRelativeMapMode (const MapMode &rNewMapMode)
 
virtual void SetMetafileMapMode (const MapMode &rNewMapMode, bool bIsRecord)
 
const MapModeGetMapMode () const
 
basegfx::B2DHomMatrix GetViewTransformation () const
 
basegfx::B2DHomMatrix GetInverseViewTransformation () const
 
basegfx::B2DHomMatrix GetViewTransformation (const MapMode &rMapMode) const
 
basegfx::B2DHomMatrix GetInverseViewTransformation (const MapMode &rMapMode) const
 
void SetPixelOffset (const Size &rOffset)
 Set an offset in pixel. More...
 
SAL_WARN_UNUSED_RESULT Size GetPixelOffset () const
 Get the offset in pixel. More...
 
SAL_WARN_UNUSED_RESULT Point LogicToPixel (const Point &rLogicPt) const
 
SAL_WARN_UNUSED_RESULT Size LogicToPixel (const Size &rLogicSize) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle LogicToPixel (const tools::Rectangle &rLogicRect) const
 
SAL_WARN_UNUSED_RESULT tools::Polygon LogicToPixel (const tools::Polygon &rLogicPoly) const
 
SAL_WARN_UNUSED_RESULT tools::PolyPolygon LogicToPixel (const tools::PolyPolygon &rLogicPolyPoly) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolyPolygon LogicToPixel (const basegfx::B2DPolyPolygon &rLogicPolyPoly) const
 
SAL_WARN_UNUSED_RESULT vcl::Region LogicToPixel (const vcl::Region &rLogicRegion) const
 
SAL_WARN_UNUSED_RESULT Point LogicToPixel (const Point &rLogicPt, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT Size LogicToPixel (const Size &rLogicSize, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle LogicToPixel (const tools::Rectangle &rLogicRect, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT tools::Polygon LogicToPixel (const tools::Polygon &rLogicPoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolyPolygon LogicToPixel (const basegfx::B2DPolyPolygon &rLogicPolyPoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT Point PixelToLogic (const Point &rDevicePt) const
 
SAL_WARN_UNUSED_RESULT Size PixelToLogic (const Size &rDeviceSize) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle PixelToLogic (const tools::Rectangle &rDeviceRect) const
 
SAL_WARN_UNUSED_RESULT tools::Polygon PixelToLogic (const tools::Polygon &rDevicePoly) const
 
SAL_WARN_UNUSED_RESULT tools::PolyPolygon PixelToLogic (const tools::PolyPolygon &rDevicePolyPoly) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolyPolygon PixelToLogic (const basegfx::B2DPolyPolygon &rDevicePolyPoly) const
 
SAL_WARN_UNUSED_RESULT vcl::Region PixelToLogic (const vcl::Region &rDeviceRegion) const
 
SAL_WARN_UNUSED_RESULT Point PixelToLogic (const Point &rDevicePt, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT Size PixelToLogic (const Size &rDeviceSize, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle PixelToLogic (const tools::Rectangle &rDeviceRect, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT tools::Polygon PixelToLogic (const tools::Polygon &rDevicePoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolygon PixelToLogic (const basegfx::B2DPolygon &rDevicePoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT basegfx::B2DPolyPolygon PixelToLogic (const basegfx::B2DPolyPolygon &rDevicePolyPoly, const MapMode &rMapMode) const
 
SAL_WARN_UNUSED_RESULT Point LogicToLogic (const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
 
SAL_WARN_UNUSED_RESULT Size LogicToLogic (const Size &rSzSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
 
SAL_WARN_UNUSED_RESULT tools::Rectangle LogicToLogic (const tools::Rectangle &rRectSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
 
SAL_DLLPRIVATE tools::Rectangle ImplLogicToDevicePixel (const tools::Rectangle &rLogicRect) const
 Convert a logical rectangle to a rectangle in physical device pixel units. More...
 
SAL_DLLPRIVATE Point ImplLogicToDevicePixel (const Point &rLogicPt) const
 Convert a logical point to a physical point on the device. More...
 
SAL_DLLPRIVATE basegfx::B2DPoint ImplLogicToDeviceSubPixel (const Point &rLogicPt) const
 
SAL_DLLPRIVATE tools::Long ImplLogicWidthToDevicePixel (tools::Long nWidth) const
 Convert a logical width to a width in units of device pixels. More...
 
SAL_DLLPRIVATE double ImplLogicWidthToDeviceSubPixel (tools::Long nWidth) const
 
SAL_DLLPRIVATE tools::Long ImplLogicHeightToDevicePixel (tools::Long nHeight) const
 Convert a logical height to a height in units of device pixels. More...
 
SAL_DLLPRIVATE double ImplLogicHeightToDeviceSubPixel (tools::Long nHeight) const
 
SAL_DLLPRIVATE Point SubPixelToLogic (const basegfx::B2DPoint &rDevicePt) const
 
SAL_DLLPRIVATE tools::Long ImplDevicePixelToLogicWidth (tools::Long nWidth) const
 Convert device pixels to a width in logical units. More...
 
SAL_DLLPRIVATE tools::Long ImplDevicePixelToLogicHeight (tools::Long nHeight) const
 Convert device pixels to a height in logical units. More...
 
SAL_DLLPRIVATE Size ImplLogicToDevicePixel (const Size &rLogicSize) const
 Convert a logical size to the size on the physical device. More...
 
SAL_DLLPRIVATE tools::Rectangle ImplDevicePixelToLogic (const tools::Rectangle &rPixelRect) const
 Convert a rectangle in physical pixel units to a rectangle in physical pixel units and coords. More...
 
SAL_DLLPRIVATE tools::Polygon ImplLogicToDevicePixel (const tools::Polygon &rLogicPoly) const
 Convert a logical polygon to a polygon in physical device pixel units. More...
 
SAL_DLLPRIVATE::basegfx::B2DPolygon ImplLogicToDevicePixel (const ::basegfx::B2DPolygon &rLogicPoly) const
 Convert a logical B2DPolygon to a B2DPolygon in physical device pixel units. More...
 
SAL_DLLPRIVATE tools::PolyPolygon ImplLogicToDevicePixel (const tools::PolyPolygon &rLogicPolyPoly) const
 Convert a logical polypolygon to a polypolygon in physical device pixel units. More...
 
SAL_DLLPRIVATE LineInfo ImplLogicToDevicePixel (const LineInfo &rLineInfo) const
 Convert a line in logical units to a line in physical device pixel units. More...
 
SAL_DLLPRIVATE vcl::Region ImplPixelToDevicePixel (const vcl::Region &rRegion) const
 Convert a region in pixel units to a region in device pixel units and coords. More...
 
SAL_DLLPRIVATE void ImplInvalidateViewTransform ()
 Invalidate the view transformation. More...
 
SAL_DLLPRIVATE basegfx::B2DHomMatrix ImplGetDeviceTransformation () const
 Get device transformation. More...
 
static SAL_WARN_UNUSED_RESULT Point LogicToLogic (const Point &rPtSource, const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 
static SAL_WARN_UNUSED_RESULT Size LogicToLogic (const Size &rSzSource, const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 
static SAL_WARN_UNUSED_RESULT tools::Rectangle LogicToLogic (const tools::Rectangle &rRectSource, const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 
static SAL_WARN_UNUSED_RESULT tools::Long LogicToLogic (tools::Long nLongSource, MapUnit eUnitSource, MapUnit eUnitDest)
 
static SAL_WARN_UNUSED_RESULT basegfx::B2DPolygon LogicToLogic (const basegfx::B2DPolygon &rPoly, const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 
static SAL_WARN_UNUSED_RESULT basegfx::B2DHomMatrix LogicToLogic (const MapMode &rMapModeSource, const MapMode &rMapModeDest)
 

Initialization and accessor functions

 OutputDevice (OutDevType eOutDevType)
 
virtual ~OutputDevice () override
 
virtual void dispose () override
 
virtual bool AcquireGraphics () const =0
 Acquire a graphics device that the output device uses to draw on. More...
 
virtual void ReleaseGraphics (bool bRelease=true)=0
 Release the graphics device, and remove it from the graphics device list. More...
 
SalGraphics const * GetGraphics () const
 Get the graphic context that the output device uses to draw on. More...
 
SalGraphicsGetGraphics ()
 
void SetConnectMetaFile (GDIMetaFile *pMtf)
 
GDIMetaFileGetConnectMetaFile () const
 
virtual void SetSettings (const AllSettings &rSettings)
 
const AllSettingsGetSettings () const
 
SystemGraphicsData GetSystemGfxData () const
 
OUString GetRenderBackendName () const
 
bool SupportsCairo () const
 
cairo::SurfaceSharedPtr CreateSurface (const cairo::CairoSurfaceSharedPtr &rSurface) const
 Create Surface from given cairo surface. More...
 
cairo::SurfaceSharedPtr CreateSurface (int x, int y, int width, int height) const
 Create surface with given dimensions. More...
 
cairo::SurfaceSharedPtr CreateBitmapSurface (const BitmapSystemData &rData, const Size &rSize) const
 Create Surface for given bitmap data. More...
 
css::uno::Any GetNativeSurfaceHandle (cairo::SurfaceSharedPtr &rSurface, const basegfx::B2ISize &rSize) const
 Return native handle for underlying surface. More...
 
css::uno::Any GetSystemGfxDataAny () const
 
void SetRefPoint ()
 
void SetRefPoint (const Point &rRefPoint)
 
const PointGetRefPoint () const
 
bool IsRefPoint () const
 
virtual bool IsScreenComp () const
 
virtual sal_uInt16 GetBitCount () const
 
Size GetOutputSizePixel () const
 
tools::Long GetOutputWidthPixel () const
 
tools::Long GetOutputHeightPixel () const
 
tools::Long GetOutOffXPixel () const
 
tools::Long GetOutOffYPixel () const
 
void SetOutOffXPixel (tools::Long nOutOffX)
 
void SetOutOffYPixel (tools::Long nOutOffY)
 
Point GetOutputOffPixel () const
 
tools::Rectangle GetOutputRectPixel () const
 
Size GetOutputSize () const
 
css::uno::Reference< css::awt::XGraphics > CreateUnoGraphics ()
 
std::vector< VCLXGraphics * > * GetUnoGraphicsList () const
 
std::vector< VCLXGraphics * > * CreateUnoGraphicsList ()
 
virtual size_t GetSyncCount () const
 
css::uno::Reference< css::rendering::XCanvas > GetCanvas () const
 request XCanvas render interface More...
 
css::uno::Reference< css::rendering::XSpriteCanvas > GetSpriteCanvas () const
 request XSpriteCanvas render interface More...
 

Mask functions

virtual void DrawDeviceMask (const Bitmap &rMask, const Color &rMaskColor, const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel)
 
void DrawMask (const Point &rDestPt, const Bitmap &rBitmap, const Color &rMaskColor)
 
void DrawMask (const Point &rDestPt, const Size &rDestSize, const Bitmap &rBitmap, const Color &rMaskColor)
 
void DrawMask (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const Bitmap &rBitmap, const Color &rMaskColor)
 
void DrawMask (const Point &rDestPt, const Size &rDestSize, const Point &rSrcPtPixel, const Size &rSrcSizePixel, const Bitmap &rBitmap, const Color &rMaskColor, MetaActionType nAction)
 

Detailed Description

Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inheritance to keep the referencing counting OK.

Definition at line 169 of file outdev.hxx.

Member Typedef Documentation

◆ FontMappingUseData

Definition at line 1263 of file outdev.hxx.

◆ FontUpdateHandler_t

typedef void(OutputDevice::* OutputDevice::FontUpdateHandler_t) (bool)
private

Definition at line 1199 of file outdev.hxx.

Constructor & Destructor Documentation

◆ OutputDevice() [1/2]

OutputDevice::OutputDevice ( const OutputDevice )
privatedelete

◆ OutputDevice() [2/2]

OutputDevice::OutputDevice ( OutDevType  eOutDevType)
protected

◆ ~OutputDevice()

OutputDevice::~OutputDevice ( )
overrideprotectedvirtual

Definition at line 139 of file outdev.cxx.

References VclReferenceBase::disposeOnce().

Member Function Documentation

◆ AcquireGraphics()

virtual bool OutputDevice::AcquireGraphics ( ) const
protectedpure virtual

Acquire a graphics device that the output device uses to draw on.

There is an LRU of OutputDevices that is used to get the graphics. The actual creation of a SalGraphics instance is done via the SalFrame implementation.

However, the SalFrame instance will only return a valid SalGraphics instance if it is not in use or there wasn't one in the first place. When this happens, AcquireGraphics finds the least recently used OutputDevice in a different frame and "steals" it (releases it then starts using it).

If there are no frames to steal an OutputDevice's SalGraphics instance from then it blocks until the graphics is released.

Once it has acquired a graphics instance, then we add the OutputDevice to the LRU.

Returns
true if was able to initialize the graphics device, false otherwise.

Implemented in Printer, VirtualDevice, and vcl::WindowOutputDevice.

Referenced by AddTempDevFont(), AddTextRectActions(), CopyArea(), DrawArc(), DrawBitmap(), DrawBitmapEx(), DrawChord(), DrawCtrlText(), DrawEllipse(), DrawEPS(), DrawGradient(), DrawGrid(), DrawHatch(), DrawLine(), DrawMask(), DrawNativeControl(), DrawOutDev(), drawOutDevDirect(), DrawPie(), DrawPixel(), DrawPolygon(), DrawPolyLine(), drawPolyLine(), DrawPolyLineDirectInternal(), DrawPolyPolygon(), DrawRect(), DrawText(), DrawTextArray(), DrawTransformedBitmapEx(), DrawTransparent(), DrawWaveLine(), GetBitCount(), GetBitmap(), getFallbackLayout(), GetGraphics(), GetNativeControlRegion(), GetPixel(), GetRenderBackendName(), GetSystemGfxData(), HasFastDrawTransformedBitmap(), HasMirroredGraphics(), HitTestNativeScrollbar(), ImplClearAllFontData(), ImplClearFontData(), ImplDrawPolyPolygonWithB2DPolyPolygon(), ImplDrawWaveLineBezier(), vcl::Window::ImplGetFrameGraphics(), vcl::Window::ImplInit(), ImplInitFontList(), VirtualDevice::ImplInitVirDev(), ImplIsAntiparallel(), ImplNewFont(), ImplRefreshFontData(), InitFont(), Invert(), vcl::Window::InvertTracking(), IsNativeControlSupported(), SelectClipRegion(), SetRasterOp(), and SupportsOperation().

◆ AddFontSubstitute()

void OutputDevice::AddFontSubstitute ( const OUString &  rFontName,
const OUString &  rReplaceFontName,
AddFontSubstituteFlags  nFlags 
)
static

◆ AddHatchActions()

void OutputDevice::AddHatchActions ( const tools::PolyPolygon rPolyPoly,
const Hatch rHatch,
GDIMetaFile rMtf 
)

◆ AddTempDevFont()

bool OutputDevice::AddTempDevFont ( const OUString &  rFileURL,
const OUString &  rFontName 
)

◆ AddTextRectActions()

void OutputDevice::AddTextRectActions ( const tools::Rectangle rRect,
const OUString &  rOrigStr,
DrawTextFlags  nStyle,
GDIMetaFile rMtf 
)

Generate MetaTextActions for the text rect.

This method splits up the text rect into multiple MetaTextActions, one for each line of text. This is comparable to AddGradientActions(), which splits up a gradient into its constituent polygons. Parameter semantics fully compatible to DrawText().

Definition at line 1801 of file text.cxx.

References AcquireGraphics(), EnableOutput(), ImplDrawText(), InitClipRegion(), tools::Rectangle::IsEmpty(), IsOutputEnabled(), mbInitClipRegion, mpGraphics, and mpMetaFile.

◆ approximate_char_width()

float OutputDevice::approximate_char_width ( ) const
protected

Definition at line 910 of file text.cxx.

References GetTextWidth().

Referenced by vcl::Window::approximate_char_width().

◆ approximate_digit_width()

float OutputDevice::approximate_digit_width ( ) const

Definition at line 918 of file text.cxx.

References GetTextWidth().

Referenced by vcl::Window::approximate_digit_width().

◆ AttemptOLEFontScaleFix()

bool OutputDevice::AttemptOLEFontScaleFix ( vcl::Font rFont,
tools::Long  nHeight 
) const
private

◆ BeginFontSubstitution()

void OutputDevice::BeginFontSubstitution ( )
static

◆ BlendBitmap() [1/2]

Bitmap OutputDevice::BlendBitmap ( Bitmap aBmp,
BitmapReadAccess const *  pP,
BitmapReadAccess const *  pA,
const sal_Int32  nOffY,
const sal_Int32  nDstHeight,
const sal_Int32  nOffX,
const sal_Int32  nDstWidth,
const tools::Rectangle aBmpRect,
const Size aOutSz,
const bool  bHMirr,
const bool  bVMirr,
const sal_Int32 *  pMapX,
const sal_Int32 *  pMapY 
)
private

◆ BlendBitmap() [2/2]

void OutputDevice::BlendBitmap ( const SalTwoRect rPosAry,
const Bitmap rBmp 
)
private

◆ BlendBitmapWithAlpha()

Bitmap OutputDevice::BlendBitmapWithAlpha ( Bitmap aBmp,
BitmapReadAccess const *  pP,
BitmapReadAccess const *  pA,
const tools::Rectangle aDstRect,
const sal_Int32  nOffY,
const sal_Int32  nDstHeight,
const sal_Int32  nOffX,
const sal_Int32  nDstWidth,
const sal_Int32 *  pMapX,
const sal_Int32 *  pMapY 
)
private

◆ CalcHatchValues()

void OutputDevice::CalcHatchValues ( const tools::Rectangle rRect,
tools::Long  nDist,
Degree10  nAngle10,
Point rPt1,
Point rPt2,
Size rInc,
Point rEndPt1 
)
private

◆ CanEnableNativeWidget()

virtual bool OutputDevice::CanEnableNativeWidget ( ) const
inlinevirtual

Determine if native widgets can be enabled.

Reimplemented in VirtualDevice, and vcl::WindowOutputDevice.

Definition at line 1840 of file outdev.hxx.

Referenced by DrawNativeControl(), GetNativeControlRegion(), HitTestNativeScrollbar(), and IsNativeControlSupported().

◆ CanSubsampleBitmap()

virtual bool OutputDevice::CanSubsampleBitmap ( ) const
inlineprotectedvirtual

Reimplemented in Printer.

Definition at line 1387 of file outdev.hxx.

Referenced by DrawBitmap().

◆ ClearStack()

void OutputDevice::ClearStack ( )

Definition at line 192 of file stack.cxx.

References maOutDevStateStack, nCount, and Pop().

◆ ClipAndDrawGradientMetafile()

void OutputDevice::ClipAndDrawGradientMetafile ( const Gradient rGradient,
const tools::PolyPolygon rPolyPoly 
)
protectedvirtual

◆ ClipToDeviceBounds()

vcl::Region OutputDevice::ClipToDeviceBounds ( vcl::Region  aRegion) const
protectedvirtual

Perform actual rect clip against outdev dimensions, to generate empty clips whenever one of the values is completely off the device.

Parameters
aRegionregion to be clipped to the device dimensions
Returns
region clipped to the device bounds

Reimplemented in Printer, and vcl::PDFWriterImpl.

Definition at line 182 of file outdev/clipping.cxx.

References GetOutputHeightPixel(), GetOutputWidthPixel(), vcl::Region::Intersect(), mnOutOffX, and mnOutOffY.

Referenced by InitClipRegion().

◆ ClipToPaintRegion()

void OutputDevice::ClipToPaintRegion ( tools::Rectangle rDstRect)
protectedvirtual

Reimplemented in vcl::WindowOutputDevice.

Definition at line 197 of file outdev/clipping.cxx.

Referenced by DrawDeviceAlphaBitmap(), DrawTransparent(), and EmulateDrawTransparent().

◆ CopyArea()

void OutputDevice::CopyArea ( const Point rDestPt,
const Point rSrcPt,
const Size rSrcSize,
bool  bWindowInvalidate = false 
)
virtual

◆ CopyDeviceArea()

void OutputDevice::CopyDeviceArea ( SalTwoRect aPosAry,
bool  bWindowInvalidate 
)
protectedvirtual

◆ CreateBitmapSurface()

cairo::SurfaceSharedPtr OutputDevice::CreateBitmapSurface ( const BitmapSystemData rData,
const Size rSize 
) const

Create Surface for given bitmap data.

◆ CreateSurface() [1/2]

cairo::SurfaceSharedPtr OutputDevice::CreateSurface ( const cairo::CairoSurfaceSharedPtr rSurface) const

Create Surface from given cairo surface.

◆ CreateSurface() [2/2]

cairo::SurfaceSharedPtr OutputDevice::CreateSurface ( int  x,
int  y,
int  width,
int  height 
) const

Create surface with given dimensions.

◆ CreateTextLayoutCache()

std::shared_ptr< const vcl::text::TextLayoutCache > OutputDevice::CreateTextLayoutCache ( OUString const &  rString)
static

Definition at line 1440 of file text.cxx.

References vcl::text::TextLayoutCache::Create().

◆ CreateUnoGraphics()

css::uno::Reference< css::awt::XGraphics > OutputDevice::CreateUnoGraphics ( )

◆ CreateUnoGraphicsList()

std::vector< VCLXGraphics * > * OutputDevice::CreateUnoGraphicsList ( )

Definition at line 398 of file outdev.cxx.

References mpUnoGraphicsList.

◆ dispose()

void OutputDevice::dispose ( void  )
overrideprotectedvirtual

◆ DrawArc()

void OutputDevice::DrawArc ( const tools::Rectangle rRect,
const Point rStartPt,
const Point rEndPt 
)

◆ DrawBitmap() [1/4]

void OutputDevice::DrawBitmap ( const Point rDestPt,
const Bitmap rBitmap 
)

◆ DrawBitmap() [2/4]

void OutputDevice::DrawBitmap ( const Point rDestPt,
const Size rDestSize,
const Bitmap rBitmap 
)

◆ DrawBitmap() [3/4]

void OutputDevice::DrawBitmap ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel,
const Bitmap rBitmap 
)

Definition at line 52 of file outdev/bitmap.cxx.

References BMPSCALEPART, DrawBitmap(), and is_double_buffered_window().

◆ DrawBitmap() [4/4]

void OutputDevice::DrawBitmap ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel,
const Bitmap rBitmap,
MetaActionType  nAction 
)

◆ DrawBitmapEx() [1/4]

void OutputDevice::DrawBitmapEx ( const Point rDestPt,
const BitmapEx rBitmapEx 
)

◆ DrawBitmapEx() [2/4]

void OutputDevice::DrawBitmapEx ( const Point rDestPt,
const Size rDestSize,
const BitmapEx rBitmapEx 
)

◆ DrawBitmapEx() [3/4]

void OutputDevice::DrawBitmapEx ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel,
const BitmapEx rBitmapEx 
)

◆ DrawBitmapEx() [4/4]

void OutputDevice::DrawBitmapEx ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel,
const BitmapEx rBitmapEx,
MetaActionType  nAction 
)

◆ DrawBitmapWallpaper()

void OutputDevice::DrawBitmapWallpaper ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
const Wallpaper rWallpaper 
)
private

◆ DrawBorder()

void OutputDevice::DrawBorder ( tools::Rectangle  aBorderRect)
virtual

◆ DrawCheckered()

void OutputDevice::DrawCheckered ( const Point rPos,
const Size rSize,
sal_uInt32  nLen = 8,
Color  aStart = COL_WHITE,
Color  aEnd = COL_BLACK 
)

Fill the given rectangle with checkered rectangles of size nLen x nLen using the colors aStart and aEnd.

Definition at line 212 of file rect.cxx.

References DrawRect(), vcl::FILLCOLOR, Size::Height(), is_double_buffered_window(), vcl::LINECOLOR, Pop(), Push(), SetFillColor(), SetLineColor(), Size::Width(), x, Point::X(), y, and Point::Y().

◆ DrawChord()

void OutputDevice::DrawChord ( const tools::Rectangle rRect,
const Point rStartPt,
const Point rEndPt 
)

◆ DrawColorWallpaper()

void OutputDevice::DrawColorWallpaper ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
const Wallpaper rWallpaper 
)
private

◆ DrawComplexGradient()

void OutputDevice::DrawComplexGradient ( const tools::Rectangle rRect,
const Gradient rGradient,
const tools::PolyPolygon pClipPolyPoly 
)
private

◆ DrawCtrlText()

void OutputDevice::DrawCtrlText ( const Point rPos,
const OUString &  rStr,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1,
DrawTextFlags  nStyle = DrawTextFlags::Mnemonic,
std::vector< tools::Rectangle > *  pVector = nullptr,
OUString *  pDisplayText = nullptr,
const SalLayoutGlyphs pGlyphs = nullptr 
)

◆ DrawDeviceAlphaBitmap()

void OutputDevice::DrawDeviceAlphaBitmap ( const Bitmap rBmp,
const AlphaMask rAlpha,
const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel 
)
private

◆ DrawDeviceAlphaBitmapSlowPath()

void OutputDevice::DrawDeviceAlphaBitmapSlowPath ( const Bitmap rBitmap,
const AlphaMask rAlpha,
tools::Rectangle  aDstRect,
tools::Rectangle  aBmpRect,
Size const &  aOutSz,
Point const &  aOutPt 
)
private

◆ DrawDeviceBitmapEx()

void OutputDevice::DrawDeviceBitmapEx ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel,
BitmapEx rBitmapEx 
)
protectedvirtual

◆ DrawDeviceMask()

void OutputDevice::DrawDeviceMask ( const Bitmap rMask,
const Color rMaskColor,
const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel 
)
protectedvirtual

◆ DrawEllipse()

void OutputDevice::DrawEllipse ( const tools::Rectangle rRect)

◆ DrawEPS()

bool OutputDevice::DrawEPS ( const Point rPt,
const Size rSz,
const GfxLink rGfxLink,
GDIMetaFile pSubst = nullptr 
)
Returns
boolean value to see if EPS could be painted directly. Theoretically, handing over a matrix would be needed to handle painting rotated EPS files (e.g. contained in Metafiles). This would then need to be supported for Mac and PS printers, but that's too much for now, wrote #i107046# for this

Definition at line 27 of file outdev/eps.cxx.

References AcquireGraphics(), GDIMetaFile::AddAction(), Graphic::Draw(), DrawEPS(), SalGraphics::DrawEPS(), GfxLink::GetData(), GfxLink::GetDataSize(), tools::Rectangle::GetHeight(), tools::Rectangle::GetWidth(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), tools::Rectangle::Left(), mbInitClipRegion, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, tools::Rectangle::Normalize(), and tools::Rectangle::Top().

Referenced by DrawEPS().

◆ DrawGradient() [1/2]

void OutputDevice::DrawGradient ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient 
)

◆ DrawGradient() [2/2]

void OutputDevice::DrawGradient ( const tools::Rectangle rRect,
const Gradient rGradient 
)

◆ DrawGradientToMetafile()

void OutputDevice::DrawGradientToMetafile ( const tools::PolyPolygon rPolyPoly,
const Gradient rGradient 
)
private

◆ DrawGradientWallpaper()

void OutputDevice::DrawGradientWallpaper ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
const Wallpaper rWallpaper 
)
protected

◆ DrawGrid()

void OutputDevice::DrawGrid ( const tools::Rectangle rRect,
const Size rDist,
DrawGridFlags  nFlags 
)

◆ DrawHatch() [1/2]

void OutputDevice::DrawHatch ( const tools::PolyPolygon rPolyPoly,
const Hatch rHatch 
)

◆ DrawHatch() [2/2]

void OutputDevice::DrawHatch ( const tools::PolyPolygon rPolyPoly,
const Hatch rHatch,
bool  bMtf 
)

◆ DrawHatchLine()

void OutputDevice::DrawHatchLine ( const tools::Line rLine,
const tools::PolyPolygon rPolyPoly,
Point pPtBuffer,
bool  bMtf 
)
private

◆ DrawHatchLine_DrawLine()

void OutputDevice::DrawHatchLine_DrawLine ( const Point rStartPoint,
const Point rEndPoint 
)
protectedvirtual

Reimplemented in vcl::PDFWriterImpl.

Definition at line 433 of file outdev/hatch.cxx.

References SalGraphics::DrawLine(), ImplLogicToDevicePixel(), and mpGraphics.

Referenced by DrawHatchLine().

◆ DrawImage() [1/2]

void OutputDevice::DrawImage ( const Point rPos,
const Image rImage,
DrawImageFlags  nStyle = DrawImageFlags::NONE 
)

◆ DrawImage() [2/2]

void OutputDevice::DrawImage ( const Point rPos,
const Size rSize,
const Image rImage,
DrawImageFlags  nStyle = DrawImageFlags::NONE 
)

◆ drawLine()

void OutputDevice::drawLine ( basegfx::B2DPolyPolygon  aLinePolyPolygon,
const LineInfo rInfo 
)
private

◆ DrawLine() [1/2]

void OutputDevice::DrawLine ( const Point rStartPt,
const Point rEndPt 
)

◆ DrawLine() [2/2]

void OutputDevice::DrawLine ( const Point rStartPt,
const Point rEndPt,
const LineInfo rLineInfo 
)

◆ DrawLinearGradient()

void OutputDevice::DrawLinearGradient ( const tools::Rectangle rRect,
const Gradient rGradient,
const tools::PolyPolygon pClipPolyPoly 
)
private

◆ DrawMask() [1/4]

void OutputDevice::DrawMask ( const Point rDestPt,
const Bitmap rBitmap,
const Color rMaskColor 
)

Definition at line 28 of file mask.cxx.

References DrawMask(), Bitmap::GetSizePixel(), is_double_buffered_window(), MASK, and PixelToLogic().

Referenced by DrawMask(), and ImplDrawRotateText().

◆ DrawMask() [2/4]

void OutputDevice::DrawMask ( const Point rDestPt,
const Size rDestSize,
const Bitmap rBitmap,
const Color rMaskColor 
)

Definition at line 37 of file mask.cxx.

References DrawMask(), Bitmap::GetSizePixel(), is_double_buffered_window(), and MASKSCALE.

◆ DrawMask() [3/4]

void OutputDevice::DrawMask ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel,
const Bitmap rBitmap,
const Color rMaskColor 
)

Definition at line 45 of file mask.cxx.

References DrawMask(), is_double_buffered_window(), and MASKSCALEPART.

◆ DrawMask() [4/4]

void OutputDevice::DrawMask ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPtPixel,
const Size rSrcSizePixel,
const Bitmap rBitmap,
const Color rMaskColor,
MetaActionType  nAction 
)

◆ DrawNativeControl()

bool OutputDevice::DrawNativeControl ( ControlType  nType,
ControlPart  nPart,
const tools::Rectangle rControlRegion,
ControlState  nState,
const ImplControlValue aValue,
const OUString &  aCaption,
const Color rBackgroundColor = COL_AUTO 
)

◆ DrawOutDev() [1/3]

SAL_DLLPRIVATE void OutputDevice::DrawOutDev ( const Point ,
const Size ,
const Point ,
const Size ,
const Printer  
)
privatedelete

◆ DrawOutDev() [2/3]

void OutputDevice::DrawOutDev ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPt,
const Size rSrcSize 
)
virtual

◆ DrawOutDev() [3/3]

void OutputDevice::DrawOutDev ( const Point rDestPt,
const Size rDestSize,
const Point rSrcPt,
const Size rSrcSize,
const OutputDevice rOutDev 
)
virtual

◆ drawOutDevDirect()

void OutputDevice::drawOutDevDirect ( const OutputDevice rSrcDev,
SalTwoRect rPosAry 
)
protected

◆ DrawOutDevDirectCheck()

const OutputDevice * OutputDevice::DrawOutDevDirectCheck ( const OutputDevice rSrcDev) const
protectedvirtual

Reimplemented in vcl::WindowOutputDevice.

Definition at line 620 of file outdev.cxx.

Referenced by drawOutDevDirect().

◆ DrawOutDevDirectProcess()

void OutputDevice::DrawOutDevDirectProcess ( const OutputDevice rSrcDev,
SalTwoRect rPosAry,
SalGraphics pSrcGraphics 
)
protectedvirtual

◆ DrawPie()

void OutputDevice::DrawPie ( const tools::Rectangle rRect,
const Point rStartPt,
const Point rEndPt 
)

◆ DrawPixel() [1/2]

void OutputDevice::DrawPixel ( const Point rPt)

◆ DrawPixel() [2/2]

void OutputDevice::DrawPixel ( const Point rPt,
const Color rColor 
)

◆ DrawPolygon() [1/2]

void OutputDevice::DrawPolygon ( const basegfx::B2DPolygon rB2DPolygon)

◆ DrawPolygon() [2/2]

void OutputDevice::DrawPolygon ( const tools::Polygon rPoly)

Render the given polygon.

The given polygon is stroked with the current LineColor, and filled with the current FillColor. If one of these colors are transparent, the corresponding stroke or fill stays invisible. Start and end point of the polygon are automatically connected.

See also
DrawPolyLine

Definition at line 154 of file polygon.cxx.

References AcquireGraphics(), GDIMetaFile::AddAction(), B2DDraw, basegfx::deg2rad(), DrawPolygon(), SalGraphics::DrawPolygon(), SalGraphics::DrawPolygonBezier(), SalGraphics::DrawPolyLine(), SalGraphics::DrawPolyPolygon(), tools::Polygon::getB2DPolygon(), tools::Polygon::GetConstFlagAry(), tools::Polygon::GetConstPointAry(), GetRasterOp(), tools::Polygon::GetSize(), tools::Polygon::HasFlags(), ImplGetDeviceTransformation(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), basegfx::B2DPolygon::isClosed(), IsDeviceOutputNecessary(), IsFillColor(), IsLineColor(), mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mnAntialiasing, mpAlphaVDev, mpGraphics, mpMetaFile, basegfx::NONE, OverPaint, PixelSnapHairline, basegfx::B2DPolygon::setClosed(), tools::Polygon::SubdivideBezier(), and SalGraphics::supportsOperation().

Referenced by RadioButton::Draw(), DXF2GDIMetaFile::Draw3DFaceEntity(), PictReaderShape::drawArc(), PictReaderShape::drawEllipse(), PictReaderShape::drawLineHQ(), DXF2GDIMetaFile::DrawLWPolyLineEntity(), DrawPolygon(), PictReaderShape::drawPolygon(), DXF2GDIMetaFile::DrawPolyLineEntity(), DrawPolyPolygon(), PictReaderShape::drawRectangle(), PictReaderShape::drawRoundRectangle(), DXF2GDIMetaFile::DrawSolidEntity(), DXF2GDIMetaFile::DrawTraceEntity(), ImplDrawDropdownArrow(), and SplitWindow::ImplDrawGrip().

◆ DrawPolyLine() [1/3]

void OutputDevice::DrawPolyLine ( const basegfx::B2DPolygon rB2DPolygon,
double  fLineWidth = 0.0,
basegfx::B2DLineJoin  eLineJoin = basegfx::B2DLineJoin::Round,
css::drawing::LineCap  eLineCap = css::drawing::LineCap_BUTT,
double  fMiterMinimumAngle = basegfx::deg2rad(15.0) 
)

◆ DrawPolyLine() [2/3]

void OutputDevice::DrawPolyLine ( const tools::Polygon rPoly)

◆ DrawPolyLine() [3/3]

void OutputDevice::DrawPolyLine ( const tools::Polygon rPoly,
const LineInfo rLineInfo 
)

Render the given polygon as a line stroke.

The given polygon is stroked with the current LineColor, start and end point are not automatically connected. The line is rendered according to the specified LineInfo, e.g. supplying a dash pattern, or a line thickness.

See also
DrawPolygon
DrawPolyPolygon

Definition at line 107 of file polyline.cxx.

References GDIMetaFile::AddAction(), Dash, basegfx::deg2rad(), DrawPolyLine(), drawPolyLine(), tools::Polygon::getB2DPolygon(), is_double_buffered_window(), IsDeviceOutputNecessary(), mpMetaFile, NONE, SAL_WARN, and Solid.

◆ drawPolyLine()

void OutputDevice::drawPolyLine ( const tools::Polygon rPoly,
const LineInfo rLineInfo 
)
private

◆ DrawPolyLineDirect()

bool OutputDevice::DrawPolyLineDirect ( const basegfx::B2DHomMatrix rObjectTransform,
const basegfx::B2DPolygon rB2DPolygon,
double  fLineWidth = 0.0,
double  fTransparency = 0.0,
const std::vector< double > *  pStroke = nullptr,
basegfx::B2DLineJoin  eLineJoin = basegfx::B2DLineJoin::NONE,
css::drawing::LineCap  eLineCap = css::drawing::LineCap_BUTT,
double  fMiterMinimumAngle = basegfx::deg2rad(15.0) 
)

◆ DrawPolyLineDirectInternal()

bool OutputDevice::DrawPolyLineDirectInternal ( const basegfx::B2DHomMatrix rObjectTransform,
const basegfx::B2DPolygon rB2DPolygon,
double  fLineWidth = 0.0,
double  fTransparency = 0.0,
const std::vector< double > *  pStroke = nullptr,
basegfx::B2DLineJoin  eLineJoin = basegfx::B2DLineJoin::NONE,
css::drawing::LineCap  eLineCap = css::drawing::LineCap_BUTT,
double  fMiterMinimumAngle = basegfx::deg2rad(15.0) 
)
private

◆ DrawPolyPolygon() [1/2]

void OutputDevice::DrawPolyPolygon ( const basegfx::B2DPolyPolygon rB2DPolyPoly)

◆ DrawPolyPolygon() [2/2]

void OutputDevice::DrawPolyPolygon ( const tools::PolyPolygon rPolyPoly)

◆ DrawRect() [1/2]

void OutputDevice::DrawRect ( const tools::Rectangle rRect)

Definition at line 50 of file rect.cxx.

References AcquireGraphics(), GDIMetaFile::AddAction(), DrawRect(), SalGraphics::DrawRect(), tools::Rectangle::GetHeight(), tools::Rectangle::GetWidth(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), tools::Rectangle::Left(), mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, tools::Rectangle::Normalize(), and tools::Rectangle::Top().

Referenced by TabPage::Draw(), CheckBox::Draw(), ComboBox::Draw(), Dialog::Draw(), Edit::Draw(), FixedText::Draw(), ListBox::Draw(), VclMultiLineEdit::Draw(), DrawBitmap(), DrawBitmapEx(), DrawBorder(), Printer::DrawBorder(), DrawCheckered(), DrawColorWallpaper(), Printer::DrawDeviceMask(), DrawMask(), DrawOutDev(), DrawProgress(), DrawRect(), vcl::Window::DrawSelectionBackground(), vcl::RenderTools::DrawSelectionBackground(), ImplStdBorderWindowView::DrawWindow(), Printer::EmulateDrawTransparent(), MenuBarWindow::HighlightItem(), ScrollBar::ImplDraw(), Calendar::ImplDraw(), Slider::ImplDraw(), ImplWin::ImplDraw(), ImplDrawBrdWinSymbolButton(), Calendar::ImplDrawDate(), ImplDrawEmphasisMark(), SplitWindow::ImplDrawGrip(), ScrollBar::ImplDrawNative(), RadioButton::ImplDrawRadioButtonState(), ToolBox::ImplErase(), VirtualDevice::ImplFillOpaqueRectangle(), HeaderBar::ImplInvertDrag(), ImplListBoxWindow::ImplPaint(), Menu::ImplPaintMenuTitle(), GraphicObject::ImplRenderTileRecursive(), Edit::ImplRepaint(), TextEngine::ImpPaint(), HelpTextWindow::Paint(), Splitter::Paint(), SvxIconChoiceCtrl_Impl::PaintEmphasis(), IconView::PaintEntry(), SvxIconChoiceCtrl_Impl::PaintEntry(), SvTreeListBox::PaintEntry1(), and MenuFloatingWindow::RenderHighlightItem().

◆ DrawRect() [2/2]

void OutputDevice::DrawRect ( const tools::Rectangle rRect,
sal_uLong  nHorzRount,
sal_uLong  nVertRound 
)

◆ DrawStretchText()

void OutputDevice::DrawStretchText ( const Point rStartPt,
sal_Int32  nWidth,
const OUString &  rStr,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1 
)

◆ DrawText() [1/2]

void OutputDevice::DrawText ( const Point rStartPt,
const OUString &  rStr,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1,
std::vector< tools::Rectangle > *  pVector = nullptr,
OUString *  pDisplayText = nullptr,
const SalLayoutGlyphs pLayoutCache = nullptr 
)

◆ DrawText() [2/2]

void OutputDevice::DrawText ( const tools::Rectangle rRect,
const OUString &  rStr,
DrawTextFlags  nStyle = DrawTextFlags::NONE,
std::vector< tools::Rectangle > *  pVector = nullptr,
OUString *  pDisplayText = nullptr,
vcl::ITextLayout _pTextLayout = nullptr 
)

◆ DrawTextArray()

void OutputDevice::DrawTextArray ( const Point rStartPt,
const OUString &  rStr,
KernArraySpan  aKernArray,
o3tl::span< const sal_Bool pKashidaAry,
sal_Int32  nIndex,
sal_Int32  nLen,
SalLayoutFlags  flags = SalLayoutFlags::NONE,
const SalLayoutGlyphs pLayoutCache = nullptr 
)

◆ DrawTextLine()

void OutputDevice::DrawTextLine ( const Point rPos,
tools::Long  nWidth,
FontStrikeout  eStrikeout,
FontLineStyle  eUnderline,
FontLineStyle  eOverline,
bool  bUnderlineAbove = false 
)

◆ DrawTransformBitmapExDirect()

bool OutputDevice::DrawTransformBitmapExDirect ( const basegfx::B2DHomMatrix aFullTransform,
const BitmapEx rBitmapEx,
double  fAlpha = 1.0 
)
protectedvirtual

Transform and draw a bitmap directly.

Parameters
aFullTransformThe B2DHomMatrix used for the transformation
rBitmapExReference to the bitmap to be transformed and drawn
Returns
true if it was able to draw the bitmap, false if not

Reimplemented in Printer.

Definition at line 294 of file bitmapex.cxx.

References COL_ALPHA_OPAQUE(), DrawTransformBitmapExDirect(), SalGraphics::DrawTransformedBitmap(), Bitmap::Erase(), AlphaMask::Erase(), BitmapEx::GetAlphaMask(), BitmapEx::GetBitmap(), BitmapEx::GetSizePixel(), Bitmap::ImplGetSalBitmap(), is_double_buffered_window(), BitmapEx::IsAlpha(), mpAlphaVDev, and mpGraphics.

Referenced by DrawTransformBitmapExDirect(), and DrawTransformedBitmapEx().

◆ DrawTransformedBitmapEx()

void OutputDevice::DrawTransformedBitmapEx ( const basegfx::B2DHomMatrix rTransformation,
const BitmapEx rBitmapEx,
double  fAlpha = 1.0 
)

Draw BitmapEx transformed.

Parameters
rTransformationThe transformation describing the target positioning of the given bitmap. Transforming the unit object coordinates (0, 0, 1, 1) with this matrix is the transformation to discrete coordinates
rBitmapExThe BitmapEx to be painted
fAlphaOptional additional alpha to use for drawing (0 to 1, 1 being no change).

Definition at line 449 of file bitmapex.cxx.

References AcquireGraphics(), BlackBitmap, AlphaMask::BlendWith(), COL_TRANSPARENT(), basegfx::utils::createScaleTranslateB2DHomMatrix(), basegfx::B2DHomMatrix::decompose(), DrawBitmapEx(), DrawTransformBitmapExDirect(), EnableMapMode(), basegfx::fTools::equalZero(), AlphaMask::Erase(), basegfx::fround(), BitmapEx::GetAlphaMask(), BitmapEx::GetBitmap(), Size::getHeight(), GetMapMode(), GetMapUnit(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxY(), basegfx::B2DRange::getMinimum(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), MapMode::GetOrigin(), basegfx::B2DRange::getRange(), BitmapEx::GetSizeBytes(), Bitmap::GetSizePixel(), BitmapEx::GetSizePixel(), BitmapEx::getTransformed(), Size::getWidth(), basegfx::Tuple2D< typename TYPE >::getX(), Point::getX(), basegfx::Tuple2D< typename TYPE >::getY(), Point::getY(), GrayBitmap, SalGraphics::HasFastDrawTransformedBitmap(), Size::Height(), ImplGetDeviceTransformation(), ImplIsRecordLayout(), InitClipRegion(), Invert, is_double_buffered_window(), comphelper::LibreOfficeKit::isActive(), BitmapEx::IsAlpha(), basegfx::Range2D< typename TYPE, typename TRAITS >::isEmpty(), BitmapEx::IsEmpty(), basegfx::fTools::less(), mbInitClipRegion, mbOutputClipped, meRasterOp, mnDrawMode, Point::Move(), mpGraphics, mpMetaFile, BitmapEx::Rotate(), basegfx::B2DRange::transform(), TransformAndReduceBitmapExToTargetRange(), WhiteBitmap, Size::Width(), Point::X(), and Point::Y().

◆ DrawTransparent() [1/3]

void OutputDevice::DrawTransparent ( const basegfx::B2DHomMatrix rObjectTransform,
const basegfx::B2DPolyPolygon rB2DPolyPoly,
double  fTransparency 
)

◆ DrawTransparent() [2/3]

void OutputDevice::DrawTransparent ( const GDIMetaFile rMtf,
const Point rPos,
const Size rSize,
const Gradient rTransparenceGradient 
)

◆ DrawTransparent() [3/3]

void OutputDevice::DrawTransparent ( const tools::PolyPolygon rPolyPoly,
sal_uInt16  nTransparencePercent 
)

◆ DrawTransparentNatively()

bool OutputDevice::DrawTransparentNatively ( const tools::PolyPolygon rPolyPoly,
sal_uInt16  nTransparencePercent 
)
private

◆ DrawWallpaper() [1/2]

void OutputDevice::DrawWallpaper ( const tools::Rectangle rRect,
const Wallpaper rWallpaper 
)

◆ DrawWallpaper() [2/2]

void OutputDevice::DrawWallpaper ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight,
const Wallpaper rWallpaper 
)
private

◆ DrawWaveLine()

void OutputDevice::DrawWaveLine ( const Point rStartPos,
const Point rEndPos,
tools::Long  nLineWidth = 1,
tools::Long  nWaveHeight = 3 
)

◆ EmulateDrawTransparent()

void OutputDevice::EmulateDrawTransparent ( const tools::PolyPolygon rPolyPoly,
sal_uInt16  nTransparencePercent 
)
protectedvirtual

◆ EnableMapMode()

void OutputDevice::EnableMapMode ( bool  bEnable = true)

◆ EnableOutput()

void OutputDevice::EnableOutput ( bool  bEnable = true)

◆ EnableRTL()

void OutputDevice::EnableRTL ( bool  bEnable = true)
virtual

Reimplemented in VirtualDevice, and vcl::WindowOutputDevice.

Definition at line 647 of file outdev.cxx.

References VirtualDevice::EnableRTL(), mbEnableRTL, and mpAlphaVDev.

Referenced by vcl::Window::EnableRTL(), and VirtualDevice::EnableRTL().

◆ EndFontSubstitution()

void OutputDevice::EndFontSubstitution ( )
static

◆ Erase() [1/2]

void OutputDevice::Erase ( )

◆ Erase() [2/2]

void OutputDevice::Erase ( const tools::Rectangle rRect)

◆ FinishTrackingFontMappingUse()

OutputDevice::FontMappingUseData OutputDevice::FinishTrackingFontMappingUse ( )
static

Definition at line 1282 of file text.cxx.

References fontMappingUseData.

◆ Flush()

virtual void OutputDevice::Flush ( void  )
inlinevirtual

◆ GetActiveClipRegion()

vcl::Region OutputDevice::GetActiveClipRegion ( ) const
virtual

Reimplemented in vcl::WindowOutputDevice.

Definition at line 192 of file outdev/clipping.cxx.

References GetClipRegion().

Referenced by lcl_canPaint(), and TransformAndReduceBitmapExToTargetRange().

◆ GetAntialiasing()

AntialiasingFlags OutputDevice::GetAntialiasing ( ) const
inline

◆ GetBackground()

const Wallpaper & OutputDevice::GetBackground ( ) const
inline

◆ GetBackgroundColor()

Color OutputDevice::GetBackgroundColor ( ) const
virtual

Reimplemented in Printer, and vcl::WindowOutputDevice.

Definition at line 22 of file background.cxx.

References GetBackground(), and Wallpaper::GetColor().

Referenced by vcl::Window::GetBackgroundColor().

◆ GetBackgroundComponentBounds()

tools::Rectangle OutputDevice::GetBackgroundComponentBounds ( ) const
protectedvirtual

Reimplemented in Printer.

Definition at line 640 of file outdev.cxx.

References GetOutputSizePixel().

Referenced by RemoveTransparenciesFromMetaFile().

◆ GetBiDiLayoutFlags()

SalLayoutFlags OutputDevice::GetBiDiLayoutFlags ( std::u16string_view  rStr,
const sal_Int32  nMinIndex,
const sal_Int32  nEndIndex 
) const

◆ GetBitCount()

sal_uInt16 OutputDevice::GetBitCount ( ) const
virtual

◆ GetBitmap()

Bitmap OutputDevice::GetBitmap ( const Point rSrcPt,
const Size rSize 
) const
virtual

◆ GetBitmapEx()

BitmapEx OutputDevice::GetBitmapEx ( const Point rSrcPt,
const Size rSize 
) const

Query extended bitmap (with alpha channel, if available).

Definition at line 149 of file bitmapex.cxx.

References Bitmap::Convert(), GetBitmap(), Bitmap::getPixelFormat(), mpAlphaVDev, vcl::N8_BPP, and N8BitNoConversion.

Referenced by SalInstanceWidget::DoRecursivePaint(), DrawOutDev(), and SalInstanceIconView::insert().

◆ GetButtonBorderSize()

virtual Size OutputDevice::GetButtonBorderSize ( )
inlinevirtual

Reimplemented in Printer.

Definition at line 421 of file outdev.hxx.

◆ GetCanvas()

Reference< css::rendering::XCanvas > OutputDevice::GetCanvas ( ) const

request XCanvas render interface

Definition at line 746 of file outdev.cxx.

References ImplGetCanvas(), and mxCanvas.

Referenced by GDIMetaFile::ImplPlayWithRenderer().

◆ GetCaretPositions()

void OutputDevice::GetCaretPositions ( const OUString &  rStr,
KernArray rCaretXArray,
sal_Int32  nIndex,
sal_Int32  nLen,
const SalLayoutGlyphs pGlyphs = nullptr 
) const

◆ GetClipRegion()

vcl::Region OutputDevice::GetClipRegion ( ) const

◆ GetCommonDeviceInfo()

css::awt::DeviceInfo OutputDevice::GetCommonDeviceInfo ( Size const &  aDevSize) const
protected

◆ GetConnectMetaFile()

GDIMetaFile * OutputDevice::GetConnectMetaFile ( ) const
inline

◆ GetCtrlTextWidth()

tools::Long OutputDevice::GetCtrlTextWidth ( const OUString &  rStr,
const SalLayoutGlyphs pLayoutCache = nullptr 
) const

◆ GetDefaultFont()

vcl::Font OutputDevice::GetDefaultFont ( DefaultFontType  nType,
LanguageType  eLang,
GetDefaultFontFlags  nFlags,
const OutputDevice pOutDev = nullptr 
)
static

◆ GetDeviceInfo()

css::awt::DeviceInfo OutputDevice::GetDeviceInfo ( ) const
virtual

Reimplemented in Printer, and vcl::WindowOutputDevice.

Definition at line 734 of file outdev.cxx.

References GetCommonDeviceInfo(), and GetOutputSizePixel().

◆ GetDigitLanguage()

LanguageType OutputDevice::GetDigitLanguage ( ) const
inline

Definition at line 493 of file outdev.hxx.

Referenced by Push().

◆ GetDPIScaleFactor()

float OutputDevice::GetDPIScaleFactor ( ) const
inline

◆ GetDPIScalePercentage()

sal_Int32 OutputDevice::GetDPIScalePercentage ( ) const
inline

Definition at line 401 of file outdev.hxx.

Referenced by ImageRequestParameters::scalePercentage().

◆ GetDPIX()

SAL_DLLPRIVATE sal_Int32 OutputDevice::GetDPIX ( ) const
inline

◆ GetDPIY()

SAL_DLLPRIVATE sal_Int32 OutputDevice::GetDPIY ( ) const
inline

◆ GetDrawMode()

DrawModeFlags OutputDevice::GetDrawMode ( ) const
inline

◆ GetEllipsisString()

OUString OutputDevice::GetEllipsisString ( const OUString &  rStr,
tools::Long  nMaxWidth,
DrawTextFlags  nStyle = DrawTextFlags::EndEllipsis 
) const

Definition at line 2017 of file text.cxx.

References ImplGetEllipsisString().

Referenced by vcl::PDFWriterImpl::drawText(), and getShortenedString().

◆ GetEmphasisAscent()

SAL_DLLPRIVATE tools::Long OutputDevice::GetEmphasisAscent ( ) const
inlineprotected

Definition at line 1181 of file outdev.hxx.

Referenced by vcl::PDFWriterImpl::drawLayout().

◆ GetEmphasisDescent()

SAL_DLLPRIVATE tools::Long OutputDevice::GetEmphasisDescent ( ) const
inlineprotected

Definition at line 1182 of file outdev.hxx.

Referenced by vcl::PDFWriterImpl::drawLayout().

◆ GetExtOutDevData()

vcl::ExtOutDevData * OutputDevice::GetExtOutDevData ( ) const
inline

Definition at line 416 of file outdev.hxx.

Referenced by VirtualDevice::CanEnableNativeWidget().

◆ getFallbackLayout()

std::unique_ptr< SalLayout > OutputDevice::getFallbackLayout ( LogicalFontInstance pLogicalFont,
int  nFallbackLevel,
vcl::text::ImplLayoutArgs rLayoutArgs,
const SalLayoutGlyphs pGlyphs 
) const

◆ GetFillColor()

const Color & OutputDevice::GetFillColor ( ) const
inline

◆ GetFont()

const vcl::Font & OutputDevice::GetFont ( ) const
inline

◆ GetFontCapabilities()

bool OutputDevice::GetFontCapabilities ( vcl::FontCapabilities rFontCapabilities) const

Definition at line 251 of file outdev/font.cxx.

References SalGraphics::GetFontCapabilities(), InitFont(), and mpGraphics.

◆ GetFontCharMap()

bool OutputDevice::GetFontCharMap ( FontCharMapRef rxFontCharMap) const

◆ GetFontExtLeading()

tools::Long OutputDevice::GetFontExtLeading ( ) const
protectedvirtual

Reimplemented in VirtualDevice.

Definition at line 258 of file outdev/font.cxx.

References mpFontInstance.

Referenced by GetFontMetric().

◆ GetFontFaceCollectionCount()

int OutputDevice::GetFontFaceCollectionCount ( ) const

Definition at line 112 of file outdev/font.cxx.

References mpFontFaceCollection, and mxFontCollection.

Referenced by GetFontMetricFromCollection().

◆ GetFontFeatures()

bool OutputDevice::GetFontFeatures ( std::vector< vcl::font::Feature > &  rFontFeatures) const

◆ GetFontInstance()

const LogicalFontInstance * OutputDevice::GetFontInstance ( ) const

◆ GetFontMetric() [1/2]

FontMetric OutputDevice::GetFontMetric ( ) const

◆ GetFontMetric() [2/2]

FontMetric OutputDevice::GetFontMetric ( const vcl::Font rFont) const

Definition at line 224 of file outdev/font.cxx.

References GetFont(), GetFontMetric(), and SetFont().

◆ GetFontMetricFromCollection()

FontMetric OutputDevice::GetFontMetricFromCollection ( int  nDevFontIndex) const

◆ GetGlyphBoundRects()

bool OutputDevice::GetGlyphBoundRects ( const Point rOrigin,
const OUString &  rStr,
int  nIndex,
int  nLen,
std::vector< tools::Rectangle > &  rVector 
) const

◆ GetGradientStepCount()

tools::Long OutputDevice::GetGradientStepCount ( tools::Long  nMinRect)
protectedvirtual

Reimplemented in Printer.

Definition at line 577 of file outdev/gradient.cxx.

Referenced by GetGradientSteps().

◆ GetGradientSteps()

tools::Long OutputDevice::GetGradientSteps ( Gradient const &  rGradient,
tools::Rectangle const &  rRect 
)
private

◆ GetGraphics() [1/2]

SalGraphics * OutputDevice::GetGraphics ( )

Definition at line 190 of file outdev.cxx.

References AcquireGraphics(), DBG_TESTSOLARMUTEX, mpGraphics, and SAL_WARN.

◆ GetGraphics() [2/2]

SalGraphics const * OutputDevice::GetGraphics ( ) const

Get the graphic context that the output device uses to draw on.

If no graphics device exists, then initialize it.

Returns
SalGraphics instance.

Definition at line 200 of file outdev.cxx.

References AcquireGraphics(), DBG_TESTSOLARMUTEX, mpGraphics, and SAL_WARN.

Referenced by Bitmap::CreateDisplayBitmap(), Image::Draw(), and EmbeddedFontsHelper::fontFileUrl().

◆ GetInverseViewTransformation() [1/2]

basegfx::B2DHomMatrix OutputDevice::GetInverseViewTransformation ( ) const

◆ GetInverseViewTransformation() [2/2]

basegfx::B2DHomMatrix OutputDevice::GetInverseViewTransformation ( const MapMode rMapMode) const

Definition at line 863 of file map.cxx.

References GetViewTransformation(), and basegfx::B2DHomMatrix::invert().

◆ GetLayoutMode()

vcl::text::ComplexTextLayoutFlags OutputDevice::GetLayoutMode ( ) const
inline

◆ GetLineColor()

const Color & OutputDevice::GetLineColor ( ) const
inline

◆ GetMapMode()

const MapMode & OutputDevice::GetMapMode ( ) const
inline

◆ GetMinKashida()

tools::Long OutputDevice::GetMinKashida ( ) const

Definition at line 1131 of file outdev/font.cxx.

References ImplDevicePixelToLogicWidth(), ImplNewFont(), mbMap, and mpFontInstance.

◆ GetMonochromeButtonColor()

virtual Color OutputDevice::GetMonochromeButtonColor ( )
inlinevirtual

Reimplemented in Printer.

Definition at line 422 of file outdev.hxx.

References COL_WHITE().

◆ GetNativeControlRegion()

bool OutputDevice::GetNativeControlRegion ( ControlType  nType,
ControlPart  nPart,
const tools::Rectangle rControlRegion,
ControlState  nState,
const ImplControlValue aValue,
tools::Rectangle rNativeBoundingRegion,
tools::Rectangle rNativeContentRegion 
) const

◆ GetNativeSurfaceHandle()

css::uno::Any OutputDevice::GetNativeSurfaceHandle ( cairo::SurfaceSharedPtr rSurface,
const basegfx::B2ISize rSize 
) const

Return native handle for underlying surface.

◆ GetOutDevType()

OutDevType OutputDevice::GetOutDevType ( ) const
inline

◆ GetOutDevViewType()

OutDevViewType OutputDevice::GetOutDevViewType ( ) const
inline

Definition at line 506 of file outdev.hxx.

◆ GetOutOffXPixel()

tools::Long OutputDevice::GetOutOffXPixel ( ) const
inline

◆ GetOutOffYPixel()

tools::Long OutputDevice::GetOutOffYPixel ( ) const
inline

◆ GetOutputBoundsClipRegion()

vcl::Region OutputDevice::GetOutputBoundsClipRegion ( ) const
virtual

Reimplemented in vcl::WindowOutputDevice.

Definition at line 790 of file text.cxx.

Referenced by DrawText().

◆ GetOutputHeightPixel()

tools::Long OutputDevice::GetOutputHeightPixel ( ) const
inline

Definition at line 317 of file outdev.hxx.

Referenced by ClipToDeviceBounds().

◆ GetOutputOffPixel()

Point OutputDevice::GetOutputOffPixel ( ) const
inline

Definition at line 322 of file outdev.hxx.

◆ GetOutputRectPixel()

tools::Rectangle OutputDevice::GetOutputRectPixel ( ) const
inline

◆ GetOutputSize()

Size OutputDevice::GetOutputSize ( ) const
inline

◆ GetOutputSizePixel()

Size OutputDevice::GetOutputSizePixel ( ) const
inline

◆ GetOutputWidthPixel()

tools::Long OutputDevice::GetOutputWidthPixel ( ) const
inline

◆ GetOverlineColor()

const Color & OutputDevice::GetOverlineColor ( ) const
inline

◆ GetOwnerWindow()

virtual vcl::Window * OutputDevice::GetOwnerWindow ( ) const
inlinevirtual

◆ GetPixel()

Color OutputDevice::GetPixel ( const Point rPt) const

◆ GetPixelOffset()

SAL_WARN_UNUSED_RESULT Size OutputDevice::GetPixelOffset ( ) const
inline

Get the offset in pixel.

See also
OutputDevice::SetPixelOffset for details
Returns
the current offset in pixel

Definition at line 1601 of file outdev.hxx.

References SAL_WARN_UNUSED_RESULT.

Referenced by GDIMetaFile::Play().

◆ GetRasterOp()

RasterOp OutputDevice::GetRasterOp ( ) const
inline

◆ GetReadableFontColor()

Color OutputDevice::GetReadableFontColor ( const Color rFontColor,
const Color rBgColor 
) const
virtual

Reimplemented in Printer.

Definition at line 25 of file wallpaper.cxx.

References COL_BLACK(), COL_WHITE(), Color::IsBright(), and Color::IsDark().

◆ GetRefPoint()

const Point & OutputDevice::GetRefPoint ( ) const
inline

Definition at line 307 of file outdev.hxx.

Referenced by CalcHatchValues().

◆ GetRenderBackendName()

OUString OutputDevice::GetRenderBackendName ( ) const

Definition at line 232 of file outdev.cxx.

References AcquireGraphics(), SalGraphics::getRenderBackendName(), and mpGraphics.

◆ GetSettings()

const AllSettings & OutputDevice::GetSettings ( ) const
inline

Definition at line 288 of file outdev.hxx.

Referenced by Control::ApplySettings(), StatusBar::ApplySettings(), ToolBox::ApplySettings(), Edit::ApplySettings(), FloatingWindow::ApplySettings(), ScrollBarBox::ApplySettings(), SvTreeListBox::ApplySettings(), VclMultiLineEdit::ApplySettings(), Calendar::ApplySettings(), HelpTextWindow::ApplySettings(), vcl::HyperLabel::ApplySettings(), ImplListBoxWindow::ApplySettings(), ImplWin::ApplySettings(), MenuBarWindow::ApplySettings(), MenuFloatingWindow::ApplySettings(), PushButton::Draw(), ScrollBar::Draw(), SpinField::Draw(), Image::Draw(), DrawCtrlText(), DecorationView::DrawFrame(), DecorationView::DrawHandle(), DrawHatch(), DecorationView::DrawHighlightFrame(), SvImpLBox::DrawNet(), DrawPixel(), vcl::RenderTools::DrawSelectionBackground(), DecorationView::DrawSeparator(), DecorationView::DrawSymbol(), ImplStdBorderWindowView::DrawWindow(), vcl::Window::GetSettings(), GetSingleColorGradientFill(), MenuBarWindow::HighlightItem(), ImplAddNWFSeparator(), SpinField::ImplCalcButtonAreas(), FixedText::ImplDraw(), FixedLine::ImplDraw(), ScrollBar::ImplDraw(), Calendar::ImplDraw(), Slider::ImplDraw(), ImplWin::ImplDraw(), SplitWindow::ImplDrawBorder(), ToolBox::ImplDrawBorder(), SplitWindow::ImplDrawBorderLine(), ImplDrawBrdWinSymbol(), ImplDrawBrdWinSymbolButton(), ToolBox::ImplDrawConstantBackground(), Calendar::ImplDrawDate(), ImplDrawDropdownArrow(), ToolBox::ImplDrawFloatwinBorder(), Control::ImplDrawFrame(), ToolBox::ImplDrawGradientBackground(), ToolBox::ImplDrawGrip(), SplitWindow::ImplDrawGrip(), TabControl::ImplDrawItem(), ToolBox::ImplDrawItem(), HeaderBar::ImplDrawItem(), ScrollBar::ImplDrawNative(), PushButton::ImplDrawPushButtonFrame(), RadioButton::ImplDrawRadioButtonState(), MenuFloatingWindow::ImplDrawScroller(), ToolBox::ImplDrawSeparator(), Calendar::ImplDrawSpin(), ImplDrawSplit(), ImplDrawText(), ImplDrawUpDownButtons(), ToolBox::ImplErase(), ImplNewFont(), ImplListBoxWindow::ImplPaint(), Menu::ImplPaint(), ImplPaintCheckBackground(), Menu::ImplPaintMenuTitle(), vcl::Cursor::ImplPrepForDraw(), Edit::ImplRepaint(), TextEngine::ImpPaint(), ImplStdBorderWindowView::Init(), vcl::PrintDialog::ShowNupOrderWindow::Paint(), HeaderBar::Paint(), StatusBar::Paint(), TabControl::Paint(), SpinField::Paint(), vcl::PrintDialog::PrintPreviewWindow::Paint(), MenuBarWindow::Paint(), MenuFloatingWindow::Paint(), vcl::PaintBufferGuard::PaintBufferGuard(), IconView::PaintEntry(), SvxIconChoiceCtrl_Impl::PaintEntry(), SvTreeListBox::PaintEntry1(), MenuFloatingWindow::RenderHighlightItem(), SetFillColor(), SetFont(), SetLineColor(), SetOverlineColor(), SetSystemTextColor(), and SetTextLineColor().

◆ GetSingleColorGradientFill()

Color OutputDevice::GetSingleColorGradientFill ( )
private

◆ GetSpriteCanvas()

Reference< css::rendering::XSpriteCanvas > OutputDevice::GetSpriteCanvas ( ) const

request XSpriteCanvas render interface

Definition at line 758 of file outdev.cxx.

References ImplGetCanvas(), and mxCanvas.

◆ GetSyncCount()

virtual size_t OutputDevice::GetSyncCount ( ) const
inlinevirtual

Reimplemented in vcl::WindowOutputDevice.

Definition at line 335 of file outdev.hxx.

Referenced by GDIMetaFile::Play().

◆ GetSystemGfxData()

SystemGraphicsData OutputDevice::GetSystemGfxData ( ) const

Definition at line 223 of file outdev.cxx.

References AcquireGraphics(), SalGraphics::GetGraphicsData(), and mpGraphics.

Referenced by GetSystemGfxDataAny().

◆ GetSystemGfxDataAny()

css::uno::Any OutputDevice::GetSystemGfxDataAny ( ) const

◆ GetTextAlign()

TextAlign OutputDevice::GetTextAlign ( ) const
inline

Definition at line 1021 of file outdev.hxx.

References vcl::Font::GetAlignment().

Referenced by vcl::Window::GetTextAlign(), ImplDrawText(), and Push().

◆ GetTextArray()

tools::Long OutputDevice::GetTextArray ( const OUString &  rStr,
KernArray pDXAry,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1,
bool  bCaret = false,
vcl::text::TextLayoutCache const *  pLayoutCache = nullptr,
SalLayoutGlyphs const *const  pLayoutCache = nullptr 
) const

◆ GetTextBoundRect()

bool OutputDevice::GetTextBoundRect ( tools::Rectangle rRect,
const OUString &  rStr,
sal_Int32  nBase = 0,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1,
sal_uLong  nLayoutWidth = 0,
KernArraySpan  aDXArray = KernArraySpan(),
o3tl::span< const sal_Bool pKashidaArray = {},
const SalLayoutGlyphs pGlyphs = nullptr 
) const

Return the exact bounding rectangle of rStr.

The text is then drawn exactly from rRect.TopLeft() to rRect.BottomRight(), don't assume that rRect.TopLeft() is [0, 0].

Please note that you don't always want to use GetTextBoundRect(); in many cases you actually want to use GetTextHeight(), because GetTextBoundRect() gives you the exact bounding rectangle regardless what is the baseline of the text.

Code snippet to get just exactly the text (no filling around that) as a bitmap via a VirtualDevice (regardless what is the baseline):

VirtualDevice aDevice; vcl::Font aFont = aDevice.GetFont(); aFont.SetSize(Size(0, 96)); aFont.SetColor(COL_BLACK); aDevice.SetFont(aFont); aDevice.Erase();

tools::Rectangle aRect; aDevice.GetTextBoundRect(aRect, aText); aDevice.SetOutputSize(Size(aRect.Right() + 1, aRect.Bottom() + 1)); aDevice.SetBackground(Wallpaper(COL_TRANSPARENT)); aDevice.DrawText(Point(0,0), aText);

exactly only the text, regardless of the baseline Bitmap aBitmap(aDevice.GetBitmap(aRect.TopLeft(), aRect.GetSize()));

Code snippet to get the text as a bitmap via a Virtual device that contains even the filling so that the baseline is always preserved (ie. the text will not jump up and down according to whether it contains 'y' or not etc.)

VirtualDevice aDevice;

  • the appropriate font / device setup, see above
      aDevice.SetOutputSize(Size(aDevice.GetTextWidth(aText), aDevice.GetTextHeight()));
      aDevice.SetBackground(Wallpaper(COL_TRANSPARENT));
      aDevice.DrawText(Point(0,0), aText);
    
    bitmap that contains even the space around the text, that means, preserves the baseline etc. Bitmap aBitmap(aDevice.GetBitmap(Point(0, 0), aDevice.GetOutputSize()));

Definition at line 2307 of file text.cxx.

References eDefaultLayout, basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), ImplLayout(), maMapRes, mbMap, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, mnTextOffX, mnTextOffY, nIndex, PixelToLogic(), and tools::Rectangle::SetEmpty().

Referenced by GetGlyphBoundRects(), Menu::ImplCalcSize(), FontMetricData::ImplInitFlags(), and Menu::ImplPaintMenuTitle().

◆ GetTextBreak() [1/2]

sal_Int32 OutputDevice::GetTextBreak ( const OUString &  rStr,
tools::Long  nTextWidth,
sal_Int32  nIndex,
sal_Int32  nLen = -1,
tools::Long  nCharExtra = 0,
vcl::text::TextLayoutCache const *  pLayoutCache = nullptr,
const SalLayoutGlyphs pGlyphs = nullptr 
) const

◆ GetTextBreak() [2/2]

sal_Int32 OutputDevice::GetTextBreak ( const OUString &  rStr,
tools::Long  nTextWidth,
sal_Unicode  nExtraChar,
sal_Int32 &  rExtraCharPos,
sal_Int32  nIndex,
sal_Int32  nLen,
tools::Long  nCharExtra,
vcl::text::TextLayoutCache const *  pLayoutCache = nullptr,
const SalLayoutGlyphs pGlyphs = nullptr 
) const

Definition at line 1485 of file text.cxx.

References eDefaultLayout, ImplLayout(), ImplLogicWidthToDeviceSubPixel(), mbMap, and nIndex.

◆ GetTextColor()

const Color & OutputDevice::GetTextColor ( ) const
inline

◆ GetTextFillColor()

Color OutputDevice::GetTextFillColor ( ) const

◆ GetTextHeight()

tools::Long OutputDevice::GetTextHeight ( ) const

◆ GetTextIsRTL()

bool OutputDevice::GetTextIsRTL ( const OUString &  rString,
sal_Int32  nIndex,
sal_Int32  nLen 
) const

◆ GetTextLineColor()

const Color & OutputDevice::GetTextLineColor ( ) const
inline

◆ GetTextOutline()

bool OutputDevice::GetTextOutline ( tools::PolyPolygon rPolyPoly,
const OUString &  rStr 
) const

◆ GetTextOutlines() [1/2]

bool OutputDevice::GetTextOutlines ( basegfx::B2DPolyPolygonVector rVector,
const OUString &  rStr,
sal_Int32  nBase,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1,
sal_uLong  nLayoutWidth = 0,
KernArraySpan  aDXArray = KernArraySpan(),
o3tl::span< const sal_Bool pKashidaArray = {} 
) const

◆ GetTextOutlines() [2/2]

bool OutputDevice::GetTextOutlines ( PolyPolyVector rResultVector,
const OUString &  rStr,
sal_Int32  nBase = 0,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1,
sal_uLong  nLayoutWidth = 0,
KernArraySpan  aDXArray = KernArraySpan(),
o3tl::span< const sal_Bool pKashidaArray = {} 
) const

Definition at line 2439 of file text.cxx.

References GetTextOutlines(), and nIndex.

Referenced by GetTextOutline(), GetTextOutlines(), and WMFWriter::WMFRecord_Escape_Unicode().

◆ GetTextRect()

tools::Rectangle OutputDevice::GetTextRect ( const tools::Rectangle rRect,
const OUString &  rStr,
DrawTextFlags  nStyle = DrawTextFlags::WordBreak,
TextRectInfo pInfo = nullptr,
const vcl::ITextLayout _pTextLayout = nullptr 
) const

◆ GetTextWidth()

tools::Long OutputDevice::GetTextWidth ( const OUString &  rStr,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1,
vcl::text::TextLayoutCache const *  pLayoutCache = nullptr,
SalLayoutGlyphs const *const  pLayoutCache = nullptr 
) const

◆ GetUnoGraphicsList()

std::vector< VCLXGraphics * > * OutputDevice::GetUnoGraphicsList ( ) const
inline

Definition at line 332 of file outdev.hxx.

Referenced by dispose().

◆ GetViewTransformation() [1/2]

basegfx::B2DHomMatrix OutputDevice::GetViewTransformation ( ) const

◆ GetViewTransformation() [2/2]

basegfx::B2DHomMatrix OutputDevice::GetViewTransformation ( const MapMode rMapMode) const

◆ GetWaveLineSize()

Size OutputDevice::GetWaveLineSize ( tools::Long  nLineWidth) const
protectedvirtual

Reimplemented in Printer.

Definition at line 164 of file textline.cxx.

References mnDPIX, mnDPIY, and nLineWidth.

Referenced by ImplDrawWaveLine().

◆ HasFastDrawTransformedBitmap()

bool OutputDevice::HasFastDrawTransformedBitmap ( ) const

Return true if DrawTransformedBitmapEx() is fast.

Available since: \n 7.2

Definition at line 709 of file outdev/bitmap.cxx.

References AcquireGraphics(), SalGraphics::HasFastDrawTransformedBitmap(), ImplIsRecordLayout(), and mpGraphics.

◆ HasGlyphs()

sal_Int32 OutputDevice::HasGlyphs ( const vcl::Font rFont,
std::u16string_view  rStr,
sal_Int32  nIndex = 0,
sal_Int32  nLen = -1 
) const

Definition at line 1204 of file outdev/font.cxx.

References GetFont(), GetFontCharMap(), i, nIndex, SAL_WARN_IF, and SetFont().

◆ HasMirroredGraphics()

bool OutputDevice::HasMirroredGraphics ( ) const
virtual

◆ HitTestNativeScrollbar()

bool OutputDevice::HitTestNativeScrollbar ( ControlPart  nPart,
const tools::Rectangle rControlRegion,
const Point aPos,
bool &  rIsInside 
) const

Query the native control to determine if it was acted upon.

Definition at line 146 of file nativecontrols.cxx.

References AcquireGraphics(), CanEnableNativeWidget(), SalGraphics::HitTestNativeScrollbar(), mnOutOffX, mnOutOffY, tools::Rectangle::Move(), mpGraphics, Point::X(), and Point::Y().

Referenced by ScrollBar::MouseButtonDown().

◆ ImplBreakLinesSimple()

sal_Int32 OutputDevice::ImplBreakLinesSimple ( const tools::Long  nWidth,
const OUString &  rStr,
const vcl::ITextLayout _rLayout,
const sal_Int32  nPos,
sal_Int32  nBreakPos,
tools::Long nLineWidth 
)
staticprotected

Definition at line 689 of file text.cxx.

Referenced by ImplGetTextLines().

◆ ImplBreakLinesWithIterator()

sal_Int32 OutputDevice::ImplBreakLinesWithIterator ( const tools::Long  nWidth,
const OUString &  rStr,
const vcl::ITextLayout _rLayout,
const css::uno::Reference< css::linguistic2::XHyphenator > &  xHyph,
const css::uno::Reference< css::i18n::XBreakIterator > &  xBI,
const bool  bHyphenate,
const sal_Int32  nPos,
sal_Int32  nBreakPos 
)
staticprotected

◆ ImplClearAllFontData()

void OutputDevice::ImplClearAllFontData ( bool  bNewFontLists)
static

◆ ImplClearFontData()

void OutputDevice::ImplClearFontData ( bool  bNewFontLists)
protectedvirtual

◆ ImplDevicePixelToLogic()

tools::Rectangle OutputDevice::ImplDevicePixelToLogic ( const tools::Rectangle rPixelRect) const

◆ ImplDevicePixelToLogicHeight()

tools::Long OutputDevice::ImplDevicePixelToLogicHeight ( tools::Long  nHeight) const

Convert device pixels to a height in logical units.

To get the logical height, it must calculate the Y-DPI of the device and the map scaling factor.

Parameters
nHeightHeight in device pixels
Returns
Height in logical units.

Definition at line 304 of file map.cxx.

References ImplPixelToLogic(), maMapRes, mbMap, mnDPIY, ImplMapRes::mnMapScDenomY, and ImplMapRes::mnMapScNumY.

Referenced by vcl::PDFWriterImpl::drawLayout(), GetFontMetric(), and GetTextHeight().

◆ ImplDevicePixelToLogicWidth()

tools::Long OutputDevice::ImplDevicePixelToLogicWidth ( tools::Long  nWidth) const

Convert device pixels to a width in logical units.

To get the logical width, it must calculate the X-DPI of the device and the map scaling factor.

Parameters
nWidthWidth in device pixels
Returns
Width in logical units.

Definition at line 296 of file map.cxx.

References ImplPixelToLogic(), maMapRes, mbMap, mnDPIX, ImplMapRes::mnMapScDenomX, and ImplMapRes::mnMapScNumX.

Referenced by DrawHatch(), vcl::PDFWriterImpl::drawLayout(), GetCaretPositions(), GetMinKashida(), and GetTextArray().

◆ ImplDisposeCanvas()

void OutputDevice::ImplDisposeCanvas ( )
protected

Definition at line 809 of file outdev.cxx.

References mxCanvas.

Referenced by vcl::Window::dispose(), and WorkWindow::ShowFullScreenMode().

◆ ImplDrawEmphasisMark()

void OutputDevice::ImplDrawEmphasisMark ( tools::Long  nBaseX,
tools::Long  nX,
tools::Long  nY,
const tools::PolyPolygon rPolyPoly,
bool  bPolyLine,
const tools::Rectangle rRect1,
const tools::Rectangle rRect2 
)
private

◆ ImplDrawEmphasisMarks()

void OutputDevice::ImplDrawEmphasisMarks ( SalLayout rSalLayout)
private

◆ ImplDrawMnemonicLine()

void OutputDevice::ImplDrawMnemonicLine ( tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth 
)
private

◆ ImplDrawPolygon()

void OutputDevice::ImplDrawPolygon ( const tools::Polygon rPoly,
const tools::PolyPolygon pClipPolyPoly = nullptr 
)
private

◆ ImplDrawPolyPolygon() [1/2]

void OutputDevice::ImplDrawPolyPolygon ( const tools::PolyPolygon rPolyPoly,
const tools::PolyPolygon pClipPolyPoly 
)
private

◆ ImplDrawPolyPolygon() [2/2]

void OutputDevice::ImplDrawPolyPolygon ( sal_uInt16  nPoly,
const tools::PolyPolygon rPolyPoly 
)
private

◆ ImplDrawPolyPolygonWithB2DPolyPolygon()

void OutputDevice::ImplDrawPolyPolygonWithB2DPolyPolygon ( const basegfx::B2DPolyPolygon rB2DPolyPoly)
private

◆ ImplDrawRotateText()

bool OutputDevice::ImplDrawRotateText ( SalLayout rSalLayout)

◆ ImplDrawSpecialText()

void OutputDevice::ImplDrawSpecialText ( SalLayout rSalLayout)
private

◆ ImplDrawStraightTextLine()

void OutputDevice::ImplDrawStraightTextLine ( tools::Long  nBaseX,
tools::Long  nBaseY,
tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
FontLineStyle  eTextLine,
Color  aColor,
bool  bIsAbove 
)
private

◆ ImplDrawStrikeoutChar()

void OutputDevice::ImplDrawStrikeoutChar ( tools::Long  nBaseX,
tools::Long  nBaseY,
tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
FontStrikeout  eStrikeout,
Color  aColor 
)
private

◆ ImplDrawStrikeoutLine()

void OutputDevice::ImplDrawStrikeoutLine ( tools::Long  nBaseX,
tools::Long  nBaseY,
tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
FontStrikeout  eStrikeout,
Color  aColor 
)
private

◆ ImplDrawText() [1/2]

void OutputDevice::ImplDrawText ( OutputDevice rTargetDevice,
const tools::Rectangle rRect,
const OUString &  rOrigStr,
DrawTextFlags  nStyle,
std::vector< tools::Rectangle > *  pVector,
OUString *  pDisplayText,
vcl::ITextLayout _rLayout 
)
static

Definition at line 1538 of file text.cxx.

References Point::AdjustX(), Point::AdjustY(), ALIGN_BASELINE, ALIGN_BOTTOM, aStr, Bottom, Center, Clip, vcl::CLIPREGION, COL_GREEN(), COL_LIGHTGREEN(), convertLineEnd(), ImplMultiTextLineInfo::Count(), Disable, vcl::ITextLayout::DrawText(), EndEllipsis, FontMetric::GetAscent(), GetBackground(), Wallpaper::GetColor(), StyleSettings::GetDisableColor(), StyleSettings::GetFaceColor(), GetFontMetric(), tools::Rectangle::GetHeight(), StyleSettings::GetHighContrastMode(), ImplTextLineInfo::GetIndex(), ImplTextLineInfo::GetLen(), ImplMultiTextLineInfo::GetLine(), StyleSettings::GetOptions(), GetOutOffXPixel(), GetOutOffYPixel(), GetSettings(), AllSettings::GetStyleSettings(), GetTextAlign(), vcl::ITextLayout::GetTextArray(), GetTextColor(), GetTextFillColor(), GetTextHeight(), vcl::ITextLayout::GetTextWidth(), tools::Rectangle::GetWidth(), ImplTextLineInfo::GetWidth(), i, ImplDrawMnemonicLine(), ImplGetEllipsisString(), ImplGetTextLines(), ImplLogicWidthToDevicePixel(), ImplLogicWidthToDeviceSubPixel(), IntersectClipRegion(), IsBackground(), Color::IsBright(), Color::IsDark(), utl::ConfigManager::IsFuzzing(), IsTextFillColor(), tools::Rectangle::Left(), Left, LINEEND_LF, LogicToPixel(), Mnemonic, MultiLine, nIndex, NoMnemonics, nPos, Pop(), Push(), removeMnemonicFromString(), Right, SAL_WARN_IF, SetTextColor(), SetTextFillColor(), Point::setX(), TEXT_DRAW_ELLIPSIS, Top, tools::Rectangle::TopLeft(), VCenter, Point::X(), and Point::Y().

Referenced by AddTextRectActions(), DrawStretchText(), DrawText(), and DrawTextArray().

◆ ImplDrawText() [2/2]

void OutputDevice::ImplDrawText ( SalLayout rSalLayout)

◆ ImplDrawTextBackground()

void OutputDevice::ImplDrawTextBackground ( const SalLayout rSalLayout)

◆ ImplDrawTextDirect()

void OutputDevice::ImplDrawTextDirect ( SalLayout rSalLayout,
bool  bTextLines 
)
private

◆ ImplDrawTextLine()

void OutputDevice::ImplDrawTextLine ( tools::Long  nBaseX,
tools::Long  nX,
tools::Long  nY,
double  nWidth,
FontStrikeout  eStrikeout,
FontLineStyle  eUnderline,
FontLineStyle  eOverline,
bool  bUnderlineAbove 
)

◆ ImplDrawTextLines()

void OutputDevice::ImplDrawTextLines ( SalLayout rSalLayout,
FontStrikeout  eStrikeout,
FontLineStyle  eUnderline,
FontLineStyle  eOverline,
bool  bWordLine,
bool  bUnderlineAbove 
)

◆ ImplDrawTextRect()

void OutputDevice::ImplDrawTextRect ( tools::Long  nBaseX,
tools::Long  nBaseY,
tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
tools::Long  nHeight 
)
private

◆ ImplDrawWaveLine()

void OutputDevice::ImplDrawWaveLine ( tools::Long  nBaseX,
tools::Long  nBaseY,
tools::Long  nStartX,
tools::Long  nStartY,
tools::Long  nWidth,
tools::Long  nHeight,
tools::Long  nLineWidth,
Degree10  nOrientation,
const Color rColor 
)
private

◆ ImplDrawWaveLineBezier()

void OutputDevice::ImplDrawWaveLineBezier ( tools::Long  nStartX,
tools::Long  nStartY,
tools::Long  nEndX,
tools::Long  nEndY,
tools::Long  nWaveHeight,
double  fOrientation,
tools::Long  nLineWidth 
)
private

◆ ImplDrawWavePixel()

void OutputDevice::ImplDrawWavePixel ( tools::Long  nOriginX,
tools::Long  nOriginY,
tools::Long  nCurX,
tools::Long  nCurY,
tools::Long  nWidth,
Degree10  nOrientation,
SalGraphics pGraphics,
const OutputDevice rOutDev,
tools::Long  nPixWidth,
tools::Long  nPixHeight 
)
private

◆ ImplDrawWaveTextLine()

void OutputDevice::ImplDrawWaveTextLine ( tools::Long  nBaseX,
tools::Long  nBaseY,
tools::Long  nX,
tools::Long  nY,
tools::Long  nWidth,
FontLineStyle  eTextLine,
Color  aColor,
bool  bIsAbove 
)
private

◆ ImplGetCanvas()

com::sun::star::uno::Reference< css::rendering::XCanvas > OutputDevice::ImplGetCanvas ( bool  bSpriteCanvas) const
protectedvirtual

◆ ImplGetDeviceTransformation()

basegfx::B2DHomMatrix OutputDevice::ImplGetDeviceTransformation ( ) const

Get device transformation.

Available since: \n AOO bug 75163 (OpenOffice.org 2.4.3 - OOH 680 milestone 212)

Definition at line 870 of file map.cxx.

References GetViewTransformation(), mnOutOffX, mnOutOffY, and basegfx::B2DHomMatrix::translate().

Referenced by DrawLine(), DrawPolygon(), DrawPolyLine(), DrawPolyLineDirectInternal(), DrawPolyPolygon(), DrawTransformedBitmapEx(), DrawTransparent(), DrawTransparentNatively(), and ImplDrawPolyPolygonWithB2DPolyPolygon().

◆ ImplGetEllipsisString()

OUString OutputDevice::ImplGetEllipsisString ( const OutputDevice rTargetDevice,
const OUString &  rStr,
tools::Long  nMaxWidth,
DrawTextFlags  nStyle,
const vcl::ITextLayout _rLayout 
)
staticprivate

◆ ImplGetTextBoundRect()

tools::Rectangle OutputDevice::ImplGetTextBoundRect ( const SalLayout rSalLayout) const

◆ ImplGetTextLines()

tools::Long OutputDevice::ImplGetTextLines ( const tools::Rectangle rRect,
tools::Long  nTextHeight,
ImplMultiTextLineInfo rLineInfo,
tools::Long  nWidth,
const OUString &  rStr,
DrawTextFlags  nStyle,
const vcl::ITextLayout _rLayout 
)
staticprotected

◆ ImplGlyphFallbackLayout()

std::unique_ptr< SalLayout > OutputDevice::ImplGlyphFallbackLayout ( std::unique_ptr< SalLayout pSalLayout,
vcl::text::ImplLayoutArgs rLayoutArgs,
const SalLayoutGlyphs pGlyphs 
) const

◆ ImplInitAboveTextLineSize()

void OutputDevice::ImplInitAboveTextLineSize ( )
protected

◆ ImplInitFontList()

void OutputDevice::ImplInitFontList ( ) const

◆ ImplInitMapModeObjects()

void OutputDevice::ImplInitMapModeObjects ( )
protectedvirtual

Reimplemented in vcl::WindowOutputDevice.

Definition at line 719 of file map.cxx.

Referenced by vcl::WindowOutputDevice::ImplInitMapModeObjects(), and SetMapMode().

◆ ImplInitTextColor()

void OutputDevice::ImplInitTextColor ( )
private

◆ ImplInitTextLineSize()

void OutputDevice::ImplInitTextLineSize ( )
protected

◆ ImplInvalidateViewTransform()

void OutputDevice::ImplInvalidateViewTransform ( )

Invalidate the view transformation.

Available since: \n AOO bug 75163 (OpenOffice.org 2.4.3 - OOH 680 milestone 212)

Definition at line 173 of file map.cxx.

References mpOutDevData.

Referenced by dispose(), and SetMapMode().

◆ ImplIsAntiparallel()

bool OutputDevice::ImplIsAntiparallel ( ) const

◆ ImplIsRecordLayout()

bool OutputDevice::ImplIsRecordLayout ( ) const

◆ ImplLayout()

std::unique_ptr< SalLayout > OutputDevice::ImplLayout ( const OUString &  rOrigStr,
sal_Int32  nIndex,
sal_Int32  nLen,
const Point rLogicPos = Point(0,0),
tools::Long  nLogicWidth = 0,
KernArraySpan  aKernArray = KernArraySpan(),
o3tl::span< const sal_Bool pKashidaArray = {},
SalLayoutFlags  flags = SalLayoutFlags::NONE,
vcl::text::TextLayoutCache const *  pLayoutCache = nullptr,
const SalLayoutGlyphs pGlyphs = nullptr 
) const

◆ ImplLogicHeightToDevicePixel()

tools::Long OutputDevice::ImplLogicHeightToDevicePixel ( tools::Long  nHeight) const

Convert a logical height to a height in units of device pixels.

To get the number of device pixels, it must calculate the Y-DPI of the device and the map scaling factor. If there is no mapping, then it just returns the height as nothing more needs to be done.

Parameters
nHeightLogical height
Returns
Height in units of device pixels.

Definition at line 288 of file map.cxx.

References ImplLogicToPixel(), maMapRes, mbMap, mnDPIY, ImplMapRes::mnMapScDenomY, and ImplMapRes::mnMapScNumY.

Referenced by CopyArea(), DrawBitmap(), DrawDeviceBitmapEx(), DrawDeviceMask(), DrawOutDev(), DrawRect(), GetBitmap(), vcl::Window::ImplScroll(), and MoveClipRegion().

◆ ImplLogicHeightToDeviceSubPixel()

double OutputDevice::ImplLogicHeightToDeviceSubPixel ( tools::Long  nHeight) const

◆ ImplLogicToDevicePixel() [1/7]

SAL_DLLPRIVATE::basegfx::B2DPolygon OutputDevice::ImplLogicToDevicePixel ( const ::basegfx::B2DPolygon rLogicPoly) const

Convert a logical B2DPolygon to a B2DPolygon in physical device pixel units.

Parameters
rLogicSizeConst reference to a B2DPolygon in logical units
Returns
B2DPolyPolygon based on physical device pixel coordinates and units.

◆ ImplLogicToDevicePixel() [2/7]

LineInfo OutputDevice::ImplLogicToDevicePixel ( const LineInfo rLineInfo) const

Convert a line in logical units to a line in physical device pixel units.

Parameters
rLineInfoConst reference to a line in logical units
Returns
Line based on physical device pixel coordinates and units.

Definition at line 521 of file map.cxx.

References Dash, ImplLogicWidthToDevicePixel(), and Solid.

◆ ImplLogicToDevicePixel() [3/7]

Point OutputDevice::ImplLogicToDevicePixel ( const Point rLogicPt) const

Convert a logical point to a physical point on the device.

Parameters
rLogicPtConst reference to a point in logical units.
Returns
Physical point on the device.

Definition at line 312 of file map.cxx.

References ImplLogicToPixel(), maMapRes, mbMap, mnDPIX, mnDPIY, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutOffOrigX, mnOutOffOrigY, mnOutOffX, mnOutOffY, Point::X(), and Point::Y().

◆ ImplLogicToDevicePixel() [4/7]

Size OutputDevice::ImplLogicToDevicePixel ( const Size rLogicSize) const

Convert a logical size to the size on the physical device.

Parameters
rLogicSizeConst reference to a size in logical units
Returns
Physical size on the device.

Definition at line 323 of file map.cxx.

References Size::Height(), ImplLogicToPixel(), maMapRes, mbMap, mnDPIX, mnDPIY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, and Size::Width().

◆ ImplLogicToDevicePixel() [5/7]

tools::Polygon OutputDevice::ImplLogicToDevicePixel ( const tools::Polygon rLogicPoly) const

Convert a logical polygon to a polygon in physical device pixel units.

Parameters
rLogicPolyConst reference to a polygon in logical units
Returns
Polygon based on physical device pixel coordinates and units.

Definition at line 380 of file map.cxx.

References Point::AdjustX(), Point::AdjustY(), tools::Polygon::GetConstPointAry(), tools::Polygon::GetSize(), i, ImplLogicToPixel(), maMapRes, mbMap, mnDPIX, mnDPIY, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutOffOrigX, mnOutOffOrigY, mnOutOffX, mnOutOffY, Point::X(), and Point::Y().

◆ ImplLogicToDevicePixel() [6/7]

tools::PolyPolygon OutputDevice::ImplLogicToDevicePixel ( const tools::PolyPolygon rLogicPolyPoly) const

Convert a logical polypolygon to a polypolygon in physical device pixel units.

Parameters
rLogicPolyPolyConst reference to a polypolygon in logical units
Returns
Polypolygon based on physical device pixel coordinates and units.

Definition at line 506 of file map.cxx.

References tools::PolyPolygon::Count(), i, ImplLogicToDevicePixel(), mbMap, mnOutOffX, and mnOutOffY.

◆ ImplLogicToDevicePixel() [7/7]

tools::Rectangle OutputDevice::ImplLogicToDevicePixel ( const tools::Rectangle rLogicRect) const

◆ ImplLogicToDeviceSubPixel()

basegfx::B2DPoint OutputDevice::ImplLogicToDeviceSubPixel ( const Point rLogicPt) const

◆ ImplLogicWidthToDevicePixel()

tools::Long OutputDevice::ImplLogicWidthToDevicePixel ( tools::Long  nWidth) const

Convert a logical width to a width in units of device pixels.

To get the number of device pixels, it must calculate the X-DPI of the device and the map scaling factor. If there is no mapping, then it just returns the width as nothing more needs to be done.

Parameters
nWidthLogical width
Returns
Width in units of device pixels.

Definition at line 280 of file map.cxx.

References ImplLogicToPixel(), maMapRes, mbMap, mnDPIX, ImplMapRes::mnMapScDenomX, and ImplMapRes::mnMapScNumX.

Referenced by CopyArea(), DrawBitmap(), DrawDeviceBitmapEx(), DrawDeviceMask(), DrawHatch(), DrawOutDev(), DrawRect(), GetBitmap(), ImplDrawText(), ImplHandleExtTextInputPos(), ImplLogicToDevicePixel(), vcl::Window::ImplScroll(), and MoveClipRegion().

◆ ImplLogicWidthToDeviceSubPixel()

double OutputDevice::ImplLogicWidthToDeviceSubPixel ( tools::Long  nWidth) const

◆ ImplLogicXToDevicePixel()

tools::Long OutputDevice::ImplLogicXToDevicePixel ( tools::Long  nX) const
private

Convert a logical X coordinate to a device pixel's X coordinate.

To get the device's X coordinate, it must calculate the mapping offset coordinate X position (if there is one - if not then it just adds the pseudo-window offset to the logical X coordinate), the X-DPI of the device and the mapping's X scaling factor.

Parameters
nXLogical X coordinate
Returns
Device's X pixel coordinate

Definition at line 262 of file map.cxx.

References ImplLogicToPixel(), maMapRes, mbMap, mnDPIX, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScNumX, mnOutOffOrigX, and mnOutOffX.

Referenced by CopyArea(), DrawBitmap(), DrawDeviceBitmapEx(), DrawDeviceMask(), DrawGrid(), DrawOutDev(), GetBitmap(), and GetPixel().

◆ ImplLogicYToDevicePixel()

tools::Long OutputDevice::ImplLogicYToDevicePixel ( tools::Long  nY) const
private

Convert a logical Y coordinate to a device pixel's Y coordinate.

To get the device's Y coordinate, it must calculate the mapping offset coordinate Y position (if there is one - if not then it just adds the pseudo-window offset to the logical Y coordinate), the Y-DPI of the device and the mapping's Y scaling factor.

Parameters
nYLogical Y coordinate
Returns
Device's Y pixel coordinate

Definition at line 271 of file map.cxx.

References ImplLogicToPixel(), maMapRes, mbMap, mnDPIY, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumY, mnOutOffOrigY, and mnOutOffY.

Referenced by CopyArea(), DrawBitmap(), DrawDeviceBitmapEx(), DrawDeviceMask(), DrawGrid(), DrawOutDev(), GetBitmap(), and GetPixel().

◆ ImplNewFont()

bool OutputDevice::ImplNewFont ( ) const
protectedvirtual

◆ ImplPixelToDevicePixel()

vcl::Region OutputDevice::ImplPixelToDevicePixel ( const vcl::Region rRegion) const

Convert a region in pixel units to a region in device pixel units and coords.

Parameters
rRegionConst reference to region.
Returns
vcl::Region based on device pixel coordinates and units.

Definition at line 579 of file map.cxx.

References mnOutOffOrigX, mnOutOffOrigY, mnOutOffX, mnOutOffY, and vcl::Region::Move().

Referenced by DrawDeviceBitmapEx(), vcl::Window::ExpandPaintClipRegion(), InitClipRegion(), vcl::WindowOutputDevice::InitClipRegion(), and vcl::Window::Invalidate().

◆ ImplPrepareLayoutArgs()

vcl::text::ImplLayoutArgs OutputDevice::ImplPrepareLayoutArgs ( OUString &  rStr,
const sal_Int32  nIndex,
const sal_Int32  nLen,
double  nPixelWidth,
SalLayoutFlags  flags = SalLayoutFlags::NONE,
vcl::text::TextLayoutCache const *  pLayoutCache = nullptr 
) const

◆ ImplRefreshAllFontData()

void OutputDevice::ImplRefreshAllFontData ( bool  bNewFontLists)
static

Definition at line 333 of file outdev/font.cxx.

References ImplRefreshFontData(), and ImplUpdateFontDataForAllFrames().

Referenced by ImplUpdateAllFontData().

◆ ImplRefreshFontData()

void OutputDevice::ImplRefreshFontData ( bool  bNewFontLists)
protectedvirtual

◆ ImplReleaseFonts()

void OutputDevice::ImplReleaseFonts ( )
protectedvirtual

◆ ImplUpdateAllFontData()

void OutputDevice::ImplUpdateAllFontData ( bool  bNewFontLists)
static

Definition at line 338 of file outdev/font.cxx.

References ImplClearAllFontData(), and ImplRefreshAllFontData().

Referenced by EndFontSubstitution(), and ImplHandleSalSettings().

◆ ImplUpdateFontData()

void OutputDevice::ImplUpdateFontData ( )

◆ ImplUpdateFontDataForAllFrames()

void OutputDevice::ImplUpdateFontDataForAllFrames ( FontUpdateHandler_t  pHdl,
bool  bNewFontLists 
)
staticprivate

◆ InitClipRegion()

void OutputDevice::InitClipRegion ( )
protectedvirtual

◆ InitFillColor()

void OutputDevice::InitFillColor ( )
private

◆ InitFont()

bool OutputDevice::InitFont ( ) const
protected

◆ InitLineColor()

void OutputDevice::InitLineColor ( )
private

◆ IntersectClipRegion() [1/2]

void OutputDevice::IntersectClipRegion ( const tools::Rectangle rRect)

◆ IntersectClipRegion() [2/2]

void OutputDevice::IntersectClipRegion ( const vcl::Region rRegion)

◆ Invert() [1/2]

void OutputDevice::Invert ( const tools::Polygon rPoly,
InvertFlags  nFlags = InvertFlags::NONE 
)

◆ Invert() [2/2]

void OutputDevice::Invert ( const tools::Rectangle rRect,
InvertFlags  nFlags = InvertFlags::NONE 
)

◆ is_double_buffered_window()

bool OutputDevice::is_double_buffered_window ( ) const
protected

◆ IsBackground()

bool OutputDevice::IsBackground ( ) const
inline

◆ IsClipRegion()

bool OutputDevice::IsClipRegion ( ) const
inline

◆ IsDeviceOutputNecessary()

bool OutputDevice::IsDeviceOutputNecessary ( ) const
inline

◆ IsFillColor()

bool OutputDevice::IsFillColor ( ) const
inline

◆ IsFontAvailable()

bool OutputDevice::IsFontAvailable ( std::u16string_view  rFontName) const

Definition at line 132 of file outdev/font.cxx.

References ImplInitFontList(), and mxFontCollection.

◆ IsLineColor()

bool OutputDevice::IsLineColor ( ) const
inline

◆ IsMapModeEnabled()

bool OutputDevice::IsMapModeEnabled ( ) const
inline

◆ IsNativeControlSupported()

bool OutputDevice::IsNativeControlSupported ( ControlType  nType,
ControlPart  nPart 
) const

◆ IsOutputEnabled()

bool OutputDevice::IsOutputEnabled ( ) const
inline

◆ IsOverlineColor()

bool OutputDevice::IsOverlineColor ( ) const
inline

Definition at line 1018 of file outdev.hxx.

References Color::IsTransparent().

Referenced by ImplDrawTextLine(), vcl::Window::IsOverlineColor(), and Push().

◆ IsRefPoint()

bool OutputDevice::IsRefPoint ( ) const
inline

Definition at line 308 of file outdev.hxx.

Referenced by CalcHatchValues().

◆ IsRTLEnabled()

bool OutputDevice::IsRTLEnabled ( ) const
inline

◆ IsScreenComp()

virtual bool OutputDevice::IsScreenComp ( ) const
inlinevirtual

Reimplemented in Printer, and VirtualDevice.

Definition at line 310 of file outdev.hxx.

Referenced by VirtualDevice::ImplInitVirDev().

◆ IsTextFillColor()

bool OutputDevice::IsTextFillColor ( ) const
inline

Definition at line 1008 of file outdev.hxx.

References vcl::Font::IsTransparent().

Referenced by DrawCtrlText(), ImplDrawText(), vcl::Window::IsTextFillColor(), and Push().

◆ IsTextLineColor()

bool OutputDevice::IsTextLineColor ( ) const
inline

Definition at line 1013 of file outdev.hxx.

References Color::IsTransparent().

Referenced by ImplDrawTextLine(), vcl::Window::IsTextLineColor(), and Push().

◆ IsVirtual()

bool OutputDevice::IsVirtual ( ) const
virtual

Reimplemented in VirtualDevice.

Definition at line 185 of file outdev.cxx.

Referenced by SalGraphics::GetDeviceWidth(), and ImplDrawTextDirect().

◆ LogicToLogic() [1/9]

basegfx::B2DPolygon OutputDevice::LogicToLogic ( const basegfx::B2DPolygon rPoly,
const MapMode rMapModeSource,
const MapMode rMapModeDest 
)
static

Definition at line 1694 of file map.cxx.

References LogicToLogic(), and basegfx::B2DPolygon::transform().

◆ LogicToLogic() [2/9]

basegfx::B2DHomMatrix OutputDevice::LogicToLogic ( const MapMode rMapModeSource,
const MapMode rMapModeDest 
)
static

◆ LogicToLogic() [3/9]

Point OutputDevice::LogicToLogic ( const Point rPtSource,
const MapMode rMapModeSource,
const MapMode rMapModeDest 
)
static

◆ LogicToLogic() [4/9]

Point OutputDevice::LogicToLogic ( const Point rPtSource,
const MapMode pMapModeSource,
const MapMode pMapModeDest 
) const

◆ LogicToLogic() [5/9]

Size OutputDevice::LogicToLogic ( const Size rSzSource,
const MapMode rMapModeSource,
const MapMode rMapModeDest 
)
static

◆ LogicToLogic() [6/9]

Size OutputDevice::LogicToLogic ( const Size rSzSource,
const MapMode pMapModeSource,
const MapMode pMapModeDest 
) const

Definition at line 1596 of file map.cxx.

References ENTER1, fn5(), Size::Height(), and Size::Width().

◆ LogicToLogic() [7/9]

tools::Rectangle OutputDevice::LogicToLogic ( const tools::Rectangle rRectSource,
const MapMode rMapModeSource,
const MapMode rMapModeDest 
)
static

◆ LogicToLogic() [8/9]

tools::Rectangle OutputDevice::LogicToLogic ( const tools::Rectangle rRectSource,
const MapMode pMapModeSource,
const MapMode pMapModeDest 
) const

◆ LogicToLogic() [9/9]

tools::Long OutputDevice::LogicToLogic ( tools::Long  nLongSource,
MapUnit  eUnitSource,
MapUnit  eUnitDest 
)
static

Definition at line 1811 of file map.cxx.

References fn3(), and verifyUnitSourceDest().

◆ LogicToPixel() [1/12]

basegfx::B2DPolyPolygon OutputDevice::LogicToPixel ( const basegfx::B2DPolyPolygon rLogicPolyPoly) const

Definition at line 967 of file map.cxx.

References GetViewTransformation(), and basegfx::B2DPolyPolygon::transform().

◆ LogicToPixel() [2/12]

basegfx::B2DPolyPolygon OutputDevice::LogicToPixel ( const basegfx::B2DPolyPolygon rLogicPolyPoly,
const MapMode rMapMode 
) const

Definition at line 1101 of file map.cxx.

References GetViewTransformation(), and basegfx::B2DPolyPolygon::transform().

◆ LogicToPixel() [3/12]

Point OutputDevice::LogicToPixel ( const Point rLogicPt) const

Definition at line 879 of file map.cxx.

References ImplLogicToPixel(), maMapRes, mbMap, mnDPIX, mnDPIY, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutOffOrigX, mnOutOffOrigY, Point::X(), and Point::Y().

Referenced by vcl::WindowOutputDevice::ClipToPaintRegion(), HeaderBar::Draw(), PushButton::Draw(), CheckBox::Draw(), RadioButton::Draw(), Dialog::Draw(), Edit::Draw(), FixedText::Draw(), FixedBitmap::Draw(), FixedImage::Draw(), ListBox::Draw(), ScrollBar::Draw(), SpinField::Draw(), VclMultiLineEdit::Draw(), DrawBitmapWallpaper(), DecorationView::DrawButton(), DrawCtrlText(), DrawDeviceAlphaBitmap(), Printer::DrawDeviceMask(), DecorationView::DrawFrame(), DrawHatch(), DecorationView::DrawSymbol(), vcl::ReferenceDeviceTextLayout::DrawText(), GraphicObject::DrawTiled(), DrawTransparent(), DrawWallpaper(), EmulateDrawTransparent(), Printer::EmulateDrawTransparent(), Printer::GetButtonBorderSize(), IMapCircleObject::GetCenter(), GetCommonDeviceInfo(), vcl::Window::GetDrawPixel(), vcl::Window::GetDrawPixelFont(), StyleSettings::GetListBoxPreviewDefaultPixelSize(), IMapPolygonObject::GetPolygon(), IMapCircleObject::GetRadius(), IMapRectangleObject::GetRectangle(), vcl::ReferenceDeviceTextLayout::GetTextRect(), GraphicObject::GetTransformedGraphic(), PushButton::ImplDrawPushButton(), ImplDrawText(), GraphicObject::ImplDrawTiled(), vcl::Window::ImplLogicToPoint(), GDIMetaFile::ImplPlayWithRenderer(), vcl::Cursor::ImplPrepForDraw(), Printer::ImplPrintTransparent(), vcl::PDFWriterImpl::implWriteBitmapEx(), IntersectClipRegion(), vcl::Window::LogicToPixel(), LogicToPixel(), GDIMetaFile::Play(), vcl::PDFWriterImpl::playMetafile(), RemoveTransparenciesFromMetaFile(), vcl::WindowOutputDevice::SaveBackground(), SetClipRegion(), VirtualDevice::SetOutputSize(), Printer::SetPaperSizeUser(), Animation::Start(), and WMFWriter::WriteWMF().

◆ LogicToPixel() [4/12]

Point OutputDevice::LogicToPixel ( const Point rLogicPt,
const MapMode rMapMode 
) const

◆ LogicToPixel() [5/12]

Size OutputDevice::LogicToPixel ( const Size rLogicSize) const

◆ LogicToPixel() [6/12]

Size OutputDevice::LogicToPixel ( const Size rLogicSize,
const MapMode rMapMode 
) const

◆ LogicToPixel() [7/12]

tools::Polygon OutputDevice::LogicToPixel ( const tools::Polygon rLogicPoly) const

◆ LogicToPixel() [8/12]

tools::Polygon OutputDevice::LogicToPixel ( const tools::Polygon rLogicPoly,
const MapMode rMapMode 
) const

◆ LogicToPixel() [9/12]

tools::PolyPolygon OutputDevice::LogicToPixel ( const tools::PolyPolygon rLogicPolyPoly) const

Definition at line 951 of file map.cxx.

References tools::PolyPolygon::Count(), i, LogicToPixel(), and mbMap.

◆ LogicToPixel() [10/12]

tools::Rectangle OutputDevice::LogicToPixel ( const tools::Rectangle rLogicRect) const

◆ LogicToPixel() [11/12]

tools::Rectangle OutputDevice::LogicToPixel ( const tools::Rectangle rLogicRect,
const MapMode rMapMode 
) const

◆ LogicToPixel() [12/12]

vcl::Region OutputDevice::LogicToPixel ( const vcl::Region rLogicRegion) const

◆ MoveClipRegion()

void OutputDevice::MoveClipRegion ( tools::Long  nHorzMove,
tools::Long  nVertMove 
)

◆ operator=()

OutputDevice & OutputDevice::operator= ( const OutputDevice )
privatedelete

◆ PixelToLogic() [1/13]

basegfx::B2DPolygon OutputDevice::PixelToLogic ( const basegfx::B2DPolygon rDevicePoly,
const MapMode rMapMode 
) const

Definition at line 1350 of file map.cxx.

References GetInverseViewTransformation(), and basegfx::B2DPolygon::transform().

◆ PixelToLogic() [2/13]

basegfx::B2DPolyPolygon OutputDevice::PixelToLogic ( const basegfx::B2DPolyPolygon rDevicePolyPoly) const

◆ PixelToLogic() [3/13]

basegfx::B2DPolyPolygon OutputDevice::PixelToLogic ( const basegfx::B2DPolyPolygon rDevicePolyPoly,
const MapMode rMapMode 
) const

◆ PixelToLogic() [4/13]

Point OutputDevice::PixelToLogic ( const Point rDevicePt) const

Definition at line 1110 of file map.cxx.

References ImplPixelToLogic(), maMapRes, mbMap, mnDPIX, mnDPIY, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutOffLogicX, mnOutOffLogicY, Point::X(), and Point::Y().

Referenced by GraphicObject::calculateCropScaling(), clipMetafileContentAgainstOwnRegions(), SalInstanceWidget::DoRecursivePaint(), Animation::Draw(), Image::Draw(), DrawBitmap(), DrawBitmapEx(), DrawBorder(), DecorationView::DrawButton(), DecorationView::DrawFrame(), DrawGradient(), DrawGrid(), DrawMask(), vcl::ReferenceDeviceTextLayout::DrawText(), DrawTransparent(), DrawWaveLine(), VclDrawingArea::DumpAsPropertyTree(), vcl::WindowOutputDevice::GetActiveClipRegion(), GetClipRegion(), GetFontMetric(), Printer::GetPageOffset(), Printer::GetPaperSize(), GetTextBoundRect(), vcl::ReferenceDeviceTextLayout::GetTextRect(), IMapCircleObject::ImpConstruct(), IMapPolygonObject::ImpConstruct(), IMapRectangleObject::ImpConstruct(), ImpGetScaledGraphic(), ImplCursorInvert(), ImplDrawStrikeoutChar(), GraphicObject::ImplDrawTiled(), GraphicObject::ImplGetCropParams(), vcl::Window::ImplPointToLogic(), vcl::PDFWriterImpl::implWriteBitmapEx(), MakeAsMeta(), vcl::Window::PixelToLogic(), PixelToLogic(), GDIMetaFile::Play(), vcl::PDFWriterImpl::playMetafile(), vcl::PrintDialog::preparePreview(), RemoveTransparenciesFromMetaFile(), Printer::SetPaperSizeUser(), and vcl::PDFWriterImpl::writeReferenceXObject().

◆ PixelToLogic() [5/13]

Point OutputDevice::PixelToLogic ( const Point rDevicePt,
const MapMode rMapMode 
) const

◆ PixelToLogic() [6/13]

Size OutputDevice::PixelToLogic ( const Size rDeviceSize) const

◆ PixelToLogic() [7/13]

Size OutputDevice::PixelToLogic ( const Size rDeviceSize,
const MapMode rMapMode 
) const

◆ PixelToLogic() [8/13]

tools::Polygon OutputDevice::PixelToLogic ( const tools::Polygon rDevicePoly) const

◆ PixelToLogic() [9/13]

tools::Polygon OutputDevice::PixelToLogic ( const tools::Polygon rDevicePoly,
const MapMode rMapMode 
) const

◆ PixelToLogic() [10/13]

tools::PolyPolygon OutputDevice::PixelToLogic ( const tools::PolyPolygon rDevicePolyPoly) const

Definition at line 1196 of file map.cxx.

References tools::PolyPolygon::Count(), i, mbMap, and PixelToLogic().

◆ PixelToLogic() [11/13]

tools::Rectangle OutputDevice::PixelToLogic ( const tools::Rectangle rDeviceRect) const

◆ PixelToLogic() [12/13]

tools::Rectangle OutputDevice::PixelToLogic ( const tools::Rectangle rDeviceRect,
const MapMode rMapMode 
) const

◆ PixelToLogic() [13/13]

vcl::Region OutputDevice::PixelToLogic ( const vcl::Region rDeviceRegion) const

◆ Pop()

void OutputDevice::Pop ( )

Definition at line 91 of file stack.cxx.

References GDIMetaFile::AddAction(), vcl::CLIPREGION, vcl::FILLCOLOR, vcl::FONT, vcl::LINECOLOR, maOutDevStateStack, vcl::MAPMODE, mbMap, vcl::State::mbMapActive, vcl::State::meRasterOp, vcl::State::meTextAlign, vcl::State::meTextLanguage, vcl::State::mnFlags, vcl::State::mnTextLayoutMode, mpAlphaVDev, vcl::State::mpClipRegion, vcl::State::mpFillColor, vcl::State::mpFont, vcl::State::mpLineColor, vcl::State::mpMapMode, mpMetaFile, vcl::State::mpOverlineColor, vcl::State::mpRefPoint, vcl::State::mpTextColor, vcl::State::mpTextFillColor, vcl::State::mpTextLineColor, vcl::OVERLINECOLOR, Pop(), vcl::RASTEROP, vcl::REFPOINT, SAL_WARN, SetDeviceClipRegion(), SetDigitLanguage(), SetFillColor(), SetFont(), SetLayoutMode(), SetLineColor(), SetMapMode(), SetOverlineColor(), SetRasterOp(), SetRefPoint(), SetTextAlign(), SetTextColor(), SetTextFillColor(), SetTextLineColor(), vcl::TEXTALIGN, vcl::TEXTCOLOR, vcl::TEXTFILLCOLOR, vcl::TEXTLANGUAGE, vcl::TEXTLAYOUTMODE, and vcl::TEXTLINECOLOR.

Referenced by ClearStack(), ClipAndDrawGradientMetafile(), Printer::ClipAndDrawGradientMetafile(), vcl::PDFWriterImpl::createDefaultCheckBoxAppearance(), SalInstanceWidget::DoRecursivePaint(), GraphicObject::Draw(), HeaderBar::Draw(), TabPage::Draw(), PushButton::Draw(), CheckBox::Draw(), RadioButton::Draw(), ComboBox::Draw(), Dialog::Draw(), Edit::Draw(), FixedText::Draw(), FixedBitmap::Draw(), FixedImage::Draw(), ListBox::Draw(), ScrollBar::Draw(), SpinField::Draw(), VclMultiLineEdit::Draw(), DrawBitmap(), DrawBitmapWallpaper(), DrawCheckered(), Printer::DrawDeviceMask(), DrawGradient(), DrawGradientWallpaper(), DrawHatch(), SvImpLBox::DrawNet(), DrawProgress(), vcl::RenderTools::DrawSelectionBackground(), DecorationView::DrawSeparator(), EmulateDrawTransparent(), Printer::EmulateDrawTransparent(), vcl::PDFWriterImpl::getSystemFont(), MenuBarWindow::HighlightItem(), CheckBox::ImplAdjustNWFSizes(), RadioButton::ImplAdjustNWFSizes(), Menu::ImplCalcSize(), CheckBox::ImplDraw(), RadioButton::ImplDraw(), FixedLine::ImplDraw(), ToolBox::ImplDrawBackground(), HeaderBar::ImplDrawItem(), ToolBox::ImplDrawMenuButton(), PushButton::ImplDrawPushButtonContent(), ImplDrawStrikeoutChar(), ImplDrawText(), GraphicObject::ImplDrawTiled(), ToolBox::ImplErase(), VirtualDevice::ImplFillOpaqueRectangle(), Menu::ImplPaintMenuTitle(), vcl::Window::ImplPaintToDevice(), Edit::ImplRepaint(), SvLBoxString::InitViewData(), ScrollBar::MouseButtonDown(), SvLBoxString::Paint(), SvxIconChoiceCtrl_Impl::Paint(), StatusBar::Paint(), vcl::PrintDialog::PrintPreviewWindow::Paint(), MenuBarWindow::Paint(), MenuFloatingWindow::Paint(), SvxIconChoiceCtrl_Impl::PaintEntry(), SvTreeListBox::PaintEntry1(), GDIMetaFile::Play(), vcl::PDFWriterImpl::playMetafile(), Pop(), MenuFloatingWindow::RenderHighlightItem(), vcl::PrinterController::setupPrinter(), GraphicObject::StartAnimation(), ScrollBar::Tracking(), vcl::PaintBufferGuard::~PaintBufferGuard(), and vcl::ReferenceDeviceTextLayout::~ReferenceDeviceTextLayout().

◆ Push()

void OutputDevice::Push ( vcl::PushFlags  nFlags = vcl::PushFlags::ALL)

Definition at line 32 of file stack.cxx.

References GDIMetaFile::AddAction(), vcl::CLIPREGION, vcl::FILLCOLOR, vcl::FONT, GetDigitLanguage(), GetLayoutMode(), GetOverlineColor(), GetRasterOp(), GetTextAlign(), GetTextColor(), GetTextFillColor(), GetTextLineColor(), IsOverlineColor(), IsTextFillColor(), IsTextLineColor(), vcl::LINECOLOR, maFillColor, maFont, maLineColor, maMapMode, maOutDevStateStack, vcl::MAPMODE, maRefPoint, maRegion, mbClipRegion, mbFillColor, mbLineColor, mbMap, vcl::State::mbMapActive, mbRefPoint, vcl::State::meRasterOp, vcl::State::meTextAlign, vcl::State::meTextLanguage, vcl::State::mnFlags, vcl::State::mnTextLayoutMode, mpAlphaVDev, vcl::State::mpClipRegion, vcl::State::mpFillColor, vcl::State::mpFont, vcl::State::mpLineColor, vcl::State::mpMapMode, mpMetaFile, vcl::State::mpOverlineColor, vcl::State::mpRefPoint, vcl::State::mpTextColor, vcl::State::mpTextFillColor, vcl::State::mpTextLineColor, vcl::OVERLINECOLOR, Push(), vcl::RASTEROP, vcl::REFPOINT, vcl::TEXTALIGN, vcl::TEXTCOLOR, vcl::TEXTFILLCOLOR, vcl::TEXTLANGUAGE, vcl::TEXTLAYOUTMODE, and vcl::TEXTLINECOLOR.

Referenced by ClipAndDrawGradientMetafile(), Printer::ClipAndDrawGradientMetafile(), vcl::PDFWriterImpl::createDefaultCheckBoxAppearance(), SalInstanceWidget::DoRecursivePaint(), GraphicObject::Draw(), HeaderBar::Draw(), TabPage::Draw(), PushButton::Draw(), CheckBox::Draw(), RadioButton::Draw(), ComboBox::Draw(), Dialog::Draw(), Edit::Draw(), FixedText::Draw(), FixedBitmap::Draw(), FixedImage::Draw(), ListBox::Draw(), ScrollBar::Draw(), SpinField::Draw(), VclMultiLineEdit::Draw(), DrawBitmap(), DrawBitmapWallpaper(), DrawCheckered(), Printer::DrawDeviceMask(), DrawGradient(), DrawGradientWallpaper(), DrawHatch(), SvImpLBox::DrawNet(), DrawProgress(), vcl::RenderTools::DrawSelectionBackground(), DecorationView::DrawSeparator(), EmulateDrawTransparent(), Printer::EmulateDrawTransparent(), vcl::PDFWriterImpl::getSystemFont(), MenuBarWindow::HighlightItem(), CheckBox::ImplAdjustNWFSizes(), RadioButton::ImplAdjustNWFSizes(), Menu::ImplCalcSize(), CheckBox::ImplDraw(), RadioButton::ImplDraw(), FixedLine::ImplDraw(), ToolBox::ImplDrawBackground(), HeaderBar::ImplDrawItem(), ToolBox::ImplDrawMenuButton(), PushButton::ImplDrawPushButtonContent(), ImplDrawStrikeoutChar(), ImplDrawText(), GraphicObject::ImplDrawTiled(), ToolBox::ImplErase(), VirtualDevice::ImplFillOpaqueRectangle(), Menu::ImplPaintMenuTitle(), vcl::Window::ImplPaintToDevice(), Edit::ImplRepaint(), SvLBoxString::InitViewData(), ScrollBar::MouseButtonDown(), SvLBoxString::Paint(), SvxIconChoiceCtrl_Impl::Paint(), StatusBar::Paint(), vcl::PrintDialog::PrintPreviewWindow::Paint(), MenuBarWindow::Paint(), MenuFloatingWindow::Paint(), vcl::PaintBufferGuard::PaintBufferGuard(), SvxIconChoiceCtrl_Impl::PaintEntry(), SvTreeListBox::PaintEntry1(), GDIMetaFile::Play(), vcl::PDFWriterImpl::playMetafile(), Push(), vcl::ReferenceDeviceTextLayout::ReferenceDeviceTextLayout(), MenuFloatingWindow::RenderHighlightItem(), vcl::PrinterController::setupPrinter(), GraphicObject::StartAnimation(), and ScrollBar::Tracking().

◆ RefreshFontData()

void OutputDevice::RefreshFontData ( const bool  bNewFontLists)

Definition at line 292 of file outdev/font.cxx.

References ImplRefreshFontData().

◆ ReleaseFontCache()

void OutputDevice::ReleaseFontCache ( )
protected

Definition at line 1236 of file outdev/font.cxx.

References mxFontCache.

Referenced by vcl::PDFWriterImpl::ImplClearFontData().

◆ ReleaseFontCollection()

void OutputDevice::ReleaseFontCollection ( )
protected

Definition at line 1238 of file outdev/font.cxx.

References mxFontCollection.

Referenced by vcl::PDFWriterImpl::ImplClearFontData().

◆ ReleaseGraphics()

virtual void OutputDevice::ReleaseGraphics ( bool  bRelease = true)
protectedpure virtual

Release the graphics device, and remove it from the graphics device list.

Parameters
bReleaseDetermines whether to release the fonts of the physically released graphics device.

Implemented in Printer, VirtualDevice, and vcl::WindowOutputDevice.

Referenced by Printer::AcquireGraphics(), VirtualDevice::AcquireGraphics(), vcl::Window::dispose(), vcl::Window::ImplRemoveWindow(), and vcl::Window::ImplUpdateWindowPtr().

◆ ReMirror() [1/3]

void OutputDevice::ReMirror ( Point rPoint) const

◆ ReMirror() [2/3]

void OutputDevice::ReMirror ( tools::Rectangle rRect) const

◆ ReMirror() [3/3]

void OutputDevice::ReMirror ( vcl::Region rRegion) const

◆ RemoveFontsSubstitute()

void OutputDevice::RemoveFontsSubstitute ( )
static

◆ RemoveTransparenciesFromMetaFile()

bool OutputDevice::RemoveTransparenciesFromMetaFile ( const GDIMetaFile rInMtf,
GDIMetaFile rOutMtf,
tools::Long  nMaxBmpDPIX,
tools::Long  nMaxBmpDPIY,
bool  bReduceTransparency,
bool  bTransparencyAutoMode,
bool  bDownsampleBitmaps,
const Color rBackground = COL_TRANSPARENT 
)

helper method removing transparencies from a metafile (e.g.

for printing)

Returns
true: transparencies were removed false: output metafile is unchanged input metafile
Attention: \n this is a member method, so current state can influence the result !
Attention: \n the output metafile is prepared in pixel mode for the currentOutputDevice
state. It can not be moved or rotated reliably anymore.

Definition at line 1287 of file transparent.cxx.

References GDIMetaFile::AddAction(), Point::AdjustX(), Point::AdjustY(), tools::Rectangle::Bottom(), GDIMetaFile::Clear(), COL_BLUE(), COL_RED(), COL_TRANSPARENT(), COL_WHITE(), tools::PolyPolygon::Count(), DrawGradient(), Printer::DrawGradientEx(), MetaAction::Execute(), VclPtr< reference_type >::get(), GDIMetaFile::GetAction(), GDIMetaFile::GetActionSize(), tools::Polygon::getB2DPolygon(), GetBackgroundComponentBounds(), tools::Polygon::GetBoundRect(), tools::PolyPolygon::GetBoundRect(), vcl::bitmap::GetDownsampledBitmap(), GetDrawMode(), MetaGradientAction::GetGradient(), tools::Rectangle::GetHeight(), GetOutputSizePixel(), Printer::GetPageOffsetPixel(), Printer::GetPaperSizePixel(), GDIMetaFile::GetPrefMapMode(), GDIMetaFile::GetPrefSize(), MetaRectAction::GetRect(), MetaGradientAction::GetRect(), MetaWallpaperAction::GetRect(), tools::Rectangle::GetSize(), Bitmap::GetSizePixel(), MetaAction::GetType(), tools::Rectangle::GetWidth(), GRADIENT, GDIMetaFile::HasTransparentActions(), Size::Height(), tools::Rectangle::Intersection(), tools::Rectangle::IsEmpty(), basegfx::utils::isRectangle(), MetaAction::IsTransparent(), tools::Rectangle::Left(), LogicToPixel(), MAPMODE, vcl::MAPMODE, MAX_TILE_HEIGHT, MAX_TILE_WIDTH, mbMap, meOutDevType, mnDPIX, mnDPIY, nType, OUTDEV_PDF, OUTDEV_PRINTER, PixelToLogic(), POLYGON, POLYPOLYGON, POP, PUSH, RECT, Application::Reschedule(), tools::Rectangle::Right(), SAL_WARN_IF, Size::setHeight(), MapMode::SetOrigin(), GDIMetaFile::SetPrefMapMode(), GDIMetaFile::SetPrefSize(), Size::setWidth(), Point::setX(), tools::Rectangle::TopLeft(), tools::Rectangle::Union(), WALLPAPER, vcl::PDFWriter::Warning_Transparency_Converted, Size::Width(), Point::X(), and Point::Y().

◆ ResetNewFontCache()

void OutputDevice::ResetNewFontCache ( )
protected

Definition at line 1245 of file outdev/font.cxx.

References mxFontCache.

Referenced by vcl::PDFWriterImpl::ImplRefreshFontData().

◆ SaveBackground()

void OutputDevice::SaveBackground ( VirtualDevice rSaveDevice,
const Point rPos,
const Size rSize,
const Size rBackgroundSize 
) const
virtual

Reimplemented in vcl::WindowOutputDevice.

Definition at line 29 of file outdev/clipping.cxx.

References DrawOutDev().

Referenced by AnimationRenderer::AnimationRenderer(), and AnimationRenderer::repaint().

◆ SelectClipRegion()

bool OutputDevice::SelectClipRegion ( const vcl::Region rRegion,
SalGraphics pGraphics = nullptr 
)

◆ SetAntialiasing()

void OutputDevice::SetAntialiasing ( AntialiasingFlags  nMode)

◆ SetBackground() [1/2]

void OutputDevice::SetBackground ( )

◆ SetBackground() [2/2]

void OutputDevice::SetBackground ( const Wallpaper rBackground)

◆ SetClipRegion() [1/2]

void OutputDevice::SetClipRegion ( )

◆ SetClipRegion() [2/2]

void OutputDevice::SetClipRegion ( const vcl::Region rRegion)

◆ SetConnectMetaFile()

void OutputDevice::SetConnectMetaFile ( GDIMetaFile pMtf)

Definition at line 210 of file outdev.cxx.

References mpMetaFile.

Referenced by vcl::Window::ImplPaintToDevice().

◆ SetDeviceClipRegion()

void OutputDevice::SetDeviceClipRegion ( const vcl::Region pRegion)
private

Definition at line 203 of file outdev/clipping.cxx.

References DBG_TESTSOLARMUTEX, maRegion, mbClipRegion, and mbInitClipRegion.

Referenced by Pop(), and SetClipRegion().

◆ SetDigitLanguage()

void OutputDevice::SetDigitLanguage ( LanguageType  eTextLanguage)

◆ SetDPIX()

SAL_DLLPRIVATE void OutputDevice::SetDPIX ( sal_Int32  nDPIX)
inline

◆ SetDPIY()

SAL_DLLPRIVATE void OutputDevice::SetDPIY ( sal_Int32  nDPIY)
inline

◆ SetDrawMode()

void OutputDevice::SetDrawMode ( DrawModeFlags  nDrawMode)

Definition at line 364 of file outdev.cxx.

References mnDrawMode, mpAlphaVDev, and SetDrawMode().

Referenced by GraphicObject::Draw(), and SetDrawMode().

◆ SetExtOutDevData()

void OutputDevice::SetExtOutDevData ( vcl::ExtOutDevData pExtOutDevData)
inline

Definition at line 415 of file outdev.hxx.

◆ SetFillColor() [1/2]

void OutputDevice::SetFillColor ( )

Definition at line 29 of file fill.cxx.

References GDIMetaFile::AddAction(), COL_TRANSPARENT(), maFillColor, mbFillColor, mbInitFillColor, mpAlphaVDev, mpMetaFile, and SetFillColor().

Referenced by Edit::ApplySettings(), HelpTextWindow::ApplySettings(), ClipAndDrawGradientMetafile(), TabPage::Draw(), CheckBox::Draw(), RadioButton::Draw(), ComboBox::Draw(), Dialog::Draw(), Edit::Draw(), FixedText::Draw(), ListBox::Draw(), VclMultiLineEdit::Draw(), DrawBitmap(), DecorationView::DrawButton(), DrawCheckered(), DrawColorWallpaper(), Printer::DrawDeviceMask(), SvxIconChoiceCtrl_Impl::DrawFocusRect(), DecorationView::DrawFrame(), DrawGradient(), DecorationView::DrawHandle(), drawLine(), PictReaderShape::drawLineHQ(), DrawPolyLine(), vcl::Window::DrawSelectionBackground(), vcl::RenderTools::DrawSelectionBackground(), DecorationView::DrawSymbol(), DrawTransparent(), ImplStdBorderWindowView::DrawWindow(), EmulateDrawTransparent(), MenuBarWindow::HighlightItem(), ScrollBar::ImplDraw(), Calendar::ImplDraw(), Slider::ImplDraw(), ImplWin::ImplDraw(), ImplDrawBrdWinSymbolButton(), Calendar::ImplDrawDate(), ImplDrawDropdownArrow(), ImplDrawEmphasisMarks(), ToolBox::ImplDrawGrip(), SplitWindow::ImplDrawGrip(), ToolBox::ImplDrawItem(), ScrollBar::ImplDrawNative(), RadioButton::ImplDrawRadioButtonState(), Calendar::ImplDrawSpin(), ToolBox::ImplErase(), VirtualDevice::ImplFillOpaqueRectangle(), ImplListBoxWindow::ImplPaint(), Menu::ImplPaintMenuTitle(), vcl::Window::ImplPaintToDevice(), GraphicObject::ImplRenderTileRecursive(), Edit::ImplRepaint(), VirtualDevice::ImplSetOutputSizePixel(), TextEngine::ImpPaint(), StatusBar::Paint(), MenuBarWindow::Paint(), MenuFloatingWindow::Paint(), vcl::PaintBufferGuard::PaintBufferGuard(), SvxIconChoiceCtrl_Impl::PaintEmphasis(), IconView::PaintEntry(), SvxIconChoiceCtrl_Impl::PaintEntry(), SvTreeListBox::PaintEntry1(), Pop(), MenuFloatingWindow::RenderHighlightItem(), DXF2GDIMetaFile::SetAreaAttribute(), SetFillColor(), DXF2GDIMetaFile::SetLineAttribute(), and Splitter::Splitter().

◆ SetFillColor() [2/2]

void OutputDevice::SetFillColor ( const Color rColor)

◆ SetFont()

void OutputDevice::SetFont ( const vcl::Font rNewFont)

Definition at line 56 of file outdev/font.cxx.

References GDIMetaFile::AddAction(), COL_ALPHA_OPAQUE(), COL_TRANSPARENT(), vcl::Font::GetAlignment(), vcl::Font::GetColor(), GetDrawMode(), vcl::Font::GetFillColor(), vcl::drawmode::GetFont(), GetSettings(), vcl::Font::IsSameInstance(), vcl::Font::IsTransparent(), maFont, maTextColor, mbInitTextColor, mbNewFont, mpAlphaVDev, mpMetaFile, vcl::Font::SetColor(), SetFont(), and SetTextColor().

Referenced by TextEngine::CalcTextWidth(), vcl::PDFWriterImpl::createDefaultCheckBoxAppearance(), HeaderBar::Draw(), PushButton::Draw(), CheckBox::Draw(), RadioButton::Draw(), ComboBox::Draw(), Edit::Draw(), FixedText::Draw(), ListBox::Draw(), VclMultiLineEdit::Draw(), TextEngine::GetCharPos(), GetFontMetric(), vcl::PDFWriterImpl::getSystemFont(), HasGlyphs(), TabControl::ImplDrawItem(), ToolBox::ImplDrawItem(), ImplDrawRotateText(), Menu::ImplPaintMenuTitle(), Edit::ImplRepaint(), TextEngine::ImpPaint(), SvLBoxString::Paint(), vcl::PrintDialog::ShowNupOrderWindow::Paint(), vcl::PrintDialog::PrintPreviewWindow::Paint(), vcl::PaintBufferGuard::PaintBufferGuard(), IconView::PaintEntry(), SvxIconChoiceCtrl_Impl::PaintEntry(), SvTreeListBox::PaintEntry1(), Pop(), vcl::ReferenceDeviceTextLayout::ReferenceDeviceTextLayout(), WMFWriter::SetAllAttr(), TextEngine::SetFont(), SetFont(), vcl::Window::SetFont(), DXF2GDIMetaFile::SetFontAttribute(), vcl::Window::SetPointFont(), vcl::PDFWriterImpl::updateGraphicsState(), WMFWriter::WMFRecord_Escape_Unicode(), and WMFWriter::WriteRecords().

◆ SetFontCollectionFromSVData()

void OutputDevice::SetFontCollectionFromSVData ( )
protected

◆ SetFontOrientation()

void OutputDevice::SetFontOrientation ( LogicalFontInstance *const  pFontInstance) const
protectedvirtual

◆ SetLayoutMode()

void OutputDevice::SetLayoutMode ( vcl::text::ComplexTextLayoutFlags  nTextLayoutMode)

◆ SetLineColor() [1/2]

void OutputDevice::SetLineColor ( )

Definition at line 37 of file line.cxx.

References GDIMetaFile::AddAction(), COL_TRANSPARENT(), maLineColor, mbInitLineColor, mbLineColor, mpAlphaVDev, mpMetaFile, and SetLineColor().

Referenced by StatusBar::ApplySettings(), HelpTextWindow::ApplySettings(), MenuBarWindow::ApplySettings(), MenuFloatingWindow::ApplySettings(), HeaderBar::Draw(), TabPage::Draw(), CheckBox::Draw(), RadioButton::Draw(), ComboBox::Draw(), Dialog::Draw(), Edit::Draw(), ListBox::Draw(), VclMultiLineEdit::Draw(), DrawBitmap(), DrawBorder(), Printer::DrawBorder(), DecorationView::DrawButton(), DrawCheckered(), DrawColorWallpaper(), Printer::DrawDeviceMask(), ImplListBoxWindow::DrawEntry(), SvxIconChoiceCtrl_Impl::DrawFocusRect(), DecorationView::DrawFrame(), DrawGradient(), DecorationView::DrawHandle(), DrawHatch(), drawLine(), PictReaderShape::drawLineHQ(), SvImpLBox::DrawNet(), DrawPolyLine(), vcl::Window::DrawSelectionBackground(), vcl::RenderTools::DrawSelectionBackground(), DecorationView::DrawSeparator(), DecorationView::DrawSymbol(), ImplStdBorderWindowView::DrawWindow(), Printer::EmulateDrawTransparent(), MenuBarWindow::HighlightItem(), ImplAddNWFSeparator(), ScrollBar::ImplDraw(), Calendar::ImplDraw(), Slider::ImplDraw(), ImplWin::ImplDraw(), SplitWindow::ImplDrawBorder(), ToolBox::ImplDrawBorder(), SplitWindow::ImplDrawBorderLine(), ImplDrawBrdWinSymbolButton(), Calendar::ImplDrawDate(), ImplDrawDropdownArrow(), ImplDrawEmphasisMarks(), ToolBox::ImplDrawFloatwinBorder(), ToolBox::ImplDrawGradientBackground(), ToolBox::ImplDrawGrip(), SplitWindow::ImplDrawGrip(), TabControl::ImplDrawItem(), HeaderBar::ImplDrawItem(), ScrollBar::ImplDrawNative(), RadioButton::ImplDrawRadioButtonState(), ToolBox::ImplDrawSeparator(), Calendar::ImplDrawSpin(), ImplDrawSplit(), ToolBox::ImplErase(), VirtualDevice::ImplFillOpaqueRectangle(), ImplListBoxWindow::ImplListBoxWindow(), ImplListBoxWindow::ImplPaint(), Menu::ImplPaint(), vcl::Window::ImplPaintToDevice(), GraphicObject::ImplRenderTileRecursive(), Edit::ImplRepaint(), VirtualDevice::ImplSetOutputSizePixel(), SvTreeListBox::InitTreeView(), HelpTextWindow::Paint(), SvxIconChoiceCtrl_Impl::Paint(), HeaderBar::Paint(), StatusBar::Paint(), TabControl::Paint(), BubbleWindow::Paint(), MenuBarWindow::Paint(), vcl::PaintBufferGuard::PaintBufferGuard(), SvTreeListBox::PaintEntry1(), Pop(), MenuFloatingWindow::RenderHighlightItem(), DXF2GDIMetaFile::SetAreaAttribute(), DXF2GDIMetaFile::SetLineAttribute(), SetLineColor(), Splitter::Splitter(), SvtIconChoiceCtrl::SvtIconChoiceCtrl(), and TextView::TextView().

◆ SetLineColor() [2/2]

void OutputDevice::SetLineColor ( const Color rColor)

◆ SetMapMode() [1/2]

void OutputDevice::SetMapMode ( )

◆ SetMapMode() [2/2]

void OutputDevice::SetMapMode ( const MapMode rNewMapMode)

◆ SetMetafileMapMode()

void OutputDevice::SetMetafileMapMode ( const MapMode rNewMapMode,
bool  bIsRecord 
)
virtual

Reimplemented in Printer.

Definition at line 711 of file map.cxx.

References SetMapMode(), and SetRelativeMapMode().

Referenced by GDIMetaFile::Play().

◆ SetOutDevViewType()

void OutputDevice::SetOutDevViewType ( OutDevViewType  eOutDevViewType)
inline

If this OutputDevice is used for displaying a Print Preview the OutDevViewType should be set to 'OutDevViewType::PrintPreview'.

A View can then make painting decisions dependent on this OutDevViewType. E.g. text colors need to be handled differently, dependent on whether it's a PrintPreview or not. (see #106611# for more)

Definition at line 505 of file outdev.hxx.

◆ SetOutOffXPixel()

void OutputDevice::SetOutOffXPixel ( tools::Long  nOutOffX)

◆ SetOutOffYPixel()

void OutputDevice::SetOutOffYPixel ( tools::Long  nOutOffY)

◆ SetOverlineColor() [1/2]

void OutputDevice::SetOverlineColor ( )

◆ SetOverlineColor() [2/2]

void OutputDevice::SetOverlineColor ( const Color rColor)

◆ SetPixelOffset()

void OutputDevice::SetPixelOffset ( const Size rOffset)

Set an offset in pixel.

This method offsets every drawing operation that converts its coordinates to pixel by the given value. Normally, the effect can be achieved by setting a MapMode with a different origin. Unfortunately, this origin is in logical coordinates and can lead to rounding errors (see #102532# for details).

Attention: \n This offset is only applied when converting to
pixel, i.e. some output modes such as metafile recordings might be completely unaffected by this method! Use with care. Furthermore, if the OutputDevice's MapMode is the default (that's MapUnit::MapPixel), then any pixel offset set is ignored also. This might be unintuitive for cases, but would have been far more fragile to implement. What's more, the reason why the pixel offset was introduced (avoiding rounding errors) does not apply for MapUnit::MapPixel, because one can always use the MapMode origin then.
Parameters
rOffsetThe offset in pixel

Definition at line 1822 of file map.cxx.

References Size::Height(), ImplPixelToLogic(), maMapRes, mnDPIX, mnDPIY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutOffLogicX, mnOutOffLogicY, mnOutOffOrigX, mnOutOffOrigY, mpAlphaVDev, SetPixelOffset(), and Size::Width().

Referenced by GDIMetaFile::Play(), and SetPixelOffset().

◆ SetRasterOp()

void OutputDevice::SetRasterOp ( RasterOp  eRasterOp)

◆ SetRefPoint() [1/2]

void OutputDevice::SetRefPoint ( )

◆ SetRefPoint() [2/2]

void OutputDevice::SetRefPoint ( const Point rRefPoint)

◆ SetRelativeMapMode()

void OutputDevice::SetRelativeMapMode ( const MapMode rNewMapMode)

◆ SetSettings()

void OutputDevice::SetSettings ( const AllSettings rSettings)
virtual

◆ SetSystemTextColor()

void OutputDevice::SetSystemTextColor ( SystemTextColorFlags  nFlags,
bool  bEnabled 
)
virtual

◆ SetTextAlign()

void OutputDevice::SetTextAlign ( TextAlign  eAlign)

◆ SetTextColor()

void OutputDevice::SetTextColor ( const Color rColor)

◆ SetTextFillColor() [1/2]

void OutputDevice::SetTextFillColor ( )

◆ SetTextFillColor() [2/2]

void OutputDevice::SetTextFillColor ( const Color rColor)

Definition at line 750 of file text.cxx.

◆ SetTextLineColor() [1/2]

void OutputDevice::SetTextLineColor ( )

◆ SetTextLineColor() [2/2]

void OutputDevice::SetTextLineColor ( const Color rColor)

◆ SetWaveLineColors()

void OutputDevice::SetWaveLineColors ( Color const &  rColor,
tools::Long  nLineWidth 
)
protectedvirtual

◆ shouldDrawWavePixelAsRect()

bool OutputDevice::shouldDrawWavePixelAsRect ( tools::Long  nLineWidth) const
protectedvirtual

Reimplemented in Printer.

Definition at line 135 of file textline.cxx.

References nLineWidth.

Referenced by ImplDrawWavePixel().

◆ StartTrackingFontMappingUse()

void OutputDevice::StartTrackingFontMappingUse ( )
static

Definition at line 1276 of file text.cxx.

References fontMappingUseData.

◆ SubPixelToLogic()

Point OutputDevice::SubPixelToLogic ( const basegfx::B2DPoint rDevicePt) const

◆ SupportsCairo()

bool OutputDevice::SupportsCairo ( ) const

◆ SupportsOperation()

bool OutputDevice::SupportsOperation ( OutDevSupportType  eType) const

Query an OutputDevice to see whether it supports a specific operation.

Returns
true if operation supported, else false

Definition at line 406 of file outdev.cxx.

References AcquireGraphics(), eType, mpGraphics, and SalGraphics::supportsOperation().

◆ TransformAndReduceBitmapExToTargetRange()

bool OutputDevice::TransformAndReduceBitmapExToTargetRange ( const basegfx::B2DHomMatrix aFullTransform,
basegfx::B2DRange aVisibleRange,
double &  fMaximumArea 
)
protectedvirtual

◆ UsePolyPolygonForComplexGradient()

virtual bool OutputDevice::UsePolyPolygonForComplexGradient ( )
protectedpure virtual

Implemented in Printer, VirtualDevice, and vcl::WindowOutputDevice.

References DrawText.

Referenced by DrawComplexGradient().

◆ ValidateKashidas()

sal_Int32 OutputDevice::ValidateKashidas ( const OUString &  rTxt,
sal_Int32  nIdx,
sal_Int32  nLen,
sal_Int32  nKashCount,
const sal_Int32 *  pKashidaPos,
sal_Int32 *  pKashidaPosDropped 
) const

Definition at line 1143 of file outdev/font.cxx.

References i, ImplLayout(), and nPos.

Friends And Related Function Documentation

◆ ImplHandleResize

void ImplHandleResize ( vcl::Window pWindow,
tools::Long  nNewWidth,
tools::Long  nNewHeight 
)
friend

Definition at line 1912 of file winproc.cxx.

◆ Printer

friend class Printer
friend

Definition at line 171 of file outdev.hxx.

◆ vcl::Window

friend class vcl::Window
friend

Definition at line 173 of file outdev.hxx.

◆ vcl::WindowOutputDevice

friend class vcl::WindowOutputDevice
friend

Definition at line 174 of file outdev.hxx.

◆ VirtualDevice

friend class VirtualDevice
friend

Definition at line 172 of file outdev.hxx.

◆ WorkWindow

friend class WorkWindow
friend

Definition at line 175 of file outdev.hxx.

Member Data Documentation

◆ maBackground

Wallpaper OutputDevice::maBackground
private

Definition at line 233 of file outdev.hxx.

Referenced by Erase(), and SetBackground().

◆ maFillColor

Color OutputDevice::maFillColor
private

Definition at line 227 of file outdev.hxx.

Referenced by drawLine(), DrawPolyLine(), InitFillColor(), Push(), and SetFillColor().

◆ maFont

vcl::Font OutputDevice::maFont
private

◆ maLineColor

Color OutputDevice::maLineColor
private

Definition at line 226 of file outdev.hxx.

Referenced by drawLine(), DrawPolyLine(), InitLineColor(), Push(), and SetLineColor().

◆ maMapMode

MapMode OutputDevice::maMapMode
private

Definition at line 235 of file outdev.hxx.

Referenced by Push(), SetMapMode(), and SetRelativeMapMode().

◆ maMapRes

ImplMapRes OutputDevice::maMapRes
private

◆ maOutDevStateStack

std::vector<vcl::State> OutputDevice::maOutDevStateStack
private

Definition at line 188 of file outdev.hxx.

Referenced by ClearStack(), dispose(), Pop(), and Push().

◆ maOverlineColor

Color OutputDevice::maOverlineColor
private

Definition at line 231 of file outdev.hxx.

Referenced by OutputDevice(), and SetOverlineColor().

◆ maRefPoint

Point OutputDevice::maRefPoint
private

Definition at line 236 of file outdev.hxx.

Referenced by Push(), and SetRefPoint().

◆ maRegion

vcl::Region OutputDevice::maRegion
private

◆ maTextColor

Color OutputDevice::maTextColor
private

Definition at line 229 of file outdev.hxx.

Referenced by VirtualDevice::ImplInitVirDev(), OutputDevice(), and SetFont().

◆ maTextLineColor

Color OutputDevice::maTextLineColor
private

Definition at line 230 of file outdev.hxx.

Referenced by SetTextLineColor().

◆ mbBackground

bool OutputDevice::mbBackground
mutableprivate

Definition at line 242 of file outdev.hxx.

Referenced by Erase(), OutputDevice(), and SetBackground().

◆ mbClipRegion

bool OutputDevice::mbClipRegion
mutableprivate

◆ mbClipRegionSet

bool OutputDevice::mbClipRegionSet
mutableprivate

◆ mbDevOutput

bool OutputDevice::mbDevOutput
mutableprivate

◆ mbEnableRTL

bool OutputDevice::mbEnableRTL
mutableprivate

Definition at line 258 of file outdev.hxx.

Referenced by EnableRTL(), vcl::WindowOutputDevice::EnableRTL(), and OutputDevice().

◆ mbFillColor

bool OutputDevice::mbFillColor
mutableprivate

◆ mbInitClipRegion

bool OutputDevice::mbInitClipRegion
mutableprivate

◆ mbInitFillColor

bool OutputDevice::mbInitFillColor
mutableprivate

◆ mbInitFont

bool OutputDevice::mbInitFont
mutableprivate

◆ mbInitLineColor

bool OutputDevice::mbInitLineColor
mutableprivate

◆ mbInitTextColor

bool OutputDevice::mbInitTextColor
mutableprivate

◆ mbLineColor

bool OutputDevice::mbLineColor
mutableprivate

◆ mbMap

bool OutputDevice::mbMap
mutableprivate

◆ mbNewFont

bool OutputDevice::mbNewFont
mutableprivate

◆ mbOutput

bool OutputDevice::mbOutput
mutableprivate

Definition at line 243 of file outdev.hxx.

Referenced by EnableOutput(), and OutputDevice().

◆ mbOutputClipped

bool OutputDevice::mbOutputClipped
mutableprivate

◆ mbRefPoint

bool OutputDevice::mbRefPoint
mutableprivate

Definition at line 257 of file outdev.hxx.

Referenced by OutputDevice(), Push(), and SetRefPoint().

◆ mbTextLines

bool OutputDevice::mbTextLines
mutableprivate

Definition at line 255 of file outdev.hxx.

Referenced by ImplDrawSpecialText(), ImplDrawText(), ImplNewFont(), and OutputDevice().

◆ mbTextSpecial

bool OutputDevice::mbTextSpecial
mutableprivate

Definition at line 256 of file outdev.hxx.

Referenced by ImplDrawText(), ImplNewFont(), and OutputDevice().

◆ meOutDevType

const OutDevType OutputDevice::meOutDevType
private

Definition at line 223 of file outdev.hxx.

Referenced by ImplLayout(), and RemoveTransparenciesFromMetaFile().

◆ meOutDevViewType

OutDevViewType OutputDevice::meOutDevViewType
private

Definition at line 224 of file outdev.hxx.

Referenced by OutputDevice().

◆ meRasterOp

RasterOp OutputDevice::meRasterOp
private

◆ meTextLanguage

LanguageType OutputDevice::meTextLanguage
private

Definition at line 238 of file outdev.hxx.

Referenced by ImplPrepareLayoutArgs(), OutputDevice(), and SetDigitLanguage().

◆ mnAntialiasing

AntialiasingFlags OutputDevice::mnAntialiasing
private

◆ mnDPIScalePercentage

sal_Int32 OutputDevice::mnDPIScalePercentage
private

For HiDPI displays, we want to draw elements for a percentage larger.

Definition at line 214 of file outdev.hxx.

Referenced by vcl::Window::ImplInitResolutionSettings(), VirtualDevice::ImplInitVirDev(), VirtualDevice::ImplSetReferenceDevice(), and OutputDevice().

◆ mnDPIX

sal_Int32 OutputDevice::mnDPIX
private

◆ mnDPIY

sal_Int32 OutputDevice::mnDPIY
private

◆ mnDrawMode

DrawModeFlags OutputDevice::mnDrawMode
private

◆ mnEmphasisAscent

tools::Long OutputDevice::mnEmphasisAscent
mutableprivate

◆ mnEmphasisDescent

tools::Long OutputDevice::mnEmphasisDescent
mutableprivate

◆ mnOutHeight

tools::Long OutputDevice::mnOutHeight
private

◆ mnOutOffLogicX

tools::Long OutputDevice::mnOutOffLogicX
private

Additional output offset in logical coordinates, applied in PixelToLogic (used by SetPixelOffset/GetPixelOffset)

Definition at line 201 of file outdev.hxx.

Referenced by OutputDevice(), PixelToLogic(), SetMapMode(), SetPixelOffset(), SetRelativeMapMode(), and SubPixelToLogic().

◆ mnOutOffLogicY

tools::Long OutputDevice::mnOutOffLogicY
private

Additional output offset in logical coordinates, applied in PixelToLogic (used by SetPixelOffset/GetPixelOffset)

Definition at line 205 of file outdev.hxx.

Referenced by OutputDevice(), PixelToLogic(), SetMapMode(), SetPixelOffset(), SetRelativeMapMode(), and SubPixelToLogic().

◆ mnOutOffOrigX

tools::Long OutputDevice::mnOutOffOrigX
private

Additional output pixel offset, applied in LogicToPixel (used by SetPixelOffset/GetPixelOffset)

Definition at line 199 of file outdev.hxx.

Referenced by GetViewTransformation(), ImplDevicePixelToLogic(), ImplLogicToDevicePixel(), ImplLogicToDeviceSubPixel(), ImplLogicXToDevicePixel(), ImplPixelToDevicePixel(), LogicToPixel(), OutputDevice(), SetMapMode(), SetPixelOffset(), and SetRelativeMapMode().

◆ mnOutOffOrigY

tools::Long OutputDevice::mnOutOffOrigY
private

Additional output pixel offset, applied in LogicToPixel (used by SetPixelOffset/GetPixelOffset)

Definition at line 203 of file outdev.hxx.

Referenced by GetViewTransformation(), ImplDevicePixelToLogic(), ImplLogicToDevicePixel(), ImplLogicToDeviceSubPixel(), ImplLogicYToDevicePixel(), ImplPixelToDevicePixel(), LogicToPixel(), OutputDevice(), SetMapMode(), SetPixelOffset(), and SetRelativeMapMode().

◆ mnOutOffX

tools::Long OutputDevice::mnOutOffX
private

◆ mnOutOffY

tools::Long OutputDevice::mnOutOffY
private

◆ mnOutWidth

tools::Long OutputDevice::mnOutWidth
private

◆ mnTextLayoutMode

vcl::text::ComplexTextLayoutFlags OutputDevice::mnTextLayoutMode
private

◆ mnTextOffX

tools::Long OutputDevice::mnTextOffX
mutableprivate

font specific text alignment offsets in pixel units

Definition at line 216 of file outdev.hxx.

Referenced by DrawTextLine(), GetTextBoundRect(), GetTextOutlines(), ImplDrawStrikeoutChar(), ImplDrawText(), ImplNewFont(), and OutputDevice().

◆ mnTextOffY

tools::Long OutputDevice::mnTextOffY
mutableprivate

◆ moSettings

std::optional<AllSettings> OutputDevice::moSettings
private

◆ mpAlphaVDev

VclPtr<VirtualDevice> OutputDevice::mpAlphaVDev
private

◆ mpExtOutDevData

vcl::ExtOutDevData* OutputDevice::mpExtOutDevData
private

Definition at line 191 of file outdev.hxx.

Referenced by OutputDevice().

◆ mpFontFaceCollection

std::unique_ptr<vcl::font::PhysicalFontFaceCollection> OutputDevice::mpFontFaceCollection
mutableprivate

◆ mpFontInstance

rtl::Reference<LogicalFontInstance> OutputDevice::mpFontInstance
mutableprivate

◆ mpGraphics

SalGraphics* OutputDevice::mpGraphics
mutableprivate

Graphics context to draw on.

Definition at line 182 of file outdev.hxx.

Referenced by Printer::AcquireGraphics(), VirtualDevice::AcquireGraphics(), vcl::WindowOutputDevice::AcquireGraphics(), AddTempDevFont(), AddTextRectActions(), BlendBitmap(), CopyArea(), CopyDeviceArea(), vcl::WindowOutputDevice::CopyDeviceArea(), DrawArc(), DrawBitmap(), DrawBitmapEx(), DrawChord(), DrawComplexGradient(), DrawCtrlText(), DrawDeviceAlphaBitmap(), DrawDeviceBitmapEx(), DrawDeviceMask(), DrawEllipse(), DrawEPS(), DrawGradient(), DrawGrid(), DrawHatch(), DrawHatchLine_DrawLine(), drawLine(), DrawLine(), DrawLinearGradient(), DrawMask(), DrawNativeControl(), DrawOutDev(), drawOutDevDirect(), DrawOutDevDirectProcess(), vcl::WindowOutputDevice::DrawOutDevDirectProcess(), DrawPie(), DrawPixel(), DrawPolygon(), DrawPolyLine(), drawPolyLine(), DrawPolyLineDirectInternal(), DrawPolyPolygon(), DrawRect(), DrawText(), DrawTextArray(), DrawTransformBitmapExDirect(), DrawTransformedBitmapEx(), DrawTransparent(), DrawTransparentNatively(), DrawWaveLine(), EmulateDrawTransparent(), VirtualDevice::EnableRTL(), GetBitCount(), GetBitmap(), getFallbackLayout(), GetFontCapabilities(), GetFontCharMap(), GetGraphics(), GetNativeControlRegion(), GetPixel(), GetRenderBackendName(), GetSystemGfxData(), HasFastDrawTransformedBitmap(), HasMirroredGraphics(), HitTestNativeScrollbar(), ImplClearAllFontData(), ImplClearFontData(), ImplDrawPolygon(), ImplDrawPolyPolygon(), ImplDrawPolyPolygonWithB2DPolyPolygon(), ImplDrawRotateText(), ImplDrawStraightTextLine(), ImplDrawStrikeoutChar(), ImplDrawStrikeoutLine(), ImplDrawTextBackground(), ImplDrawTextDirect(), ImplDrawTextRect(), ImplDrawWaveLine(), ImplDrawWaveLineBezier(), Printer::ImplInit(), ImplInitFontList(), ImplInitTextColor(), VirtualDevice::ImplInitVirDev(), ImplIsAntiparallel(), ImplLayout(), ImplNewFont(), ImplRefreshFontData(), ImplReleaseFonts(), Printer::ImplReleaseFonts(), Printer::ImplReleaseGraphics(), Printer::ImplUpdatePageData(), InitClipRegion(), InitFillColor(), InitFont(), InitLineColor(), VirtualDevice::InnerImplSetOutputSizePixel(), Invert(), vcl::Window::InvertTracking(), IsNativeControlSupported(), OutputDevice(), VirtualDevice::ReleaseGraphics(), vcl::WindowOutputDevice::ReleaseGraphics(), SelectClipRegion(), SetAntialiasing(), SetRasterOp(), SetWaveLineColors(), Printer::SetWaveLineColors(), and SupportsOperation().

◆ mpMetaFile

GDIMetaFile* OutputDevice::mpMetaFile
private

◆ mpNextGraphics

VclPtr<OutputDevice> OutputDevice::mpNextGraphics
mutableprivate

◆ mpOutDevData

std::unique_ptr<ImplOutDevData> OutputDevice::mpOutDevData
private

◆ mpPrevGraphics

VclPtr<OutputDevice> OutputDevice::mpPrevGraphics
mutableprivate

◆ mpUnoGraphicsList

std::vector< VCLXGraphics* >* OutputDevice::mpUnoGraphicsList
private

Definition at line 190 of file outdev.hxx.

Referenced by CreateUnoGraphicsList(), dispose(), and OutputDevice().

◆ mxCanvas

css::uno::WeakReference< css::rendering::XCanvas > OutputDevice::mxCanvas
mutableprivate

Definition at line 193 of file outdev.hxx.

Referenced by GetCanvas(), GetSpriteCanvas(), and ImplDisposeCanvas().

◆ mxFontCache

std::shared_ptr<ImplFontCache> OutputDevice::mxFontCache
mutableprotected

◆ mxFontCollection

std::shared_ptr<vcl::font::PhysicalFontCollection> OutputDevice::mxFontCollection
mutableprotected

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