diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-11-10 08:12:53 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-11-10 08:12:53 +0000 |
| commit | f424471009859c23309428e38002c29f4e4d2bc5 (patch) | |
| tree | a82c717683443eee08c042fb0b6294cd066160cb /src/frame.hh | |
| parent | 633df648c9d04c6225fba3004c93e497301293bd (diff) | |
frames' subemelents are created and positioned and everything
Diffstat (limited to 'src/frame.hh')
| -rw-r--r-- | src/frame.hh | 46 |
1 files changed, 41 insertions, 5 deletions
diff --git a/src/frame.hh b/src/frame.hh index 1c398932..7814ed35 100644 --- a/src/frame.hh +++ b/src/frame.hh @@ -11,6 +11,7 @@ extern "C" { #include <string> +#include "client.hh" #include "otk/strut.hh" #include "otk/rect.hh" #include "otk/screeninfo.hh" @@ -18,8 +19,6 @@ extern "C" { namespace ob { -class OBClient; - //! Holds and decorates a frame around an OBClient (client window) /*! */ @@ -36,8 +35,45 @@ private: //! The size of the frame on each side of the client window otk::Strut _size; + // decoration windows + Window _titlebar; + otk::Rect _titlebar_area; + + Window _button_close; + otk::Rect _button_close_area; + + Window _button_iconify; + otk::Rect _button_iconify_area; + + Window _button_max; + otk::Rect _button_max_area; + + Window _button_stick; + otk::Rect _button_stick_area; + + Window _label; + otk::Rect _label_area; + + Window _handle; + otk::Rect _handle_area; + + Window _grip_left; + otk::Rect _grip_left_area; + + Window _grip_right; + otk::Rect _grip_right_area; + + //! The decorations to display on the window. + /*! + This is by default the same value as in the OBClient::decorations, but it + is duplicated here so that it can be overridden per-window by the user. + */ + OBClient::DecorationFlags _decorations; + //! Creates the base frame window Window createFrame(); + //! Creates a child frame decoration element window + Window createChild(Window parent, Cursor cursor); //! Reparents the client window from the root window onto the frame void grabClient(); @@ -60,10 +96,10 @@ public: //! Load a style to decorate the frame with void loadStyle(const otk::Style *style); - //! Size the frame to the client - void resize(); + //! Update the frame to match the client + void update(); //! Shape the frame window to the client window - void shape(); + void updateShape(); //! Returns the frame's most-parent window, which is a child of the root //! window |
