X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fawindowgui.h;h=35fdb9231c796a80ea5b5fd9e0e62d3fd41dc21f;hp=388ae622fcc730fb72497db5b9849d8e84683e36;hb=e8453fdab4d5ed7b384279a5b37c92010ac13295;hpb=8a2d79c16c6793d7d3483e9a74205569228ca0cc diff --git a/cinelerra-5.1/cinelerra/awindowgui.h b/cinelerra-5.1/cinelerra/awindowgui.h index 388ae622..35fdb923 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.h +++ b/cinelerra-5.1/cinelerra/awindowgui.h @@ -62,6 +62,13 @@ #define ASSET_VIEW_ICON 1 #define ASSET_VIEW_MEDIA 2 #define ASSET_VIEW_MEDIA_MAP 3 +#define ASSET_VIEW_FULL 4 + +#define AVICON_FULL_PLAY 0 +#define AVICON_MOUSE_OVER 1 +#define AVICON_SRC_TARGET 2 +#define AVICON_NO_PLAY 3 +#define AVICON_PLAY_MODES 4 class AWindowFolderItem : public BC_ListBoxItem { @@ -178,6 +185,7 @@ public: int button_press_event(); int button_release_event(); int cursor_motion_event(); + int keypress_event(); void draw_vframe(VFrame *frame); @@ -192,12 +200,17 @@ public: AssetVIconThread(AWindowGUI *gui, Preferences *preferences); ~AssetVIconThread(); - void set_view_popup(AssetVIcon *v, int draw_mode=-1); + void set_view_popup(AssetVIcon *v, int draw_mode); + void set_view_popup(AssetVIcon *v); ViewPopup *new_view_window(); + void drawing_started(); + void drawing_stopped(); + void close_view_popup(); AWindowGUI *gui; int draw_mode; int vicon_cmodel; + Mutex *draw_lock; }; @@ -270,7 +283,8 @@ public: int save_defaults(BC_Hash *defaults); int load_defaults(BC_Hash *defaults); void start_vicon_drawing(); - void stop_vicon_drawing(); + int stop_vicon_drawing(); + void close_view_popup(); void update_picon(Indexable *indexable); int cycle_assetlist_format(); @@ -563,16 +577,26 @@ public: int idx; }; -class AVIconDrawing : public BC_Toggle +class AVIconDrawingItem : public BC_MenuItem { public: - AWindowGUI *agui; - + AVIconDrawingItem(AVIconDrawing *avicon, const char *text, int id); int handle_event(); - static void calculate_geometry(AWindowGUI *agui, VFrame **images, int *ww, int *hh); - AVIconDrawing(AWindowGUI *agui, int x, int y, VFrame **images); + AVIconDrawing *avicon; + int id; +}; + +class AVIconDrawing : public BC_PopupMenu +{ +public: + AVIconDrawing(AWindowGUI *agui, int x, int y, int w, const char *text); ~AVIconDrawing(); + + void create_objects(); + static const char *avicon_names[]; + + AWindowGUI *agui; };