X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindowgui.h;h=d4205162e380d6580b6d1219dc74e4f5a1fb014d;hp=4d742667f042fac6ec01ed677d3513c15353f83a;hb=502b6f3b6fd04f6b01c6d70dcb81aa304dd0db1c;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd diff --git a/cinelerra-5.1/cinelerra/mwindowgui.h b/cinelerra-5.1/cinelerra/mwindowgui.h index 4d742667..d4205162 100644 --- a/cinelerra-5.1/cinelerra/mwindowgui.h +++ b/cinelerra-5.1/cinelerra/mwindowgui.h @@ -2,21 +2,21 @@ /* * CINELERRA * Copyright (C) 1997-2014 Adam Williams - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * */ #ifndef MAINWINDOWGUI_H @@ -51,6 +51,7 @@ #include "statusbar.inc" #include "swindow.inc" #include "timelinepane.inc" +#include "track.inc" #include "trackcanvas.inc" #include "trackscroll.inc" #include "transitionpopup.inc" @@ -77,6 +78,18 @@ public: MButtons *mbuttons; }; +class ProxyToggle : public BC_Toggle +{ +public: + ProxyToggle(MWindow *mwindow, MButtons *mbuttons, int x, int y); + ~ProxyToggle(); + int handle_event(); + int keypress_event(); + + MWindow *mwindow; + MButtons *mbuttons; +}; + class MWindowGUI : public BC_Window { @@ -99,10 +112,10 @@ public: // FORCE_REDRAW for delete and redraw of resources // IGNORE_THREAD to ignore picon thread void update(int scrollbars, - int do_canvas, + int do_canvas, int timebar, int zoombar, - int patchbay, + int patchbay, int clock, int buttonbar); void draw_overlays(int flash_it); @@ -111,10 +124,12 @@ public: void update_timebar(int flush_it); void update_timebar_highlights(); void update_patchbay(); + void update_proxy_toggle(); void update_plugintoggles(); void update_scrollbars(int flush); void draw_canvas(int mode, int hide_cursor); void flash_canvas(int flush); + int show_window(int flush=1); void deactivate_timeline(); void activate_timeline(); void reset_meters(); @@ -127,12 +142,15 @@ public: void set_playing_back(int value); void set_editing_mode(int flush); void set_meter_format(int mode, int min, int max); + void update_mixers(Track *track, int v); + void stop_transport(const char *lock_msg); int translation_event(); int resize_event(int w, int h); // handle a resize event + int button_release_event(); int keypress_event(); int keyboard_listener(BC_WindowBase *wp); - int keyboard_listener(int key); + int key_listener(int key); void use_android_remote(int on); int close_event(); int quit(); @@ -141,8 +159,10 @@ public: int menu_w(); int menu_h(); // Draw on the status bar only. - int show_message(char *message, int color = -1); -// Pop up a box if the statusbar is taken and show an error. + void show_message(const char *message, int color=-1); + void update_default_message(); + void reset_default_message(); + void default_message(); void show_error(char *message, int color = BLACK); int repeat_event(int64_t duration); // Entry point for drag events in all windows @@ -155,7 +175,7 @@ public: // 1 if there are 2 panes horizontally int horizontal_panes(); -// get pane number where cursor updates should be drawn in, +// get pane number where cursor updates should be drawn in, // whether active or not TimelinePane* get_focused_pane(); void start_x_pane_drag(); @@ -191,11 +211,14 @@ public: EditPopup *edit_menu; PluginPopup *plugin_menu; KeyframePopup *keyframe_menu; + KeyframeHidePopup *keyframe_hide; + BC_SubWindow *keyvalue_popup; TransitionPopup *transition_menu; MainClock *mainclock; MButtons *mbuttons; FFMpegToggle *ffmpeg_toggle; + ProxyToggle *proxy_toggle; PaneDivider *x_divider; PaneDivider *y_divider; TimelinePane *pane[TOTAL_PANES]; @@ -221,7 +244,6 @@ public: BC_DragWindow *drag_popup; - // PatchBay *patchbay; // MTimeBar *timebar; // SampleScroll *samplescroll;