00001
00002
00003
00004
00005
00006 #ifndef __DRAW_H
00007 #define __DRAW_H
00008
00009 extern "C" {
00010 #include <X11/Xlib.h>
00011 }
00012
00013 class Light;
00014 class Rectangle;
00015
00019 class Draw {
00020
00021 public:
00022
00023 static void drawMenuButton(Window window, GC gc, Rectangle *rect,
00024 unsigned long background, unsigned long shineBorder,
00025 unsigned long shadowBorder, unsigned long shineFigure,
00026 unsigned long shadowFigure);
00027
00028 static void drawDetachButton(Window window, GC gc, Rectangle *rect,
00029 unsigned long background,
00030 unsigned long shineBorder, unsigned long shadowBorder,
00031 unsigned long shineFigure, unsigned long shadowFigure);
00032
00033 static void drawMaxButton(Window window, GC gc, Rectangle *rect,
00034 unsigned long background,
00035 unsigned long shineBorder, unsigned long shadowBorder,
00036 unsigned long shineFigure, unsigned long shadowFigure,
00037 bool fill = false);
00038
00039 static void drawFloatButton(Window window, GC gc, Rectangle *rect,
00040 unsigned long background,
00041 unsigned long shineBorder, unsigned long shadowBorder,
00042 unsigned long shineFigure, unsigned long shadowFigure,
00043 bool fill = false);
00044
00045 static void drawCloseButton(Window window, GC gc, Rectangle *rect,
00046 unsigned long background,
00047 unsigned long shineBorder, unsigned long shadowBorder,
00048 unsigned long shineFigure, unsigned long shadowFigure);
00049
00050 static void drawInputModeButton(Window window, GC gc, Rectangle *rect,
00051 unsigned long background,
00052 unsigned long shineBorder, unsigned long shadowBorder,
00053 unsigned long shineFigure, unsigned long shadowFigure);
00054
00055 static void drawMeter(Window window, GC gc, Rectangle *rect,
00056 unsigned int percentage, unsigned long background,
00057 unsigned long highFigure, unsigned long normalFigure,
00058 unsigned long lowFigure, unsigned long shineBorder,
00059 unsigned long shadowBorder);
00060
00061 static void drawBorder(Window window, GC commonGC, GC borderGC, Rectangle *rect,
00062 unsigned long background, unsigned long shine,
00063 unsigned long shadow, unsigned int titleBarHeight,
00064 unsigned int borderWidth);
00065
00066 static void drawFloatBorderAnchors(Window window, GC gc, Rectangle *rect,
00067 unsigned long shine, unsigned long shadow,
00068 unsigned int titleBarHeight, unsigned int borderWidth);
00069
00070 static void drawShineBorder(Window window, GC gc, Rectangle *rect,
00071 unsigned long shine);
00072
00073 static void drawShadowBorder(Window window, GC gc, Rectangle *rect,
00074 unsigned long shadow);
00075
00076 static void drawRectBorder(Window window, GC gc, Rectangle *rect,
00077 unsigned long shine, unsigned long shadow);
00078
00079 static void drawStickyNotifier(Window window, GC gc, Rectangle *rect,
00080 unsigned long shine, unsigned long shadow,
00081 unsigned int textWidth);
00082
00083 static void drawTransRectangle(Window window, GC gc,
00084 Rectangle *rect, unsigned int barHeight,
00085 unsigned int borderWidth);
00086 };
00087
00088 #endif // __DRAW_H