virtual int uses_text() { return 0; };
// Only if opengl is enabled
virtual int expose_event() { return 0; };
+ virtual int grab_event(XEvent *event) { return 0; };
virtual void create_objects() { return; };
int get_window_type() { return window_type; }
int get_screen_x(int lock_display, int screen);
int get_screen_y(int lock_display, int screen);
// Get current position
- int get_abs_cursor_x(int lock_window);
- int get_abs_cursor_y(int lock_window);
- int get_pop_cursor_x(int lock_window);
- int get_pop_cursor_y(int lock_window);
- int get_relative_cursor_x();
- int get_relative_cursor_y();
+ void get_abs_cursor_xy(int &abs_x, int &abs_y, int lock_window=0);
+ int get_abs_cursor_x(int lock_window=0);
+ int get_abs_cursor_y(int lock_window=0);
+ void get_pop_cursor_xy(int &px, int &py, int lock_window=0);
+ int get_pop_cursor_x(int lock_window=0);
+ int get_pop_cursor_y(int lock_window=0);
+ void get_relative_cursor_xy(int &x, int &y, int lock_window=0);
+ int get_relative_cursor_x(int lock_window=0);
+ int get_relative_cursor_y(int lock_window=0);
void get_root_coordinates(int x, int y, int *abs_x, int *abs_y);
void get_win_coordinates(int abs_x, int abs_y, int *x, int *y);
// Return 1 if cursor is over an unobscured part of this window.
int get_id();
void set_done(int return_value);
void close(int return_value);
+// Reroute toplevel events
+ int grab(BC_WindowBase *window);
+ int ungrab(BC_WindowBase *window);
// Get a bitmap to draw on the window with
BC_Bitmap* new_bitmap(int w, int h, int color_model = -1);
// Draw a bitmap on the window
int light1, light2, medium, dark1, dark2, bg_color;
// Type of window defined above
int window_type;
+// keypress/pointer active grab
+ BC_WindowBase* active_grab;
// Pointer to the active menubar in the window.
BC_MenuBar* active_menubar;
// pointer to the active popup menu in the window