#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);
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;
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<BC_ListBoxItem*> *output,
int do_audio,
int is_realtime,
int is_transition);
void create_label_folder();
- void copy_picons(ArrayList<BC_ListBoxItem*> *dst,
- ArrayList<BC_ListBoxItem*> *src, int folder);
+ void copy_picons(AssetPicon *picon, ArrayList<BC_ListBoxItem*> *src);
void sort_picons(ArrayList<BC_ListBoxItem*> *src);
// Return the selected asset in asset_list
Indexable* selected_asset();
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;
AWindowGUI *gui;
};
+class AWindowSubFolderNames : public ArrayList<const char *>
+{
+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:
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