summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-23 07:26:32 +0000
committerDana Jansens <danakj@orodu.net>2003-01-23 07:26:32 +0000
commit9a64438a5a53624e5f5c7c3dbb5123e246693e5e (patch)
tree82c2559946ff9fe3cef8686623d9d43c1a0bb7dc
parentbf3a40ad66d20b85c21233fce909c22f8dcf0bf8 (diff)
set the root window, to a color for now
-rw-r--r--otk/display.cc6
-rw-r--r--otk/display.hh6
-rw-r--r--otk/rendercontrol.cc7
-rw-r--r--otk/rendercontrol.hh12
-rw-r--r--otk/renderstyle.cc4
-rw-r--r--otk/renderstyle.hh4
-rw-r--r--src/screen.cc1
7 files changed, 29 insertions, 11 deletions
diff --git a/otk/display.cc b/otk/display.cc
index 68f0862b..367ee3eb 100644
--- a/otk/display.cc
+++ b/otk/display.cc
@@ -197,7 +197,7 @@ Display::~Display()
}
-const ScreenInfo* Display::screenInfo(int snum)
+const ScreenInfo* Display::screenInfo(int snum) const
{
assert(snum >= 0);
assert(snum < (signed) ScreenCount(_display));
@@ -205,7 +205,7 @@ const ScreenInfo* Display::screenInfo(int snum)
}
-const ScreenInfo* Display::findScreen(Window root)
+const ScreenInfo* Display::findScreen(Window root) const
{
for (int i = 0; i < ScreenCount(_display); ++i)
if (_screeninfo_list[i]->rootWindow() == root)
@@ -214,7 +214,7 @@ const ScreenInfo* Display::findScreen(Window root)
}
-const RenderControl *Display::renderControl(int snum)
+const RenderControl *Display::renderControl(int snum) const
{
assert(snum >= 0);
assert(snum < (signed) ScreenCount(_display));
diff --git a/otk/display.hh b/otk/display.hh
index ccce6ae1..28d33675 100644
--- a/otk/display.hh
+++ b/otk/display.hh
@@ -94,13 +94,13 @@ public:
@param snum The screen number of the screen to retrieve info on
@return Info on the requested screen, in a ScreenInfo class
*/
- const ScreenInfo* screenInfo(int snum);
+ const ScreenInfo* screenInfo(int snum) const;
//! Find a ScreenInfo based on a root window
- const ScreenInfo* findScreen(Window root);
+ const ScreenInfo* findScreen(Window root) const;
//! Gets the RenderControl for a screen
- const RenderControl *renderControl(int snum);
+ const RenderControl *renderControl(int snum) const;
//! Returns if the display has the xkb extension available
inline bool xkb() const { return _xkb; }
diff --git a/otk/rendercontrol.cc b/otk/rendercontrol.cc
index 50a00ffa..6b664b62 100644
--- a/otk/rendercontrol.cc
+++ b/otk/rendercontrol.cc
@@ -60,6 +60,13 @@ RenderControl::~RenderControl()
}
+void RenderControl::drawRoot(const RenderColor &color) const
+{
+ Window root = display->screenInfo(_screen)->rootWindow();
+ XSetWindowBackground(**display, root, color.pixel());
+ XClearWindow(**display, root);
+}
+
void RenderControl::drawString(Surface& sf, const Font &font, int x, int y,
const RenderColor &color,
const ustring &string) const
diff --git a/otk/rendercontrol.hh b/otk/rendercontrol.hh
index 1d9ab7e7..781c32d4 100644
--- a/otk/rendercontrol.hh
+++ b/otk/rendercontrol.hh
@@ -71,14 +71,16 @@ public:
static RenderControl *getRenderControl(int screen);
+ virtual void drawRoot(const RenderColor &color) const;
+
//! Draws a string onto a Surface
- virtual void drawString(Surface& sf, const Font& font, int x, int y,
- const RenderColor& color,
- const ustring& string) const;
+ virtual void drawString(Surface &sf, const Font &font, int x, int y,
+ const RenderColor &color,
+ const ustring &string) const;
//! Draws a background onto a Surface, as specified by a RenderTexture
- virtual void drawBackground(Surface& sf,
- const RenderTexture& texture) const = 0;
+ virtual void drawBackground(Surface &sf,
+ const RenderTexture &texture) const = 0;
};
}
diff --git a/otk/renderstyle.cc b/otk/renderstyle.cc
index a2cfae21..41745ea0 100644
--- a/otk/renderstyle.cc
+++ b/otk/renderstyle.cc
@@ -14,6 +14,8 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
: _screen(screen),
_file(stylefile)
{
+ _root_color = new RenderColor(_screen, 0x272a2f);
+
_text_color_focus = new RenderColor(_screen, 0x272a2f);
_text_color_unfocus = new RenderColor(_screen, 0x676869);
@@ -220,6 +222,8 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
RenderStyle::~RenderStyle()
{
+ delete _root_color;
+
delete _text_color_focus;
delete _text_color_unfocus;
diff --git a/otk/renderstyle.hh b/otk/renderstyle.hh
index d61c99da..2d2c3250 100644
--- a/otk/renderstyle.hh
+++ b/otk/renderstyle.hh
@@ -27,6 +27,8 @@ public:
private:
int _screen;
std::string _file;
+
+ RenderColor *_root_color;
RenderColor *_text_color_focus;
RenderColor *_text_color_unfocus;
@@ -75,6 +77,8 @@ public:
inline int screen() const { return _screen; }
+ inline RenderColor *rootColor() const { return _root_color; }
+
inline RenderColor *textFocusColor() const { return _text_color_focus; }
inline RenderColor *textUnfocusColor() const { return _text_color_unfocus; }
diff --git a/src/screen.cc b/src/screen.cc
index 1de4f72a..1337038b 100644
--- a/src/screen.cc
+++ b/src/screen.cc
@@ -89,6 +89,7 @@ Screen::Screen(int screen)
}
_style.load(sconfig);
*/
+ otk::display->renderControl(_number)->drawRoot(*_style.rootColor());
// set up notification of netwm support
changeSupportedAtoms();