X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Fawindowgui.h;h=d135145555cd4bb8552cea543ff19d37d20ea4ea;hb=HEAD;hp=b96a5602850ecf94327c22029efe0e351717782b;hpb=a95193c3fd88733d184f2d460eca1fe6ddf8af28;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/awindowgui.h b/cinelerra-5.1/cinelerra/awindowgui.h index b96a5602..d1351455 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.h +++ b/cinelerra-5.1/cinelerra/awindowgui.h @@ -48,7 +48,20 @@ #include "samples.inc" #include "vicon.h" -class AssetPicon : public BC_ListBoxItem +class AWindowFolderItem : public BC_ListBoxItem +{ +public: + AWindowFolderItem(); + AWindowFolderItem(const char *text, int color = -1); + AWindowFolderItem(const char *text, BC_Pixmap *icon, int color = -1); + + AssetPicon *get_picon(); + int matches(const char *text); + + AWindowFolderItem *parent; +}; + +class AssetPicon : public AWindowFolderItem { public: AssetPicon(MWindow *mwindow, AWindowGUI *gui, Indexable *indexable); @@ -68,12 +81,17 @@ public: void close_render_engine(); void render_video(int64_t pos, VFrame *vfrm); void render_audio(int64_t pos, Samples **samples, int len); + VFrame *get_vicon_frame(); MWindow *mwindow; AWindowGUI *gui; BC_Pixmap *icon; VFrame *icon_vframe; + VFrame *vicon_frame; int foldernum; +// sublist items if set + AWindowFolderSubItems *sub_items; + // ID of thing pointed to int id; @@ -181,7 +199,7 @@ public: int drag_motion(); int drag_stop(); // Collect items into the drag vectors of MainSession - void collect_assets(); + void collect_assets(int proxy=0); EDL *collect_proxy(Indexable *indexable); void create_persistent_folder(ArrayList *output, int do_audio, @@ -189,8 +207,7 @@ public: int is_realtime, int is_transition); void create_label_folder(); - void copy_picons(ArrayList *dst, - ArrayList *src, int folder); + void copy_picons(AssetPicon *picon, ArrayList *src); void sort_picons(ArrayList *src); // Return the selected asset in asset_list Indexable* selected_asset(); @@ -319,6 +336,10 @@ public: int column_resize_event(); int focus_in_event(); int focus_out_event(); + int cursor_enter_event(); + int cursor_leave_event(); + void update_vicon_area(); + int mouse_over_event(int no); MWindow *mwindow; AWindowGUI *gui; @@ -338,6 +359,22 @@ public: AWindowGUI *gui; }; +class AWindowSubFolderNames : public ArrayList +{ +public: + AWindowSubFolderNames() { set_array_delete(); } + ~AWindowSubFolderNames() { remove_all_objects(); } +}; + +class AWindowFolderSubItems : public AWindowFolderItem +{ +public: + AWindowFolderSubItems(AWindowFolderItem *parent, const char *text); + int matches(const char *text); + + AWindowSubFolderNames names; +}; + class AWindowFolders : public BC_ListBox { public: @@ -347,9 +384,12 @@ public: int selection_changed(); int button_press_event(); int drag_stop(); + int load_expanders(); MWindow *mwindow; AWindowGUI *gui; +// last selection + AWindowFolderItem *last_item0, *last_item1; }; class AWindowSearchTextBox : public BC_TextBox