X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fframe.hh;h=b2cc2d16419c153da873adb7f678b2f7ca3c0240;hb=ba87284397e058fc477a04fba2ff2eb815a33de0;hp=7831284ea066361b0a8c94836a057160ffa8fec1;hpb=ef02a0c8ae65f169157c90064a335303e964a4c1;p=chaz%2Fopenbox diff --git a/src/frame.hh b/src/frame.hh index 7831284e..b2cc2d16 100644 --- a/src/frame.hh +++ b/src/frame.hh @@ -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