#include <assert.h>
#include "texture.hh"
-#include "basedisplay.hh"
+#include "display.hh"
#include "image.hh"
-#include "screen.hh"
-#include "blackbox.hh"
using std::string;
+namespace otk {
-BTexture::BTexture(const BaseDisplay * const _display,
- unsigned int _screen, BImageControl* _ctrl)
- : c(_display, _screen), ct(_display, _screen),
- lc(_display, _screen), sc(_display, _screen), bc(_display, _screen), t(0),
- dpy(_display), ctrl(_ctrl), scrn(_screen) { }
+Texture::Texture(unsigned int _screen, ImageControl* _ctrl)
+ : c(_screen), ct(_screen),
+ lc(_screen), sc(_screen), bc(_screen), t(0),
+ ctrl(_ctrl), scrn(_screen) { }
-BTexture::BTexture(const string &d, const BaseDisplay * const _display,
- unsigned int _screen, BImageControl* _ctrl)
- : c(_display, _screen), ct(_display, _screen),
- lc(_display, _screen), sc(_display, _screen), bc(_display, _screen), t(0),
- dpy(_display), ctrl(_ctrl), scrn(_screen) {
+Texture::Texture(const string &d,unsigned int _screen, ImageControl* _ctrl)
+ : c(_screen), ct(_screen),
+ lc(_screen), sc(_screen), bc(_screen), t(0),
+ ctrl(_ctrl), scrn(_screen) {
setDescription(d);
}
-void BTexture::setColor(const BColor &cc) {
+void Texture::setColor(const Color &cc) {
c = cc;
- c.setDisplay(display(), screen());
+ c.setScreen(screen());
unsigned char r, g, b, rr, gg, bb;
if (rr < r) rr = ~0;
if (gg < g) gg = ~0;
if (bb < b) bb = ~0;
- lc = BColor(rr, gg, bb, display(), screen());
+ lc = Color(rr, gg, bb, screen());
// calculate the shadow color
r = c.red();
if (rr > r) rr = 0;
if (gg > g) gg = 0;
if (bb > b) bb = 0;
- sc = BColor(rr, gg, bb, display(), screen());
+ sc = Color(rr, gg, bb, screen());
}
-void BTexture::setDescription(const string &d) {
+void Texture::setDescription(const string &d) {
descr.erase();
descr.reserve(d.length());
descr += tolower(*it);
if (descr.find("parentrelative") != string::npos) {
- setTexture(BTexture::Parent_Relative);
+ setTexture(Texture::Parent_Relative);
} else {
setTexture(0);
if (descr.find("gradient") != string::npos) {
- addTexture(BTexture::Gradient);
+ addTexture(Texture::Gradient);
if (descr.find("crossdiagonal") != string::npos)
- addTexture(BTexture::CrossDiagonal);
+ addTexture(Texture::CrossDiagonal);
else if (descr.find("rectangle") != string::npos)
- addTexture(BTexture::Rectangle);
+ addTexture(Texture::Rectangle);
else if (descr.find("pyramid") != string::npos)
- addTexture(BTexture::Pyramid);
+ addTexture(Texture::Pyramid);
else if (descr.find("pipecross") != string::npos)
- addTexture(BTexture::PipeCross);
+ addTexture(Texture::PipeCross);
else if (descr.find("elliptic") != string::npos)
- addTexture(BTexture::Elliptic);
+ addTexture(Texture::Elliptic);
else if (descr.find("horizontal") != string::npos)
- addTexture(BTexture::Horizontal);
+ addTexture(Texture::Horizontal);
else if (descr.find("vertical") != string::npos)
- addTexture(BTexture::Vertical);
+ addTexture(Texture::Vertical);
else
- addTexture(BTexture::Diagonal);
+ addTexture(Texture::Diagonal);
} else {
- addTexture(BTexture::Solid);
+ addTexture(Texture::Solid);
}
if (descr.find("sunken") != string::npos)
- addTexture(BTexture::Sunken);
+ addTexture(Texture::Sunken);
else if (descr.find("flat") != string::npos)
- addTexture(BTexture::Flat);
+ addTexture(Texture::Flat);
else
- addTexture(BTexture::Raised);
+ addTexture(Texture::Raised);
- if (texture() & BTexture::Flat) {
+ if (texture() & Texture::Flat) {
if (descr.find("border") != string::npos)
- addTexture(BTexture::Border);
+ addTexture(Texture::Border);
} else {
if (descr.find("bevel2") != string::npos)
- addTexture(BTexture::Bevel2);
+ addTexture(Texture::Bevel2);
else
- addTexture(BTexture::Bevel1);
+ addTexture(Texture::Bevel1);
}
if (descr.find("interlaced") != string::npos)
- addTexture(BTexture::Interlaced);
+ addTexture(Texture::Interlaced);
}
}
-void BTexture::setDisplay(const BaseDisplay * const _display,
- const unsigned int _screen) {
- if (_display == display() && _screen == screen()) {
+void Texture::setScreen(const unsigned int _screen) {
+ if (_screen == screen()) {
// nothing to do
return;
}
- dpy = _display;
scrn = _screen;
- c.setDisplay(_display, _screen);
- ct.setDisplay(_display, _screen);
- lc.setDisplay(_display, _screen);
- sc.setDisplay(_display, _screen);
- bc.setDisplay(_display, _screen);
+ c.setScreen(_screen);
+ ct.setScreen(_screen);
+ lc.setScreen(_screen);
+ sc.setScreen(_screen);
+ bc.setScreen(_screen);
}
-BTexture& BTexture::operator=(const BTexture &tt) {
+Texture& Texture::operator=(const Texture &tt) {
c = tt.c;
ct = tt.ct;
lc = tt.lc;
bc = tt.bc;
descr = tt.descr;
t = tt.t;
- dpy = tt.dpy;
scrn = tt.scrn;
ctrl = tt.ctrl;
}
-Pixmap BTexture::render(const unsigned int width, const unsigned int height,
+Pixmap Texture::render(const unsigned int width, const unsigned int height,
const Pixmap old) {
- assert(display() != 0);
- assert(texture() != BTexture::NoTexture);
+ assert(texture() != Texture::NoTexture);
- if (texture() == (BTexture::Flat | BTexture::Solid))
- return None;
- if (texture() == BTexture::Parent_Relative)
+// if (texture() == (Texture::Flat | Texture::Solid))
+// return None;
+ if (texture() == Texture::Parent_Relative)
return ParentRelative;
if (screen() == ~(0u))
- scrn = DefaultScreen(display()->getXDisplay());
+ scrn = DefaultScreen(**display);
assert(ctrl != 0);
Pixmap ret = ctrl->renderImage(width, height, *this);
return ret;
}
+
+}