Patch: [#22524] Update Windows Recent Documents on Open/Save
[blender.git] / intern / ghost / intern / GHOST_DisplayManagerX11.cpp
1 /**
2  * $Id$
3  * ***** BEGIN GPL LICENSE BLOCK *****
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18  *
19  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
20  * All rights reserved.
21  *
22  * The Original Code is: all of this file.
23  *
24  * Contributor(s): none yet.
25  *
26  * ***** END GPL LICENSE BLOCK *****
27  */
28
29 #include "GHOST_DisplayManagerX11.h"
30 #include "GHOST_SystemX11.h"
31
32
33
34 GHOST_DisplayManagerX11::
35 GHOST_DisplayManagerX11(
36         GHOST_SystemX11 *system
37 ) :
38         GHOST_DisplayManager(),
39         m_system(system)
40 {
41         //nothing to do.
42 }
43
44         GHOST_TSuccess 
45 GHOST_DisplayManagerX11::
46 getNumDisplays(
47         GHOST_TUns8& numDisplays
48 ) const{        
49         numDisplays =  m_system->getNumDisplays();
50         return GHOST_kSuccess;
51 }
52
53
54         GHOST_TSuccess 
55 GHOST_DisplayManagerX11::
56 getNumDisplaySettings(
57         GHOST_TUns8 display,
58         GHOST_TInt32& numSettings
59 ) const{
60         
61         // We only have one X11 setting at the moment.
62         GHOST_ASSERT(display < 1, "Only single display systems are currently supported.\n");    
63         numSettings = GHOST_TInt32(1);
64         return GHOST_kSuccess;
65 }
66
67         GHOST_TSuccess 
68 GHOST_DisplayManagerX11::
69 getDisplaySetting(
70         GHOST_TUns8 display,
71         GHOST_TInt32 index,
72         GHOST_DisplaySetting& setting
73 ) const {
74         
75         GHOST_ASSERT(display < 1, "Only single display systems are currently supported.\n");    
76         GHOST_ASSERT(index < 1, "Requested setting outside of valid range.\n"); 
77         
78         Display * x_display = m_system->getXDisplay();
79
80         if (x_display == NULL) {
81                 return GHOST_kFailure;
82         }
83
84         setting.xPixels  = DisplayWidth(x_display, DefaultScreen(x_display));
85         setting.yPixels = DisplayHeight(x_display, DefaultScreen(x_display));
86         setting.bpp = DefaultDepth(x_display,DefaultScreen(x_display));
87
88         // Don't think it's possible to get this value from X!
89         // So let's guess!!
90         setting.frequency = 60;
91
92         return GHOST_kSuccess;
93 }
94         
95         GHOST_TSuccess 
96 GHOST_DisplayManagerX11::
97 getCurrentDisplaySetting(
98         GHOST_TUns8 display,
99         GHOST_DisplaySetting& setting
100 ) const {
101         return getDisplaySetting(display,GHOST_TInt32(0),setting);
102 }
103
104
105         GHOST_TSuccess 
106 GHOST_DisplayManagerX11::
107 setCurrentDisplaySetting(
108         GHOST_TUns8 display,
109         const GHOST_DisplaySetting& setting
110 ){
111         // This is never going to work robustly in X 
112         // but it's currently part of the full screen interface
113
114         // we fudge it for now.
115
116         return GHOST_kSuccess;
117 }
118
119
120
121