// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
-// Window.hh for Blackbox - an X11 Window manager
-// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry <shaleh@debian.org>
-// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
-//
-// Permission is hereby granted, free of charge, to any person obtaining a
-// copy of this software and associated documentation files (the "Software"),
-// to deal in the Software without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-
#ifndef __Window_hh
#define __Window_hh
#include <string>
-#include "basedisplay.hh"
+#include "blackbox.hh"
#include "timer.hh"
#include "util.hh"
-#include "windowmenu.hh"
#define MwmHintsFunctions (1l << 0)
#define MwmHintsDecorations (1l << 1)
#define MwmDecorIconify (1l << 5)
#define MwmDecorMaximize (1l << 6)
+namespace ob {
+
// this structure only contains 3 elements... the Motif 2.0 structure contains
// 5... we only need the first 3... so that is all we will define
typedef struct MwmHints {
Blackbox *blackbox;
BScreen *screen;
XAtom *xatom;
- BTimer *timer;
+ OBTimer *timer;
BlackboxAttributes blackbox_attrib;
Time lastButtonPressTime; // used for double clicks, when were we clicked
- Windowmenu *windowmenu;
unsigned int window_number;
unsigned long current_state;
std::string title, icon_title;
- Rect rect;
+ otk::Rect rect;
Strut strut;
int old_bw; // client's borderwidth
* size and location of the box drawn while the window dimensions or
* location is being changed, ie. resized or moved
*/
- Rect changing;
+ otk::Rect changing;
- Rect rect; // frame geometry
+ otk::Rect rect; // frame geometry
Strut margin; // margins between the frame and client
int grab_x, grab_y; // where was the window when it was grabbed?
void redrawWindowFrame(void) const;
void redrawLabel(void) const;
void redrawAllButtons(void) const;
- void BlackboxWindow::redrawButton(bool pressed, Window win,
- Pixmap fppix, unsigned long fppixel,
- Pixmap uppix, unsigned long uppixel,
- Pixmap fpix, unsigned long fpixel,
- Pixmap upix, unsigned long upixel) const;
+ void redrawButton(bool pressed, Window win,
+ Pixmap fppix, unsigned long fppixel,
+ Pixmap uppix, unsigned long uppixel,
+ Pixmap fpix, unsigned long fpixel,
+ Pixmap upix, unsigned long upixel) const;
void redrawCloseButton(bool pressed) const;
void redrawIconifyButton(bool pressed) const;
void redrawMaximizeButton(bool pressed) const;
void redrawStickyButton(bool pressed) const;
- void applyGravity(Rect &r);
- void restoreGravity(Rect &r);
+ void applyGravity(otk::Rect &r);
+ void restoreGravity(otk::Rect &r);
void setAllowedActions(void);
void setState(unsigned long new_state);
void upsize(void);
inline Window getClientWindow(void) const { return client.window; }
inline Window getGroupWindow(void) const { return client.window_group; }
- inline Windowmenu * getWindowmenu(void) const { return windowmenu; }
-
inline const char *getTitle(void) const
{ return client.title.c_str(); }
inline const char *getIconTitle(void) const
{ return blackbox_attrib.workspace; }
inline unsigned int getWindowNumber(void) const { return window_number; }
- inline const Rect &frameRect(void) const { return frame.rect; }
- inline const Rect &clientRect(void) const { return client.rect; }
+ inline const otk::Rect &frameRect(void) const { return frame.rect; }
+ inline const otk::Rect &clientRect(void) const { return client.rect; }
inline unsigned int getTitleHeight(void) const
{ return frame.title_h; }
virtual void timeout(void);
};
+}
#endif // __Window_hh