X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcwindowbase.C;h=cee19e7adaf812f51cce88886196d7d79a3f94d7;hb=9f682a609a1817808682efa68cb96a296815bf80;hp=fae98cb186b9315572190fa6abd940e3d2f84a0b;hpb=2264753cd1968c95829dc01d3d9c394eacff34dc;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bcwindowbase.C b/cinelerra-5.1/guicast/bcwindowbase.C index fae98cb1..cee19e7a 100644 --- a/cinelerra-5.1/guicast/bcwindowbase.C +++ b/cinelerra-5.1/guicast/bcwindowbase.C @@ -547,7 +547,7 @@ int BC_WindowBase::create_window(BC_WindowBase *parent_window, get_atoms(); #ifndef SINGLE_THREAD - clipboard = new BC_Clipboard(display_name); + clipboard = new BC_Clipboard(this); clipboard->start_clipboard(); #endif @@ -1348,6 +1348,7 @@ locking_message = event->xclient.message_type; cursor_y = event->xcrossing.y; dispatch_cursor_enter(); break; + default: break; } @@ -3696,6 +3697,38 @@ BC_Clipboard* BC_WindowBase::get_clipboard() #endif } +Atom BC_WindowBase::to_clipboard(const char *data, long len, int clipboard_num) +{ + return get_clipboard()->to_clipboard(this, data, len, clipboard_num); +} + +long BC_WindowBase::from_clipboard(char *data, long maxlen, int clipboard_num) +{ + return get_clipboard()->from_clipboard(data, maxlen, clipboard_num); +} + +long BC_WindowBase::clipboard_len(int clipboard_num) +{ + return get_clipboard()->clipboard_len(clipboard_num); +} + +int BC_WindowBase::do_selection_clear(Window win) +{ + top_level->event_win = win; + return dispatch_selection_clear(); +} + +int BC_WindowBase::dispatch_selection_clear() +{ + int result = 0; + for( int i=0; itotal && !result; ++i ) + result = subwindows->values[i]->dispatch_selection_clear(); + if( !result ) + result = selection_clear_event(); + return result; +} + + void BC_WindowBase::get_relative_cursor_xy(int &x, int &y, int lock_window) { int abs_x, abs_y, win_x, win_y;