X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcwindowbase.h;h=336b96932d165ad2845f96f6fc4a95535643635c;hp=3029e16ea6440d068061ab96a4b273d55534be47;hb=a21c48689604ad7142a02d6f0a8dd4776e8d4422;hpb=7dd4a71f0c957c2d95ae83fe789076d7445ecb60 diff --git a/cinelerra-5.1/guicast/bcwindowbase.h b/cinelerra-5.1/guicast/bcwindowbase.h index 3029e16e..336b9693 100644 --- a/cinelerra-5.1/guicast/bcwindowbase.h +++ b/cinelerra-5.1/guicast/bcwindowbase.h @@ -129,7 +129,7 @@ public: class BC_WindowBase : public trace_info { public: - BC_WindowBase(int opts=0); + BC_WindowBase(); virtual ~BC_WindowBase(); friend class BC_Bar; @@ -224,7 +224,6 @@ public: 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. @@ -269,6 +268,7 @@ public: 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; } @@ -277,18 +277,19 @@ public: int get_root_w(int lock_display); int get_root_h(int lock_display); XineramaScreenInfo *get_xinerama_info(int screen); + void get_fullscreen_geometry(int &wx, int &wy, int &ww, int &wh); int get_screen_w(int lock_display, int screen); int get_screen_h(int lock_display, int screen); 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); @@ -461,6 +462,7 @@ public: // 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(); @@ -550,8 +552,8 @@ private: int get_screen(); virtual int initialize(); int get_atoms(); -// Function to overload to recieve customly defined atoms - virtual int recieve_custom_xatoms(xatom_event *event); +// Function to overload to receive customly defined atoms + virtual int receive_custom_xatoms(xatom_event *event); void init_cursors(); int init_colors(); @@ -657,6 +659,8 @@ private: 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; @@ -674,6 +678,8 @@ private: int video_on; // Event handler completion int done, done_set, window_running; +// Enter/Leave notify state + int cursor_entered; // Return value of event handler int return_value; // Motion event compression @@ -736,24 +742,21 @@ private: // 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;