virtual int drag_motion_event() { return 0; };
virtual int drag_stop_event() { return 0; };
virtual int uses_text() { return 0; };
virtual int drag_motion_event() { return 0; };
virtual int drag_stop_event() { return 0; };
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; };
// Only if opengl is enabled
virtual int expose_event() { return 0; };
virtual int grab_event(XEvent *event) { return 0; };
//============================= OpenGL functions ===============================
// OpenGL functions must be called from inside a BC_Synchronous command.
// Create openGL context and bind it to the current window.
//============================= 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 *));
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 get_screen_x(int lock_display, int screen);
int get_screen_y(int lock_display, int screen);
// Get current position
int get_screen_x(int lock_display, int screen);
int get_screen_y(int lock_display, int screen);
// Get current position
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);
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);
BC_Pixmap *pixmap = 0, int is_utf8 = 0);
void draw_xft_text(int x, int y, const wchar_t *text,
int length, BC_Pixmap *pixmap);
BC_Pixmap *pixmap = 0, int is_utf8 = 0);
void draw_xft_text(int x, int y, const wchar_t *text,
int length, BC_Pixmap *pixmap);
- void draw_wtext(int x, int y, const wchar_t *text, int length = -1, BC_Pixmap *pixmap = 0);
+ int draw_single_text(int draw, int font,
+ int x, int y, const wchar_t *text, int length = -1, BC_Pixmap *pixmap = 0);
// truncate the text to a ... version that fits in the width, using the current_font
void truncate_text(char *result, const char *text, int w);
void draw_center_text(int x, int y, const char *text, int length = -1);
// truncate the text to a ... version that fits in the width, using the current_font
void truncate_text(char *result, const char *text, int w);
void draw_center_text(int x, int y, const char *text, int length = -1);
void set_background(VFrame *bitmap);
// Change the window title.
void put_title(const char *text);
void set_background(VFrame *bitmap);
// Change the window title.
void put_title(const char *text);
// Reroute toplevel events
int grab(BC_WindowBase *window);
int ungrab(BC_WindowBase *window);
// Reroute toplevel events
int grab(BC_WindowBase *window);
int ungrab(BC_WindowBase *window);
+ Atom to_clipboard(const char *data, long len, int clipboard_num);
+ long from_clipboard(char *data, long maxlen, int clipboard_num);
+ long clipboard_len(int clipboard_num);
void put_event(XEvent *event);
// remove events queued for win
void dequeue_events(Window win);
void put_event(XEvent *event);
// remove events queued for win
void dequeue_events(Window win);
// Recursive event dispatchers
int dispatch_resize_event(int w, int h);
// Recursive event dispatchers
int dispatch_resize_event(int w, int h);
int dispatch_drag_motion();
int dispatch_drag_stop();
int dispatch_expose_event();
int dispatch_drag_motion();
int dispatch_drag_stop();
int dispatch_expose_event();
BC_PopupMenu* active_popup_menu;
// pointer to the active subwindow
BC_WindowBase* active_subwindow;
BC_PopupMenu* active_popup_menu;
// pointer to the active subwindow
BC_WindowBase* active_subwindow;
int video_on;
// Event handler completion
int done, done_set, window_running;
int video_on;
// Event handler completion
int done, done_set, window_running;
// Popup window for tooltip
BC_Popup *tooltip_popup;
// If this subwindow has already shown a tooltip since the last EnterNotify
// Popup window for tooltip
BC_Popup *tooltip_popup;
// If this subwindow has already shown a tooltip since the last EnterNotify
- XFontSet smallfontset, mediumfontset, largefontset, bigfontset, curr_fontset;
-
+ XFontSet smallfontset, mediumfontset, largefontset, bigfontset, clockfontset;
+ XFontSet curr_fontset;
- XFontStruct *smallfont, *mediumfont, *largefont, *bigfont;
-
+ XFontStruct *smallfont, *mediumfont, *largefont, *bigfont, *clockfont;
- 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;
Window rootwin;
// windows previous events happened in
Window event_win, drag_win;
Window rootwin;
// windows previous events happened in
Window event_win, drag_win;