X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fscreen.hh;h=f0bc33d5d4f906b9f360d3baff04c38fa07bcd1f;hb=633df648c9d04c6225fba3004c93e497301293bd;hp=d818a68481aca24d3ba9325481ddf93bdce3c378;hpb=86bef745b9e974f664752c6cc56f7e6ec5642efc;p=chaz%2Fopenbox diff --git a/src/screen.hh b/src/screen.hh index d818a684..f0bc33d5 100644 --- a/src/screen.hh +++ b/src/screen.hh @@ -20,42 +20,21 @@ extern "C" { #include #include -#include "color.hh" -#include "texture.hh" -#include "image.hh" +#include "otk/color.hh" +#include "otk/font.hh" +#include "otk/texture.hh" +#include "otk/image.hh" +#include "otk/strut.hh" +#include "otk/property.hh" +#include "otk/configuration.hh" +#include "otk/style.hh" #include "timer.hh" #include "workspace.hh" #include "blackbox.hh" -class Slit; // forward reference -class BFont; -class XAtom; -struct Strut; +namespace ob { -enum TextJustify { LeftJustify = 1, RightJustify, CenterJustify }; - -struct PixmapMask { - Pixmap mask; - unsigned int w, h; -}; - -struct WindowStyle { - BColor l_text_focus, l_text_unfocus, b_pic_focus, - b_pic_unfocus; - BTexture f_focus, f_unfocus, t_focus, t_unfocus, l_focus, l_unfocus, - h_focus, h_unfocus, b_focus, b_unfocus, b_pressed, b_pressed_focus, - b_pressed_unfocus, g_focus, g_unfocus; - - PixmapMask close_button, max_button, icon_button, stick_button; - BFont *font; - - TextJustify justify; - - void doJustify(const std::string &text, int &start_pos, - unsigned int max_length, unsigned int modifier) const; -}; - -class BScreen : public ScreenInfo { +class BScreen : public otk::ScreenInfo { private: bool root_colormap_installed, managed, geom_visible; GC opGC; @@ -63,9 +42,9 @@ private: Window geom_window; Blackbox *blackbox; - BImageControl *image_control; - Configuration *config; - XAtom *xatom; + otk::BImageControl *image_control; + otk::Configuration *config; + otk::OBProperty *xatom; BlackboxWindowList iconList, windowList; @@ -77,18 +56,18 @@ private: unsigned int geom_w, geom_h; unsigned long event_mask; - Rect usableArea; + otk::Rect usableArea; #ifdef XINERAMA RectList xineramaUsableArea; #endif // XINERAMA - typedef std::list StrutList; + typedef std::list StrutList; StrutList strutList; typedef std::vector WorkspaceList; WorkspaceList workspacesList; struct screen_resource { - WindowStyle wstyle; + otk::Style wstyle; bool sloppy_focus, auto_raise, auto_edge_balance, ordered_dither, opaque_move, full_max, focus_new, focus_last, click_raise, @@ -98,15 +77,12 @@ private: int snap_to_windows, snap_to_edges; unsigned int snap_offset; - BColor border_color; - unsigned int workspaces; int placement_policy, snap_threshold, row_direction, col_direction, root_scroll, resistance_size; - unsigned int handle_width, bevel_width, frame_width, border_width, - resize_zones; + unsigned int resize_zones; std::string strftime_format; @@ -116,22 +92,6 @@ private: BScreen(const BScreen&); BScreen& operator=(const BScreen&); - void readDatabaseMask(const std::string &rname, - PixmapMask &pixmapMask, - const Configuration &style); - - BTexture readDatabaseTexture(const std::string &rname, - const std::string &default_color, - const Configuration &style, - bool allowNoTexture = false); - BColor readDatabaseColor(const std::string &rname, - const std::string &default_color, - const Configuration &style); - BFont *readDatabaseFont(const std::string &rbasename, - const Configuration &style); - - void LoadStyle(void); - void updateWorkArea(void); public: @@ -144,7 +104,6 @@ public: enum { RowSmartPlacement = 1, ColSmartPlacement, CascadePlacement, UnderMousePlacement, ClickMousePlacement, LeftRight, RightLeft, TopBottom, BottomTop, IgnoreShaded, IgnoreMaximized }; - enum { RoundBullet = 1, TriangleBullet, SquareBullet, NoBullet }; enum { Restart = 1, RestartOther, Exit, Shutdown, Execute, Reconfigure, WindowShade, WindowIconify, WindowMaximize, WindowClose, WindowRaise, WindowLower, WindowStick, WindowKill, SetStyle }; @@ -154,6 +113,8 @@ public: BScreen(Blackbox *bb, unsigned int scrn); ~BScreen(void); + void LoadStyle(void); + inline bool isSloppyFocus(void) const { return resource.sloppy_focus; } inline bool isRootColormapInstalled(void) const { return root_colormap_installed; } @@ -182,21 +143,15 @@ public: inline const GC &getOpGC(void) const { return opGC; } inline Blackbox *getBlackbox(void) { return blackbox; } - inline BColor *getBorderColor(void) { return &resource.border_color; } - inline BImageControl *getImageControl(void) { return image_control; } + inline otk::BColor *getBorderColor(void) { + return &resource.wstyle.border_color; + } + inline otk::BImageControl *getImageControl(void) { return image_control; } Workspace *getWorkspace(unsigned int index) const; inline Workspace *getCurrentWorkspace(void) { return current_workspace; } - inline unsigned int getHandleWidth(void) const - { return resource.handle_width; } - inline unsigned int getBevelWidth(void) const - { return resource.bevel_width; } - inline unsigned int getFrameWidth(void) const - { return resource.frame_width; } - inline unsigned int getBorderWidth(void) const - { return resource.border_width; } inline unsigned int getResizeZones(void) const { return resource.resize_zones; } inline bool getPlaceIgnoreShaded(void) const @@ -258,19 +213,19 @@ public: { return resource.strftime_format.c_str(); } void saveStrftimeFormat(const std::string& format); - inline WindowStyle *getWindowStyle(void) { return &resource.wstyle; } + inline otk::Style *getWindowStyle(void) { return &resource.wstyle; } BlackboxWindow *getIcon(unsigned int index); // allAvailableAreas should be used whenever possible instead of this function // as then Xinerama will work correctly. - const Rect& availableArea(void) const; + const otk::Rect& availableArea(void) const; #ifdef XINERAMA const RectList& allAvailableAreas(void) const; #endif // XINERAMA void updateAvailableArea(void); - void addStrut(Strut *strut); - void removeStrut(Strut *strut); + void addStrut(otk::Strut *strut); + void removeStrut(otk::Strut *strut); unsigned int addWorkspace(void); unsigned int removeLastWorkspace(void); @@ -308,5 +263,6 @@ public: void propertyNotifyEvent(const XPropertyEvent *pe); }; +} #endif // __Screen_hh