LibreOffice Module vcl (master) 1
|
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>
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::Window * | GetOwnerWindow () 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::ExtOutDevData * | GetExtOutDevData () 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) |
![]() | |
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 |
![]() | |
VclReferenceBase () | |
virtual | ~VclReferenceBase () |
virtual void | dispose () |
Protected Attributes | |
std::shared_ptr< vcl::font::PhysicalFontCollection > | mxFontCollection |
std::shared_ptr< ImplFontCache > | mxFontCache |
Private Member Functions | |
OutputDevice (const OutputDevice &)=delete | |
OutputDevice & | operator= (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, Degree10 nOrientation, tools::Long nLineWidth) |
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< FontMappingUseItem > | FontMappingUseData |
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< SalLayout > | ImplLayout (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, DeviceCoordinate nPixelWidth, SalLayoutFlags flags=SalLayoutFlags::NONE, vcl::text::TextLayoutCache const *=nullptr) const |
SAL_DLLPRIVATE std::unique_ptr< SalLayout > | ImplGlyphFallbackLayout (std::unique_ptr< SalLayout >, vcl::text::ImplLayoutArgs &, const SalLayoutGlyphs *) const |
SAL_DLLPRIVATE std::unique_ptr< SalLayout > | getFallbackLayout (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 OutputDevice * | DrawOutDevDirectCheck (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 Color & | GetLineColor () const |
bool | IsLineColor () const |
void | SetFillColor () |
void | SetFillColor (const Color &rColor) |
const Color & | GetFillColor () 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 Wallpaper & | GetBackground () 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::Font & | GetFont () 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, DeviceCoordinate 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 Color & | GetTextColor () const |
void | SetTextFillColor () |
void | SetTextFillColor (const Color &rColor) |
Color | GetTextFillColor () const |
bool | IsTextFillColor () const |
void | SetTextLineColor () |
void | SetTextLineColor (const Color &rColor) |
const Color & | GetTextLineColor () const |
bool | IsTextLineColor () const |
void | SetOverlineColor () |
void | SetOverlineColor (const Color &rColor) |
const Color & | GetOverlineColor () 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 &, sal_Int32 *pCaretXArray, 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::TextLayoutCache > | CreateTextLayoutCache (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 DeviceCoordinate | LogicWidthToDeviceCoordinate (tools::Long nWidth) const |
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 MapMode & | GetMapMode () 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 DevicePoint | 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 DevicePoint &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... | |
SalGraphics * | GetGraphics () |
void | SetConnectMetaFile (GDIMetaFile *pMtf) |
GDIMetaFile * | GetConnectMetaFile () const |
virtual void | SetSettings (const AllSettings &rSettings) |
const AllSettings & | GetSettings () 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 Point & | GetRefPoint () 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) |
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.
typedef std::vector<FontMappingUseItem> OutputDevice::FontMappingUseData |
Definition at line 1263 of file outdev.hxx.
|
private |
Definition at line 1199 of file outdev.hxx.
|
privatedelete |
|
protected |
Definition at line 58 of file outdev.cxx.
References vcl::text::BiDiRtl, COL_BLACK(), COL_TRANSPARENT(), COL_WHITE(), Default, vcl::text::Default, DontKnow, AllSettings::GetLayoutRTL(), LANGUAGE_SYSTEM, maFillColor, maMapRes, maOverlineColor, maTextColor, mbBackground, mbClipRegion, mbClipRegionSet, mbDevOutput, mbEnableRTL, mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitFont, mbInitLineColor, mbInitTextColor, mbLineColor, mbMap, mbNewFont, mbOutput, mbOutputClipped, mbRefPoint, mbTextLines, mbTextSpecial, meOutDevViewType, meRasterOp, meTextLanguage, mnAntialiasing, mnDPIScalePercentage, mnDPIX, mnDPIY, mnDrawMode, mnEmphasisAscent, mnEmphasisDescent, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutHeight, mnOutOffLogicX, mnOutOffLogicY, mnOutOffOrigX, mnOutOffOrigY, mnOutOffX, mnOutOffY, mnOutWidth, mnTextLayoutMode, mnTextOffX, mnTextOffY, mpAlphaVDev, mpExtOutDevData, mpFontFaceCollection, mpFontInstance, mpGraphics, mpMetaFile, mpNextGraphics, mpOutDevData, mpPrevGraphics, mpUnoGraphicsList, NONE, OverPaint, and vcl::text::TextOriginLeft.
|
overrideprotectedvirtual |
Definition at line 139 of file outdev.cxx.
References VclReferenceBase::disposeOnce().
|
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.
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().
|
static |
Definition at line 401 of file outdev/font.cxx.
References vcl::font::DirectFontSubstitution::AddFontSubstitute(), ImplGetSVData(), ImplSVData::maGDIData, ImplSVGDIData::mbFontSubChanged, and ImplSVGDIData::mpDirectFontSubst.
void OutputDevice::AddHatchActions | ( | const tools::PolyPolygon & | rPolyPoly, |
const Hatch & | rHatch, | ||
GDIMetaFile & | rMtf | ||
) |
Definition at line 100 of file outdev/hatch.cxx.
References GDIMetaFile::AddAction(), vcl::ALL, tools::PolyPolygon::Count(), DrawHatch(), Hatch::GetColor(), mpMetaFile, and tools::PolyPolygon::Optimize().
Referenced by WMFWriter::WriteRecords().
bool OutputDevice::AddTempDevFont | ( | const OUString & | rFileURL, |
const OUString & | rFontName | ||
) |
Definition at line 139 of file outdev/font.cxx.
References AcquireGraphics(), AddTempDevFont(), SalGraphics::AddTempDevFont(), ImplInitFontList(), mpAlphaVDev, mpGraphics, and mxFontCollection.
Referenced by EmbeddedFontsHelper::activateFont(), and AddTempDevFont().
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 1814 of file text.cxx.
References AcquireGraphics(), EnableOutput(), ImplDrawText(), InitClipRegion(), tools::Rectangle::IsEmpty(), IsOutputEnabled(), mbInitClipRegion, mpGraphics, and mpMetaFile.
|
protected |
Definition at line 910 of file text.cxx.
References GetTextWidth().
Referenced by vcl::Window::approximate_char_width().
float OutputDevice::approximate_digit_width | ( | ) | const |
Definition at line 918 of file text.cxx.
References GetTextWidth().
Referenced by vcl::Window::approximate_digit_width().
|
private |
Definition at line 825 of file outdev/font.cxx.
References vcl::Font::GetFontSize(), if(), ImplNewFont(), maMapRes, mbMap, mbNewFont, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mpFontInstance, and vcl::Font::SetFontSize().
Referenced by ImplNewFont().
|
static |
Definition at line 381 of file outdev/font.cxx.
References ImplGetSVData(), ImplSVData::maGDIData, and ImplSVGDIData::mbFontSubChanged.
|
private |
Definition at line 894 of file outdev/bitmap.cxx.
References aIndex, tools::Rectangle::Bottom(), GetBitCount(), BitmapReadAccess::GetColor(), tools::Rectangle::GetHeight(), BitmapReadAccess::GetIndexFromData(), BitmapInfoAccess::GetPaletteColor(), BitmapReadAccess::GetScanline(), BitmapInfoAccess::GetScanlineFormat(), Bitmap::GetSizePixel(), tools::Rectangle::GetWidth(), Size::Height(), ImplFastBitmapBlending(), tools::Rectangle::Left(), Color::Merge(), vcl::N8_BPP, N8BitPal, nVCLBLut, nVCLDitherLut, nVCLGLut, nVCLLut, nVCLRLut, vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::reset(), tools::Rectangle::Right(), tools::Rectangle::Top(), and Size::Width().
|
private |
Definition at line 787 of file outdev/bitmap.cxx.
References SalGraphics::BlendBitmap(), Bitmap::ImplGetSalBitmap(), and mpGraphics.
Referenced by DrawDeviceAlphaBitmap(), and DrawDeviceAlphaBitmapSlowPath().
|
private |
Definition at line 794 of file outdev/bitmap.cxx.
References aIndex, DrawBitmap(), EnableMapMode(), vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::get(), GetBitCount(), GetBitmap(), tools::Rectangle::GetSize(), Bitmap::GetSizePixel(), IsMapModeEnabled(), mpAlphaVDev, vcl::N8_BPP, nVCLBLut, nVCLDitherLut, nVCLGLut, nVCLLut, nVCLRLut, vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::reset(), SAL_WARN_IF, and tools::Rectangle::TopLeft().
Referenced by DrawDeviceAlphaBitmapSlowPath().
|
private |
Definition at line 237 of file outdev/hatch.cxx.
References tools::Rectangle::Bottom(), tools::Rectangle::BottomLeft(), FRound(), GetRefPoint(), IsRefPoint(), tools::Rectangle::Left(), Point, tools::Rectangle::Right(), tools::Rectangle::Top(), tools::Rectangle::TopLeft(), tools::Rectangle::TopRight(), and toRadians().
Referenced by DrawHatch().
|
inlinevirtual |
Determine if native widgets can be enabled.
Reimplemented in VirtualDevice, and vcl::WindowOutputDevice.
Definition at line 1842 of file outdev.hxx.
Referenced by DrawNativeControl(), GetNativeControlRegion(), HitTestNativeScrollbar(), and IsNativeControlSupported().
|
inlineprotectedvirtual |
void OutputDevice::ClearStack | ( | ) |
Definition at line 192 of file stack.cxx.
References maOutDevStateStack, nCount, and Pop().
|
protectedvirtual |
Reimplemented in Printer.
Definition at line 156 of file outdev/gradient.cxx.
References COL_BLACK(), DrawGradient(), DrawPolyPolygon(), EnableOutput(), tools::PolyPolygon::GetBoundRect(), IsOutputEnabled(), N0, Pop(), Push(), vcl::RASTEROP, SetFillColor(), SetRasterOp(), and Xor.
Referenced by DrawGradientToMetafile().
|
protectedvirtual |
Perform actual rect clip against outdev dimensions, to generate empty clips whenever one of the values is completely off the device.
aRegion | region to be clipped to the device dimensions |
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().
|
protectedvirtual |
Reimplemented in vcl::WindowOutputDevice.
Definition at line 197 of file outdev/clipping.cxx.
Referenced by DrawDeviceAlphaBitmap(), DrawTransparent(), and EmulateDrawTransparent().
|
virtual |
Reimplemented in Printer.
Definition at line 534 of file outdev.cxx.
References AcquireGraphics(), AdjustTwoRect(), CopyArea(), CopyDeviceArea(), GetOutputRectPixel(), GetRasterOp(), Size::Height(), ImplIsRecordLayout(), ImplLogicHeightToDevicePixel(), ImplLogicWidthToDevicePixel(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), InitClipRegion(), IsDeviceOutputNecessary(), mbInitClipRegion, mbOutputClipped, mpAlphaVDev, mpGraphics, OverPaint, SetRasterOp(), and Size::Width().
Referenced by CopyArea().
|
protectedvirtual |
Reimplemented in vcl::WindowOutputDevice.
Definition at line 579 of file outdev.cxx.
References SalGraphics::CopyBits(), SalTwoRect::mnDestHeight, SalTwoRect::mnDestWidth, SalTwoRect::mnSrcHeight, SalTwoRect::mnSrcWidth, and mpGraphics.
Referenced by CopyArea(), and vcl::WindowOutputDevice::CopyDeviceArea().
cairo::SurfaceSharedPtr OutputDevice::CreateBitmapSurface | ( | const BitmapSystemData & | rData, |
const Size & | rSize | ||
) | const |
Create Surface for given bitmap data.
cairo::SurfaceSharedPtr OutputDevice::CreateSurface | ( | const cairo::CairoSurfaceSharedPtr & | rSurface | ) | const |
Create Surface from given cairo surface.
cairo::SurfaceSharedPtr OutputDevice::CreateSurface | ( | int | x, |
int | y, | ||
int | width, | ||
int | height | ||
) | const |
Create surface with given dimensions.
|
static |
Definition at line 1448 of file text.cxx.
References vcl::text::TextLayoutCache::Create().
css::uno::Reference< css::awt::XGraphics > OutputDevice::CreateUnoGraphics | ( | ) |
Definition at line 392 of file outdev.cxx.
References UnoWrapperBase::CreateGraphics(), and UnoWrapperBase::GetUnoWrapper().
std::vector< VCLXGraphics * > * OutputDevice::CreateUnoGraphicsList | ( | ) |
Definition at line 398 of file outdev.cxx.
References mpUnoGraphicsList.
|
overrideprotectedvirtual |
Reimplemented from VclReferenceBase.
Reimplemented in Printer, VirtualDevice, vcl::PDFWriterImpl, and vcl::WindowOutputDevice.
Definition at line 144 of file outdev.cxx.
References VclPtr< reference_type >::clear(), VclReferenceBase::dispose(), VclPtr< reference_type >::disposeAndClear(), GetUnoGraphicsList(), UnoWrapperBase::GetUnoWrapper(), ImplInvalidateViewTransform(), maOutDevStateStack, mpAlphaVDev, mpFontFaceCollection, mpFontInstance, mpNextGraphics, mpOutDevData, mpPrevGraphics, mpUnoGraphicsList, mxFontCache, mxFontCollection, UnoWrapperBase::ReleaseAllGraphics(), and SAL_WARN.
Referenced by Printer::dispose(), VirtualDevice::dispose(), and vcl::WindowOutputDevice::dispose().
void OutputDevice::DrawArc | ( | const tools::Rectangle & | rRect, |
const Point & | rStartPt, | ||
const Point & | rEndPt | ||
) |
Definition at line 72 of file curvedshapes.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawArc(), SalGraphics::DrawPolyLine(), tools::Polygon::GetPointAry(), tools::Polygon::GetSize(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), mbInitClipRegion, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, and Point.
Referenced by DrawArc(), and DXF2GDIMetaFile::DrawArcEntity().
Definition at line 37 of file outdev/bitmap.cxx.
References BMP, DrawBitmap(), Bitmap::GetSizePixel(), is_double_buffered_window(), PixelToLogic(), and Point.
Referenced by BlendBitmapWithAlpha(), DrawBitmap(), DrawBitmapEx(), DrawDeviceAlphaBitmapSlowPath(), Printer::DrawDeviceBitmapEx(), EmulateDrawTransparent(), and Printer::ImplPrintTransparent().
void OutputDevice::DrawBitmap | ( | const Point & | rDestPt, |
const Size & | rDestSize, | ||
const Bitmap & | rBitmap | ||
) |
Definition at line 45 of file outdev/bitmap.cxx.
References BMPSCALE, DrawBitmap(), Bitmap::GetSizePixel(), is_double_buffered_window(), and Point.
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().
void OutputDevice::DrawBitmap | ( | const Point & | rDestPt, |
const Size & | rDestSize, | ||
const Point & | rSrcPtPixel, | ||
const Size & | rSrcSizePixel, | ||
const Bitmap & | rBitmap, | ||
MetaActionType | nAction | ||
) |
Definition at line 61 of file outdev/bitmap.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), AdjustTwoRect(), BlackBitmap, BMP, BMPSCALE, BMPSCALEPART, CanSubsampleBitmap(), Bitmap::Convert(), SalGraphics::DrawBitmap(), DrawRect(), vcl::FILLCOLOR, Bitmap::GetSizePixel(), GrayBitmap, Size::Height(), VirtualDevice::ImplFillOpaqueRectangle(), Bitmap::ImplGetSalBitmap(), ImplIsRecordLayout(), ImplLogicHeightToDevicePixel(), ImplLogicWidthToDevicePixel(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), InitClipRegion(), Invert, is_double_buffered_window(), IsDeviceOutputNecessary(), Bitmap::IsEmpty(), vcl::LINECOLOR, mbInitClipRegion, mbOutputClipped, meRasterOp, Bitmap::Mirror(), SalTwoRect::mnDestHeight, SalTwoRect::mnDestWidth, mnDrawMode, SalTwoRect::mnSrcHeight, SalTwoRect::mnSrcWidth, mpAlphaVDev, mpGraphics, mpMetaFile, N8BitGreys, NONE, Pop(), Push(), Bitmap::Scale(), SetFillColor(), SetLineColor(), SalGraphics::ShouldDownscaleIconsAtSurface(), WhiteBitmap, and Size::Width().
Definition at line 33 of file bitmapex.cxx.
References BMPEX, DrawBitmap(), DrawBitmapEx(), BitmapEx::GetBitmap(), BitmapEx::GetSizePixel(), ImplIsRecordLayout(), is_double_buffered_window(), BitmapEx::IsAlpha(), PixelToLogic(), and Point.
Referenced by SalInstanceWidget::DoRecursivePaint(), TabPage::Draw(), Dialog::Draw(), BitmapEx::Draw(), Image::Draw(), AnimationRenderer::draw(), DrawBitmapEx(), DrawBitmapWallpaper(), DrawDeviceBitmapEx(), DrawDeviceMask(), ImplWin::DrawEntry(), ImplListBoxWindow::DrawEntry(), DrawOutDev(), DrawTransformedBitmapEx(), DrawTransparent(), DrawWaveLine(), FixedBitmap::ImplDraw(), vcl::Window::ImplPaintToDevice(), GDIMetaFile::ImplPlayWithRenderer(), and vcl::PrintDialog::PrintPreviewWindow::Paint().
void OutputDevice::DrawBitmapEx | ( | const Point & | rDestPt, |
const Size & | rDestSize, | ||
const BitmapEx & | rBitmapEx | ||
) |
Definition at line 52 of file bitmapex.cxx.
References BMPEXSCALE, DrawBitmap(), DrawBitmapEx(), BitmapEx::GetBitmap(), BitmapEx::GetSizePixel(), ImplIsRecordLayout(), is_double_buffered_window(), BitmapEx::IsAlpha(), and Point.
void OutputDevice::DrawBitmapEx | ( | const Point & | rDestPt, |
const Size & | rDestSize, | ||
const Point & | rSrcPtPixel, | ||
const Size & | rSrcSizePixel, | ||
const BitmapEx & | rBitmapEx | ||
) |
Definition at line 70 of file bitmapex.cxx.
References BMPEXSCALEPART, DrawBitmap(), DrawBitmapEx(), BitmapEx::GetBitmap(), ImplIsRecordLayout(), is_double_buffered_window(), and BitmapEx::IsAlpha().
void OutputDevice::DrawBitmapEx | ( | const Point & | rDestPt, |
const Size & | rDestSize, | ||
const Point & | rSrcPtPixel, | ||
const Size & | rSrcSizePixel, | ||
const BitmapEx & | rBitmapEx, | ||
MetaActionType | nAction | ||
) |
Definition at line 89 of file bitmapex.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), BMPEX, BMPEXSCALE, BMPEXSCALEPART, DrawBitmap(), DrawDeviceBitmapEx(), DrawRect(), BitmapEx::GetBitmap(), vcl::drawmode::GetBitmapEx(), GetDrawMode(), ImplIsRecordLayout(), InitClipRegion(), Invert, is_double_buffered_window(), BitmapEx::IsAlpha(), IsDeviceOutputNecessary(), mbInitClipRegion, mbOutputClipped, meRasterOp, mpGraphics, and mpMetaFile.
|
private |
Definition at line 128 of file wallpaper.cxx.
References tools::Rectangle::Bottom(), Bottom, BottomLeft, BottomRight, Center, vcl::CLIPREGION, Bitmap::CreateDisplayBitmap(), DrawBitmapEx(), DrawColorWallpaper(), DrawGradientWallpaper(), EnableMapMode(), BitmapEx::GetAlphaMask(), Wallpaper::GetBitmap(), BitmapEx::GetBitmap(), Wallpaper::GetColor(), tools::Rectangle::GetHeight(), GetOutputSizePixel(), Wallpaper::GetRect(), tools::Rectangle::GetSize(), BitmapEx::GetSizePixel(), Wallpaper::GetStyle(), tools::Rectangle::GetWidth(), Size::Height(), Wallpaper::ImplGetCachedBitmap(), Wallpaper::ImplReleaseCachedBitmap(), Wallpaper::ImplSetCachedBitmap(), IntersectClipRegion(), tools::Rectangle::Intersection(), is_double_buffered_window(), BitmapEx::IsAlpha(), tools::Rectangle::IsEmpty(), Wallpaper::IsGradient(), Wallpaper::IsRect(), Color::IsTransparent(), tools::Rectangle::Left(), Left, LogicToPixel(), mbMap, mpMetaFile, tools::Rectangle::Normalize(), Point, Pop(), Push(), tools::Rectangle::Right(), Right, BitmapEx::Scale(), Scale, Tile, tools::Rectangle::Top(), Top, tools::Rectangle::TopLeft(), TopLeft, TopRight, and Size::Width().
Referenced by DrawWallpaper().
|
virtual |
Reimplemented in Printer.
Definition at line 31 of file rect.cxx.
References tools::Rectangle::AdjustBottom(), tools::Rectangle::AdjustLeft(), tools::Rectangle::AdjustRight(), tools::Rectangle::AdjustTop(), COL_GRAY(), COL_LIGHTGRAY(), DrawRect(), nPixel, PixelToLogic(), and SetLineColor().
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, and y.
void OutputDevice::DrawChord | ( | const tools::Rectangle & | rRect, |
const Point & | rStartPt, | ||
const Point & | rEndPt | ||
) |
Definition at line 163 of file curvedshapes.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawChord(), SalGraphics::DrawPolygon(), SalGraphics::DrawPolyLine(), tools::Polygon::GetPointAry(), tools::Polygon::GetSize(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, and Point.
Referenced by DrawChord().
|
private |
Definition at line 76 of file wallpaper.cxx.
References DrawRect(), EnableMapMode(), Wallpaper::GetColor(), GetFillColor(), GetLineColor(), is_double_buffered_window(), mbMap, Point, SetFillColor(), and SetLineColor().
Referenced by DrawBitmapWallpaper(), and DrawWallpaper().
|
private |
Definition at line 406 of file outdev/gradient.cxx.
References tools::Rectangle::AdjustBottom(), tools::Rectangle::AdjustLeft(), tools::Rectangle::AdjustRight(), tools::Rectangle::AdjustTop(), tools::Rectangle::Bottom(), tools::Rectangle::Center(), Gradient::GetAngle(), Color::GetBlue(), tools::Polygon::GetBoundRect(), Gradient::GetBoundRect(), Gradient::GetEndColor(), Gradient::GetEndIntensity(), GetGradientColorValue(), GetGradientSteps(), Color::GetGreen(), tools::Rectangle::GetHeight(), Color::GetRed(), Gradient::GetStartColor(), Gradient::GetStartIntensity(), Gradient::GetStyle(), tools::Rectangle::GetWidth(), i, ImplDrawPolygon(), ImplDrawPolyPolygon(), is_double_buffered_window(), tools::Rectangle::IsEmpty(), tools::Rectangle::Left(), mpGraphics, Point, tools::Rectangle::Right(), tools::Polygon::Rotate(), tools::Rectangle::SetBottom(), SalGraphics::SetFillColor(), tools::Rectangle::SetLeft(), tools::Rectangle::SetRight(), tools::Rectangle::SetTop(), tools::Rectangle::Top(), and UsePolyPolygonForComplexGradient().
Referenced by DrawGradient().
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 |
||
) |
Definition at line 2162 of file text.cxx.
References AcquireGraphics(), aStr, COL_GREEN(), COL_LIGHTGREEN(), Disable, DrawCtrlText(), DrawText(), GetBackground(), GetCaretPositions(), Wallpaper::GetColor(), GetFontMetric(), StyleSettings::GetHighContrastMode(), GetSettings(), GetTextColor(), GetTextFillColor(), HideMnemonic, ImplDrawMnemonicLine(), ImplGetSVData(), InitClipRegion(), is_double_buffered_window(), IsBackground(), Color::IsBright(), Color::IsDark(), IsDeviceOutputNecessary(), IsTextFillColor(), LogicToPixel(), ImplSVData::maNWFData, ImplSVNWFData::mbAutoAccel, mbInitClipRegion, mbOutputClipped, Mnemonic, mnOutOffX, mnOutOffY, mpAlphaVDev, mpGraphics, nIndex, NoMnemonics, Point, removeMnemonicFromString(), SAL_WARN_IF, SetTextColor(), and SetTextFillColor().
Referenced by DrawCtrlText(), RadioButton::ImplDraw(), ToolBox::ImplDrawItem(), HeaderBar::ImplDrawItem(), Menu::ImplPaint(), and HelpTextWindow::Paint().
|
private |
Definition at line 286 of file outdev/bitmap.cxx.
References SalGraphics::BlendAlphaBitmap(), BlendBitmap(), ClipToPaintRegion(), SalGraphics::DrawAlphaBitmap(), DrawDeviceAlphaBitmapSlowPath(), GetBitmap(), GetOutputSizePixel(), Bitmap::GetSizePixel(), Size::Height(), Horizontal, Bitmap::ImplGetSalBitmap(), tools::Rectangle::Intersection(), is_double_buffered_window(), tools::Rectangle::IsEmpty(), SkiaHelper::isVCLSkiaEnabled(), LogicToPixel(), Bitmap::Mirror(), mnOutOffX, mnOutOffY, mpAlphaVDev, mpGraphics, NONE, Point, Size::setHeight(), Size::setWidth(), Vertical, and Size::Width().
Referenced by DrawDeviceBitmapEx().
|
private |
Definition at line 605 of file outdev/bitmap.cxx.
References BlendBitmap(), BlendBitmapWithAlpha(), DBG_ASSERT, DrawBitmap(), vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::get(), get(), GetBitmap(), tools::Rectangle::GetHeight(), tools::Rectangle::GetSize(), Bitmap::GetSizePixel(), tools::Rectangle::GetWidth(), Size::Height(), Bitmap::ImplGetSalBitmap(), is_double_buffered_window(), IsRTLEnabled(), tools::Rectangle::Left(), mbMap, mpAlphaVDev, mpMetaFile, N8BitPal, tools::Rectangle::SetSize(), tools::Rectangle::Top(), tools::Rectangle::TopLeft(), and Size::Width().
Referenced by DrawDeviceAlphaBitmap().
|
protectedvirtual |
Reimplemented in Printer.
Definition at line 167 of file bitmapex.cxx.
References AdjustTwoRect(), SalGraphics::DrawAlphaBitmap(), SalGraphics::DrawBitmap(), DrawBitmapEx(), DrawDeviceAlphaBitmap(), BitmapEx::GetAlphaMask(), BitmapEx::GetBitmap(), tools::Rectangle::GetHeight(), BitmapEx::GetSizePixel(), tools::Rectangle::GetWidth(), Size::Height(), VirtualDevice::ImplFillOpaqueRectangle(), BitmapEx::ImplGetBitmapSalBitmap(), Bitmap::ImplGetSalBitmap(), ImplLogicHeightToDevicePixel(), ImplLogicWidthToDevicePixel(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), ImplPixelToDevicePixel(), tools::Rectangle::Intersection(), is_double_buffered_window(), BitmapEx::IsAlpha(), tools::Rectangle::IsEmpty(), BitmapEx::IsEmpty(), tools::Rectangle::Left(), BitmapEx::maAlphaMask, maRegion, BitmapEx::Mirror(), SalTwoRect::mnDestHeight, SalTwoRect::mnDestWidth, SalTwoRect::mnDestX, SalTwoRect::mnDestY, SalTwoRect::mnSrcHeight, SalTwoRect::mnSrcWidth, SalTwoRect::mnSrcX, SalTwoRect::mnSrcY, mpAlphaVDev, mpGraphics, NONE, tools::Rectangle::Top(), and Size::Width().
Referenced by DrawBitmapEx().
|
protectedvirtual |
Reimplemented in Printer.
Definition at line 110 of file mask.cxx.
References AdjustTwoRect(), Bitmap::CreateMask(), DrawBitmapEx(), SalGraphics::DrawMask(), Size::Height(), Bitmap::ImplGetSalBitmap(), ImplLogicHeightToDevicePixel(), ImplLogicWidthToDevicePixel(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), is_double_buffered_window(), Bitmap::Mirror(), SalTwoRect::mnDestHeight, SalTwoRect::mnDestWidth, SalTwoRect::mnSrcHeight, SalTwoRect::mnSrcWidth, mpAlphaVDev, mpGraphics, NONE, and Size::Width().
Referenced by DrawMask().
void OutputDevice::DrawEllipse | ( | const tools::Rectangle & | rRect | ) |
Definition at line 27 of file curvedshapes.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), tools::Rectangle::Center(), DrawEllipse(), SalGraphics::DrawPolygon(), SalGraphics::DrawPolyLine(), tools::Rectangle::GetHeight(), tools::Polygon::GetPointAry(), tools::Polygon::GetSize(), tools::Rectangle::GetWidth(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, and Point.
Referenced by DXF2GDIMetaFile::DrawCircleEntity(), DrawEllipse(), DecorationView::DrawHandle(), ToolBox::ImplDrawGrip(), and GraphicObject::ImplRenderTileRecursive().
bool OutputDevice::DrawEPS | ( | const Point & | rPt, |
const Size & | rSz, | ||
const GfxLink & | rGfxLink, | ||
GDIMetaFile * | pSubst = nullptr |
||
) |
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().
void OutputDevice::DrawGradient | ( | const tools::PolyPolygon & | rPolyPoly, |
const Gradient & | rGradient | ||
) |
Definition at line 47 of file outdev/gradient.cxx.
References AcquireGraphics(), tools::Rectangle::AdjustBottom(), tools::Rectangle::AdjustLeft(), tools::Rectangle::AdjustRight(), tools::Rectangle::AdjustTop(), BlackGradient, vcl::CLIPREGION, COL_BLACK(), tools::PolyPolygon::Count(), DrawComplexGradient(), SalGraphics::DrawGradient(), DrawGradientToMetafile(), DrawLinearGradient(), DrawPolyPolygon(), vcl::FILLCOLOR, tools::PolyPolygon::GetBoundRect(), GetFillColor(), GetOutputSize(), GetSingleColorGradientFill(), Gradient::GetSteps(), Gradient::GetStyle(), GRADIENT_DEFAULT_STEPCOUNT, GrayGradient, ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), IntersectClipRegion(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), tools::PolyPolygon::IsRect(), vcl::LINECOLOR, Gradient::MakeGrayscale(), mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mnDrawMode, mpAlphaVDev, mpGraphics, tools::Rectangle::Normalize(), PixelToLogic(), Point, Pop(), Push(), SetFillColor(), SetLineColor(), SalGraphics::SetLineColor(), Gradient::SetSteps(), SettingsGradient, and WhiteGradient.
void OutputDevice::DrawGradient | ( | const tools::Rectangle & | rRect, |
const Gradient & | rGradient | ||
) |
Definition at line 35 of file outdev/gradient.cxx.
References DrawGradient(), and is_double_buffered_window().
Referenced by ClipAndDrawGradientMetafile(), Printer::ClipAndDrawGradientMetafile(), DrawGradient(), DrawGradientWallpaper(), ToolBox::ImplDrawGradientBackground(), and RemoveTransparenciesFromMetaFile().
|
private |
Definition at line 174 of file outdev/gradient.cxx.
References GDIMetaFile::AddAction(), ClipAndDrawGradientMetafile(), tools::PolyPolygon::Count(), tools::PolyPolygon::GetBoundRect(), GrayGradient, is_double_buffered_window(), tools::Rectangle::IsEmpty(), tools::PolyPolygon::IsRect(), Gradient::MakeGrayscale(), mnDrawMode, and mpMetaFile.
Referenced by DrawGradient().
|
protected |
Definition at line 372 of file wallpaper.cxx.
References vcl::CLIPREGION, DrawGradient(), EnableMapMode(), Wallpaper::GetGradient(), IntersectClipRegion(), is_double_buffered_window(), mbMap, mpMetaFile, Point, Pop(), and Push().
Referenced by DrawBitmapWallpaper(), and DrawWallpaper().
void OutputDevice::DrawGrid | ( | const tools::Rectangle & | rRect, |
const Size & | rDist, | ||
DrawGridFlags | nFlags | ||
) |
Definition at line 238 of file rect.cxx.
References AcquireGraphics(), tools::Rectangle::Bottom(), Dots, DrawGrid(), SalGraphics::DrawLine(), SalGraphics::DrawPixel(), EnableMapMode(), tools::Rectangle::GetHeight(), GetOutputSize(), tools::Rectangle::GetWidth(), Size::Height(), HorzLines, i, ImplIsRecordLayout(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), tools::Rectangle::Intersection(), is_double_buffered_window(), tools::Rectangle::IsEmpty(), tools::Rectangle::Left(), mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbMap, mbOutputClipped, mpAlphaVDev, mpGraphics, PixelToLogic(), Point, tools::Rectangle::Right(), tools::Rectangle::Top(), VertLines, Size::Width(), and Y.
Referenced by DrawGrid().
void OutputDevice::DrawHatch | ( | const tools::PolyPolygon & | rPolyPoly, |
const Hatch & | rHatch | ||
) |
Definition at line 53 of file outdev/hatch.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), tools::PolyPolygon::Count(), DrawHatch(), EnableMapMode(), Hatch::GetColor(), Hatch::GetDistance(), GetDrawMode(), vcl::drawmode::GetHatchColor(), GetSettings(), ImplIsRecordLayout(), ImplLogicWidthToDevicePixel(), InitClipRegion(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), vcl::LINECOLOR, LogicToPixel(), mbInitClipRegion, mbMap, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, tools::PolyPolygon::Optimize(), Pop(), Push(), Hatch::SetColor(), Hatch::SetDistance(), and SetLineColor().
Referenced by AddHatchActions(), DrawHatch(), and vcl::PDFWriterImpl::drawHatch().
void OutputDevice::DrawHatch | ( | const tools::PolyPolygon & | rPolyPoly, |
const Hatch & | rHatch, | ||
bool | bMtf | ||
) |
Definition at line 149 of file outdev/hatch.cxx.
References a, tools::PolyPolygon::AdaptiveSubdivide(), tools::Rectangle::AdjustBottom(), tools::Rectangle::AdjustLeft(), tools::Rectangle::AdjustRight(), tools::Rectangle::AdjustTop(), CalcHatchValues(), tools::PolyPolygon::Count(), DrawHatch(), DrawHatchLine(), Hatch::GetAngle(), tools::PolyPolygon::GetBoundRect(), Hatch::GetDistance(), Hatch::GetStyle(), HasSaneNSteps(), HATCH_MAXPOINTS, Size::Height(), ImplDevicePixelToLogicWidth(), ImplLogicWidthToDevicePixel(), is_double_buffered_window(), utl::ConfigManager::IsFuzzing(), Point, SAL_WARN, and Size::Width().
|
private |
Definition at line 347 of file outdev/hatch.cxx.
References GDIMetaFile::AddAction(), tools::PolyPolygon::Count(), DrawHatchLine_DrawLine(), FRound(), tools::Line::GetDistance(), tools::Line::GetEnd(), tools::Polygon::GetSize(), tools::Line::GetStart(), HATCH_MAXPOINTS, HatchCmpFnc(), i, tools::Line::Intersection(), is_double_buffered_window(), mpMetaFile, nCount, Point, SAL_WARN, tools::Line::SetEnd(), and tools::Line::SetStart().
Referenced by DrawHatch().
|
protectedvirtual |
Reimplemented in vcl::PDFWriterImpl.
Definition at line 433 of file outdev/hatch.cxx.
References SalGraphics::DrawLine(), ImplLogicToDevicePixel(), mpGraphics, and Point.
Referenced by DrawHatchLine().
void OutputDevice::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)
Definition at line 720 of file outdev/bitmap.cxx.
References DrawImage(), and is_double_buffered_window().
Referenced by ImplWin::DrawEntry(), ImplListBoxWindow::DrawEntry(), SvtIconChoiceCtrl::DrawEntryImage(), DrawImage(), FixedImage::ImplDraw(), Button::ImplDrawAlignedImage(), CheckBox::ImplDrawCheckBoxState(), DisclosureButton::ImplDrawCheckBoxState(), TabControl::ImplDrawItem(), ToolBox::ImplDrawItem(), HeaderBar::ImplDrawItem(), ImplDrawMoreIndicator(), RadioButton::ImplDrawRadioButtonState(), ImplWheelWindow::ImplDrawWheel(), Menu::ImplPaint(), SvLBoxButton::Paint(), SvLBoxContextBmp::Paint(), PushButton::Paint(), BubbleWindow::Paint(), and SvTreeListBox::PaintEntry1().
void OutputDevice::DrawImage | ( | const Point & | rPos, |
const Size & | rSize, | ||
const Image & | rImage, | ||
DrawImageFlags | nStyle = DrawImageFlags::NONE |
||
) |
Definition at line 727 of file outdev/bitmap.cxx.
References Image::Draw(), ImplIsRecordLayout(), is_double_buffered_window(), and Size::IsEmpty().
|
private |
Helper for line geometry paint with support for graphic expansion (pattern and fat_to_area)
Definition at line 225 of file line.cxx.
References tools::Polygon::AdaptiveSubdivide(), basegfx::utils::adaptiveSubdivideByDistance(), basegfx::B2DPolyPolygon::append(), basegfx::utils::applyLineDashing(), basegfx::B2DPolyPolygon::areControlPointsUsed(), B2DDraw, basegfx::B2DPolyPolygon::clear(), basegfx::B2DPolyPolygon::count(), basegfx::utils::createAreaGeometry(), Dash, basegfx::deg2rad(), SalGraphics::DrawPolygon(), SalGraphics::DrawPolyLine(), SalGraphics::DrawPolyPolygon(), tools::Polygon::GetConstPointAry(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxY(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), tools::Polygon::GetPointAry(), basegfx::utils::getRange(), GetRasterOp(), tools::Polygon::GetSize(), InitFillColor(), InitLineColor(), utl::ConfigManager::IsFuzzing(), IsLineColor(), maFillColor, maLineColor, mnAntialiasing, mpGraphics, mpMetaFile, basegfx::NONE, OverPaint, PixelSnapHairline, SAL_WARN, SetFillColor(), SetLineColor(), and SalGraphics::supportsOperation().
Referenced by DrawLine(), and drawPolyLine().
Definition at line 161 of file line.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), basegfx::B2DPolygon::append(), B2DDraw, basegfx::deg2rad(), DrawLine(), SalGraphics::DrawLine(), SalGraphics::DrawPolyLine(), GetRasterOp(), ImplGetDeviceTransformation(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), IsLineColor(), mbInitClipRegion, mbInitLineColor, mbLineColor, mbOutputClipped, mnAntialiasing, mpAlphaVDev, mpGraphics, mpMetaFile, basegfx::NONE, OverPaint, PixelSnapHairline, Point, SalGraphics::supportsOperation(), and basegfx::B2DPolygon::transform().
Referenced by HeaderBar::Draw(), CheckBox::Draw(), ImplListBoxWindow::DrawEntry(), DrawLine(), DXF2GDIMetaFile::DrawLineEntity(), SvImpLBox::DrawNet(), DecorationView::DrawSeparator(), ImplAddNWFSeparator(), Calendar::ImplDraw(), Slider::ImplDraw(), SplitWindow::ImplDrawBorder(), ToolBox::ImplDrawBorder(), SplitWindow::ImplDrawBorderLine(), ToolBox::ImplDrawFloatwinBorder(), TabControl::ImplDrawItem(), HeaderBar::ImplDrawItem(), ToolBox::ImplDrawSeparator(), ImplDrawSplit(), HeaderBar::ImplInvertDrag(), Menu::ImplPaint(), SvxIconChoiceCtrl_Impl::Paint(), HeaderBar::Paint(), StatusBar::Paint(), TabControl::Paint(), BubbleWindow::Paint(), and MenuBarWindow::Paint().
void OutputDevice::DrawLine | ( | const Point & | rStartPt, |
const Point & | rEndPt, | ||
const LineInfo & | rLineInfo | ||
) |
Definition at line 108 of file line.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), basegfx::B2DPolygon::append(), Dash, drawLine(), DrawLine(), SalGraphics::DrawLine(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), mbInitClipRegion, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, NONE, and Point.
|
private |
Definition at line 223 of file outdev/gradient.cxx.
References tools::Rectangle::Bottom(), tools::Rectangle::BottomLeft(), tools::Rectangle::BottomRight(), Gradient::GetAngle(), Color::GetBlue(), Gradient::GetBorder(), Gradient::GetBoundRect(), Gradient::GetEndColor(), Gradient::GetEndIntensity(), GetGradientColorValue(), GetGradientSteps(), Color::GetGreen(), tools::Rectangle::GetHeight(), Color::GetRed(), Gradient::GetStartColor(), Gradient::GetStartIntensity(), Gradient::GetStyle(), i, ImplDrawPolygon(), is_double_buffered_window(), mpGraphics, Point, tools::Polygon::Rotate(), tools::Rectangle::SetBottom(), SalGraphics::SetFillColor(), tools::Rectangle::SetTop(), tools::Rectangle::Top(), tools::Rectangle::TopLeft(), and tools::Rectangle::TopRight().
Referenced by DrawGradient().
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, PixelToLogic(), and Point.
Referenced by DrawMask(), and ImplDrawRotateText().
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(), MASKSCALE, and Point.
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.
void OutputDevice::DrawMask | ( | const Point & | rDestPt, |
const Size & | rDestSize, | ||
const Point & | rSrcPtPixel, | ||
const Size & | rSrcSizePixel, | ||
const Bitmap & | rBitmap, | ||
const Color & | rMaskColor, | ||
MetaActionType | nAction | ||
) |
Definition at line 55 of file mask.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawDeviceMask(), DrawRect(), ImplIsRecordLayout(), InitClipRegion(), Invert, is_double_buffered_window(), IsDeviceOutputNecessary(), MASK, MASKSCALE, MASKSCALEPART, mbInitClipRegion, mbOutputClipped, meRasterOp, mpGraphics, and mpMetaFile.
bool OutputDevice::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.
Definition at line 255 of file nativecontrols.cxx.
References AcquireGraphics(), CanEnableNativeWidget(), SalGraphics::DrawNativeControl(), ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbOutputClipped, mpGraphics, nState, nType, and TransformControlValue().
Referenced by SvImpLBox::DrawNet(), DrawProgress(), DecorationView::DrawSeparator(), ImplSmallBorderWindowView::DrawWindow(), vcl::Window::Erase(), MenuBarWindow::HighlightItem(), Slider::ImplDraw(), ImplWin::ImplDraw(), ToolBox::ImplDrawButton(), CheckBox::ImplDrawCheckBoxState(), DisclosureButton::ImplDrawCheckBoxState(), ToolBox::ImplDrawGrip(), TabControl::ImplDrawItem(), HeaderBar::ImplDrawItem(), ScrollBar::ImplDrawNative(), ToolBox::ImplDrawNativeBackground(), PushButton::ImplDrawPushButton(), RadioButton::ImplDrawRadioButtonState(), ToolBox::ImplDrawSeparator(), Menu::ImplPaint(), ImplPaintCheckBackground(), SvLBoxButton::Paint(), HelpTextWindow::Paint(), TabControl::Paint(), TabPage::Paint(), MenuBarWindow::Paint(), MenuFloatingWindow::Paint(), SvTreeListBox::PaintEntry1(), MenuFloatingWindow::RenderHighlightItem(), PushButton::ShowFocus(), CheckBox::ShowFocus(), RadioButton::ShowFocus(), and ImplWin::ShowFocus().
|
privatedelete |
|
virtual |
Reimplemented in Printer.
Definition at line 417 of file outdev.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), AdjustTwoRect(), SalGraphics::CopyBits(), DrawOutDev(), DrawRect(), GetBitmap(), GetOutputRectPixel(), Size::Height(), ImplIsRecordLayout(), ImplLogicHeightToDevicePixel(), ImplLogicWidthToDevicePixel(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), InitClipRegion(), Invert, IsDeviceOutputNecessary(), mbInitClipRegion, mbOutputClipped, meRasterOp, SalTwoRect::mnDestHeight, SalTwoRect::mnDestWidth, SalTwoRect::mnSrcHeight, SalTwoRect::mnSrcWidth, mpAlphaVDev, mpGraphics, mpMetaFile, and Size::Width().
Referenced by SystemWindow::createScreenshot(), vcl::BufferDevice::Dispose(), SalInstanceWidget::DoRecursivePaint(), AnimationRenderer::draw(), DrawOutDev(), StatusBar::ImplDrawItem(), vcl::Window::ImplPaintToDevice(), vcl::WindowOutputDevice::SaveBackground(), SaveBackground(), and vcl::PaintBufferGuard::~PaintBufferGuard().
|
virtual |
Reimplemented in Printer.
Definition at line 470 of file outdev.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawBitmapEx(), drawOutDevDirect(), DrawRect(), GetBitmap(), GetBitmapEx(), Size::Height(), VirtualDevice::ImplFillOpaqueRectangle(), ImplIsRecordLayout(), ImplLogicHeightToDevicePixel(), ImplLogicWidthToDevicePixel(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), InitClipRegion(), Invert, IsDeviceOutputNecessary(), mbInitClipRegion, mbOutputClipped, meRasterOp, mpAlphaVDev, mpGraphics, mpMetaFile, and Size::Width().
|
protected |
Definition at line 590 of file outdev.cxx.
References AcquireGraphics(), AdjustTwoRect(), DrawOutDevDirectCheck(), DrawOutDevDirectProcess(), GetOutputRectPixel(), SalTwoRect::mnDestHeight, SalTwoRect::mnDestWidth, SalTwoRect::mnSrcHeight, SalTwoRect::mnSrcWidth, and mpGraphics.
Referenced by DrawOutDev().
|
protectedvirtual |
Reimplemented in vcl::WindowOutputDevice.
Definition at line 620 of file outdev.cxx.
Referenced by drawOutDevDirect().
|
protectedvirtual |
Reimplemented in vcl::WindowOutputDevice.
Definition at line 625 of file outdev.cxx.
References BiDiRtl, SalGraphics::CopyBits(), SalGraphics::GetLayout(), SalGraphics::mirror(), SalTwoRect::mnSrcWidth, SalTwoRect::mnSrcX, and mpGraphics.
Referenced by drawOutDevDirect().
void OutputDevice::DrawPie | ( | const tools::Rectangle & | rRect, |
const Point & | rStartPt, | ||
const Point & | rEndPt | ||
) |
Definition at line 114 of file curvedshapes.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawPie(), SalGraphics::DrawPolygon(), SalGraphics::DrawPolyLine(), tools::Polygon::GetPointAry(), tools::Polygon::GetSize(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, and Point.
Referenced by DrawPie().
void OutputDevice::DrawPixel | ( | const Point & | rPt | ) |
Definition at line 54 of file pixel.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawPixel(), SalGraphics::DrawPixel(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), mbInitClipRegion, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, and Point.
Referenced by DrawPixel(), DXF2GDIMetaFile::DrawPointEntity(), TabControl::ImplDrawItem(), and HeaderBar::ImplInvertDrag().
Definition at line 85 of file pixel.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawPixel(), SalGraphics::DrawPixel(), Color::GetAlpha(), GetDrawMode(), vcl::drawmode::GetLineColor(), GetSettings(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), is_double_buffered_window(), IsDeviceOutputNecessary(), mbInitClipRegion, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, and Point.
void OutputDevice::DrawPolygon | ( | const basegfx::B2DPolygon & | rB2DPolygon | ) |
Definition at line 142 of file polygon.cxx.
References basegfx::B2DPolygon::count(), DrawPolyPolygon(), and is_double_buffered_window().
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.
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, Point, 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().
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) |
||
) |
Definition at line 147 of file polyline.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), basegfx::B2DPolygon::count(), basegfx::utils::createAreaGeometry(), drawPolyLine(), DrawPolyLineDirectInternal(), ImplDrawPolyPolygonWithB2DPolyPolygon(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), maFillColor, maLineColor, mbInitClipRegion, mbInitLineColor, mbOutputClipped, mpGraphics, mpMetaFile, SetFillColor(), and SetLineColor().
void OutputDevice::DrawPolyLine | ( | const tools::Polygon & | rPoly | ) |
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
Definition at line 31 of file polyline.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), basegfx::deg2rad(), DrawPolyLine(), SalGraphics::DrawPolyLine(), SalGraphics::DrawPolyLineBezier(), DrawPolyLineDirectInternal(), tools::Polygon::getB2DPolygon(), tools::Polygon::GetConstFlagAry(), tools::Polygon::GetPointAry(), tools::Polygon::GetSize(), tools::Polygon::HasFlags(), ImplGetDeviceTransformation(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), mbInitClipRegion, mbInitLineColor, mbLineColor, mbOutputClipped, mnAntialiasing, mpAlphaVDev, mpGraphics, mpMetaFile, basegfx::NONE, PixelSnapHairline, Point, and tools::Polygon::SubdivideBezier().
Referenced by PictReaderShape::drawArc(), DXF2GDIMetaFile::DrawArcEntity(), DXF2GDIMetaFile::DrawCircleEntity(), PictReaderShape::drawEllipse(), SvxIconChoiceCtrl_Impl::DrawFocusRect(), PictReaderShape::drawLine(), DXF2GDIMetaFile::DrawLWPolyLineEntity(), PictReaderShape::drawPolygon(), DrawPolyLine(), drawPolyLine(), DXF2GDIMetaFile::DrawPolyLineEntity(), PictReaderShape::drawRectangle(), PictReaderShape::drawRoundRectangle(), ImplDrawEmphasisMark(), Splitter::Paint(), and BubbleWindow::Paint().
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.
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.
|
private |
Definition at line 256 of file polyline.cxx.
References AcquireGraphics(), Dash, drawLine(), DrawPolyLine(), SalGraphics::DrawPolyLine(), tools::Polygon::getB2DPolygon(), tools::Polygon::GetPointAry(), tools::Polygon::GetSize(), tools::Polygon::HasFlags(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitLineColor(), IsDeviceOutputNecessary(), mbInitClipRegion, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, NONE, and tools::Polygon::SubdivideBezier().
Referenced by DrawPolyLine().
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) |
||
) |
Definition at line 306 of file polyline.cxx.
References GDIMetaFile::AddAction(), DrawPolyLineDirectInternal(), and mpMetaFile.
Referenced by DrawPolyLineDirectInternal().
|
private |
Definition at line 339 of file polyline.cxx.
References AcquireGraphics(), B2DDraw, basegfx::B2DPolygon::count(), SalGraphics::DrawPolyLine(), DrawPolyLineDirect(), GetRasterOp(), ImplGetDeviceTransformation(), InitClipRegion(), InitLineColor(), is_double_buffered_window(), IsLineColor(), mbInitClipRegion, mbInitLineColor, mbOutputClipped, mnAntialiasing, mpAlphaVDev, mpGraphics, OverPaint, PixelSnapHairline, and SalGraphics::supportsOperation().
Referenced by DrawPolyLine(), and DrawPolyLineDirect().
void OutputDevice::DrawPolyPolygon | ( | const basegfx::B2DPolyPolygon & | rB2DPolyPoly | ) |
Definition at line 258 of file polygon.cxx.
References GDIMetaFile::AddAction(), ImplDrawPolyPolygonWithB2DPolyPolygon(), is_double_buffered_window(), and mpMetaFile.
void OutputDevice::DrawPolyPolygon | ( | const tools::PolyPolygon & | rPolyPoly | ) |
Render the given poly-polygon.
The given poly-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 points of the contained polygons are automatically connected.
Definition at line 34 of file polygon.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), B2DDraw, tools::PolyPolygon::Count(), basegfx::deg2rad(), DrawPolygon(), SalGraphics::DrawPolyLine(), DrawPolyPolygon(), SalGraphics::DrawPolyPolygon(), tools::PolyPolygon::getB2DPolyPolygon(), tools::PolyPolygon::GetObject(), GetRasterOp(), tools::Polygon::GetSize(), ImplDrawPolyPolygon(), ImplGetDeviceTransformation(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), basegfx::B2DPolyPolygon::isClosed(), IsDeviceOutputNecessary(), IsFillColor(), IsLineColor(), mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mnAntialiasing, mpAlphaVDev, mpGraphics, mpMetaFile, basegfx::NONE, OverPaint, PixelSnapHairline, basegfx::B2DPolyPolygon::setClosed(), and SalGraphics::supportsOperation().
Referenced by ClipAndDrawGradientMetafile(), DrawGradient(), DXF2GDIMetaFile::DrawHatchEntity(), DrawPolygon(), DrawPolyPolygon(), DrawTransparent(), EmulateDrawTransparent(), and ImplDrawEmphasisMark().
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().
void OutputDevice::DrawRect | ( | const tools::Rectangle & | rRect, |
sal_uLong | nHorzRount, | ||
sal_uLong | nVertRound | ||
) |
Definition at line 89 of file rect.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), SalGraphics::DrawPolygon(), SalGraphics::DrawPolyLine(), DrawRect(), SalGraphics::DrawRect(), tools::Rectangle::GetHeight(), tools::Polygon::GetPointAry(), tools::Polygon::GetSize(), tools::Rectangle::GetWidth(), ImplIsRecordLayout(), ImplLogicHeightToDevicePixel(), ImplLogicToDevicePixel(), ImplLogicWidthToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), tools::Rectangle::Left(), mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, Point, and tools::Rectangle::Top().
void OutputDevice::DrawStretchText | ( | const Point & | rStartPt, |
sal_Int32 | nWidth, | ||
const OUString & | rStr, | ||
sal_Int32 | nIndex = 0 , |
||
sal_Int32 | nLen = -1 |
||
) |
Definition at line 1113 of file text.cxx.
References GDIMetaFile::AddAction(), DrawStretchText(), ImplDrawText(), ImplLayout(), is_double_buffered_window(), IsDeviceOutputNecessary(), mpAlphaVDev, mpMetaFile, and nIndex.
Referenced by DrawStretchText().
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 |
||
) |
Definition at line 797 of file text.cxx.
References GetGlyphBoundRects(), GetOutputBoundsClipRegion(), if(), vcl::Region::Intersect(), vcl::Region::IsNull(), mpOutDevData, nIndex, and vcl::Region::Overlaps().
Referenced by ComboBox::Draw(), Edit::Draw(), ListBox::Draw(), DXF2GDIMetaFile::DrawAttribEntity(), Control::DrawControlText(), DrawCtrlText(), ImplWin::DrawEntry(), ImplListBoxWindow::DrawEntry(), vcl::DefaultTextLayout::DrawText(), vcl::ReferenceDeviceTextLayout::DrawText(), DrawText(), DXF2GDIMetaFile::DrawTextEntity(), ImplStdBorderWindowView::DrawWindow(), FixedLine::ImplDraw(), Calendar::ImplDraw(), Calendar::ImplDrawDate(), StatusBar::ImplDrawItem(), HeaderBar::ImplDrawItem(), StatusBar::ImplDrawProgress(), StatusBar::ImplDrawText(), Menu::ImplPaintMenuTitle(), Edit::ImplRepaint(), TextEngine::ImpPaint(), SvLBoxString::Paint(), HelpTextWindow::Paint(), vcl::PrintDialog::ShowNupOrderWindow::Paint(), BubbleWindow::Paint(), vcl::PrintDialog::PrintPreviewWindow::Paint(), and SvxIconChoiceCtrl_Impl::PaintItem().
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 |
||
) |
Definition at line 1848 of file text.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), vcl::ITextLayout::DecomposeTextRectAction(), DrawText(), ImplDrawText(), InitClipRegion(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), mbInitClipRegion, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, and mpOutDevData.
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 |
||
) |
Definition at line 923 of file text.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawTextArray(), ImplDrawText(), ImplLayout(), InitClipRegion(), is_double_buffered_window(), IsDeviceOutputNecessary(), mbInitClipRegion, mbOutputClipped, mpAlphaVDev, mpGraphics, mpMetaFile, and nIndex.
Referenced by vcl::ReferenceDeviceTextLayout::DrawText(), DrawTextArray(), and Calendar::ImplDraw().
void OutputDevice::DrawTextLine | ( | const Point & | rPos, |
tools::Long | nWidth, | ||
FontStrikeout | eStrikeout, | ||
FontLineStyle | eUnderline, | ||
FontLineStyle | eOverline, | ||
bool | bUnderlineAbove = false |
||
) |
Definition at line 946 of file textline.cxx.
References GDIMetaFile::AddAction(), DrawTextLine(), ImplDrawTextLine(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitFont(), is_double_buffered_window(), IsDeviceOutputNecessary(), LINESTYLE_DONTKNOW, LINESTYLE_NONE, LogicWidthToDeviceCoordinate(), mbInitClipRegion, mbOutputClipped, mnTextOffX, mnTextOffY, mpAlphaVDev, mpMetaFile, Point, STRIKEOUT_DONTKNOW, and STRIKEOUT_NONE.
Referenced by DrawTextLine().
|
protectedvirtual |
Transform and draw a bitmap directly.
aFullTransform | The B2DHomMatrix used for the transformation |
rBitmapEx | Reference to the bitmap to be transformed and drawn |
Reimplemented in Printer.
Definition at line 294 of file bitmapex.cxx.
References COL_BLACK(), 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().
void OutputDevice::DrawTransformedBitmapEx | ( | const basegfx::B2DHomMatrix & | rTransformation, |
const BitmapEx & | rBitmapEx, | ||
double | fAlpha = 1.0 |
||
) |
Draw BitmapEx transformed.
rTransformation | The 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 |
rBitmapEx | The BitmapEx to be painted |
fAlpha | Optional 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(), basegfx::Tuple2D< typename TYPE >::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, mpGraphics, mpMetaFile, Point, BitmapEx::Rotate(), basegfx::B2DRange::transform(), TransformAndReduceBitmapExToTargetRange(), WhiteBitmap, and Size::Width().
void OutputDevice::DrawTransparent | ( | const basegfx::B2DHomMatrix & | rObjectTransform, |
const basegfx::B2DPolyPolygon & | rB2DPolyPoly, | ||
double | fTransparency | ||
) |
Definition at line 88 of file transparent.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), B2DDraw, basegfx::B2DPolyPolygon::count(), basegfx::deg2rad(), SalGraphics::DrawPolyLine(), SalGraphics::DrawPolyPolygon(), DrawTransparent(), GetRasterOp(), ImplGetDeviceTransformation(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), basegfx::B2DPolyPolygon::isClosed(), IsFillColor(), IsLineColor(), mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbOutputClipped, mnAntialiasing, mpAlphaVDev, mpGraphics, mpMetaFile, basegfx::NONE, OverPaint, PixelSnapHairline, basegfx::B2DPolyPolygon::setClosed(), SalGraphics::supportsOperation(), and basegfx::B2DPolyPolygon::transform().
void OutputDevice::DrawTransparent | ( | const GDIMetaFile & | rMtf, |
const Point & | rPos, | ||
const Size & | rSize, | ||
const Gradient & | rTransparenceGradient | ||
) |
Definition at line 562 of file transparent.cxx.
References GDIMetaFile::AddAction(), aMap, AlphaMask::BlendWith(), ClipToPaintRegion(), COL_BLACK(), Default, VclPtr< reference_type >::disposeAndClear(), DrawBitmapEx(), EnableMapMode(), BitmapEx::GetAlphaMask(), GetAntialiasing(), BitmapEx::GetBitmap(), Gradient::GetEndColor(), GetMapMode(), GetOutputSizePixel(), tools::Rectangle::GetSize(), Gradient::GetStartColor(), GrayGradient, tools::Rectangle::Intersection(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), IsMapModeEnabled(), LogicToPixel(), mbMap, mnDPIX, mnDPIY, mnDrawMode, mpMetaFile, NONE, NoTransparency, PixelToLogic(), Play, Point, tools::Rectangle::TopLeft(), and WITH_ALPHA.
void OutputDevice::DrawTransparent | ( | const tools::PolyPolygon & | rPolyPoly, |
sal_uInt16 | nTransparencePercent | ||
) |
Definition at line 513 of file transparent.cxx.
References AcquireGraphics(), GDIMetaFile::AddAction(), DrawPolyPolygon(), DrawTransparent(), DrawTransparentNatively(), EmulateDrawTransparent(), GetFillColor(), ImplIsRecordLayout(), is_double_buffered_window(), IsDeviceOutputNecessary(), mbFillColor, mbLineColor, mnDrawMode, mpAlphaVDev, mpGraphics, mpMetaFile, NoTransparency, and SetFillColor().
Referenced by vcl::Window::DrawSelectionBackground(), vcl::RenderTools::DrawSelectionBackground(), DrawTransparent(), and Splitter::Paint().
|
private |
Definition at line 194 of file transparent.cxx.
References B2DDraw, basegfx::deg2rad(), SalGraphics::DrawPolyLine(), SalGraphics::DrawPolyPolygon(), tools::PolyPolygon::getB2DPolyPolygon(), GetBitCount(), ImplGetDeviceTransformation(), InitClipRegion(), InitFillColor(), InitLineColor(), is_double_buffered_window(), tools::PolyPolygon::IsRect(), mbFillColor, mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbOutputClipped, mnAntialiasing, mpGraphics, basegfx::NONE, PixelSnapHairline, SalGraphics::SetFillColor(), and SalGraphics::supportsOperation().
Referenced by DrawTransparent().
void OutputDevice::DrawWallpaper | ( | const tools::Rectangle & | rRect, |
const Wallpaper & | rWallpaper | ||
) |
Definition at line 35 of file wallpaper.cxx.
References GDIMetaFile::AddAction(), DrawWallpaper(), tools::Rectangle::GetHeight(), Wallpaper::GetStyle(), tools::Rectangle::GetWidth(), ImplIsRecordLayout(), is_double_buffered_window(), IsDeviceOutputNecessary(), tools::Rectangle::IsEmpty(), tools::Rectangle::Left(), LogicToPixel(), mpAlphaVDev, mpMetaFile, NONE, tools::Rectangle::Normalize(), and tools::Rectangle::Top().
Referenced by HeaderBar::Draw(), DrawWallpaper(), Erase(), vcl::Window::Erase(), ToolBox::ImplDrawConstantBackground(), and HeaderBar::ImplDrawItem().
|
private |
Definition at line 62 of file wallpaper.cxx.
References DrawBitmapWallpaper(), DrawColorWallpaper(), DrawGradientWallpaper(), is_double_buffered_window(), Wallpaper::IsBitmap(), and Wallpaper::IsGradient().
void OutputDevice::DrawWaveLine | ( | const Point & | rStartPos, |
const Point & | rEndPos, | ||
tools::Long | nLineWidth = 1 , |
||
tools::Long | nWaveHeight = 3 |
||
) |
Definition at line 987 of file textline.cxx.
References AcquireGraphics(), COL_TRANSPARENT(), DrawBitmapEx(), Enable, Bitmap::Erase(), vcl::DeleteOnDeinit< T >::get(), BitmapEx::GetAlphaMask(), BitmapEx::GetBitmap(), GetDPIScaleFactor(), GetLineColor(), BitmapEx::GetSizePixel(), Size::Height(), ImplDrawWaveLineBezier(), BitmapEx::ImplGetBitmapSalBitmap(), ImplIsRecordLayout(), ImplLogicToDevicePixel(), InitClipRegion(), InitFont(), is_double_buffered_window(), IsDeviceOutputNecessary(), mbInitClipRegion, mbOutputClipped, mpFontInstance, mpGraphics, LogicalFontInstance::mxFontMetric, nLineWidth, PixelToLogic(), Point, and WITH_ALPHA.
|
protectedvirtual |
Reimplemented in Printer.
Definition at line 278 of file transparent.cxx.
References ClipToPaintRegion(), COL_BLACK(), color::ColorChannelMerge(), SalGraphics::DrawAlphaRect(), DrawBitmap(), DrawPolyPolygon(), EnableMapMode(), vcl::FILLCOLOR, FRound(), BitmapPalette::GetBestIndex(), BitmapInfoAccess::GetBestMatchingColor(), GetBitmap(), Color::GetBlue(), tools::PolyPolygon::GetBoundRect(), BitmapPalette::GetEntryCount(), GetFillColor(), Color::GetGreen(), BitmapColor::GetIndex(), tools::Rectangle::getOpenHeight(), tools::Rectangle::getOpenWidth(), GetOutputSizePixel(), Bitmap::getPixelFormat(), BitmapReadAccess::GetPixelFromData(), Color::GetRed(), BitmapReadAccess::GetScanline(), BitmapInfoAccess::GetScanlineFormat(), tools::Rectangle::GetSize(), i, ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), tools::Rectangle::Intersection(), tools::Rectangle::IsEmpty(), Bitmap::IsEmpty(), vcl::isPalettePixelFormat(), tools::PolyPolygon::IsRect(), tools::Rectangle::Left(), LogicToPixel(), mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbLineColor, mbMap, mbOutputClipped, Color::Merge(), MinMax(), tools::PolyPolygon::Move(), mpAlphaVDev, mpGraphics, mpMetaFile, N1BitMsbPal, N24BitTcBgr, N8BitPal, nCount, Point, Pop(), Push(), vcl::ScopedBitmapAccess< Access, Bitmap, Acquire >::reset(), SetFillColor(), tools::Rectangle::Top(), and tools::Rectangle::TopLeft().
Referenced by DrawTransparent().
void OutputDevice::EnableMapMode | ( | bool | bEnable = true | ) |
Definition at line 602 of file map.cxx.
References EnableMapMode(), mbMap, and mpAlphaVDev.
Referenced by BlendBitmapWithAlpha(), DrawBitmapWallpaper(), DecorationView::DrawButton(), DrawColorWallpaper(), DecorationView::DrawFrame(), DrawGradientWallpaper(), DrawGrid(), DrawHatch(), DecorationView::DrawSymbol(), DrawTransformedBitmapEx(), DrawTransparent(), EmulateDrawTransparent(), Printer::EmulateDrawTransparent(), EnableMapMode(), vcl::Window::EnableMapMode(), ImplCursorInvert(), ImplDrawEmphasisMarks(), ImplDrawRotateText(), GraphicObject::ImplDrawTiled(), GraphicObject::ImplRenderTempTile(), and vcl::WindowOutputDevice::SaveBackground().
void OutputDevice::EnableOutput | ( | bool | bEnable = true | ) |
Definition at line 341 of file outdev.cxx.
References EnableOutput(), mbOutput, and mpAlphaVDev.
Referenced by AddTextRectActions(), ClipAndDrawGradientMetafile(), DXF2GDIMetaFile::Convert(), EnableOutput(), vcl::Window::ImplPaintToDevice(), VirtualDevice::ImplSetReferenceDevice(), and vcl::PDFWriterImpl::playMetafile().
|
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().
|
static |
Definition at line 387 of file outdev/font.cxx.
References FONTSUBSTITUTION, Application::ImplCallEventListenersApplicationDataChanged(), ImplGetSVData(), ImplUpdateAllFontData(), ImplSVData::maGDIData, ImplSVGDIData::mbFontSubChanged, and Application::NotifyAllWindows().
void OutputDevice::Erase | ( | ) |
Definition at line 96 of file wallpaper.cxx.
References DrawWallpaper(), Erase(), GetRasterOp(), ImplIsRecordLayout(), IsDeviceOutputNecessary(), maBackground, mbBackground, mnOutHeight, mnOutWidth, mpAlphaVDev, OverPaint, and SetRasterOp().
Referenced by SalInstanceWidget::DoRecursivePaint(), DrawProgress(), Erase(), vcl::Window::Erase(), Edit::ImplClearBackground(), ImplWin::ImplDraw(), ToolBox::ImplDrawConstantBackground(), VirtualDevice::ImplInitVirDev(), TextEngine::ImpPaint(), VirtualDevice::InnerImplSetOutputSizePixel(), vcl::PrintDialog::ShowNupOrderWindow::Paint(), StatusBar::Paint(), and vcl::PrintDialog::PrintPreviewWindow::Paint().
void OutputDevice::Erase | ( | const tools::Rectangle & | rRect | ) |
Definition at line 115 of file wallpaper.cxx.
References DrawWallpaper(), Erase(), GetBackground(), GetRasterOp(), mpAlphaVDev, OverPaint, and SetRasterOp().
|
static |
Definition at line 1292 of file text.cxx.
References fontMappingUseData.
|
inlinevirtual |
Reimplemented in vcl::WindowOutputDevice.
Definition at line 429 of file outdev.hxx.
Referenced by ToolBox::ImplHandleMouseButtonUp(), vcl::Window::ImplUpdateAll(), vcl::Window::PaintImmediately(), GDIMetaFile::Play(), and ToolBox::SetItemDown().
|
virtual |
Reimplemented in vcl::WindowOutputDevice.
Definition at line 192 of file outdev/clipping.cxx.
References GetClipRegion().
Referenced by lcl_canPaint(), and TransformAndReduceBitmapExToTargetRange().
|
inline |
Definition at line 484 of file outdev.hxx.
Referenced by DrawTransparent(), ImplDrawDropdownArrow(), SplitWindow::ImplDrawGrip(), ImplNewFont(), and VirtualDevice::ImplSetOutputSizePixel().
|
inline |
Definition at line 523 of file outdev.hxx.
Referenced by SalInstanceWidget::DoRecursivePaint(), DrawCtrlText(), DecorationView::DrawHighlightFrame(), Erase(), vcl::Window::GetBackground(), GetBackgroundColor(), HeaderBar::ImplDrawItem(), ImplDrawText(), Menu::ImplPaintMenuTitle(), TextView::ImpPaint(), vcl::PaintBufferGuard::PaintBufferGuard(), IconView::PaintEntry(), SvxIconChoiceCtrl_Impl::PaintEntry(), and SvTreeListBox::PaintEntry1().
|
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().
|
protectedvirtual |
Reimplemented in Printer.
Definition at line 640 of file outdev.cxx.
References GetOutputSizePixel(), and Point.
Referenced by RemoveTransparenciesFromMetaFile().
SalLayoutFlags OutputDevice::GetBiDiLayoutFlags | ( | std::u16string_view | rStr, |
const sal_Int32 | nMinIndex, | ||
const sal_Int32 | nEndIndex | ||
) | const |
Definition at line 1221 of file text.cxx.
References BiDiRtl, vcl::text::BiDiRtl, BiDiStrong, vcl::text::BiDiStrong, i, mnTextLayoutMode, and NONE.
Referenced by ImplPrepareLayoutArgs(), and makeGlyphsSubset().
|
virtual |
Reimplemented in VirtualDevice.
Definition at line 372 of file outdev.cxx.
References AcquireGraphics(), SalGraphics::GetBitCount(), and mpGraphics.
Referenced by BlendBitmap(), BlendBitmapWithAlpha(), DrawTransparentNatively(), GetCommonDeviceInfo(), and VirtualDevice::ImplInitVirDev().
Reimplemented in Printer.
Definition at line 191 of file outdev/bitmap.cxx.
References AcquireGraphics(), SalGraphics::GetBitmap(), tools::Rectangle::GetSize(), Size::Height(), ImplLogicHeightToDevicePixel(), ImplLogicWidthToDevicePixel(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), Bitmap::ImplSetSalBitmap(), tools::Rectangle::Left(), mnOutHeight, mnOutOffX, mnOutOffY, mnOutWidth, mpGraphics, Point, tools::Rectangle::Top(), and Size::Width().
Referenced by BlendBitmapWithAlpha(), DrawDeviceAlphaBitmap(), DrawDeviceAlphaBitmapSlowPath(), DrawOutDev(), EmulateDrawTransparent(), Printer::GetBitmap(), GetBitmapEx(), ImplDrawRotateText(), and GraphicObject::ImplRenderTileRecursive().
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().
|
inlinevirtual |
Reimplemented in Printer.
Definition at line 421 of file outdev.hxx.
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().
void OutputDevice::GetCaretPositions | ( | const OUString & | rStr, |
sal_Int32 * | pCaretXArray, | ||
sal_Int32 | nIndex, | ||
sal_Int32 | nLen, | ||
const SalLayoutGlyphs * | pGlyphs = nullptr |
||
) | const |
Definition at line 1062 of file text.cxx.
References eDefaultLayout, i, ImplDevicePixelToLogicWidth(), ImplLayout(), IsRTLEnabled(), mbMap, nIndex, and Point.
Referenced by Edit::Command(), DrawCtrlText(), vcl::DefaultTextLayout::GetCaretPositions(), vcl::ReferenceDeviceTextLayout::GetCaretPositions(), Edit::ImplGetCharPos(), Edit::ImplRepaint(), and Edit::ImplShowCursor().
vcl::Region OutputDevice::GetClipRegion | ( | ) | const |
Definition at line 35 of file outdev/clipping.cxx.
References maRegion, and PixelToLogic().
Referenced by AnimationRenderer::AnimationRenderer(), ImplStdBorderWindowView::DrawWindow(), GetActiveClipRegion(), vcl::WindowOutputDevice::GetOutputBoundsClipRegion(), Edit::ImplPaintBorder(), vcl::Window::PushPaintHelper(), SvImpLBox::RecalcFocusRect(), vcl::WindowOutputDevice::SaveBackground(), and SvImpLBox::ShowCursor().
|
protected |
Definition at line 716 of file outdev.cxx.
References GetBitCount(), Size::Height(), LogicToPixel(), and Size::Width().
Referenced by GetDeviceInfo(), Printer::GetDeviceInfo(), and vcl::WindowOutputDevice::GetDeviceInfo().
|
inline |
Definition at line 285 of file outdev.hxx.
Referenced by Animation::Draw(), Image::Draw(), DXF2GDIMetaFile::DrawLine(), GraphicObject::ImplDrawTiled(), vcl::Window::ImplPaintToDevice(), GDIMetaFile::Play(), and vcl::PageSyncData::PushAction().
tools::Long OutputDevice::GetCtrlTextWidth | ( | const OUString & | rStr, |
const SalLayoutGlyphs * | pLayoutCache = nullptr |
||
) | const |
Definition at line 2306 of file text.cxx.
References aStr, GetTextWidth(), nIndex, and removeMnemonicFromString().
Referenced by Menu::ImplCalcSize(), RadioButton::ImplDraw(), TabControl::ImplDrawItem(), TabControl::ImplShowFocus(), and ToolBox::SetItemText().
|
static |
Definition at line 420 of file outdev/font.cxx.
References AddTokenFontName(), aName, FAMILY_MODERN, FAMILY_ROMAN, FAMILY_SWISS, FAMILY_SYSTEM, utl::DefaultFontConfiguration::get(), vcl::Font::GetCharSet(), Application::GetDefaultDevice(), utl::DefaultFontConfiguration::getDefaultFont(), vcl::Font::GetFamilyName(), vcl::font::PhysicalFontFamily::GetFamilyName(), vcl::Font::GetFontHeight(), vcl::Font::GetFontSize(), GetNextFontToken(), Application::GetSettings(), utl::DefaultFontConfiguration::getUserInterfaceFont(), Size::Height(), ImplInitFontList(), ImplLogicToDevicePixel(), utl::ConfigManager::IsFuzzing(), LANGUAGE_CHINESE_SIMPLIFIED, LANGUAGE_DONTKNOW, LANGUAGE_HINDI, LANGUAGE_NONE, LANGUAGE_SYSTEM, mnDPIY, mxFontCache, mxFontCollection, nIndex, nType, OnlyOne, PITCH_FIXED, PITCH_VARIABLE, SAL_INFO, SAL_WARN_IF, vcl::Font::SetCharSet(), vcl::Font::SetFamily(), vcl::Font::SetFamilyName(), vcl::Font::SetFontHeight(), Size::setHeight(), vcl::Font::SetLanguage(), vcl::Font::SetPitch(), vcl::Font::SetWeight(), Size::setWidth(), WEIGHT_NORMAL, and Size::Width().
Referenced by vcl::Window::ImplInit(), and SalInstanceTextView::set_monospace().
|
virtual |
Reimplemented in Printer, and vcl::WindowOutputDevice.
Definition at line 734 of file outdev.cxx.
References GetCommonDeviceInfo(), and GetOutputSizePixel().
|
inline |
Definition at line 493 of file outdev.hxx.
Referenced by Push().
|
inline |
Definition at line 396 of file outdev.hxx.
Referenced by DrawWaveLine(), SalInstanceComboBox< vcl_type >::get_menu_button_width(), ToolBox::GetDefaultImageSize(), vcl::Window::GetDPIScaleFactor(), ToolBox::ImplCalcItem(), ImplDrawDropdownArrow(), ToolBox::ImplDrawGrip(), and ToolBox::ImplGetDragWidth().
|
inline |
Definition at line 401 of file outdev.hxx.
Referenced by ImageRequestParameters::scalePercentage().
|
inline |
Get the output device's DPI x-axis value.
Definition at line 385 of file outdev.hxx.
Referenced by vcl::PDFWriterImpl::drawFieldBorder(), vcl::PDFWriterImpl::drawPixel(), vcl::PDFWriterImpl::drawRelief(), vcl::PDFWriterImpl::drawWaveTextLine(), vcl::pdf::getDefaultPdfResolutionDpi(), vcl::Window::ImplPaintToDevice(), vcl::PDFWriterImpl::newPage(), GDIMetaFile::Play(), vcl::PrintDialog::preparePreview(), Application::SetSettings(), and vcl::PDFWriterImpl::writeReferenceXObject().
|
inline |
Get the output device's DPI y-axis value.
Definition at line 391 of file outdev.hxx.
Referenced by vcl::PDFWriterImpl::drawLayout(), vcl::PDFWriterImpl::drawPixel(), ImplDrawEmphasisMarks(), ImplFontMetricData::ImplInitTextLineSize(), vcl::Window::ImplPaintToDevice(), GDIMetaFile::Play(), vcl::PrintDialog::preparePreview(), Application::SetSettings(), and vcl::PDFWriterImpl::writeReferenceXObject().
|
inline |
Definition at line 487 of file outdev.hxx.
Referenced by GraphicObject::Draw(), DrawBitmapEx(), DrawHatch(), DrawPixel(), RemoveTransparenciesFromMetaFile(), SetFillColor(), SetFont(), SetLineColor(), SetOverlineColor(), and SetTextLineColor().
OUString OutputDevice::GetEllipsisString | ( | const OUString & | rStr, |
tools::Long | nMaxWidth, | ||
DrawTextFlags | nStyle = DrawTextFlags::EndEllipsis |
||
) | const |
Definition at line 2030 of file text.cxx.
References ImplGetEllipsisString().
Referenced by vcl::PDFWriterImpl::drawText(), and getShortenedString().
|
inlineprotected |
Definition at line 1181 of file outdev.hxx.
Referenced by vcl::PDFWriterImpl::drawLayout().
|
inlineprotected |
Definition at line 1182 of file outdev.hxx.
Referenced by vcl::PDFWriterImpl::drawLayout().
|
inline |
Definition at line 416 of file outdev.hxx.
Referenced by VirtualDevice::CanEnableNativeWidget().
std::unique_ptr< SalLayout > OutputDevice::getFallbackLayout | ( | LogicalFontInstance * | pLogicalFont, |
int | nFallbackLevel, | ||
vcl::text::ImplLayoutArgs & | rLayoutArgs, | ||
const SalLayoutGlyphs * | pGlyphs | ||
) | const |
Definition at line 997 of file outdev/font.cxx.
References AcquireGraphics(), SalGraphics::GetTextLayout(), SalLayoutGlyphs::Impl(), mpGraphics, vcl::text::ImplLayoutArgs::ResetPos(), and SalGraphics::SetFont().
Referenced by ImplGlyphFallbackLayout().
|
inline |
Definition at line 515 of file outdev.hxx.
References maFillColor.
Referenced by DXF2GDIMetaFile::Convert(), DecorationView::DrawButton(), DrawColorWallpaper(), DecorationView::DrawFrame(), DrawGradient(), PictReaderShape::drawLineHQ(), vcl::Window::DrawSelectionBackground(), DecorationView::DrawSymbol(), DrawTransparent(), EmulateDrawTransparent(), Printer::EmulateDrawTransparent(), ImplDrawDropdownArrow(), ImplDrawEmphasisMarks(), VirtualDevice::ImplSetOutputSizePixel(), TextEngine::ImpPaint(), SvxIconChoiceCtrl_Impl::PaintEmphasis(), IconView::PaintEntry(), and SvTreeListBox::PaintEntry1().
|
inline |
Definition at line 529 of file outdev.hxx.
Referenced by VclMultiLineEdit::ApplySettings(), DXF2GDIMetaFile::Convert(), vcl::Window::GetFont(), GetFontMetric(), vcl::Window::GetPointFont(), HasGlyphs(), FixedLine::ImplDraw(), TabControl::ImplDrawItem(), ToolBox::ImplDrawItem(), ImplDrawRotateText(), ImplFontMetricData::ImplInitFlags(), ImplFontMetricData::ImplInitTextLineSize(), ImplLayout(), Menu::ImplPaintMenuTitle(), Edit::ImplRepaint(), SvLBoxString::Paint(), vcl::PrintDialog::PrintPreviewWindow::Paint(), SvxIconChoiceCtrl_Impl::PaintEmphasis(), IconView::PaintEntry(), SvxIconChoiceCtrl_Impl::PaintEntry(), SvTreeListBox::PaintEntry1(), and TextEngine::TextEngine().
bool OutputDevice::GetFontCapabilities | ( | vcl::FontCapabilities & | rFontCapabilities | ) | const |
Definition at line 251 of file outdev/font.cxx.
References SalGraphics::GetFontCapabilities(), InitFont(), and mpGraphics.
bool OutputDevice::GetFontCharMap | ( | FontCharMapRef & | rxFontCharMap | ) | const |
Definition at line 234 of file outdev/font.cxx.
References SalGraphics::GetFontCharMap(), InitFont(), tools::SvRef< typename T >::is(), and mpGraphics.
Referenced by HasGlyphs(), and WMFWriter::SetAllAttr().
|
protectedvirtual |
Reimplemented in VirtualDevice.
Definition at line 258 of file outdev/font.cxx.
References mpFontInstance.
Referenced by GetFontMetric().
int OutputDevice::GetFontFaceCollectionCount | ( | ) | const |
Definition at line 112 of file outdev/font.cxx.
References mpFontFaceCollection, and mxFontCollection.
Referenced by GetFontMetricFromCollection().
bool OutputDevice::GetFontFeatures | ( | std::vector< vcl::font::Feature > & | rFontFeatures | ) | const |
Definition at line 157 of file outdev/font.cxx.
References vcl::font::FeatureCollector::collect(), LogicalFontInstance::GetFontFace(), Application::GetSettings(), AllSettings::GetUILanguageTag(), ImplNewFont(), and mpFontInstance.
const LogicalFontInstance * OutputDevice::GetFontInstance | ( | ) | const |
Definition at line 678 of file outdev/font.cxx.
References InitFont(), and mpFontInstance.
Referenced by SalLayoutGlyphsCache::CachedGlyphsKey::CachedGlyphsKey(), vcl::PDFWriterImpl::createDefaultCheckBoxAppearance(), vcl::PDFWriterImpl::drawLayout(), vcl::PDFWriterImpl::drawShadow(), vcl::PDFWriterImpl::drawStraightTextLine(), vcl::PDFWriterImpl::drawStrikeoutChar(), vcl::PDFWriterImpl::drawStrikeoutLine(), vcl::PDFWriterImpl::drawTextLine(), vcl::PDFWriterImpl::drawWaveTextLine(), vcl::PDFWriterImpl::getSystemFont(), and ImplFontMetricData::ImplInitTextLineSize().
FontMetric OutputDevice::GetFontMetric | ( | ) | const |
Definition at line 174 of file outdev/font.cxx.
References vcl::Font::GetFamilyName(), GetFontExtLeading(), ImplDevicePixelToLogicHeight(), ImplNewFont(), maFont, mnEmphasisAscent, mnEmphasisDescent, LogicalFontInstance::mnOwnOrientation, mpFontInstance, LogicalFontInstance::mxFontMetric, PixelToLogic(), SAL_INFO, vcl::Font::SetAlignment(), FontMetric::SetAscent(), FontMetric::SetBulletOffset(), vcl::Font::SetCharSet(), FontMetric::SetDescent(), FontMetric::SetExternalLeading(), vcl::Font::SetFamily(), vcl::Font::SetFamilyName(), vcl::Font::SetFontSize(), FontMetric::SetFullstopCenteredFlag(), FontMetric::SetHangingBaseline(), FontMetric::SetInternalLeading(), vcl::Font::SetItalic(), FontMetric::SetLineHeight(), vcl::Font::SetOrientation(), vcl::Font::SetPitch(), vcl::Font::SetQuality(), FontMetric::SetSlant(), vcl::Font::SetStyleName(), vcl::Font::SetWeight(), and vcl::Font::SetWidthType().
Referenced by DrawCtrlText(), vcl::PDFWriterImpl::drawLayout(), vcl::PDFWriterImpl::drawStrikeoutChar(), GetFontMetric(), and ImplDrawText().
FontMetric OutputDevice::GetFontMetric | ( | const vcl::Font & | rFont | ) | const |
Definition at line 224 of file outdev/font.cxx.
References GetFont(), GetFontMetric(), and SetFont().
FontMetric OutputDevice::GetFontMetricFromCollection | ( | int | nDevFontIndex | ) | const |
Definition at line 102 of file outdev/font.cxx.
References GetFontFaceCollectionCount(), ImplInitFontList(), and mpFontFaceCollection.
bool OutputDevice::GetGlyphBoundRects | ( | const Point & | rOrigin, |
const OUString & | rStr, | ||
int | nIndex, | ||
int | nLen, | ||
std::vector< tools::Rectangle > & | rVector | ||
) | const |
Definition at line 1175 of file outdev/font.cxx.
References GetTextBoundRect(), i, tools::Rectangle::Move(), and nIndex.
Referenced by vcl::ReferenceDeviceTextLayout::DrawText(), DrawText(), and SvHeaderTabListBox::GetGlyphBoundRects().
|
protectedvirtual |
Reimplemented in Printer.
Definition at line 577 of file outdev/gradient.cxx.
Referenced by GetGradientSteps().
|
private |
Definition at line 584 of file outdev/gradient.cxx.
References GetGradientStepCount(), tools::Rectangle::GetHeight(), Gradient::GetSteps(), Gradient::GetStyle(), and tools::Rectangle::GetWidth().
Referenced by DrawComplexGradient(), and DrawLinearGradient().
SalGraphics * OutputDevice::GetGraphics | ( | ) |
Definition at line 190 of file outdev.cxx.
References AcquireGraphics(), DBG_TESTSOLARMUTEX, mpGraphics, and SAL_WARN.
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.
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().
basegfx::B2DHomMatrix OutputDevice::GetInverseViewTransformation | ( | ) | const |
Definition at line 834 of file map.cxx.
References GetViewTransformation(), mbMap, and mpOutDevData.
Referenced by vcl::PDFWriterImpl::intersectClipRegion(), vcl::PDFWriterImpl::moveClipRegion(), PixelToLogic(), and vcl::PDFWriterImpl::setClipRegion().
basegfx::B2DHomMatrix OutputDevice::GetInverseViewTransformation | ( | const MapMode & | rMapMode | ) | const |
Definition at line 876 of file map.cxx.
References GetViewTransformation(), and basegfx::B2DHomMatrix::invert().
|
inline |
Definition at line 490 of file outdev.hxx.
Referenced by vcl::PDFWriterImpl::drawStrikeoutChar(), SalLayoutGlyphsCache::GetLayoutGlyphs(), HelpTextWindow::HelpTextWindow(), TextEngine::ImpInitLayoutMode(), and Push().
|
inline |
Definition at line 510 of file outdev.hxx.
Referenced by DXF2GDIMetaFile::Convert(), DecorationView::DrawButton(), DrawColorWallpaper(), ImplListBoxWindow::DrawEntry(), DecorationView::DrawFrame(), PictReaderShape::drawLineHQ(), vcl::Window::DrawSelectionBackground(), DecorationView::DrawSymbol(), DrawWaveLine(), ImplDrawDropdownArrow(), ImplDrawEmphasisMarks(), ToolBox::ImplDrawGradientBackground(), ImplDrawWaveLineBezier(), VirtualDevice::ImplSetOutputSizePixel(), HelpTextWindow::Paint(), SvxIconChoiceCtrl_Impl::Paint(), BubbleWindow::Paint(), and MenuFloatingWindow::RenderHighlightItem().
|
inline |
Definition at line 1557 of file outdev.hxx.
Referenced by vcl::PDFExtOutDevData::CreateDest(), vcl::PDFExtOutDevData::CreateLink(), vcl::PDFExtOutDevData::CreateNamedDest(), vcl::PDFExtOutDevData::CreateNote(), vcl::PDFExtOutDevData::CreateScreen(), vcl::PDFExtOutDevData::DescribeRegisteredDest(), SalInstanceWidget::DoRecursivePaint(), GraphicObject::DrawTiled(), DrawTransformedBitmapEx(), DrawTransparent(), vcl::Window::GetMapMode(), GraphicObject::ImplDrawTiled(), GDIMetaFile::ImplPlayWithRenderer(), VirtualDevice::ImplSetOutputSizePixel(), SvxIconChoiceCtrl_Impl::Paint(), SvTreeListBox::PaintEntry1(), vcl::PDFWriterImpl::playMetafile(), vcl::ReferenceDeviceTextLayout::ReferenceDeviceTextLayout(), vcl::PDFWriterImpl::replaceFont(), vcl::WindowOutputDevice::SaveBackground(), VirtualDevice::SetOutputSizePixelScaleOffsetAndLOKBuffer(), and Application::SetSettings().
tools::Long OutputDevice::GetMinKashida | ( | ) | const |
Definition at line 1131 of file outdev/font.cxx.
References ImplDevicePixelToLogicWidth(), ImplNewFont(), and mpFontInstance.
|
inlinevirtual |
bool OutputDevice::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)
Definition at line 293 of file nativecontrols.cxx.
References AcquireGraphics(), CanEnableNativeWidget(), SalGraphics::GetNativeControlRegion(), ImplDevicePixelToLogic(), ImplLogicToDevicePixel(), mpGraphics, nState, nType, and TransformControlValue().
Referenced by ImplSmallBorderWindowView::DrawWindow(), vcl::Window::GetNativeControlRegion(), SvLBoxButton::ImplAdjustBoxSize(), ToolBox::ImplGetDragWidth(), Menu::ImplGetNativeCheckAndRadioSize(), and Menu::ImplGetNativeSubmenuArrowSize().
css::uno::Any OutputDevice::GetNativeSurfaceHandle | ( | cairo::SurfaceSharedPtr & | rSurface, |
const basegfx::B2ISize & | rSize | ||
) | const |
Return native handle for underlying surface.
|
inline |
Definition at line 406 of file outdev.hxx.
Referenced by SalInstanceWidget::DoRecursivePaint(), Animation::Draw(), AnimationRenderer::draw(), DecorationView::DrawHighlightFrame(), vcl::WindowOutputDevice::DrawOutDevDirectCheck(), DecorationView::DrawSymbol(), AnimationRenderer::drawToIndex(), vcl::Window::GetDrawPixel(), SpinField::ImplCalcButtonAreas(), and Animation::Start().
|
inline |
Definition at line 506 of file outdev.hxx.
|
inline |
Definition at line 318 of file outdev.hxx.
Referenced by SalInstanceWidget::DoRecursivePaint(), vcl::Window::GetOutOffXPixel(), X11SalGraphics::GetPixel(), ImplDrawText(), SalGraphics::mirror(), and vcl::PaintBufferGuard::PaintBufferGuard().
|
inline |
Definition at line 319 of file outdev.hxx.
Referenced by SalInstanceWidget::DoRecursivePaint(), vcl::Window::GetOutOffYPixel(), ImplDrawText(), and vcl::PaintBufferGuard::PaintBufferGuard().
|
virtual |
Reimplemented in vcl::WindowOutputDevice.
Definition at line 790 of file text.cxx.
Referenced by DrawText().
|
inline |
Definition at line 317 of file outdev.hxx.
Referenced by ClipToDeviceBounds().
|
inline |
Definition at line 322 of file outdev.hxx.
References Point.
|
inline |
Definition at line 324 of file outdev.hxx.
References vcl::Window::GetOutputSizePixel().
Referenced by CopyArea(), DrawOutDev(), drawOutDevDirect(), vcl::WindowOutputDevice::Flush(), and vcl::Window::GetOutputRectPixel().
|
inline |
Definition at line 327 of file outdev.hxx.
References vcl::Window::GetOutputSizePixel(), and vcl::Window::PixelToLogic().
Referenced by DrawGradient(), DrawGrid(), vcl::WindowOutputDevice::GetOutputBoundsClipRegion(), ImplHandleKey(), Splitter::ImplKbdTracking(), Splitter::ImplRestoreSplitter(), Splitter::ImplSplitterActive(), Splitter::ImplStartKbdSplitting(), SalInstanceIconView::insert(), and GDIMetaFile::Play().
|
inline |
Definition at line 314 of file outdev.hxx.
Referenced by DrawBitmapWallpaper(), DrawDeviceAlphaBitmap(), DrawTransparent(), EmulateDrawTransparent(), GetBackgroundComponentBounds(), GetDeviceInfo(), Printer::GetDeviceInfo(), vcl::Window::GetOutputSizePixel(), ToolBox::ImplDrawGrip(), ToolBox::ImplGetDragWidth(), VirtualDevice::ImplSetOutputSizePixel(), VirtualDevice::InnerImplSetOutputSizePixel(), GDIMetaFile::Play(), RemoveTransparenciesFromMetaFile(), and TransformAndReduceBitmapExToTargetRange().
|
inline |
Definition at line 316 of file outdev.hxx.
Referenced by ClipToDeviceBounds(), SalInstanceWidget::DoRecursivePaint(), SalGraphics::GetDeviceWidth(), X11SalGraphics::GetPixel(), and SalGraphics::mirror().
|
inline |
Definition at line 1017 of file outdev.hxx.
Referenced by vcl::Window::GetOverlineColor(), ImplDrawSpecialText(), ImplDrawTextLine(), and Push().
|
inlinevirtual |
Get the vcl::Window that this OutputDevice belongs to, if any.
Reimplemented in vcl::WindowOutputDevice.
Definition at line 1899 of file outdev.hxx.
Referenced by DecorationView::DrawSeparator(), SpinField::ImplCalcButtonAreas(), ImplDrawBrdWinSymbolButton(), GDIMetaFile::ImplPlayWithRenderer(), TextEngine::ImpPaint(), ImplSmallBorderWindowView::Init(), and is_double_buffered_window().
Definition at line 28 of file pixel.cxx.
References AcquireGraphics(), Color::GetBlue(), GetPixel(), SalGraphics::GetPixel(), ImplLogicXToDevicePixel(), ImplLogicYToDevicePixel(), InitClipRegion(), mbInitClipRegion, mbOutputClipped, mpAlphaVDev, mpGraphics, and Color::SetAlpha().
Referenced by GetPixel().
|
inline |
Get the offset in pixel.
Definition at line 1601 of file outdev.hxx.
References SAL_WARN_UNUSED_RESULT.
Referenced by GDIMetaFile::Play().
|
inline |
Definition at line 496 of file outdev.hxx.
Referenced by CopyArea(), drawLine(), DrawLine(), DrawPolygon(), DrawPolyLineDirectInternal(), DrawPolyPolygon(), DrawTransparent(), Erase(), vcl::Window::Erase(), ImplDrawPolyPolygonWithB2DPolyPolygon(), and Push().
|
virtual |
Reimplemented in Printer.
Definition at line 25 of file wallpaper.cxx.
References COL_BLACK(), COL_WHITE(), Color::IsBright(), and Color::IsDark().
|
inline |
OUString OutputDevice::GetRenderBackendName | ( | ) | const |
Definition at line 232 of file outdev.cxx.
References AcquireGraphics(), SalGraphics::getRenderBackendName(), and mpGraphics.
|
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().
|
private |
Definition at line 607 of file outdev/gradient.cxx.
References BlackGradient, COL_BLACK(), COL_WHITE(), StyleSettings::GetHighlightColor(), GetSettings(), AllSettings::GetStyleSettings(), StyleSettings::GetWindowColor(), mnDrawMode, SettingsForSelection, SettingsGradient, and WhiteGradient.
Referenced by DrawGradient().
Reference< css::rendering::XSpriteCanvas > OutputDevice::GetSpriteCanvas | ( | ) | const |
request XSpriteCanvas render interface
Definition at line 758 of file outdev.cxx.
References ImplGetCanvas(), and mxCanvas.
|
inlinevirtual |
Reimplemented in vcl::WindowOutputDevice.
Definition at line 335 of file outdev.hxx.
Referenced by GDIMetaFile::Play().
SystemGraphicsData OutputDevice::GetSystemGfxData | ( | ) | const |
Definition at line 223 of file outdev.cxx.
References AcquireGraphics(), SalGraphics::GetGraphicsData(), and mpGraphics.
Referenced by GetSystemGfxDataAny().
css::uno::Any OutputDevice::GetSystemGfxDataAny | ( | ) | const |
Definition at line 286 of file outdev.cxx.
References aSeq, GetSystemGfxData(), and SystemGraphicsData::nSize.
Referenced by ImplGetCanvas(), and vcl::WindowOutputDevice::ImplGetCanvas().
|
inline |
Definition at line 1021 of file outdev.hxx.
References vcl::Font::GetAlignment().
Referenced by vcl::Window::GetTextAlign(), ImplDrawText(), and Push().
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 |
Definition at line 958 of file text.cxx.
References eDefaultLayout, basegfx::fround(), KernArray::get_factor(), KernArray::get_subunit_array(), i, ImplDevicePixelToLogicWidth(), ImplLayout(), mbMap, nIndex, and Point.
Referenced by vcl::ReferenceDeviceTextLayout::GetTextArray(), GetTextWidth(), and WMFWriter::WriteRecords().
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;
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 2323 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(), Point, and tools::Rectangle::SetEmpty().
Referenced by GetGlyphBoundRects(), Menu::ImplCalcSize(), ImplFontMetricData::ImplInitFlags(), and Menu::ImplPaintMenuTitle().
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 |
Definition at line 1465 of file text.cxx.
References eDefaultLayout, ImplLayout(), LogicWidthToDeviceCoordinate(), nIndex, and Point.
Referenced by TextEngine::GetCharPos(), vcl::DefaultTextLayout::GetTextBreak(), vcl::ReferenceDeviceTextLayout::GetTextBreak(), and TextEngine::ImpBreakLine().
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 1495 of file text.cxx.
References eDefaultLayout, ImplLayout(), LogicWidthToDeviceCoordinate(), nIndex, and Point.
|
inline |
Definition at line 1003 of file outdev.hxx.
Referenced by vcl::BufferDevice::BufferDevice(), DrawCtrlText(), vcl::Window::GetTextColor(), Calendar::ImplDrawDate(), ImplDrawEmphasisMarks(), TabControl::ImplDrawItem(), ImplDrawRotateText(), ImplDrawSpecialText(), ImplDrawStrikeoutChar(), ImplDrawText(), ImplDrawTextLine(), ImplInitTextColor(), Menu::ImplPaint(), Edit::ImplRepaint(), TextEngine::ImpPaint(), IconView::PaintEntry(), SvTreeListBox::PaintEntry1(), and Push().
Color OutputDevice::GetTextFillColor | ( | ) | const |
Definition at line 766 of file text.cxx.
Referenced by DrawCtrlText(), vcl::Window::GetTextFillColor(), ImplDrawText(), ImplDrawTextBackground(), and Push().
tools::Long OutputDevice::GetTextHeight | ( | ) | const |
Height where any character of the current font fits; in logic coordinates.
See also GetTextBoundRect() for more explanation + code examples.
Definition at line 897 of file text.cxx.
References ImplDevicePixelToLogicHeight(), InitFont(), mbMap, mnEmphasisAscent, mnEmphasisDescent, and mpFontInstance.
Referenced by ComboBox::Draw(), Edit::Draw(), ListBox::Draw(), VclMultiLineEdit::Draw(), vcl::ReferenceDeviceTextLayout::DrawText(), vcl::PDFWriterImpl::drawText(), vcl::Window::GetTextHeight(), GetTextRect(), RadioButton::ImplDraw(), Button::ImplDrawAlignedImage(), StatusBar::ImplDrawItem(), TabControl::ImplDrawItem(), HeaderBar::ImplDrawItem(), PushButton::ImplDrawPushButtonContent(), ImplDrawText(), Menu::ImplPaint(), vcl::PrintDialog::ShowNupOrderWindow::Paint(), SvTreeListBox::Paint(), vcl::PrintDialog::PrintPreviewWindow::Paint(), and TextEngine::SetFont().
bool OutputDevice::GetTextIsRTL | ( | const OUString & | rString, |
sal_Int32 | nIndex, | ||
sal_Int32 | nLen | ||
) | const |
Definition at line 1454 of file text.cxx.
References aStr, vcl::text::ImplLayoutArgs::GetNextPos(), ImplPrepareLayoutArgs(), and nIndex.
|
inline |
Definition at line 1012 of file outdev.hxx.
Referenced by vcl::Window::GetTextLineColor(), ImplDrawSpecialText(), ImplDrawTextLine(), and Push().
bool OutputDevice::GetTextOutline | ( | tools::PolyPolygon & | rPolyPoly, |
const OUString & | rStr | ||
) | const |
Definition at line 2477 of file text.cxx.
References tools::PolyPolygon::Clear(), GetTextOutlines(), and tools::PolyPolygon::Insert().
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 |
Definition at line 2373 of file text.cxx.
References basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), ImplLayout(), InitFont(), basegfx::B2DHomMatrix::isIdentity(), mbMap, mbNewFont, mnTextOffX, mnTextOffY, nIndex, Point, and basegfx::B2DHomMatrix::translate().
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 2455 of file text.cxx.
References GetTextOutlines(), and nIndex.
Referenced by GetTextOutline(), GetTextOutlines(), and WMFWriter::WMFRecord_Escape_Unicode().
tools::Rectangle OutputDevice::GetTextRect | ( | const tools::Rectangle & | rRect, |
const OUString & | rStr, | ||
DrawTextFlags | nStyle = DrawTextFlags::WordBreak , |
||
TextRectInfo * | pInfo = nullptr , |
||
const vcl::ITextLayout * | _pTextLayout = nullptr |
||
) | const |
Definition at line 1894 of file text.cxx.
References tools::Rectangle::AdjustLeft(), tools::Rectangle::AdjustRight(), tools::Rectangle::AdjustTop(), aStr, tools::Rectangle::Bottom(), Bottom, Center, ImplMultiTextLineInfo::Count(), EndEllipsis, tools::Polygon::GetBoundRect(), tools::Rectangle::GetHeight(), ImplMultiTextLineInfo::GetLine(), vcl::Font::GetOrientation(), GetTextHeight(), vcl::ITextLayout::GetTextWidth(), GetTextWidth(), tools::Rectangle::GetWidth(), ImplTextLineInfo::GetWidth(), i, ImplGetTextLines(), tools::Rectangle::Left(), maFont, TextRectInfo::mbEllipsis, Mnemonic, TextRectInfo::mnLineCount, TextRectInfo::mnMaxWidth, MultiLine, Point, removeMnemonicFromString(), tools::Rectangle::Right(), Right, tools::Polygon::Rotate(), tools::Rectangle::SetBottom(), tools::Rectangle::SetLeft(), tools::Rectangle::SetRight(), tools::Rectangle::SetTop(), TEXT_DRAW_ELLIPSIS, tools::Rectangle::Top(), and VCenter.
Referenced by Control::DrawControlText(), vcl::ReferenceDeviceTextLayout::DrawText(), ImplStdBorderWindowView::DrawWindow(), Control::GetControlTextRect(), vcl::ReferenceDeviceTextLayout::GetTextRect(), and vcl::Window::GetTextRect().
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 |
Width of the text.
See also GetTextBoundRect() for more explanation + code examples.
Definition at line 886 of file text.cxx.
References GetTextArray(), and nIndex.
Referenced by approximate_char_width(), approximate_digit_width(), TextEngine::CalcTextWidth(), Edit::Draw(), ListBox::Draw(), VclMultiLineEdit::Draw(), vcl::PDFWriterImpl::drawStrikeoutChar(), vcl::PDFWriterImpl::drawText(), GetCtrlTextWidth(), GetTextRect(), vcl::DefaultTextLayout::GetTextWidth(), vcl::Window::GetTextWidth(), FixedLine::ImplDraw(), Calendar::ImplDraw(), StatusBar::ImplDrawItem(), HeaderBar::ImplDrawItem(), ImplFontMetricData::ImplInitTextLineSize(), Menu::ImplPaint(), vcl::PrintDialog::ShowNupOrderWindow::Paint(), vcl::PrintDialog::PrintPreviewWindow::Paint(), and TextEngine::SetFont().
|
inline |
Definition at line 332 of file outdev.hxx.
Referenced by dispose().
basegfx::B2DHomMatrix OutputDevice::GetViewTransformation | ( | ) | const |
Definition at line 806 of file map.cxx.
References maMapRes, mbMap, mnDPIX, mnDPIY, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutOffOrigX, mnOutOffOrigY, and mpOutDevData.
Referenced by GetInverseViewTransformation(), ImplGetDeviceTransformation(), vcl::PDFWriterImpl::intersectClipRegion(), LogicToPixel(), and vcl::PDFWriterImpl::setClipRegion().
basegfx::B2DHomMatrix OutputDevice::GetViewTransformation | ( | const MapMode & | rMapMode | ) | const |
Definition at line 854 of file map.cxx.
References ImplCalcMapResolution(), mnDPIX, mnDPIY, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutOffOrigX, mnOutOffOrigY, and basegfx::B2DHomMatrix::set().
|
protectedvirtual |
Reimplemented in Printer.
Definition at line 164 of file textline.cxx.
References mnDPIX, mnDPIY, and nLineWidth.
Referenced by ImplDrawWaveLine().
bool OutputDevice::HasFastDrawTransformedBitmap | ( | ) | const |
Return true if DrawTransformedBitmapEx() is fast.
Definition at line 708 of file outdev/bitmap.cxx.
References AcquireGraphics(), SalGraphics::HasFastDrawTransformedBitmap(), ImplIsRecordLayout(), and mpGraphics.
sal_Int32 OutputDevice::HasGlyphs | ( | const vcl::Font & | rFont, |
std::u16string_view | rStr, | ||
sal_Int32 | nIndex = 0 , |
||
sal_Int32 | nLen = -1 |
||
) | const |
Definition at line 1200 of file outdev/font.cxx.
References GetFont(), GetFontCharMap(), i, nIndex, SAL_WARN_IF, and SetFont().
|
virtual |
Reimplemented in Printer.
Definition at line 703 of file outdev.cxx.
References AcquireGraphics(), BiDiRtl, SalGraphics::GetLayout(), and mpGraphics.
Referenced by SalInstanceWidget::DoRecursivePaint(), FloatingWindow::ImplConvertToAbsPos(), FloatingWindow::ImplConvertToRelPos(), ImplDrawTextDirect(), StatusBar::ImplFormat(), vcl::Window::ImplGetUnmirroredOutOffX(), ImplHandleKey(), vcl::Window::ImplPaintToDevice(), vcl::Window::ImplPosSizeWindow(), vcl::Window::PaintToDevice(), vcl::Window::SetPointerPosPixel(), and vcl::Window::setPosSizePixel().
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, and Point.
Referenced by ScrollBar::MouseButtonDown().
|
staticprotected |
Definition at line 689 of file text.cxx.
Referenced by ImplGetTextLines().
|
staticprotected |
Definition at line 573 of file text.cxx.
References Alternate, Break, End, getLocale(), Application::GetSettings(), vcl::ITextLayout::GetTextBreak(), nPos, and SAL_WARN_IF.
Referenced by ImplGetTextLines().
|
static |
Definition at line 309 of file outdev/font.cxx.
References AcquireGraphics(), SalGraphics::ClearDevFontCache(), SalGraphics::GetDevFontList(), vcl::Window::GetOutDev(), ImplClearFontData(), ImplGetSVData(), ImplUpdateFontDataForAllFrames(), ImplSVData::maFrameData, ImplSVData::maGDIData, ImplSVFrameData::mpFirstFrame, mpGraphics, vcl::Window::mpWindowImpl, ImplSVGDIData::mxScreenFontCache, and ImplSVGDIData::mxScreenFontList.
Referenced by ImplUpdateAllFontData().
|
protectedvirtual |
Reimplemented in vcl::PDFWriterImpl, and vcl::WindowOutputDevice.
Definition at line 263 of file outdev/font.cxx.
References AcquireGraphics(), ImplGetSVData(), ImplSVData::maGDIData, mbInitFont, mbNewFont, mpFontFaceCollection, mpFontInstance, mpGraphics, mxFontCache, mxFontCollection, ImplSVGDIData::mxScreenFontCache, ImplSVGDIData::mxScreenFontList, and SalGraphics::ReleaseFonts().
Referenced by ImplClearAllFontData(), vcl::PDFWriterImpl::ImplClearFontData(), vcl::WindowOutputDevice::ImplClearFontData(), and ImplUpdateFontData().
tools::Rectangle OutputDevice::ImplDevicePixelToLogic | ( | const tools::Rectangle & | rPixelRect | ) | const |
Convert a rectangle in physical pixel units to a rectangle in physical pixel units and coords.
rPixelRect | Const reference to rectangle in logical units and coords. |
Definition at line 561 of file map.cxx.
References tools::Rectangle::Bottom(), ImplPixelToLogic(), tools::Rectangle::IsHeightEmpty(), tools::Rectangle::IsWidthEmpty(), tools::Rectangle::Left(), maMapRes, mbMap, mnDPIX, mnDPIY, ImplMapRes::mnMapOfsX, ImplMapRes::mnMapOfsY, ImplMapRes::mnMapScDenomX, ImplMapRes::mnMapScDenomY, ImplMapRes::mnMapScNumX, ImplMapRes::mnMapScNumY, mnOutOffOrigX, mnOutOffOrigY, mnOutOffX, mnOutOffY, tools::Rectangle::Right(), tools::Rectangle::SetHeightEmpty(), tools::Rectangle::SetWidthEmpty(), and tools::Rectangle::Top().
Referenced by GetNativeControlRegion(), and vcl::Window::PushPaintHelper().
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.
nHeight | Height in device pixels |
Definition at line 317 of file map.cxx.
References ImplPixelToLogic(), maMapRes, mbMap, mnDPIY, ImplMapRes::mnMapScDenomY, and ImplMapRes::mnMapScNumY.
Referenced by vcl::PDFWriterImpl::drawLayout(), GetFontMetric(), and GetTextHeight().
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.
nWidth | Width in device pixels |
Definition at line 309 of file map.cxx.
References ImplPixelToLogic(), maMapRes, mbMap, mnDPIX, ImplMapRes::mnMapScDenomX, and ImplMapRes::mnMapScNumX.
Referenced by DrawHatch(), vcl::PDFWriterImpl::drawLayout(), GetCaretPositions(), GetMinKashida(), and GetTextArray().
|
protected |
Definition at line 809 of file outdev.cxx.
References mxCanvas.
Referenced by vcl::Window::dispose(), and WorkWindow::ShowFullScreenMode().
|
private |
Definition at line 861 of file outdev/font.cxx.
References tools::PolyPolygon::Count(), DrawPolyLine(), DrawPolyPolygon(), DrawRect(), tools::PolyPolygon::GetObject(), tools::Rectangle::GetSize(), tools::Rectangle::IsEmpty(), IsRTLEnabled(), tools::Rectangle::Left(), mnOutOffX, mnOutOffY, tools::Polygon::Move(), tools::PolyPolygon::Move(), Point, and tools::Rectangle::Top().
Referenced by ImplDrawEmphasisMarks().
|
private |
Definition at line 903 of file outdev/font.cxx.
References basegfx::Tuple2D< typename TYPE >::adjustX(), basegfx::Tuple2D< typename TYPE >::adjustY(), SalLayout::DrawBase(), EnableMapMode(), GetDPIY(), vcl::Font::GetEmphasisMarkStyle(), GetFillColor(), GlyphItem::GetGlyphBoundRect(), GetLineColor(), SalLayout::GetNextGlyph(), vcl::font::EmphasisMark::GetRect1(), vcl::font::EmphasisMark::GetRect2(), vcl::font::EmphasisMark::GetShape(), GetTextColor(), tools::Rectangle::GetWidth(), vcl::font::EmphasisMark::GetWidth(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), vcl::font::EmphasisMark::GetYOffset(), ImplDrawEmphasisMark(), vcl::font::EmphasisMark::IsShapePolyLine(), GlyphItem::IsSpacing(), GlyphItem::IsVertical(), tools::Rectangle::Left(), maFont, mbMap, mnEmphasisAscent, mnEmphasisDescent, mpFontInstance, mpMetaFile, GlyphItem::origWidth(), Point, SetFillColor(), and SetLineColor().
Referenced by ImplDrawTextDirect().
|
private |
Definition at line 882 of file textline.cxx.
References ImplDrawTextLine(), IsRTLEnabled(), LINESTYLE_NONE, LINESTYLE_SINGLE, and STRIKEOUT_NONE.
Referenced by DrawCtrlText(), and ImplDrawText().
|
private |
Definition at line 443 of file polygon.cxx.
References SalGraphics::DrawPolygon(), tools::Polygon::GetConstPointAry(), tools::Polygon::GetSize(), ImplDrawPolyPolygon(), mpGraphics, and Point.
Referenced by DrawComplexGradient(), DrawLinearGradient(), and ImplDrawTextRect().
|
private |
Definition at line 461 of file polygon.cxx.
References tools::PolyPolygon::Count(), SalGraphics::DrawPolygon(), SalGraphics::DrawPolyPolygon(), tools::Polygon::GetConstPointAry(), tools::PolyPolygon::GetIntersection(), tools::PolyPolygon::GetObject(), tools::Polygon::GetSize(), i, mpGraphics, nCount, and Point.
Referenced by DrawComplexGradient(), DrawPolyPolygon(), ImplDrawPolygon(), ImplDrawPolyPolygon(), and ImplDrawPolyPolygonWithB2DPolyPolygon().
|
private |
Definition at line 353 of file polygon.cxx.
References tools::PolyPolygon::Count(), SalGraphics::DrawPolygon(), SalGraphics::DrawPolygonBezier(), SalGraphics::DrawPolyPolygon(), SalGraphics::DrawPolyPolygonBezier(), tools::Polygon::GetConstFlagAry(), tools::Polygon::GetConstPointAry(), tools::PolyPolygon::GetObject(), tools::Polygon::GetSize(), i, ImplDrawPolyPolygon(), last, mpGraphics, OUTDEV_POLYPOLY_STACKBUF, Point, tools::Polygon::SubdivideBezier(), and tools::PolyPolygon::SubdivideBezier().
|
private |
Definition at line 269 of file polygon.cxx.
References AcquireGraphics(), B2DDraw, basegfx::B2DPolyPolygon::count(), tools::PolyPolygon::Count(), basegfx::deg2rad(), SalGraphics::DrawPolyLine(), SalGraphics::DrawPolyPolygon(), GetRasterOp(), ImplDrawPolyPolygon(), ImplDrawPolyPolygonWithB2DPolyPolygon(), ImplGetDeviceTransformation(), ImplLogicToDevicePixel(), InitClipRegion(), InitFillColor(), InitLineColor(), basegfx::B2DPolyPolygon::isClosed(), IsDeviceOutputNecessary(), IsFillColor(), IsLineColor(), mbInitClipRegion, mbInitFillColor, mbInitLineColor, mbOutputClipped, mnAntialiasing, mpAlphaVDev, mpGraphics, basegfx::NONE, OverPaint, PixelSnapHairline, basegfx::B2DPolyPolygon::setClosed(), and SalGraphics::supportsOperation().
Referenced by DrawPolyLine(), DrawPolyPolygon(), and ImplDrawPolyPolygonWithB2DPolyPolygon().
bool OutputDevice::ImplDrawRotateText | ( | SalLayout & | rSalLayout | ) |
Definition at line 228 of file text.cxx.
References basegfx::Tuple2D< typename TYPE >::adjustX(), basegfx::Tuple2D< typename TYPE >::adjustY(), COL_BLACK(), COL_WHITE(), VclPtr< reference_type >::Create(), SalLayout::DrawBase(), DrawMask(), SalLayout::DrawOffset(), SalLayout::DrawText(), EnableMapMode(), GetBitmap(), tools::Polygon::GetBoundRect(), SalLayout::GetBoundRect(), GetFont(), tools::Rectangle::GetSize(), GetTextColor(), SalLayout::GetTextWidth(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), ImplInitTextColor(), InitFont(), Bitmap::IsEmpty(), tools::Rectangle::Left(), mbMap, mnEmphasisAscent, mnEmphasisDescent, vcl::font::FontSelectPattern::mnHeight, mnOutOffX, mnOutOffY, vcl::font::FontSelectPattern::mnWidth, mpFontInstance, mpGraphics, mpMetaFile, mpOutDevData, Point, tools::Polygon::Rotate(), Bitmap::Rotate(), SetFont(), vcl::Font::SetFontSize(), vcl::Font::SetOrientation(), VirtualDevice::SetOutputSizePixel(), SetTextColor(), SetTextFillColor(), tools::Rectangle::Top(), and tools::Rectangle::TopLeft().
Referenced by ImplDrawTextDirect().
|
private |
Definition at line 344 of file text.cxx.
References COL_BLACK(), COL_LIGHTGRAY(), COL_WHITE(), SalLayout::DrawBase(), SalLayout::DrawOffset(), Engraved, GetOverlineColor(), vcl::Font::GetRelief(), GetTextColor(), GetTextLineColor(), ImplDrawTextDirect(), ImplInitTextColor(), vcl::Font::IsOutline(), vcl::Font::IsShadow(), maFont, mbTextLines, mnDPIX, mpFontInstance, NONE, Point, SetOverlineColor(), SetTextColor(), and SetTextLineColor().
Referenced by ImplDrawText().
|
private |
Definition at line 349 of file textline.cxx.
References ImplDrawTextRect(), utl::ConfigManager::IsFuzzing(), LINESTYLE_BOLD, LINESTYLE_BOLDDASH, LINESTYLE_BOLDDASHDOT, LINESTYLE_BOLDDASHDOTDOT, LINESTYLE_BOLDDOTTED, LINESTYLE_BOLDLONGDASH, LINESTYLE_DASH, LINESTYLE_DASHDOT, LINESTYLE_DASHDOTDOT, LINESTYLE_DOTTED, LINESTYLE_DOUBLE, LINESTYLE_LONGDASH, LINESTYLE_SINGLE, mbInitFillColor, mbInitLineColor, mbLineColor, mnDPIX, mnDPIY, mpFontInstance, mpGraphics, LogicalFontInstance::mxFontMetric, SAL_WARN, SalGraphics::SetFillColor(), SalGraphics::SetLineColor(), and UNDERLINE_LAST.
Referenced by ImplDrawTextLine().
|
private |
Definition at line 662 of file textline.cxx.
References vcl::text::BiDiStrong, vcl::CLIPREGION, tools::Polygon::GetBoundRect(), GetTextColor(), i, ImplInitTextColor(), ImplLayout(), InitClipRegion(), IntersectClipRegion(), tools::Rectangle::Left(), mbInitClipRegion, mnTextLayoutMode, mnTextOffX, mnTextOffY, mpFontInstance, mpGraphics, PixelToLogic(), Point, Pop(), Push(), tools::Polygon::Rotate(), tools::Rectangle::SetBottom(), tools::Rectangle::SetLeft(), tools::Rectangle::SetRight(), SetTextColor(), tools::Rectangle::SetTop(), and STRIKEOUT_SLASH.
Referenced by ImplDrawTextLine().
|
private |
Definition at line 600 of file textline.cxx.
References ImplDrawTextRect(), mbInitFillColor, mbInitLineColor, mbLineColor, mpFontInstance, mpGraphics, LogicalFontInstance::mxFontMetric, SalGraphics::SetFillColor(), SalGraphics::SetLineColor(), STRIKEOUT_BOLD, STRIKEOUT_DOUBLE, STRIKEOUT_LAST, and STRIKEOUT_SINGLE.
Referenced by ImplDrawTextLine().
|
static |
Definition at line 1550 of file text.cxx.
References 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(), vcl::ITextLayout::GetCaretPositions(), 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(), GetTextColor(), GetTextFillColor(), GetTextHeight(), vcl::ITextLayout::GetTextWidth(), tools::Rectangle::GetWidth(), ImplTextLineInfo::GetWidth(), i, ImplDrawMnemonicLine(), ImplGetEllipsisString(), ImplGetTextLines(), ImplLogicWidthToDevicePixel(), IntersectClipRegion(), IsBackground(), Color::IsBright(), Color::IsDark(), utl::ConfigManager::IsFuzzing(), IsTextFillColor(), tools::Rectangle::Left(), Left, LINEEND_LF, LogicToPixel(), LogicWidthToDeviceCoordinate(), Mnemonic, MultiLine, nIndex, NoMnemonics, Point, Pop(), Push(), removeMnemonicFromString(), Right, SAL_WARN_IF, SetTextColor(), SetTextFillColor(), TEXT_DRAW_ELLIPSIS, Top, tools::Rectangle::TopLeft(), and VCenter.
Referenced by AddTextRectActions(), DrawStretchText(), DrawText(), and DrawTextArray().
void OutputDevice::ImplDrawText | ( | SalLayout & | rSalLayout | ) |
Definition at line 464 of file text.cxx.
References SalLayout::DrawBase(), ImplDrawSpecialText(), ImplDrawTextBackground(), ImplDrawTextDirect(), ImplInitTextColor(), InitClipRegion(), IsTextFillColor(), mbInitClipRegion, mbInitTextColor, mbOutputClipped, mbTextLines, mbTextSpecial, mnTextOffX, and mnTextOffY.
void OutputDevice::ImplDrawTextBackground | ( | const SalLayout & | rSalLayout | ) |
Definition at line 170 of file text.cxx.
References SalLayout::DrawBase(), GetTextFillColor(), SalLayout::GetTextWidth(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), ImplDrawTextRect(), mbInitFillColor, mbInitLineColor, mbLineColor, mnEmphasisAscent, mnEmphasisDescent, mpFontInstance, mpGraphics, SalGraphics::SetFillColor(), and SalGraphics::SetLineColor().
Referenced by ImplDrawText().
|
private |
Definition at line 301 of file text.cxx.
References SalLayout::DrawBase(), SalLayout::DrawText(), vcl::Font::GetEmphasisMark(), SalGraphics::GetGraphicsWidth(), vcl::Font::GetOverline(), vcl::Font::GetStrikeout(), vcl::Font::GetUnderline(), basegfx::Tuple2D< typename TYPE >::getX(), HasMirroredGraphics(), ImplDrawEmphasisMarks(), ImplDrawRotateText(), ImplDrawTextLines(), IsRTLEnabled(), vcl::Font::IsUnderlineAbove(), IsVirtual(), vcl::Font::IsWordLineMode(), maFont, mnOutOffX, mnOutWidth, mpFontInstance, mpGraphics, basegfx::Tuple2D< typename TYPE >::setX(), w, and x.
Referenced by ImplDrawSpecialText(), and ImplDrawText().