X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcwindowbase.h;h=7e36cd67131e341a69715b2b7cb856db12c0102e;hb=caf23b6b8e0024c33390ddaa165e11956e66f1c2;hp=f231c6d20a68da704ed3b8acf103ff5362137673;hpb=7ead9f7382846e81c2f8efb25780014e5f8834c3;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/guicast/bcwindowbase.h b/cinelerra-5.1/guicast/bcwindowbase.h index f231c6d2..7e36cd67 100644 --- a/cinelerra-5.1/guicast/bcwindowbase.h +++ b/cinelerra-5.1/guicast/bcwindowbase.h @@ -97,7 +97,9 @@ #include #endif - +// scaled x,y unit +#define xS(v) (BC_WindowBase::get_resources()->x_scale*(v)) +#define yS(v) (BC_WindowBase::get_resources()->y_scale*(v)) #ifdef HAVE_GL //typedef void* GLXContext; @@ -201,6 +203,8 @@ public: virtual int grab_event(XEvent *event) { return 0; }; virtual void create_objects() { return; }; + static void init_resources(float scale); + static void finit_resources(); int get_window_type() { return window_type; } // Wait until event loop is running void init_wait(); @@ -338,6 +342,8 @@ public: int get_text_height(int font, const char *text = 0); int get_text_width(int font, const char *text, int length = -1); int get_text_width(int font, const wchar_t *text, int length = -1); +// truncate the text with ... & return a new string + char *get_truncated_text(int font, const char *text, int max_w); BC_Clipboard* get_clipboard(); void set_dragging(int value); int set_w(int w); @@ -403,8 +409,6 @@ public: int length, BC_Pixmap *pixmap); 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); void draw_line(int x1, int y1, int x2, int y2, BC_Pixmap *pixmap = 0); void draw_polygon(ArrayList *x, ArrayList *y, BC_Pixmap *pixmap = 0); @@ -500,6 +504,7 @@ public: void slide_down(int distance); void flicker(int n=3, int ms=66); void focus(); + int wait_viewable(int ms); int cycle_textboxes(int amount); @@ -523,6 +528,7 @@ public: 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); + void set_net_icon(VFrame *data); int load_defaults(BC_Hash *defaults); int save_defaults(BC_Hash *defaults); @@ -572,6 +578,7 @@ private: int allocate_color_table(); int init_gc(); int init_fonts(); + void init_glyphs(); void init_xft(); void init_im(); void finit_im(); @@ -727,7 +734,7 @@ private: // Whether the window has the focus int has_focus; - static BC_Resources resources; + static BC_Resources *resources; #ifndef SINGLE_THREAD // Array of repeaters for multiple repeating objects.