]> Dogcows Code - chaz/openbox/commitdiff
compiles with the new render subsystem...
authorDana Jansens <danakj@orodu.net>
Thu, 23 Jan 2003 00:14:44 +0000 (00:14 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 23 Jan 2003 00:14:44 +0000 (00:14 +0000)
13 files changed:
otk/otk.hh
src/backgroundwidget.cc
src/backgroundwidget.hh
src/buttonwidget.cc
src/buttonwidget.hh
src/frame.cc
src/frame.hh
src/labelwidget.cc
src/labelwidget.hh
src/openbox.py
src/openbox_wrap.cc
src/screen.cc
src/screen.hh

index 74fbac558b50db51b235cf598092e9168711a18b..ec6801303dc276728da163a18301703cfbfb07e2 100644 (file)
 #include "application.hh"
 #include "assassin.hh"
 #include "button.hh"
-#include "color.hh"
+#include "rendercolor.hh"
 #include "configuration.hh"
 #include "display.hh"
 #include "font.hh"
-#include "gccache.hh"
-#include "image.hh"
+//#include "gccache.hh"
+#include "rendercontrol.hh"
 #include "label.hh"
 #include "point.hh"
 #include "property.hh"
 #include "rect.hh"
 #include "screeninfo.hh"
 #include "strut.hh"
-#include "style.hh"
+#include "renderstyle.hh"
 #include "surface.hh"
-#include "texture.hh"
+#include "rendertexture.hh"
 #include "timer.hh"
 #include "util.hh"
 #include "ustring.hh"
index 9d660a7939c75cc7fcd8a7332f6586fcf9dba93a..4d1a51d0644053f645a2bb5dbcd96cb45f66fcf3 100644 (file)
@@ -26,21 +26,21 @@ void BackgroundWidget::setTextures()
   switch (type()) {
   case Type_Titlebar:
     if (_focused)
-      setTexture(_style->getTitleFocus());
+      setTexture(_style->titlebarFocusBackground());
     else
-      setTexture(_style->getTitleUnfocus());
+      setTexture(_style->titlebarUnfocusBackground());
     break;
   case Type_Handle:
     if (_focused)
-      setTexture(_style->getHandleFocus());
+      setTexture(_style->handleFocusBackground());
     else
-      setTexture(_style->getHandleUnfocus());
+      setTexture(_style->handleUnfocusBackground());
     break;
   case Type_Plate:
     if (_focused)
-      setBorderColor(&_style->getFrameFocus()->color());
+      setBorderColor(_style->clientBorderFocusColor());
     else
-      setBorderColor(&_style->getFrameUnfocus()->color());
+      setBorderColor(_style->clientBorderUnfocusColor());
     break;
   default:
     assert(false); // there's no other background widgets!
@@ -48,14 +48,14 @@ void BackgroundWidget::setTextures()
 }
 
 
-void BackgroundWidget::setStyle(otk::Style *style)
+void BackgroundWidget::setStyle(otk::RenderStyle *style)
 {
   Widget::setStyle(style);
   setTextures();
   switch (type()) {
   case Type_Titlebar:
   case Type_Handle:
-    setBorderColor(_style->getBorderColor());
+    setBorderColor(_style->frameBorderColor());
     break;
   case Type_Plate:
     break;
index 23dd991864d0e644cdf955449ce160be0ea3f03f..640ac45e37d04834873eca6b273d2415e36482bf 100644 (file)
@@ -16,7 +16,7 @@ public:
   BackgroundWidget(otk::Widget *parent, WidgetBase::WidgetType type);
   virtual ~BackgroundWidget();
 
-  virtual void setStyle(otk::Style *style);
+  virtual void setStyle(otk::RenderStyle *style);
 
   virtual void adjust();
 
index 52398d92a88c03740c96b6368026dcb51748639f..4c1bd908d0d73958bdec7921efc91fd1e3559178 100644 (file)
@@ -30,9 +30,9 @@ void ButtonWidget::setTextures()
   case Type_LeftGrip:
   case Type_RightGrip:
     if (_focused)
-      setTexture(_style->getGripFocus());
+      setTexture(_style->gripFocusBackground());
     else
-      setTexture(_style->getGripUnfocus());
+      setTexture(_style->gripUnfocusBackground());
     break;
   case Type_StickyButton:
   case Type_CloseButton:
@@ -40,14 +40,14 @@ void ButtonWidget::setTextures()
   case Type_IconifyButton:
     if (_pressed) {
       if (_focused)
-        setTexture(_style->getButtonPressedFocus());
+        setTexture(_style->buttonPressFocusBackground());
       else
-        setTexture(_style->getButtonPressedUnfocus());
+        setTexture(_style->buttonPressUnfocusBackground());
     } else {
       if (_focused)
-        setTexture(_style->getButtonFocus());
+        setTexture(_style->buttonUnpressFocusBackground());
       else
-        setTexture(_style->getButtonUnfocus());
+        setTexture(_style->buttonUnpressUnfocusBackground());
     }
     break;
   default:
@@ -56,7 +56,7 @@ void ButtonWidget::setTextures()
 }
 
 
-void ButtonWidget::setStyle(otk::Style *style)
+void ButtonWidget::setStyle(otk::RenderStyle *style)
 {
   otk::Widget::setStyle(style);
   setTextures();
@@ -64,7 +64,7 @@ void ButtonWidget::setStyle(otk::Style *style)
   switch (type()) {
   case Type_LeftGrip:
   case Type_RightGrip:
-    setBorderColor(_style->getBorderColor());
+    setBorderColor(_style->frameBorderColor());
     break;
   case Type_StickyButton:
   case Type_CloseButton:
@@ -78,26 +78,31 @@ void ButtonWidget::setStyle(otk::Style *style)
 
 
 void ButtonWidget::update()
+{
+  printf("ButtonWidget::update()\n");
+}
+
+void ButtonWidget::renderForeground()
 {
   otk::PixmapMask *pm;
   int width;
   bool draw = _dirty;
 
-  otk::Widget::update();
+  otk::Widget::renderForeground();
 
   if (draw) {
     switch (type()) {
     case Type_StickyButton:
-      pm = _style->getStickyButtonMask();
+      pm = _style->stickyMask();
       break;
     case Type_CloseButton:
-      pm = _style->getCloseButtonMask();
+      pm = _style->closeMask();
       break;
     case Type_MaximizeButton:
-      pm = _style->getMaximizeButtonMask();
+      pm = _style->maximizeMask();
       break;
     case Type_IconifyButton:
-      pm = _style->getIconifyButtonMask();
+      pm = _style->iconifyMask();
       break;
     case Type_LeftGrip:
     case Type_RightGrip:
@@ -109,23 +114,23 @@ void ButtonWidget::update()
     if (pm->mask == None) return; // no mask for the button, leave it empty
 
     width = _rect.width();
-  
-    otk::Pen pen(_focused ? *_style->getButtonPicFocus() :
-                 *_style->getButtonPicUnfocus());
+
+    otk::RenderColor *color = (_focused ? _style->buttonFocusColor() :
+                               _style->buttonUnfocusColor());
 
     // set the clip region
-    XSetClipMask(**otk::display, pen.gc(), pm->mask);
-    XSetClipOrigin(**otk::display, pen.gc(),
+    XSetClipMask(**otk::display, color->gc(), pm->mask);
+    XSetClipOrigin(**otk::display, color->gc(),
                    (width - pm->w)/2, (width - pm->h)/2);
 
     // fill in the clipped region
-    XFillRectangle(**otk::display, _window, pen.gc(),
+    XFillRectangle(**otk::display, _window, color->gc(),
                    (width - pm->w)/2, (width - pm->h)/2,
                    (width + pm->w)/2, (width + pm->h)/2);
 
     // unset the clip region
-    XSetClipMask(**otk::display, pen.gc(), None);
-    XSetClipOrigin(**otk::display, pen.gc(), 0, 0);
+    XSetClipMask(**otk::display, color->gc(), None);
+    XSetClipOrigin(**otk::display, color->gc(), 0, 0);
   }
 }
 
index 16a21184255099e5a2cfdd591aa4fe28d73d8aae..5a994a9b0a750a91269e56dfb378639e6b9312c1 100644 (file)
@@ -18,11 +18,12 @@ public:
   ButtonWidget(otk::Widget *parent, WidgetBase::WidgetType type);
   virtual ~ButtonWidget();
 
-  virtual void setStyle(otk::Style *style);
+  virtual void setStyle(otk::RenderStyle *style);
 
   virtual void adjust();
 
   virtual void update();
+  virtual void renderForeground();
   
   virtual void focus();
   virtual void unfocus();
index 9606c4209251b4cb1430e21d82f92cc10df3d67c..e186e898020acac07cb9877a7dbc63e71682583a 100644 (file)
@@ -23,7 +23,7 @@ namespace ob {
 
 const long Frame::event_mask;
 
-Frame::Frame(Client *client, otk::Style *style)
+Frame::Frame(Client *client, otk::RenderStyle *style)
   : otk::Widget(openbox, style, Horizontal, 0, 1, true),
     WidgetBase(WidgetBase::Type_Frame),
     _client(client),
@@ -71,7 +71,7 @@ void Frame::setTitle(const otk::ustring &text)
 }
 
 
-void Frame::setStyle(otk::Style *style)
+void Frame::setStyle(otk::RenderStyle *style)
 {
   assert(style);
 
@@ -87,7 +87,7 @@ void Frame::setStyle(otk::Style *style)
   
   _style = style;
 
-  setBorderColor(_style->getBorderColor());
+  setBorderColor(_style->frameBorderColor());
 
   // if !replace, then adjust() will get called after the client is grabbed!
   if (replace) {
@@ -129,11 +129,11 @@ void Frame::adjustSize()
   int bwidth;  // width to make borders
   int cbwidth; // width of the inner client border
   int butsize=0; // width and height of the titlebar buttons
-  const int bevel = _style->getBevelWidth();
+  const int bevel = _style->bevelWidth();
   
   if (_decorations & Client::Decor_Border) {
-    bwidth = _style->getBorderWidth();
-    cbwidth = _style->getFrameWidth();
+    bwidth = _style->frameBorderWidth();
+    cbwidth = _style->clientBorderWidth();
   } else
     bwidth = cbwidth = 0;
   _innersize.left = _innersize.top = _innersize.bottom = _innersize.right =
@@ -153,11 +153,11 @@ void Frame::adjustSize()
     _titlebar.setGeometry(-bwidth,
                           -bwidth,
                           width,
-                          _style->getFont()->height() + bevel * 2);
+                          _style->labelFont()->height() + bevel * 2);
     _innersize.top += _titlebar.height() + bwidth;
 
     // set the label size
-    _label.setGeometry(0, bevel, width, _style->getFont()->height());
+    _label.setGeometry(0, bevel, width, _style->labelFont()->height());
     // set the buttons sizes
     butsize = _label.height() - 2;
     if (_decorations & Client::Decor_Iconify)
@@ -275,7 +275,7 @@ void Frame::adjustSize()
   if (_decorations & Client::Decor_Handle) {
     _handle.setGeometry(-bwidth,
                         _innersize.top + _client->area().height() + cbwidth,
-                        width, _style->getHandleWidth());
+                        width, _style->handleWidth());
     _grip_left.setGeometry(-bwidth,
                            -bwidth,
                            // XXX: get a Point class in otk and use that for
@@ -357,7 +357,7 @@ void Frame::adjustShape()
 {
 #ifdef SHAPE
   int bwidth = (_decorations & Client::Decor_Border) ?
-    _style->getBorderWidth() : 0;
+    _style->frameBorderWidth() : 0;
   
   if (!_client->shaped()) {
     // clear the shape on the frame window
index 3937afc21d3c9112d9d7776d97c1cc6360b41d7a..35c884fae7c1b3e766ac5da279e14a7e2d8c8c51 100644 (file)
@@ -16,7 +16,7 @@ extern "C" {
 #include "otk/strut.hh"
 #include "otk/rect.hh"
 #include "otk/screeninfo.hh"
-#include "otk/style.hh"
+#include "otk/renderstyle.hh"
 #include "otk/widget.hh"
 #include "otk/ustring.hh"
 
@@ -71,7 +71,7 @@ public:
     @param client The client window which will be decorated by the new Frame
     @param style The style to use to decorate the frame
   */
-  Frame(Client *client, otk::Style *style);
+  Frame(Client *client, otk::RenderStyle *style);
   //! Destroys the Frame object
   virtual ~Frame();
 
@@ -79,7 +79,7 @@ public:
   const otk::Strut& size() const { return _size; }
   
   //! Set the style to decorate the frame with
-  virtual void setStyle(otk::Style *style);
+  virtual void setStyle(otk::RenderStyle *style);
 
   //! Empty overridden method to prevent automatic alignment of children
   virtual void adjust();
index d76bd3f13f522046659adac6ef7e4855625ee2af..e45a8835ece099ab3627fa82d6d49cc0a55abced 100644 (file)
@@ -14,15 +14,11 @@ LabelWidget::LabelWidget(otk::Widget *parent, WidgetBase::WidgetType type)
   : otk::Widget(parent),
     WidgetBase(type)
 {
-  const otk::ScreenInfo *info = otk::display->screenInfo(_screen);
-  _xftdraw = XftDrawCreate(**otk::display, _window, info->visual(),
-                           info->colormap());
 }
 
 
 LabelWidget::~LabelWidget()
 {
-  XftDrawDestroy(_xftdraw);
 }
 
 
@@ -36,23 +32,24 @@ void LabelWidget::setText(const otk::ustring &text)
 void LabelWidget::setTextures()
 {
   if (_focused) {
-    setTexture(_style->getLabelFocus());
-    _text_color = _style->getTextFocus();
+    setTexture(_style->labelFocusBackground());
+    _text_color = _style->textFocusColor();
   } else {
-    setTexture(_style->getLabelUnfocus());
-    _text_color = _style->getTextUnfocus();
+    setTexture(_style->labelUnfocusBackground());
+    _text_color = _style->textUnfocusColor();
   }
 }
 
 
-void LabelWidget::setStyle(otk::Style *style)
+void LabelWidget::setStyle(otk::RenderStyle *style)
 {
   otk::Widget::setStyle(style);
   setTextures();
-  _font = style->getFont();
+  _font = style->labelFont();
+  _sidemargin = style->bevelWidth() * 2;
+  _justify = style->labelTextJustify();
+
   assert(_font);
-  _sidemargin = style->getBevelWidth() * 2;
-  _justify = style->textJustify();
 }
 
 
@@ -71,10 +68,16 @@ void LabelWidget::unfocus()
 
 
 void LabelWidget::update()
+{
+  printf("LabelWidget::update()\n");
+}
+
+
+void LabelWidget::renderForeground()
 {
   bool draw = _dirty;
 
-  otk::Widget::update();
+  otk::Widget::renderForeground();
 
   if (draw) {
     otk::ustring t = _text;
@@ -95,18 +98,19 @@ void LabelWidget::update()
 
       // justify the text
       switch (_justify) {
-      case otk::Style::RightJustify:
+      case otk::RenderStyle::RightJustify:
         x += max_length - length;
         break;
-      case otk::Style::CenterJustify:
+      case otk::RenderStyle::CenterJustify:
         x += (max_length - length) / 2;
         break;
-      case otk::Style::LeftJustify:
+      case otk::RenderStyle::LeftJustify:
         break;
       }
     }
 
-    _font->drawString(_xftdraw, x, 0, *_text_color, t);
+    otk::display->renderControl(_screen)->drawString
+      (*_surface, *_font, x, 0, *_text_color, t);
   }
 }
 
index 094cf86814845e1e091433125333888f190ca12c..6373e1d30431ca08dad5d329abb1a820e8afbf65 100644 (file)
@@ -5,7 +5,7 @@
 #include "widgetbase.hh"
 #include "otk/widget.hh"
 #include "otk/font.hh"
-#include "otk/style.hh"
+#include "otk/renderstyle.hh"
 #include "otk/ustring.hh"
 
 namespace ob {
@@ -15,18 +15,16 @@ class LabelWidget : public otk::Widget, public WidgetBase
 private:
   void setTextures();
   const otk::Font *_font;
-  otk::Color *_text_color;
+  otk::RenderColor *_text_color;
   int _sidemargin;
-  otk::Style::TextJustify _justify;
+  otk::RenderStyle::TextJustify _justify;
   otk::ustring _text;
-  //! Object used by Xft to render to the drawable
-  XftDraw *_xftdraw;
   
 public:
   LabelWidget(otk::Widget *parent, WidgetBase::WidgetType type);
   virtual ~LabelWidget();
 
-  virtual void setStyle(otk::Style *style);
+  virtual void setStyle(otk::RenderStyle *style);
 
   virtual void adjust();
 
@@ -35,6 +33,8 @@ public:
 
   virtual void update();
 
+  virtual void renderForeground();
+
   inline const otk::ustring &text() const { return _text; }
   void setText(const otk::ustring &text);
 };
index 5a6d18b2afb64f1c7fa7e28eec643c85ea0789e2..2a7a8c389f06b98441aba11e76ff6f07cb70991c 100644 (file)
@@ -48,6 +48,7 @@ class Display(_object):
     def gcCache(*args): return apply(_openbox.Display_gcCache,args)
     def screenInfo(*args): return apply(_openbox.Display_screenInfo,args)
     def findScreen(*args): return apply(_openbox.Display_findScreen,args)
+    def renderControl(*args): return apply(_openbox.Display_renderControl,args)
     def xkb(*args): return apply(_openbox.Display_xkb,args)
     def xkbEventBase(*args): return apply(_openbox.Display_xkbEventBase,args)
     def shape(*args): return apply(_openbox.Display_shape,args)
@@ -664,7 +665,6 @@ class Screen(EventHandler,):
     event_mask = _openbox.Screen_event_mask
     def number(*args): return apply(_openbox.Screen_number,args)
     def managed(*args): return apply(_openbox.Screen_managed,args)
-    def imageControl(*args): return apply(_openbox.Screen_imageControl,args)
     def area(*args): return apply(_openbox.Screen_area,args)
     def style(*args): return apply(_openbox.Screen_style,args)
     def focuswindow(*args): return apply(_openbox.Screen_focuswindow,args)
index 1fba163c3aa8519f7901baa4223588115e292ee3..5143dd1e2c4763867874ed5817588c4859132ef0 100644 (file)
@@ -668,7 +668,7 @@ SWIG_InstallConstants(PyObject *d, swig_const_info constants[]) {
 #define  SWIGTYPE_p_XPropertyEvent swig_types[20] 
 #define  SWIGTYPE_p_XSelectionRequestEvent swig_types[21] 
 #define  SWIGTYPE_p_ob__Cursors swig_types[22] 
-#define  SWIGTYPE_p_otk__ImageControl swig_types[23] 
+#define  SWIGTYPE_p_otk__RenderControl swig_types[23] 
 #define  SWIGTYPE_p_ob__MwmHints swig_types[24] 
 #define  SWIGTYPE_p_ob__Screen swig_types[25] 
 #define  SWIGTYPE_p_ob__Frame swig_types[26] 
@@ -682,19 +682,19 @@ SWIG_InstallConstants(PyObject *d, swig_const_info constants[]) {
 #define  SWIGTYPE_p_otk__Display swig_types[34] 
 #define  SWIGTYPE_p_Display swig_types[35] 
 #define  SWIGTYPE_p_XMappingEvent swig_types[36] 
-#define  SWIGTYPE_p_otk__Style swig_types[37] 
-#define  SWIGTYPE_p_otk__EventHandler swig_types[38] 
-#define  SWIGTYPE_p_XReparentEvent swig_types[39] 
-#define  SWIGTYPE_p_otk__EventDispatcher swig_types[40] 
-#define  SWIGTYPE_p_otk__GCCache swig_types[41] 
-#define  SWIGTYPE_p_ob__Bindings swig_types[42] 
-#define  SWIGTYPE_p_ob__Openbox swig_types[43] 
-#define  SWIGTYPE_p_ob__Actions swig_types[44] 
-#define  SWIGTYPE_p_otk__Widget swig_types[45] 
-#define  SWIGTYPE_p_XEvent swig_types[46] 
-#define  SWIGTYPE_p_otk__Property swig_types[47] 
-#define  SWIGTYPE_p_PyObject swig_types[48] 
-#define  SWIGTYPE_p_otk__ScreenInfo swig_types[49] 
+#define  SWIGTYPE_p_otk__EventHandler swig_types[37] 
+#define  SWIGTYPE_p_XReparentEvent swig_types[38] 
+#define  SWIGTYPE_p_otk__EventDispatcher swig_types[39] 
+#define  SWIGTYPE_p_otk__GCCache swig_types[40] 
+#define  SWIGTYPE_p_ob__Bindings swig_types[41] 
+#define  SWIGTYPE_p_ob__Openbox swig_types[42] 
+#define  SWIGTYPE_p_ob__Actions swig_types[43] 
+#define  SWIGTYPE_p_otk__Widget swig_types[44] 
+#define  SWIGTYPE_p_XEvent swig_types[45] 
+#define  SWIGTYPE_p_otk__Property swig_types[46] 
+#define  SWIGTYPE_p_PyObject swig_types[47] 
+#define  SWIGTYPE_p_otk__ScreenInfo swig_types[48] 
+#define  SWIGTYPE_p_otk__RenderStyle swig_types[49] 
 #define  SWIGTYPE_p_ob__EventData swig_types[50] 
 #define  SWIGTYPE_p_XCreateWindowEvent swig_types[51] 
 #define  SWIGTYPE_p_XDestroyWindowEvent swig_types[52] 
@@ -704,8 +704,8 @@ SWIG_InstallConstants(PyObject *d, swig_const_info constants[]) {
 #define  SWIGTYPE_p_XKeyEvent swig_types[56] 
 #define  SWIGTYPE_p_int swig_types[57] 
 #define  SWIGTYPE_p_otk__Strut swig_types[58] 
-#define  SWIGTYPE_p_unsigned_long swig_types[59] 
-#define  SWIGTYPE_p_p_unsigned_long swig_types[60] 
+#define  SWIGTYPE_p_p_unsigned_long swig_types[59] 
+#define  SWIGTYPE_p_unsigned_long swig_types[60] 
 #define  SWIGTYPE_p_XMotionEvent swig_types[61] 
 #define  SWIGTYPE_p_XButtonEvent swig_types[62] 
 #define  SWIGTYPE_p_XSelectionEvent swig_types[63] 
@@ -1038,6 +1038,24 @@ static PyObject *_wrap_Display_findScreen(PyObject *self, PyObject *args) {
 }
 
 
+static PyObject *_wrap_Display_renderControl(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Display *arg1 = (otk::Display *) 0 ;
+    int arg2 ;
+    otk::RenderControl *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Display_renderControl",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Display,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (otk::RenderControl *)(arg1)->renderControl(arg2);
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__RenderControl, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Display_xkb(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::Display *arg1 = (otk::Display *) 0 ;
@@ -8271,23 +8289,6 @@ static PyObject *_wrap_Screen_managed(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Screen_imageControl(PyObject *self, PyObject *args) {
-    PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    otk::ImageControl *result;
-    PyObject * obj0  = 0 ;
-    
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_imageControl",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (otk::ImageControl *)(arg1)->imageControl();
-    
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__ImageControl, 0);
-    return resultobj;
-    fail:
-    return NULL;
-}
-
-
 static PyObject *_wrap_Screen_area(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Screen *arg1 = (ob::Screen *) 0 ;
@@ -8311,14 +8312,14 @@ static PyObject *_wrap_Screen_area(PyObject *self, PyObject *args) {
 static PyObject *_wrap_Screen_style(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Screen *arg1 = (ob::Screen *) 0 ;
-    otk::Style *result;
+    otk::RenderStyle *result;
     PyObject * obj0  = 0 ;
     
     if(!PyArg_ParseTuple(args,(char *)"O:Screen_style",&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (otk::Style *)((ob::Screen const *)arg1)->style();
+    result = (otk::RenderStyle *)((ob::Screen const *)arg1)->style();
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Style, 0);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__RenderStyle, 0);
     return resultobj;
     fail:
     return NULL;
@@ -9573,14 +9574,14 @@ static PyObject * Client_swigregister(PyObject *self, PyObject *args) {
 static PyObject *_wrap_new_Frame(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    otk::Style *arg2 = (otk::Style *) 0 ;
+    otk::RenderStyle *arg2 = (otk::RenderStyle *) 0 ;
     ob::Frame *result;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
     if(!PyArg_ParseTuple(args,(char *)"OO:new_Frame",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Style,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__RenderStyle,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     result = (ob::Frame *)new ob::Frame(arg1,arg2);
     
     resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Frame, 1);
@@ -9629,13 +9630,13 @@ static PyObject *_wrap_Frame_size(PyObject *self, PyObject *args) {
 static PyObject *_wrap_Frame_setStyle(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Frame *arg1 = (ob::Frame *) 0 ;
-    otk::Style *arg2 = (otk::Style *) 0 ;
+    otk::RenderStyle *arg2 = (otk::RenderStyle *) 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
     if(!PyArg_ParseTuple(args,(char *)"OO:Frame_setStyle",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Style,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__RenderStyle,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     (arg1)->setStyle(arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
@@ -11297,6 +11298,7 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Display_gcCache", _wrap_Display_gcCache, METH_VARARGS },
         { (char *)"Display_screenInfo", _wrap_Display_screenInfo, METH_VARARGS },
         { (char *)"Display_findScreen", _wrap_Display_findScreen, METH_VARARGS },
+        { (char *)"Display_renderControl", _wrap_Display_renderControl, METH_VARARGS },
         { (char *)"Display_xkb", _wrap_Display_xkb, METH_VARARGS },
         { (char *)"Display_xkbEventBase", _wrap_Display_xkbEventBase, METH_VARARGS },
         { (char *)"Display_shape", _wrap_Display_shape, METH_VARARGS },
@@ -11614,7 +11616,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Screen_clientCount", _wrap_Screen_clientCount, METH_VARARGS },
         { (char *)"Screen_number", _wrap_Screen_number, METH_VARARGS },
         { (char *)"Screen_managed", _wrap_Screen_managed, METH_VARARGS },
-        { (char *)"Screen_imageControl", _wrap_Screen_imageControl, METH_VARARGS },
         { (char *)"Screen_area", _wrap_Screen_area, METH_VARARGS },
         { (char *)"Screen_style", _wrap_Screen_style, METH_VARARGS },
         { (char *)"Screen_focuswindow", _wrap_Screen_focuswindow, METH_VARARGS },
@@ -11832,7 +11833,7 @@ static swig_type_info _swigt__p_XVisibilityEvent[] = {{"_p_XVisibilityEvent", 0,
 static swig_type_info _swigt__p_XPropertyEvent[] = {{"_p_XPropertyEvent", 0, "XPropertyEvent *", 0},{"_p_XPropertyEvent"},{0}};
 static swig_type_info _swigt__p_XSelectionRequestEvent[] = {{"_p_XSelectionRequestEvent", 0, "XSelectionRequestEvent *", 0},{"_p_XSelectionRequestEvent"},{0}};
 static swig_type_info _swigt__p_ob__Cursors[] = {{"_p_ob__Cursors", 0, "ob::Cursors *", 0},{"_p_ob__Cursors"},{0}};
-static swig_type_info _swigt__p_otk__ImageControl[] = {{"_p_otk__ImageControl", 0, "otk::ImageControl *", 0},{"_p_otk__ImageControl"},{0}};
+static swig_type_info _swigt__p_otk__RenderControl[] = {{"_p_otk__RenderControl", 0, "otk::RenderControl *", 0},{"_p_otk__RenderControl"},{0}};
 static swig_type_info _swigt__p_ob__MwmHints[] = {{"_p_ob__MwmHints", 0, "ob::MwmHints *", 0},{"_p_ob__MwmHints"},{0}};
 static swig_type_info _swigt__p_ob__Screen[] = {{"_p_ob__Screen", 0, "ob::Screen *", 0},{"_p_ob__Screen"},{0}};
 static swig_type_info _swigt__p_ob__Frame[] = {{"_p_ob__Frame", 0, "ob::Frame *", 0},{"_p_ob__Frame"},{0}};
@@ -11846,7 +11847,6 @@ static swig_type_info _swigt__p_XCrossingEvent[] = {{"_p_XCrossingEvent", 0, "XC
 static swig_type_info _swigt__p_otk__Display[] = {{"_p_otk__Display", 0, "otk::Display *", 0},{"_p_otk__Display"},{0}};
 static swig_type_info _swigt__p_Display[] = {{"_p_Display", 0, "Display *", 0},{"_p_Display"},{0}};
 static swig_type_info _swigt__p_XMappingEvent[] = {{"_p_XMappingEvent", 0, "XMappingEvent *", 0},{"_p_XMappingEvent"},{0}};
-static swig_type_info _swigt__p_otk__Style[] = {{"_p_otk__Style", 0, "otk::Style *", 0},{"_p_otk__Style"},{0}};
 static swig_type_info _swigt__p_otk__EventHandler[] = {{"_p_otk__EventHandler", 0, "otk::EventHandler *", 0},{"_p_ob__Client", _p_ob__ClientTo_p_otk__EventHandler},{"_p_ob__Actions", _p_ob__ActionsTo_p_otk__EventHandler},{"_p_otk__EventHandler"},{"_p_ob__Frame", _p_ob__FrameTo_p_otk__EventHandler},{"_p_ob__Openbox", _p_ob__OpenboxTo_p_otk__EventHandler},{"_p_otk__Widget", _p_otk__WidgetTo_p_otk__EventHandler},{"_p_ob__Screen", _p_ob__ScreenTo_p_otk__EventHandler},{0}};
 static swig_type_info _swigt__p_XReparentEvent[] = {{"_p_XReparentEvent", 0, "XReparentEvent *", 0},{"_p_XReparentEvent"},{0}};
 static swig_type_info _swigt__p_otk__EventDispatcher[] = {{"_p_otk__EventDispatcher", 0, "otk::EventDispatcher *", 0},{"_p_otk__EventDispatcher"},{"_p_ob__Openbox", _p_ob__OpenboxTo_p_otk__EventDispatcher},{0}};
@@ -11859,6 +11859,7 @@ static swig_type_info _swigt__p_XEvent[] = {{"_p_XEvent", 0, "XEvent *", 0},{"_p
 static swig_type_info _swigt__p_otk__Property[] = {{"_p_otk__Property", 0, "otk::Property *", 0},{"_p_otk__Property"},{0}};
 static swig_type_info _swigt__p_PyObject[] = {{"_p_PyObject", 0, "PyObject *", 0},{"_p_PyObject"},{0}};
 static swig_type_info _swigt__p_otk__ScreenInfo[] = {{"_p_otk__ScreenInfo", 0, "otk::ScreenInfo *", 0},{"_p_otk__ScreenInfo"},{0}};
+static swig_type_info _swigt__p_otk__RenderStyle[] = {{"_p_otk__RenderStyle", 0, "otk::RenderStyle *", 0},{"_p_otk__RenderStyle"},{0}};
 static swig_type_info _swigt__p_ob__EventData[] = {{"_p_ob__EventData", 0, "ob::EventData *", 0},{"_p_ob__EventData"},{0}};
 static swig_type_info _swigt__p_XCreateWindowEvent[] = {{"_p_XCreateWindowEvent", 0, "XCreateWindowEvent *", 0},{"_p_XCreateWindowEvent"},{0}};
 static swig_type_info _swigt__p_XDestroyWindowEvent[] = {{"_p_XDestroyWindowEvent", 0, "XDestroyWindowEvent *", 0},{"_p_XDestroyWindowEvent"},{0}};
@@ -11868,8 +11869,8 @@ static swig_type_info _swigt__p_otk__Atoms[] = {{"_p_otk__Atoms", 0, "otk::Atoms
 static swig_type_info _swigt__p_XKeyEvent[] = {{"_p_XKeyEvent", 0, "XKeyEvent *", 0},{"_p_XKeyEvent"},{0}};
 static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};
 static swig_type_info _swigt__p_otk__Strut[] = {{"_p_otk__Strut", 0, "otk::Strut *", 0},{"_p_otk__Strut"},{0}};
-static swig_type_info _swigt__p_unsigned_long[] = {{"_p_unsigned_long", 0, "unsigned long *", 0},{"_p_unsigned_long"},{0}};
 static swig_type_info _swigt__p_p_unsigned_long[] = {{"_p_p_unsigned_long", 0, "unsigned long **", 0},{"_p_p_unsigned_long"},{0}};
+static swig_type_info _swigt__p_unsigned_long[] = {{"_p_unsigned_long", 0, "unsigned long *", 0},{"_p_unsigned_long"},{0}};
 static swig_type_info _swigt__p_XMotionEvent[] = {{"_p_XMotionEvent", 0, "XMotionEvent *", 0},{"_p_XMotionEvent"},{0}};
 static swig_type_info _swigt__p_XButtonEvent[] = {{"_p_XButtonEvent", 0, "XButtonEvent *", 0},{"_p_XButtonEvent"},{0}};
 static swig_type_info _swigt__p_XSelectionEvent[] = {{"_p_XSelectionEvent", 0, "XSelectionEvent *", 0},{"_p_XSelectionEvent"},{0}};
@@ -11898,7 +11899,7 @@ _swigt__p_XVisibilityEvent,
 _swigt__p_XPropertyEvent, 
 _swigt__p_XSelectionRequestEvent, 
 _swigt__p_ob__Cursors, 
-_swigt__p_otk__ImageControl, 
+_swigt__p_otk__RenderControl, 
 _swigt__p_ob__MwmHints, 
 _swigt__p_ob__Screen, 
 _swigt__p_ob__Frame, 
@@ -11912,7 +11913,6 @@ _swigt__p_XCrossingEvent,
 _swigt__p_otk__Display, 
 _swigt__p_Display, 
 _swigt__p_XMappingEvent, 
-_swigt__p_otk__Style, 
 _swigt__p_otk__EventHandler, 
 _swigt__p_XReparentEvent, 
 _swigt__p_otk__EventDispatcher, 
@@ -11925,6 +11925,7 @@ _swigt__p_XEvent,
 _swigt__p_otk__Property, 
 _swigt__p_PyObject, 
 _swigt__p_otk__ScreenInfo, 
+_swigt__p_otk__RenderStyle, 
 _swigt__p_ob__EventData, 
 _swigt__p_XCreateWindowEvent, 
 _swigt__p_XDestroyWindowEvent, 
@@ -11934,8 +11935,8 @@ _swigt__p_otk__Atoms,
 _swigt__p_XKeyEvent, 
 _swigt__p_int, 
 _swigt__p_otk__Strut, 
-_swigt__p_unsigned_long, 
 _swigt__p_p_unsigned_long, 
+_swigt__p_unsigned_long, 
 _swigt__p_XMotionEvent, 
 _swigt__p_XButtonEvent, 
 _swigt__p_XSelectionEvent, 
index 0bbcebc6d8d694de53f06a283ef53b7147e75d23..6bc04ad133382f3cb93109ee23d32a9ef7aac668 100644 (file)
@@ -48,7 +48,8 @@ namespace ob {
 
 Screen::Screen(int screen)
   : WidgetBase(WidgetBase::Type_Root),
-    _number(screen)
+    _number(screen),
+    _style(screen, "")
 {
   assert(screen >= 0); assert(screen < ScreenCount(**otk::display));
   _info = otk::display->screenInfo(screen);
@@ -73,13 +74,8 @@ Screen::Screen(int screen)
   XDefineCursor(**otk::display, _info->rootWindow(),
                 openbox->cursors().session);
 
-  // initialize the shit that is used for all drawing on the screen
-  _image_control = new otk::ImageControl(_info, true);
-  _image_control->installRootColormap();
-  _root_cmap_installed = True;
-
-  // initialize the screen's style
-  _style.setImageControl(_image_control);
+  // XXX: initialize the screen's style
+  /*
   otk::ustring stylepath;
   python_get_string("theme", &stylepath);
   otk::Configuration sconfig(false);
@@ -92,6 +88,7 @@ Screen::Screen(int screen)
     }
   }
   _style.load(sconfig);
+  */
 
   // set up notification of netwm support
   changeSupportedAtoms();
@@ -157,8 +154,6 @@ Screen::~Screen()
 
   XDestroyWindow(**otk::display, _focuswindow);
   XDestroyWindow(**otk::display, _supportwindow);
-
-  delete _image_control;
 }
 
 
index 7f33b9c89d1bda67c7e758fc84335fd07654b053..37e56cf1085625c9bc77484202667fd2d869891d 100644 (file)
@@ -12,10 +12,9 @@ extern "C" {
 
 #include "client.hh"
 #include "widgetbase.hh"
-#include "otk/image.hh"
+#include "otk/renderstyle.hh"
 #include "otk/strut.hh"
 #include "otk/rect.hh"
-#include "otk/style.hh"
 #include "otk/screeninfo.hh"
 #include "otk/eventhandler.hh"
 #include "otk/property.hh"
@@ -59,11 +58,8 @@ private:
   //! Information about this screen
   const otk::ScreenInfo *_info;
   
-  //! The Image Control used for rendering on the screen
-  otk::ImageControl *_image_control;
-
   //! The style with which to render on the screen
-  otk::Style _style;
+  otk::RenderStyle _style;
 
   //! Is the root colormap currently installed?
   bool _root_cmap_installed;
@@ -148,12 +144,10 @@ public:
     used.
   */
   inline bool managed() const { return _managed; }
-  //! Returns the Image Control used for rendering on the screen
-  inline otk::ImageControl *imageControl() { return _image_control; }
   //! Returns the area of the screen not reserved by applications' Struts
   inline const otk::Rect &area() const { return _area; }
   //! Returns the style in use on the screen
-  inline const otk::Style *style() const { return &_style; }
+  inline const otk::RenderStyle *style() const { return &_style; }
   //!  An offscreen window which gets focus when nothing else has it
   inline Window focuswindow() const { return _focuswindow; }
   //! Returns the desktop being displayed
This page took 0.056693 seconds and 4 git commands to generate.