X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fawindowgui.h;h=d15e19f5d30a87607f2651749c9f7f9ee9e2239c;hp=d135145555cd4bb8552cea543ff19d37d20ea4ea;hb=b2dfd8318ea57bbe38e2c61ffd8cda30fb7465c3;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/cinelerra/awindowgui.h b/cinelerra-5.1/cinelerra/awindowgui.h index d1351455..d15e19f5 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.h +++ b/cinelerra-5.1/cinelerra/awindowgui.h @@ -35,6 +35,7 @@ #include "edl.inc" #include "effectlist.inc" #include "folderlistmenu.inc" +#include "garbage.h" #include "guicast.h" #include "labeledit.inc" #include "labelpopup.inc" @@ -48,6 +49,12 @@ #include "samples.inc" #include "vicon.h" +#define SELECT_ALL 0 +#define SELECT_USED 1 +#define SELECT_UNUSED 2 +#define SELECT_NONE 3 +#define VIEW_POPUP_BAR_H 15 + class AWindowFolderItem : public BC_ListBoxItem { public: @@ -76,7 +83,12 @@ public: void reset(); static void draw_hue_bar(VFrame *frame, double t); static void draw_wave(VFrame *frame, double *dp, int len, - int base_color, int line_color); + int base_color, int line_color, int x, int y, int w, int h); + static void draw_wave(VFrame *frame, double *dp, int len, + int base_color, int line_color, int x=0, int y=0) { + draw_wave(frame, dp, len, base_color, line_color, + x,y,frame->get_w(),frame->get_h()); + } void open_render_engine(EDL *edl, int is_audio); void close_render_engine(); void render_video(int64_t pos, VFrame *vfrm); @@ -107,7 +119,7 @@ public: double sort_key; PluginServer *plugin; Label *label; - VIcon *vicon; + AssetVIcon *vicon; RenderEngine *render_engine; }; @@ -130,7 +142,7 @@ public: int audio_pos; }; -class AssetVIcon : public VIcon { +class AssetVIcon : public VIcon, public Garbage { public: AssetPicon *picon; VFrame *temp; @@ -148,6 +160,20 @@ public: ~AssetVIcon(); }; +class AssetVIconThread : public VIconThread +{ +public: + AssetVIconThread(AWindowAssets *asset_list); + ~AssetVIconThread(); + + int popup_button_press(int x, int y); + int popup_button_release(int x, int y); + int popup_cursor_motion(int x, int y); + + int popup_dragging; +}; + + class AWindowRemovePlugin; class AWindowRemovePluginGUI : public BC_Window { @@ -340,6 +366,8 @@ public: int cursor_leave_event(); void update_vicon_area(); int mouse_over_event(int no); + static VIconDrawVFrame draw_vframe; + VIconDrawVFrame *draw_func; MWindow *mwindow; AWindowGUI *gui; @@ -547,4 +575,23 @@ public: AWindowGUI *gui; }; +class AssetSelectUsedItem : public BC_MenuItem +{ +public: + AssetSelectUsedItem(AssetSelectUsed *select_used, const char *text, int action); + int handle_event(); + + int action; + AssetSelectUsed *select_used; +}; + +class AssetSelectUsed : public BC_MenuItem +{ +public: + AssetSelectUsed(MWindow *mwindow, AWindowGUI *gui); + + MWindow *mwindow; + AWindowGUI *gui; +}; + #endif