bump product version to 6.4.0.3
[LibreOffice.git] / vcl / inc / opengl / x11 / salvd.hxx
bloba77b9874e48b3bee574bf5aab0322192411ddb6d
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_OPENGL_X11_SALVD_H
11 #define INCLUDED_VCL_INC_OPENGL_X11_SALVD_H
13 #include <memory>
14 #include <X11/Xlib.h>
15 #include <X11/Xutil.h>
17 #include <unx/saltype.h>
18 #include <salvd.hxx>
20 class SalDisplay;
21 class X11OpenGLSalGraphics;
22 class X11SalGraphics;
24 class X11OpenGLSalVirtualDevice : public SalVirtualDevice
26 SalDisplay *mpDisplay;
27 std::unique_ptr<X11SalGraphics>
28 mpGraphics;
29 bool mbGraphics; // is Graphics used
30 SalX11Screen mnXScreen;
31 int mnWidth;
32 int mnHeight;
34 public:
35 X11OpenGLSalVirtualDevice( SalGraphics const *pGraphics,
36 long nDX, long nDY,
37 const SystemGraphicsData *pData,
38 std::unique_ptr<X11SalGraphics> pNewGraphics);
39 virtual ~X11OpenGLSalVirtualDevice() override;
41 // SalGeometryProvider
42 virtual long GetWidth() const override { return mnWidth; }
43 virtual long GetHeight() const override { return mnHeight; }
45 SalDisplay * GetDisplay() const { return mpDisplay; }
46 const SalX11Screen& GetXScreenNumber() const { return mnXScreen; }
48 virtual SalGraphics* AcquireGraphics() override;
49 virtual void ReleaseGraphics( SalGraphics* pGraphics ) override;
51 // Set new size, without saving the old contents
52 virtual bool SetSize( long nNewDX, long nNewDY ) override;
55 #endif // INCLUDED_VCL_INC_OPENGL_X11_SALVD_H
57 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */