#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;
friend class BC_Tumbler;
friend class BC_Window;
friend class BC_WindowEvents;
+ friend class Shuttle;
// Main loop
int run_window();
void disable_opengl();
void flip_opengl();
-// Calls the BC_Synchronous version of the function with the window_id.
-// Not run in OpenGL thread because it has its own lock.
- unsigned int get_shader(char *title, int *got_it);
- void put_shader(unsigned int handle, char *title);
+// Calls the BC_Synchronous version of the function
+ int get_shader(unsigned int *handle, const char *vert, const char *frag);
+ void put_shader(unsigned int handle, const char *vert, const char *frag);
int get_opengl_server_version();
int flash(int x, int y, int w, int h, int flush = 1);
int lock_window(const char *location = 0);
int unlock_window();
int get_window_lock();
+ int break_lock();
BC_MenuBar* add_menubar(BC_MenuBar *menu_bar);
BC_WindowBase* add_subwindow(BC_WindowBase *subwindow);
XFontSet get_fontset(int font);
XFontSet get_curr_fontset(void);
void set_fontset(int font);
- int dispatch_event(XEvent *event);
+ int dispatch_event();
int get_key_masks(unsigned int key_state);