X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fassetpopup.h;h=0720d9d2b57d5143e546ed00121cbf5312fbaef1;hp=8bb458f9d0eace276297689713d2838319ee8760;hb=502b6f3b6fd04f6b01c6d70dcb81aa304dd0db1c;hpb=4d2d052cc767103a8699b1de0e3a1f36844ac04f diff --git a/cinelerra-5.1/cinelerra/assetpopup.h b/cinelerra-5.1/cinelerra/assetpopup.h index 8bb458f9..0720d9d2 100644 --- a/cinelerra-5.1/cinelerra/assetpopup.h +++ b/cinelerra-5.1/cinelerra/assetpopup.h @@ -22,14 +22,9 @@ #ifndef ASSETPOPUP_H #define ASSETPOPUP_H -class AssetPopupInfo; -class AssetPopupBuildIndex; -class AssetPopupView; -class AssetPopupViewWindow; - #include "assetedit.inc" +#include "assetpopup.inc" #include "awindowgui.inc" -#include "awindowmenu.inc" #include "edl.inc" #include "guicast.h" #include "assets.inc" @@ -59,7 +54,8 @@ public: AssetPopupBuildIndex *index; AssetPopupView *view; AssetPopupViewWindow *view_window; - AssetListFormat *format; + AssetPopupMixer *mixer; + AWindowListFormat *format; }; class AssetPopupInfo : public BC_MenuItem @@ -75,11 +71,23 @@ public: AssetPopup *popup; }; -class AssetPopupSort : public BC_MenuItem +class AssetPopupSortNames : public BC_MenuItem +{ +public: + AssetPopupSortNames(MWindow *mwindow, AssetPopup *popup); + ~AssetPopupSortNames(); + + int handle_event(); + + MWindow *mwindow; + AssetPopup *popup; +}; + +class AssetPopupSortTimes : public BC_MenuItem { public: - AssetPopupSort(MWindow *mwindow, AssetPopup *popup); - ~AssetPopupSort(); + AssetPopupSortTimes(MWindow *mwindow, AssetPopup *popup); + ~AssetPopupSortTimes(); int handle_event(); @@ -125,6 +133,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: @@ -194,5 +214,213 @@ public: AssetPopup *popup; }; +class AssetListMenu : public BC_PopupMenu +{ +public: + AssetListMenu(MWindow *mwindow, AWindowGUI *gui); + ~AssetListMenu(); + + void create_objects(); + 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 +{ +public: + AssetListCopy(MWindow *mwindow, AWindowGUI *gui); + ~AssetListCopy(); + + int handle_event(); + + MWindow *mwindow; + AWindowGUI *gui; + AssetCopyDialog *copy_dialog; +}; + +class AssetCopyDialog : public BC_DialogThread +{ +public: + AssetCopyDialog(AssetListCopy *copy); + ~AssetCopyDialog(); + + void start(char *text, int x, int y); + BC_Window* new_gui(); + void handle_done_event(int result); + void handle_close_event(int result); + + char *text; + int x, y; + AssetListCopy *copy; + AssetCopyWindow *copy_window; +}; + +class AssetCopyWindow : public BC_Window +{ +public: + AssetCopyWindow(AssetCopyDialog *copy_dialog); + ~AssetCopyWindow(); + + void create_objects(); + int resize_event(int w, int h); + + AssetCopyDialog *copy_dialog; + BC_ScrollTextBox *file_list; +}; + +class AssetListPaste : public BC_MenuItem +{ +public: + AssetListPaste(MWindow *mwindow, AWindowGUI *gui); + ~AssetListPaste(); + + int handle_event(); + + MWindow *mwindow; + AWindowGUI *gui; + AssetPasteDialog *paste_dialog; +}; + +class AssetPasteDialog : public BC_DialogThread +{ +public: + AssetPasteDialog(AssetListPaste *paste); + ~AssetPasteDialog(); + + BC_Window* new_gui(); + void handle_done_event(int result); + void handle_close_event(int result); + void start(int x, int y); + + AssetListPaste *paste; + AssetPasteWindow *paste_window; + int x, y; +}; + +class AssetPasteWindow : public BC_Window +{ +public: + AssetPasteWindow(AssetPasteDialog *paste_dialog); + ~AssetPasteWindow(); + + void create_objects(); + int resize_event(int w, int h); + + AssetPasteDialog *paste_dialog; + 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