X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fclient.hh;h=634d0e3de39720e55b5d64fd1f9eae96fe554eb9;hb=74cfb1b4c115cdb4e05aa823b09d2b5ea9d0d690;hp=a9fe942766666e91087849372cf95462a19d0ad3;hpb=1cd253f4684ee126340fae38094b637f1b0010ea;p=chaz%2Fopenbox diff --git a/src/client.hh b/src/client.hh index a9fe9427..634d0e3d 100644 --- a/src/client.hh +++ b/src/client.hh @@ -8,8 +8,6 @@ */ #include "screen.hh" -#include "widgetbase.hh" -#include "otk/point.hh" #include "otk/strut.hh" #include "otk/rect.hh" #include "otk/eventhandler.hh" @@ -56,7 +54,7 @@ struct MwmHints { class' member variables and call whatever is nessary to complete the change (such as causing a redraw of the titlebar after the title is changed). */ -class Client : public otk::EventHandler, public WidgetBase { +class Client : public otk::EventHandler { public: //! The frame window which decorates around the client window @@ -229,7 +227,7 @@ private: For example, with xterms, this value it the number of characters being displayed in the terminal, instead of the number of pixels. */ - otk::Point _logical_size; + otk::Size _logical_size; //! Width of the border on the window. /*! @@ -253,20 +251,20 @@ private: /*! If the min is > the max, then the window is not resizable */ - otk::Point _min_size; + otk::Size _min_size; //! The maximum size of the client window /*! If the min is > the max, then the window is not resizable */ - otk::Point _max_size; + otk::Size _max_size; //! The size of increments to resize the client window by - otk::Point _size_inc; + otk::Size _size_inc; //! The base size of the client window /*! This value should be subtracted from the window's actual size when displaying its size to the user, or working with its min/max size */ - otk::Point _base_size; + otk::Size _base_size; //! Window decoration and functionality hints MwmHints _mwmhints; @@ -443,9 +441,10 @@ private: be returned to normal state. @param savearea true to have the client's current size and position saved; otherwise, they are not. You should not save when mapping a - new window that is set to fullscreen. + new window that is set to fullscreen. This has no effect + when restoring a window from fullscreen. */ - void fullscreen(bool fs, bool savearea); + void fullscreen(bool fs, bool savearea = true); //! Maximize or unmaximize the client window /*! @@ -454,9 +453,10 @@ private: @param dir 0 to set both horz and vert, 1 to set horz, 2 to set vert. @param savearea true to have the client's current size and position saved; otherwise, they are not. You should not save when mapping a - new window that is set to fullscreen. + new window that is set to fullscreen. This has no effect + when unmaximizing a window. */ - void maximize(bool max, int dir, bool savearea); + void maximize(bool max, int dir, bool savearea = true); //! Internal version of the Client::move function /*! @@ -479,8 +479,8 @@ private: The x and y coordinates must both be sepcified together, or they will have no effect. When they are specified, the anchor is ignored. */ - void internal_resize(Corner anchor, int w, int h, bool user = true, - int x = INT_MIN, int y = INT_MIN); + void internal_resize(Corner anchor, int w, int h, + bool user = true, int x = INT_MIN, int y = INT_MIN); //! Attempts to find and return a modal child of this window, recursively. Client *findModalChild(Client *skip = 0) const; @@ -627,7 +627,7 @@ BB @param window The window id that the Client class should handle For example, with xterms, this value it the number of characters being displayed in the terminal, instead of the number of pixels. */ - const otk::Point &logicalSize() const { return _logical_size; } + const otk::Size &logicalSize() const { return _logical_size; } //! Returns the position and size of the client relative to the root window inline const otk::Rect &area() const { return _area; }