r136: This commit was manufactured by cvs2svn to create tag 'hv_1_1_8'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / mwindowgui.h
blob8c1fb1fffc60709c96a9eceb2c34d37906bf69e9
1 #ifndef MAINWINDOWGUI_H
2 #define MAINWINDOWGUI_H
4 #include "editpopup.inc"
5 #include "guicast.h"
6 #include "mbuttons.inc"
7 #include "mainclock.inc"
8 #include "maincursor.h"
9 #include "mainmenu.inc"
10 #include "mtimebar.inc"
11 #include "mwindow.inc"
12 #include "patchbay.inc"
13 #include "pluginpopup.inc"
14 #include "zoombar.inc"
15 #include "samplescroll.inc"
16 #include "statusbar.inc"
17 #include "trackcanvas.inc"
18 #include "trackscroll.inc"
19 #include "transitionpopup.inc"
22 class MWindowGUI : public BC_Window
24 public:
25 MWindowGUI(MWindow *mwindow);
26 ~MWindowGUI();
28 int create_objects();
29 void get_scrollbars();
31 // ======================== event handlers
33 // Replace with update
34 void redraw_time_dependancies();
36 int focus_in_event();
37 int focus_out_event();
39 void update(int scrollbars,
40 int canvas, // 1 for incremental drawing. 2 for full refresh
41 int timebar,
42 int zoombar,
43 int patchbay,
44 int clock,
45 int buttonbar);
47 void update_title(char *path);
48 int translation_event();
49 int resize_event(int w, int h); // handle a resize event
50 int keypress_event();
51 int close_event();
52 int quit();
53 int save_defaults(Defaults *defaults);
54 int menu_h();
55 // Draw on the status bar only.
56 int show_message(char *message, int color = BLACK);
57 // Pop up a box if the statusbar is taken and show an error.
58 void show_error(char *message, int color = BLACK);
59 int repeat_event(int64_t duration);
60 // Entry point for drag events in all windows
61 int drag_motion();
62 int drag_stop();
63 void default_positions();
65 // Return if the area bounded by x1 and x2 is visible between view_x1 and view_x2
66 static int visible(int64_t x1, int64_t x2, int64_t view_x1, int64_t view_x2);
68 MWindow *mwindow;
70 // Popup menus
71 EditPopup *edit_menu;
72 PluginPopup *plugin_menu;
73 TransitionPopup *transition_menu;
75 MainClock *mainclock;
76 MButtons *mbuttons;
77 MTimeBar *timebar;
78 PatchBay *patchbay;
79 MainMenu *mainmenu;
80 ZoomBar *zoombar;
81 SampleScroll *samplescroll;
82 StatusBar *statusbar;
83 TrackScroll *trackscroll;
84 TrackCanvas *canvas;
85 // Cursor used to select regions
86 MainCursor *cursor;
87 // Dimensions of canvas minus scrollbars
88 int view_w, view_h;
94 #endif