X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.0%2Fcinelerra%2Fawindowgui.h;h=e3486658adc53717a406cfdf331ebac52f71c8ab;hb=55e2690938cfc977f708039199f1246f0a563545;hp=8958fbf7dd19698fd7ad84836415f4bd5bf088d2;hpb=a3a59f63fdfbcf94c561595f515951fdfd4bea30;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/awindowgui.h b/cinelerra-5.0/cinelerra/awindowgui.h index 8958fbf7..e3486658 100644 --- a/cinelerra-5.0/cinelerra/awindowgui.h +++ b/cinelerra-5.0/cinelerra/awindowgui.h @@ -35,6 +35,7 @@ #include "mwindow.inc" #include "newfolder.inc" #include "pluginserver.inc" +#include "vicon.h" class AWindowAssets; class AWindowFolders; @@ -52,7 +53,10 @@ class AWindowView; class AddTools; class AddPluginsMenu; class AddPluginItem; +class AVIconDrawing; +class AssetPicon; +class AssetVIcon; class AWindowGUI; class AssetPicon : public BC_ListBoxItem @@ -85,6 +89,22 @@ public: int persistent; PluginServer *plugin; + VIcon *vicon; +}; + +class AssetVIcon : public VIcon { +public: + AssetPicon *picon; + VFrame *temp; + int64_t length; + + VFrame *frame(); + int64_t set_seq_no(int64_t no); + int get_vx(); + int get_vy(); + + AssetVIcon(AssetPicon *picon, int w, int h, double framerate, int64_t length); + ~AssetVIcon(); }; class AWindowRemovePlugin; @@ -156,6 +176,8 @@ public: bool protected_pixmap(BC_Pixmap *pixmap); int save_defaults(BC_Hash *defaults); int load_defaults(BC_Hash *defaults); + void start_vicon_drawing(); + void stop_vicon_drawing(); MWindow *mwindow; AWindow *awindow; @@ -203,9 +225,13 @@ public: AddTools *add_tools; // Temporary for reading picons from files VFrame *temp_picon; + VIconThread *vicon_thread; int64_t plugin_visibility; AWindowRemovePlugin *remove_plugin; + + AVIconDrawing *avicon_drawing; + int avicon_w, avicon_h, vicon_drawing; private: void update_folder_list(); void update_asset_list(); @@ -226,6 +252,8 @@ public: int drag_stop_event(); int button_press_event(); int column_resize_event(); + int cursor_enter_event(); + int cursor_leave_event(); MWindow *mwindow; AWindowGUI *gui; @@ -358,10 +386,10 @@ public: int x, y; }; -class AddTools : public BC_MenuBar +class AddTools : public BC_PopupMenu { public: - AddTools(MWindow *mwindow, AWindowGUI *gui, int x, int y, int w); + AddTools(MWindow *mwindow, AWindowGUI *gui, int x, int y, const char *title); void create_objects(); MWindow *mwindow; @@ -369,24 +397,26 @@ public: AddPluginsMenu *add_plugins; }; -class AddPluginsMenu : public BC_Menu +class AddPluginItem : public BC_MenuItem { public: - AddPluginsMenu(MWindow *mwindow, AWindowGUI *gui); - void create_objects(); + AddPluginItem(AddTools *menu, const char *text, int idx); + int handle_event(); - MWindow *mwindow; - AWindowGUI *gui; + AddTools *menu; + int idx; }; -class AddPluginItem : public BC_MenuItem +class AVIconDrawing : public BC_Toggle { public: - AddPluginItem(AddPluginsMenu *menu, const char *text, int idx); + AWindowGUI *agui; + int handle_event(); + static void calculate_geometry(AWindowGUI *agui, VFrame **images, int *ww, int *hh); - AddPluginsMenu *menu; - int idx; + AVIconDrawing(AWindowGUI *agui, int x, int y, VFrame **images); + ~AVIconDrawing(); }; #endif