LibreOffice Module vcl (master) 1
osx/gdiimpl.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10#ifndef INCLUDED_VCL_INC_SKIA_OSX_GDIIMPL_HXX
11#define INCLUDED_VCL_INC_SKIA_OSX_GDIIMPL_HXX
12
13#include <vcl/dllapi.h>
14
15#include <quartz/salgdi.h>
16
17#include <skia/gdiimpl.hxx>
18#include <skia/utils.hxx>
19
20#include <SkFontMgr.h>
21
24{
25public:
27 virtual ~AquaSkiaSalGraphicsImpl() override;
28
29 virtual void freeResources() override;
30
31 virtual void UpdateGeometryProvider(SalGeometryProvider* provider) override
32 {
33 setProvider(provider);
34 }
35 static void prepareSkia();
36
37 virtual bool drawNativeControl(ControlType nType, ControlPart nPart,
38 const tools::Rectangle& rControlRegion, ControlState nState,
39 const ImplControlValue& aValue) override;
40
41 virtual void drawTextLayout(const GenericSalLayout& layout,
42 bool bTextRenderModeForResolutionIndependentLayout) override;
43
44 virtual void Flush() override;
45 virtual void Flush(const tools::Rectangle&) override;
46
47private:
48 virtual int getWindowScaling() const override;
49 virtual void createWindowSurfaceInternal(bool forceRaster = false) override;
50 virtual void flushSurfaceToWindowContext() override;
52 static inline sk_sp<SkFontMgr> fontManager;
53};
54
55#endif // INCLUDED_VCL_INC_SKIA_OSX_GDIIMPL_HXX
56
57/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
ControlType
These types are all based on the supported variants vcl/salnativewidgets.hxx and must be kept in-sync...
virtual void createWindowSurfaceInternal(bool forceRaster=false) override
virtual int getWindowScaling() const override
virtual void Flush() override
static void prepareSkia()
virtual void freeResources() override
virtual bool drawNativeControl(ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue) override
virtual void flushSurfaceToWindowContext() override
virtual void UpdateGeometryProvider(SalGeometryProvider *provider) override
Definition: osx/gdiimpl.hxx:31
virtual void Flush(const tools::Rectangle &) override
virtual void drawTextLayout(const GenericSalLayout &layout, bool bTextRenderModeForResolutionIndependentLayout) override
virtual ~AquaSkiaSalGraphicsImpl() override
AquaSkiaSalGraphicsImpl(AquaSalGraphics &rParent, AquaSharedAttributes &rShared)
static sk_sp< SkFontMgr > fontManager
Definition: osx/gdiimpl.hxx:52
Interface used to share logic on sizing between SalVirtualDevices and SalFrames.
Definition: salgeom.hxx:80
void setProvider(SalGeometryProvider *provider)
Definition: gdiimpl.hxx:245
#define VCL_PLUGIN_PUBLIC
Definition: dllapi.h:40