Exciting new Alt/h help key provided by sge (Georgy) with many thanks!
[goodguy/cinelerra.git] / cinelerra-5.1 / guicast / bcwindowbase.h
index 6ce2128d9c372c134b8a6ec701a7b6bd6871d1a0..2feaf66cebcb1e798ed807697473723a90d37803 100644 (file)
@@ -206,7 +206,7 @@ public:
        virtual int cursor_motion_event() { return 0; };
        virtual int cursor_leave_event();
        virtual int cursor_enter_event();
-       virtual int keypress_event() { return 0; };
+       virtual int keypress_event();
        virtual int keyrelease_event() { return 0; };
        virtual int translation_event() { return 0; };
        virtual int drag_start_event() { return 0; };
@@ -216,7 +216,9 @@ public:
        virtual int selection_clear_event() { return 0; }
 // Only if opengl is enabled
        virtual int expose_event() { return 0; };
+       virtual int handle_ungrab() { return 0; };
        virtual int grab_event(XEvent *event) { return 0; };
+
        virtual void create_objects() { return; };
 
        static void init_resources(float scale);
@@ -368,6 +370,8 @@ public:
        BC_WindowBase* get_parent();
 // Event happened in this window
        int is_event_win();
+// Event happened either in this window or in the associated tooltip
+       int is_tooltip_event_win();
        int cursor_inside();
 // Deactivate everything and activate this subwindow
        virtual int activate();
@@ -426,7 +430,9 @@ public:
        int draw_single_text(int draw, int font,
                int x, int y, const wchr_t *text, int length = -1, BC_Pixmap *pixmap = 0);
        void draw_center_text(int x, int y, const char *text, int length = -1);
+       void draw_pix(int x, int y, BC_Pixmap *pixmap = 0);
        void draw_line(int x1, int y1, int x2, int y2, BC_Pixmap *pixmap = 0);
+       void draw_bline(int x1, int y1, int x2, int y2, BC_Pixmap *pixmap = 0);
        void draw_polygon(ArrayList<int> *x, ArrayList<int> *y, BC_Pixmap *pixmap = 0);
        void fill_polygon(ArrayList<int> *x, ArrayList<int> *y, BC_Pixmap *pixmap = 0);
        void draw_rectangle(int x, int y, int w, int h);
@@ -559,6 +565,14 @@ public:
        long from_clipboard(char *data, long maxlen, int clipboard_num);
        long clipboard_len(int clipboard_num);
 
+// *** CONTEXT_HELP ***
+       void context_help_set_keyword(const char *keyword);
+       const char *context_help_get_keyword();
+       void context_help_show(const char *keyword);
+       void context_help_show();
+       int context_help_check_and_show(const char *keyword);
+       int context_help_check_and_show();
+
        int test_keypress;
        char keys_return[KEYPRESSLEN];
 
@@ -794,6 +808,9 @@ private:
        int shared_bg_pixmap;
        char title[BCTEXTLEN];
 
+// *** CONTEXT_HELP ***
+       char context_help_keyword[BCTEXTLEN];
+
 // X Window parameters
        int screen;
        Window rootwin;
@@ -913,11 +930,9 @@ private:
 #else
        Condition *completion_lock;
 #endif
-
-
+       Mutex *grab_lock;
        int dump_windows();
 
-
        BC_WindowEvents *event_thread;
        int is_deleting;
 // Hide cursor when video is enabled