bump product version to 7.2.5.1
[LibreOffice.git] / vcl / inc / win / wingdiimpl.hxx
blob6fc08f0a355a83557a5575272415e7d306772ffb
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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 */
10 #ifndef INCLUDED_VCL_INC_WIN_WINGDIIMPL_HXX
11 #define INCLUDED_VCL_INC_WIN_WINGDIIMPL_HXX
13 #include <win/salgdi.h>
14 #include <ControlCacheKey.hxx>
16 class ControlCacheKey;
18 // Base class for some functionality that OpenGL/Skia/GDI backends must each implement.
19 class WinSalGraphicsImplBase
21 public:
22 virtual ~WinSalGraphicsImplBase(){};
24 // If true is returned, the following functions are used for drawing controls.
25 virtual bool UseRenderNativeControl() const { return false; }
26 virtual bool TryRenderCachedNativeControl(const ControlCacheKey& /*rControlCacheKey*/,
27 int /*nX*/, int /*nY*/)
29 abort();
31 virtual bool RenderAndCacheNativeControl(CompatibleDC& /*rWhite*/, CompatibleDC& /*rBlack*/,
32 int /*nX*/, int /*nY*/,
33 ControlCacheKey& /*aControlCacheKey*/)
35 abort();
38 virtual void ClearDevFontCache(){};
40 virtual void Flush(){};
42 // Implementation for WinSalGraphics::DrawTextLayout().
43 // Returns true if handled, if false, then WinSalGraphics will handle it itself.
44 virtual bool DrawTextLayout(const GenericSalLayout&) { return false; }
47 #endif // INCLUDED_VCL_INC_WIN_WINGDIIMPL_HXX
49 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */