JWM Source Documentation

border.h
Go to the documentation of this file.
00001 
00010 #ifndef BORDER_H
00011 #define BORDER_H
00012 
00013 #include "gradient.h"
00014 
00015 struct ClientNode;
00016 
00018 typedef enum {
00019    BP_CLOSE,
00020    BP_MINIMIZE,
00021    BP_MAXIMIZE,
00022    BP_MAXIMIZE_ACTIVE,
00023    BP_COUNT
00024 } BorderPixmapType;
00025 
00027 typedef enum {
00028    BA_NONE      = 0,      
00029    BA_RESIZE    = 1,      
00030    BA_MOVE      = 2,      
00031    BA_CLOSE     = 3,      
00032    BA_MAXIMIZE  = 4,      
00033    BA_MINIMIZE  = 5,      
00034    BA_MENU      = 6,      
00035    BA_RESIZE_N  = 0x10,   
00036    BA_RESIZE_S  = 0x20,   
00037    BA_RESIZE_E  = 0x40,   
00038    BA_RESIZE_W  = 0x80    
00039 } BorderActionType;
00040 
00042 void InitializeBorders();
00043 void StartupBorders();
00044 void ShutdownBorders();
00045 void DestroyBorders();
00054 BorderActionType GetBorderActionType(const struct ClientNode *np, int x, int y);
00055 
00060 void DrawBorder(const struct ClientNode *np, const XExposeEvent *expose);
00061 
00065 int GetBorderIconSize();
00066 
00074 void GetBorderSize(const struct ClientNode *np,
00075    int *north, int *south, int *east, int *west);
00076 
00080 void SetBorderWidth(const char *str);
00081 
00085 void SetTitleHeight(const char *str);
00086 
00088 void ExposeCurrentDesktop();
00089 
00093 void ResetRoundedRectWindow(Window w);
00094 
00100 void ShapeRoundedRectWindow(Window w, int width, int height);
00101 
00106 void SetButtonMask(BorderPixmapType pt, const char *filename);
00107 
00109 void DrawRoundedRectangle(Drawable d, GC gc, int x, int y,
00110                           int width, int height, int radius);
00111 
00113 void FillRoundedRectangle(Drawable d, GC gc, int x, int y,
00114                           int width, int height, int radius);
00115 
00116 #endif /* BORDER_H */
00117