add binfolder path relative filters, fix gbrp color model, vwdw timebar tweaks, title...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / assetpopup.h
index d6c3136e5a3c9e873ba85115b2f02c2f23081cf8..129cd335f0ff29e44c67db6098b4577512c90195 100644 (file)
@@ -54,6 +54,7 @@ public:
        AssetPopupBuildIndex *index;
        AssetPopupView *view;
        AssetPopupViewWindow *view_window;
+       AssetPopupMixer *mixer;
        AWindowListFormat *format;
 };
 
@@ -120,6 +121,18 @@ public:
        AssetPopup *popup;
 };
 
+class AssetPopupMixer : public BC_MenuItem
+{
+public:
+       AssetPopupMixer(MWindow *mwindow, AssetPopup *popup);
+       ~AssetPopupMixer();
+
+       int handle_event();
+
+       MWindow *mwindow;
+       AssetPopup *popup;
+};
+
 class AssetPopupPaste : public BC_MenuItem
 {
 public:
@@ -196,11 +209,27 @@ public:
        ~AssetListMenu();
 
        void create_objects();
-       void update_titles();
+       void update_titles(int shots);
 
        MWindow *mwindow;
        AWindowGUI *gui;
+       AssetPopupLoadFile *load_file;
        AWindowListFormat *format;
+       AssetSnapshot *asset_snapshot;
+       AssetGrabshot *asset_grabshot;
+       int shots_displayed;
+};
+
+class AssetPopupLoadFile : public BC_MenuItem
+{
+public:
+       AssetPopupLoadFile(MWindow *mwindow, AWindowGUI *gui);
+       ~AssetPopupLoadFile();
+
+       int handle_event();
+
+       MWindow *mwindow;
+       AWindowGUI *gui;
 };
 
 class AssetListCopy : public BC_MenuItem
@@ -288,4 +317,98 @@ public:
        BC_ScrollTextBox *file_list;
 };
 
+class AssetSnapshot : public BC_MenuItem
+{
+public:
+       AssetSnapshot(MWindow *mwindow, AssetListMenu *asset_list_menu);
+       ~AssetSnapshot();
+
+       MWindow *mwindow;
+       AssetListMenu *asset_list_menu;
+};
+
+class SnapshotSubMenu : public BC_SubMenu
+{
+public:
+       SnapshotSubMenu(AssetSnapshot *asset_snapshot);
+       ~SnapshotSubMenu();
+
+       AssetSnapshot *asset_snapshot;
+};
+
+class SnapshotMenuItem : public BC_MenuItem
+{
+public:
+       SnapshotMenuItem(SnapshotSubMenu *submenu, const char *text, int mode);
+       ~SnapshotMenuItem();
+
+       int handle_event();
+       SnapshotSubMenu *submenu;
+       int mode;
+};
+
+
+class AssetGrabshot : public BC_MenuItem
+{
+public:
+       AssetGrabshot(MWindow *mwindow, AssetListMenu *asset_list_menu);
+       ~AssetGrabshot();
+
+       MWindow *mwindow;
+       AssetListMenu *asset_list_menu;
+};
+
+class GrabshotSubMenu : public BC_SubMenu
+{
+public:
+       GrabshotSubMenu(AssetGrabshot *asset_grabshot);
+       ~GrabshotSubMenu();
+
+       AssetGrabshot *asset_grabshot;
+};
+
+class GrabshotMenuItem : public BC_MenuItem
+{
+public:
+       GrabshotMenuItem(GrabshotSubMenu *submenu, const char *text, int mode);
+       ~GrabshotMenuItem();
+
+       int handle_event();
+       GrabshotSubMenu *submenu;
+       int mode;
+       GrabshotThread *grab_thread;
+};
+
+class GrabshotThread : public Thread
+{
+public:
+       GrabshotThread(MWindow* mwindow);
+       ~GrabshotThread();
+
+       MWindow *mwindow;
+       GrabshotPopup *popup;
+       BC_Popup *edge[4];
+       int done;
+
+       void start(GrabshotMenuItem *menu_item);
+       void run();
+};
+
+class GrabshotPopup : public BC_Popup
+{
+public:
+       GrabshotPopup(GrabshotThread *grab_thread, int mode);
+       ~GrabshotPopup();
+       int grab_event(XEvent *event);
+       void draw_selection(int invert);
+       void update();
+
+       GrabshotThread *grab_thread;
+       int mode;
+       int dragging;
+       int grab_color;
+       int x0, y0, x1, y1;
+       int lx0, ly0, lx1, ly1;
+};
+
 #endif