X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fguicast%2Fbcwindowbase.h;h=8272f4ff14bbfb0e844063b2e0a27f17d45e8481;hb=9f682a609a1817808682efa68cb96a296815bf80;hp=0bcad162d02db799222cd452ae65f002ed3ad81a;hpb=4c1a91d9f9373e564ecbeb8f568e4a3e7fe48e64;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bcwindowbase.h b/cinelerra-5.1/guicast/bcwindowbase.h index 0bcad162..8272f4ff 100644 --- a/cinelerra-5.1/guicast/bcwindowbase.h +++ b/cinelerra-5.1/guicast/bcwindowbase.h @@ -194,6 +194,7 @@ public: virtual int drag_motion_event() { return 0; }; virtual int drag_stop_event() { return 0; }; virtual int uses_text() { return 0; }; + virtual int selection_clear_event() { return 0; } // Only if opengl is enabled virtual int expose_event() { return 0; }; virtual int grab_event(XEvent *event) { return 0; }; @@ -397,7 +398,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 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); @@ -527,6 +529,9 @@ public: void restore_vm(); #endif + Atom to_clipboard(const char *data, long len, int clipboard_num); + long from_clipboard(char *data, long maxlen, int clipboard_num); + long clipboard_len(int clipboard_num); int test_keypress; char keys_return[KEYPRESSLEN]; @@ -595,6 +600,8 @@ private: void put_event(XEvent *event); // remove events queued for win void dequeue_events(Window win); +// clear selection + int do_selection_clear(Atom selection); // Recursive event dispatchers int dispatch_resize_event(int w, int h); @@ -615,6 +622,7 @@ private: int dispatch_drag_motion(); int dispatch_drag_stop(); int dispatch_expose_event(); + int dispatch_selection_clear(); // Get the port ID for a color model or return -1 for failure int grab_port_id(int color_model); @@ -763,6 +771,8 @@ private: Window rootwin; // windows previous events happened in Window event_win, drag_win; +// selection clear + Atom event_selection; Visual *vis; Colormap cmap; // Name of display