00001 #ifndef BCDISPLAYINFO_H
00002 #define BCDISPLAYINFO_H
00003
00004 #include <stdio.h>
00005 #include <stdlib.h>
00006 #include <X11/Xlib.h>
00007
00008 class BC_DisplayInfo
00009 {
00010 public:
00011 BC_DisplayInfo(char *display_name = "", int show_error = 1);
00012 ~BC_DisplayInfo();
00013
00014 friend class BC_WindowBase;
00015
00016 int get_root_w();
00017 int get_root_h();
00018 int get_abs_cursor_x();
00019 int get_abs_cursor_y();
00020 static void parse_geometry(char *geom, int *x, int *y, int *width, int *height);
00021
00022 int get_top_border();
00023 int get_left_border();
00024 int get_right_border();
00025 int get_bottom_border();
00026 void test_window(int &x_out, int &y_out, int &x_out2, int &y_out2, int x_in, int y_in);
00027
00028
00029 private:
00030 void init_borders();
00031 void init_window(char *display_name, int show_error);
00032 Display* display;
00033 Window rootwin;
00034 Visual *vis;
00035 int screen;
00036 static int top_border;
00037 static int left_border;
00038 static int bottom_border;
00039 static int right_border;
00040 static int auto_reposition_x;
00041 static int auto_reposition_y;
00042 int default_depth;
00043 char *display_name;
00044 };
00045
00046 #endif