plug leaks, leaker tweaks, lang for effect info, c41 spiffs, wm probe tweaks
[goodguy/history.git] / cinelerra-5.1 / guicast / bcwindowbase.h
index 767427dc2a7a63c45d6eaeec75b0092f083d3071..5532ae49a5454803f0061c5527232e76a9460ab8 100644 (file)
@@ -269,10 +269,10 @@ public:
        void add_keyboard_listener(int(BC_WindowBase::*handler)(BC_WindowBase *));
        void del_keyboard_listener(int(BC_WindowBase::*handler)(BC_WindowBase *));
 // Dimensions
-       virtual int get_w();
-       virtual int get_h();
-       virtual int get_x();
-       virtual int get_y();
+       virtual int get_w() { return w; }
+       virtual int get_h() { return h; }
+       virtual int get_x() { return x; }
+       virtual int get_y() { return y; }
        int get_root_w(int lock_display);
        int get_root_h(int lock_display);
        XineramaScreenInfo *get_xinerama_info(int screen);
@@ -397,8 +397,8 @@ public:
                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 *charpos = 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);
@@ -514,8 +514,8 @@ public:
        int unset_repeat(int64_t duration);
        const char *get_tooltip();
        int set_tooltip(const char *text);
-       void set_tooltip_done(int v);
-       int show_tooltip(int w = -1, int h = -1);
+       virtual int show_tooltip(const char *text, int x=-1, int y=-1, int w = -1, int h = -1);
+       int show_tooltip(int w=-1, int h=-1) { return show_tooltip(0, -1, -1, w, h); }
        int hide_tooltip();
        int set_icon(VFrame *data);
        int load_defaults(BC_Hash *defaults);
@@ -557,6 +557,7 @@ private:
        int create_private_colors();
        int create_color(int color);
        int create_shared_colors();
+       Cursor create_grab_cursor();
 // Get width of a single line.  Used by get_text_width
        int get_single_text_width(int font, const char *text, int length);
        int get_single_text_width(int font, const wchar_t *text, int length);
@@ -572,7 +573,6 @@ private:
        int64_t get_color_bgr24(int color);
        XFontStruct* get_font_struct(int font);
        XftFont* get_xft_struct(int font);
-       int wcharpos(const wchar_t *text, XftFont *font, int length, int *charpos);
        Cursor get_cursor_struct(int cursor);
        XFontSet get_fontset(int font);
        XFontSet get_curr_fontset(void);
@@ -583,7 +583,7 @@ private:
 
        int trigger_tooltip();
        int untrigger_tooltip();
-       void draw_tooltip();
+       void draw_tooltip(const char *text=0);
        static XEvent *new_xevent();
 // delete all repeater opjects for a close
        int unset_all_repeaters();
@@ -730,7 +730,6 @@ private:
 // Popup window for tooltip
        BC_Popup *tooltip_popup;
 // If this subwindow has already shown a tooltip since the last EnterNotify
-       int tooltip_done;
        int options;
        int flash_enabled;