#include "BaseDisplay.h"
#include "Timer.h"
#include "Windowmenu.h"
+#include "Geometry.h"
// forward declaration
class OpenboxWindow;
class OpenboxWindow : public TimeoutHandler {
private:
BImageControl *image_ctrl;
- Openbox *openbox;
+ Openbox &openbox;
BScreen *screen;
Display *display;
BTimer *timer;
} flags;
struct _client {
- OpenboxWindow *transient_for, // which window are we a transient for?
+ OpenboxWindow *transient_for, // which window are we a transient for?
*transient; // which window is our transient?
Window window, // the client's window
unsigned int width, height, title_h, label_w, label_h, handle_h,
button_w, button_h, grip_w, grip_h, mwm_border_w, border_h, border_w,
- bevel_w, snap_w, snap_h;
+ bevel_w;
} frame;
protected:
public:
- OpenboxWindow(Openbox *b, Window w, BScreen *s = (BScreen *) 0);
+ OpenboxWindow(Openbox &b, Window w, BScreen *s = (BScreen *) 0);
virtual ~OpenboxWindow(void);
inline Bool isTransient(void) const { return flags.transient; }
inline const int &getWindowNumber(void) const { return window_number; }
inline const unsigned int &getWidth(void) const { return frame.width; }
- inline const unsigned int &getHeight(void) const { return frame.height; }
+ inline const unsigned int &getHeight(void) const {
+ if (!flags.shaded)
+ return frame.height;
+ else
+ return frame.title_h;
+ }
inline const unsigned int &getClientHeight(void) const
{ return client.height; }
inline const unsigned int &getClientWidth(void) const
inline const unsigned int &getTitleHeight(void) const
{ return frame.title_h; }
+ inline const Point getOrigin() const {
+ return Point(frame.x, frame.y);
+ }
+ inline const Point getClientOrigin() const {
+ return Point(client.x, client.y);
+ }
+ inline const Size getSize() const {
+ return Size(frame.width, frame.height);
+ }
+ inline const Size getClientSize() const {
+ return Size(client.width, client.height);
+ }
+ inline const Rect getArea() const {
+ return Rect(frame.x, frame.y, frame.width, frame.height);
+ }
+ inline const Rect getClientArea() const {
+ return Rect(client.x, client.y, client.width, client.height);
+ }
+
inline void setWindowNumber(int n) { window_number = n; }
Bool validateClient(void);