X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FScreen.hh;h=c6044812897d0e09f9d8afa8a59f3d3637c839f1;hb=87e63d53af67d5ea98f55a27007663d4c9c8fc6c;hp=dee0a962cc4164f5b22c2939ff2c3b438efd95d4;hpb=02c028d8ae0a80206eeb97c662cd3ceebf900977;p=chaz%2Fopenbox diff --git a/src/Screen.hh b/src/Screen.hh index dee0a962..c6044812 100644 --- a/src/Screen.hh +++ b/src/Screen.hh @@ -61,12 +61,23 @@ struct Strut; enum TextJustify { LeftJustify = 1, RightJustify, CenterJustify }; +#ifdef BITMAPBUTTONS +struct PixmapMask { + Pixmap mask; + unsigned int w, h; +}; +#endif // BITMAPBUTTONS + 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, g_focus, g_unfocus; + h_focus, h_unfocus, b_focus, b_unfocus, b_pressed, b_pressed_focus, + b_pressed_unfocus, g_focus, g_unfocus; +#ifdef BITMAPBUTTONS + PixmapMask close_button, max_button, icon_button, stick_button; +#endif // BITMAPBUTTONS BFont *font; TextJustify justify; @@ -79,6 +90,10 @@ struct ToolbarStyle { BColor l_text, w_text, c_text, b_pic; BTexture toolbar, label, window, button, pressed, clock; +#ifdef BITMAPBUTTONS + PixmapMask left_button, right_button; +#endif // BITMAPBUTTONS + BFont *font; TextJustify justify; @@ -90,7 +105,11 @@ struct ToolbarStyle { struct MenuStyle { BColor t_text, f_text, h_text, d_text; BTexture title, frame, hilite; - + +#ifdef BITMAPBUTTONS + PixmapMask bullet_image, tick_image; +#endif // BITMAPBUTTONS + BFont *t_font, *f_font; TextJustify t_justify, f_justify; @@ -163,6 +182,8 @@ private: unsigned int handle_width, bevel_width, frame_width, border_width, resize_zones; + unsigned int root_menu_button, workspace_menu_button; + #ifdef HAVE_STRFTIME std::string strftime_format; #else // !HAVE_STRFTIME @@ -178,9 +199,16 @@ private: bool parseMenuFile(FILE *file, Rootmenu *menu); +#ifdef BITMAPBUTTONS + void readDatabaseMask(const std::string &rname, + PixmapMask &pixmapMask, + const Configuration &style); +#endif // BITMAPBUTTONS + BTexture readDatabaseTexture(const std::string &rname, const std::string &default_color, - const Configuration &style); + const Configuration &style, + bool allowNoTexture = false); BColor readDatabaseColor(const std::string &rname, const std::string &default_color, const Configuration &style); @@ -231,6 +259,10 @@ public: inline bool doWorkspaceWarping(void) const { return resource.workspace_warping; } inline int rootScrollDirection(void) const { return resource.root_scroll; } + inline unsigned int rootMenuButton(void) const + { return resource.root_menu_button; } + inline unsigned int workspaceMenuButton(void) const + { return resource.workspace_menu_button; } inline const GC &getOpGC(void) const { return opGC; } @@ -242,7 +274,7 @@ public: inline Slit *getSlit(void) { return slit; } inline Toolbar *getToolbar(void) { return toolbar; } - Workspace *getWorkspace(unsigned int index); + Workspace *getWorkspace(unsigned int index) const; inline Workspace *getCurrentWorkspace(void) { return current_workspace; } @@ -313,6 +345,8 @@ public: void saveAllowScrollLock(bool a); void saveWorkspaceWarping(bool w); void saveRootScrollDirection(int d); + void saveRootMenuButton(unsigned int b); + void saveWorkspaceMenuButton(unsigned int b); inline void iconUpdate(void) { iconmenu->update(); } #ifdef HAVE_STRFTIME @@ -365,9 +399,9 @@ public: void reassociateWindow(BlackboxWindow *w, unsigned int wkspc_id, bool ignore_sticky); void propagateWindowName(const BlackboxWindow *bw); - void prevFocus(void); - void nextFocus(void); - void raiseFocus(void); + void prevFocus(void) const; + void nextFocus(void) const; + void raiseFocus(void) const; void load_rc(void); void save_rc(void); void reconfigure(void);