#include <GL/glx.h>
#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;
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();
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);
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<int> *x, ArrayList<int> *y, BC_Pixmap *pixmap = 0);
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);
int allocate_color_table();
int init_gc();
int init_fonts();
+ void init_glyphs();
void init_xft();
void init_im();
void finit_im();
// 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.