tweak map media vicon popup timeline drag/select
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / awindowgui.h
index 41dd0491a4204db18f5874377ab0f01bbdc7c49c..d15e19f5d30a87607f2651749c9f7f9ee9e2239c 100644 (file)
 #include "samples.inc"
 #include "vicon.h"
 
-#define SELECT_USED 0
-#define SELECT_UNUSED 1
+#define SELECT_ALL 0
+#define SELECT_USED 1
+#define SELECT_UNUSED 2
+#define SELECT_NONE 3
+#define VIEW_POPUP_BAR_H 15
 
 class AWindowFolderItem : public BC_ListBoxItem
 {
@@ -80,7 +83,12 @@ public:
        void reset();
        static void draw_hue_bar(VFrame *frame, double t);
        static void draw_wave(VFrame *frame, double *dp, int len,
-               int base_color, int line_color);
+               int base_color, int line_color, int x, int y, int w, int h);
+       static void draw_wave(VFrame *frame, double *dp, int len,
+               int base_color, int line_color, int x=0, int y=0) {
+         draw_wave(frame, dp, len, base_color, line_color,
+               x,y,frame->get_w(),frame->get_h());
+       }
        void open_render_engine(EDL *edl, int is_audio);
        void close_render_engine();
        void render_video(int64_t pos, VFrame *vfrm);
@@ -152,6 +160,20 @@ public:
        ~AssetVIcon();
 };
 
+class AssetVIconThread : public VIconThread
+{
+public:
+       AssetVIconThread(AWindowAssets *asset_list);
+       ~AssetVIconThread();
+
+       int popup_button_press(int x, int y);
+       int popup_button_release(int x, int y);
+       int popup_cursor_motion(int x, int y);
+
+       int popup_dragging;
+};
+
+
 class AWindowRemovePlugin;
 
 class AWindowRemovePluginGUI : public BC_Window {
@@ -344,6 +366,8 @@ public:
        int cursor_leave_event();
        void update_vicon_area();
        int mouse_over_event(int no);
+       static VIconDrawVFrame draw_vframe;
+       VIconDrawVFrame *draw_func;
 
        MWindow *mwindow;
        AWindowGUI *gui;