#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
{
int button_press_event();
int button_release_event();
int cursor_motion_event();
+ int keypress_event();
void draw_vframe(VFrame *frame);
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;
};
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();
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;
};