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_OPENGL_X11_X11DEVICEINFO_HXX
11 #define INCLUDED_VCL_INC_OPENGL_X11_X11DEVICEINFO_HXX
12 
13 #include <opengl/DeviceInfo.hxx>
14 
15 #include <rtl/string.hxx>
16 
17 class X11OpenGLDeviceInfo : public OpenGLDeviceInfo
18 {
19 private:
20     bool mbIsMesa;
21     bool mbIsNVIDIA;
22     bool mbIsFGLRX;
23     bool mbIsNouveau;
24     bool mbIsIntel;
25     bool mbIsOldSwrast;
26     bool mbIsLlvmpipe;
27 
28     OString maVendor;
29     OString maRenderer;
30     OString maVersion;
31     OString maOS;
32     OString maOSRelease;
33 
34     size_t mnGLMajorVersion;
35     size_t mnMajorVersion;
36     size_t mnMinorVersion;
37     size_t mnRevisionVersion;
38 
39     void GetData();
40 
41 public:
42     X11OpenGLDeviceInfo();
43 
44     virtual bool isDeviceBlocked() override;
45 
GetVendor() const46     const OString& GetVendor() const
47     {
48         return maVendor;
49     }
50 
GetRenderer() const51     const OString& GetRenderer() const
52     {
53         return maRenderer;
54     }
55 
GetVersion() const56     const OString& GetVersion() const
57     {
58         return maVersion;
59     }
60 
GetOS() const61     const OString& GetOS() const
62     {
63         return maOS;
64     }
65 
GetOSRelease() const66     const OString& GetOSRelease() const
67     {
68         return maOSRelease;
69     }
70 
71 };
72 
73 #endif
74 
75 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
76