]> Dogcows Code - chaz/openbox/blobdiff - src/frame.hh
move windows based on their *frame* not the client
[chaz/openbox] / src / frame.hh
index 7831284ea066361b0a8c94836a057160ffa8fec1..b2cc2d16419c153da873adb7f678b2f7ca3c0240 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"
 
@@ -40,9 +40,6 @@ private:
   Client *_client;
   const otk::ScreenInfo *_screen;
 
-  //! The style to use for size and display the decorations
-  otk::Style *_style;
-
   //! The size of the frame on each side of the client window
   otk::Strut _size;
 
@@ -55,7 +52,7 @@ private:
   ButtonWidget      _button_close;
   ButtonWidget      _button_iconify;
   ButtonWidget      _button_max;
-  ButtonWidget      _button_stick;
+  ButtonWidget      _button_alldesk;
   LabelWidget       _label;
   BackgroundWidget  _handle;
   ButtonWidget      _grip_left;
@@ -74,12 +71,15 @@ 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();
 
+  //! Returns the size of the frame on each side of the client
+  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();
@@ -102,6 +102,9 @@ public:
   void adjustPosition();
   //! Shape the frame window to the client window
   void adjustShape();
+  //! Update the frame to match the client's new state (for things like toggle
+  //! buttons)
+  void adjustState();
 
   //! Applies gravity to the client's position to find where the frame should
   //! be positioned.
@@ -129,8 +132,8 @@ public:
   inline Window button_iconify() const { return _button_iconify.window(); }
   //! Gets the window id of the frame's "maximize button" subelement
   inline Window button_max() const { return _button_max.window(); }
-  //! Gets the window id of the frame's "sticky button" subelement
-  inline Window button_stick() const { return _button_stick.window(); }
+  //! Gets the window id of the frame's "all desktops button" subelement
+  inline Window button_alldesk() const { return _button_alldesk.window(); }
   //! Gets the window id of the frame's "handle" subelement
   inline Window handle() const { return _handle.window(); }
   //! Gets the window id of the frame's "left grip" subelement
This page took 0.023786 seconds and 4 git commands to generate.