class BC_WindowBase : public trace_info
{
public:
- BC_WindowBase(int opts=0);
+ BC_WindowBase();
virtual ~BC_WindowBase();
friend class BC_Bar;
int get_deleting();
-
//============================= OpenGL functions ===============================
// OpenGL functions must be called from inside a BC_Synchronous command.
// Create openGL context and bind it to the current window.
virtual int keyboard_listener(BC_WindowBase *wp) { return 0; }
void add_keyboard_listener(int(BC_WindowBase::*handler)(BC_WindowBase *));
void del_keyboard_listener(int(BC_WindowBase::*handler)(BC_WindowBase *));
+ int resend_event(BC_WindowBase *window);
// Dimensions
virtual int get_w() { return w; }
virtual int get_h() { return h; }
int get_screen_x(int lock_display, int screen);
int get_screen_y(int lock_display, int screen);
// Get current position
- void get_abs_cursor_xy(int &abs_x, int &abs_y, int lock_window=0);
+ void get_abs_cursor(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);
+ void get_pop_cursor(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);
+ void get_relative_cursor(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);
// Reroute toplevel events
int grab(BC_WindowBase *window);
int ungrab(BC_WindowBase *window);
+ int grab_event_count();
// Grab button events
int grab_buttons();
void ungrab_buttons();
BC_PopupMenu* active_popup_menu;
// pointer to the active subwindow
BC_WindowBase* active_subwindow;
+// pointer to the window to which to put the current event
+ BC_WindowBase* resend_event_window;
// thread id of display locker
pthread_t display_lock_owner;
// Popup window for tooltip
BC_Popup *tooltip_popup;
// If this subwindow has already shown a tooltip since the last EnterNotify
- int options;
int flash_enabled;
// Font sets
- XFontSet smallfontset, mediumfontset, largefontset, bigfontset, curr_fontset;
-
+ XFontSet smallfontset, mediumfontset, largefontset, bigfontset, clockfontset;
+ XFontSet curr_fontset;
// Fonts
int current_font;
- XFontStruct *smallfont, *mediumfont, *largefont, *bigfont;
-
+ XFontStruct *smallfont, *mediumfont, *largefont, *bigfont, *clockfont;
// Must be void so users don't need to include the wrong libpng version.
- void *smallfont_xft, *mediumfont_xft, *largefont_xft, *bigfont_xft;
-
+ void *smallfont_xft, *mediumfont_xft, *largefont_xft, *bigfont_xft, *clockfont_xft;
+ void *bold_smallfont_xft, *bold_mediumfont_xft, *bold_largefont_xft;
int line_width;
int line_dashes;
- void *bold_largefont_xft, *bold_mediumfont_xft, *bold_smallfont_xft;
int64_t current_color;
// Coordinate of drag start
int drag_x, drag_y;