summaryrefslogtreecommitdiff
path: root/src/FbTk/App.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/FbTk/App.cc')
-rw-r--r--src/FbTk/App.cc34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/FbTk/App.cc b/src/FbTk/App.cc
index 39cd36e..a70aa82 100644
--- a/src/FbTk/App.cc
+++ b/src/FbTk/App.cc
@@ -36,7 +36,9 @@ App *App::instance() {
36 return s_app; 36 return s_app;
37} 37}
38 38
39App::App(const char *displayname):m_done(false), m_display(0) { 39App::App(const char *displayname):
40 m_done(false), m_display(0)
41{
40 if (s_app != 0) 42 if (s_app != 0)
41 throw std::string("Can't create more than one instance of FbTk::App"); 43 throw std::string("Can't create more than one instance of FbTk::App");
42 s_app = this; 44 s_app = this;
@@ -79,4 +81,34 @@ void App::end() {
79 m_done = true; //end loop in App::eventLoop 81 m_done = true; //end loop in App::eventLoop
80} 82}
81 83
84void App::registerScreenDefaults(unsigned int screen, Visual *visual, Colormap cmap, unsigned int depth) {
85 ScreenDflt d(visual, cmap, depth);
86
87 m_screen_defaults[screen] = d;
88}
89
90Visual *App::defaultVisual(unsigned int screen) {
91 if (m_screen_defaults.find(screen) != m_screen_defaults.end()) {
92 return m_screen_defaults[screen].visual;
93 }
94
95 return DefaultVisual(display(), screen);
96}
97
98Colormap App::defaultColormap(unsigned int screen) {
99 if (m_screen_defaults.find(screen) != m_screen_defaults.end()) {
100 return m_screen_defaults[screen].cmap;
101 }
102
103 return DefaultColormap(display(), screen);
104}
105
106int App::defaultDepth(unsigned int screen) {
107 if (m_screen_defaults.find(screen) != m_screen_defaults.end()) {
108 return m_screen_defaults[screen].depth;
109 }
110
111 return DefaultDepth(display(), screen);
112}
113
82} // end namespace FbTk 114} // end namespace FbTk