add view thumbnail size pref, rework vicon view popup, add view popup zoom scale
[goodguy/cinelerra.git] / cinelerra-5.1 / guicast / vicon.h
index 6ffe3b174de09e310241f71bed895a0b5e4c2bcc..14f2a99b8e002098fb988d96ececdb9be6a0d719 100644 (file)
 class ViewPopup : public BC_Popup {
 public:
        VIconThread *vt;
-       int keypress_event();
-       void draw_vframe(VFrame *frame);
+       virtual int keypress_event();
+       virtual int button_press_event() { return 0; }
+       virtual int button_release_event() { return 0; }
+       virtual int cursor_motion_event() { return 0; }
+       virtual void draw_vframe(VFrame *frame);
+       int zoom_scale(int dir);
 
        ViewPopup(VIconThread *vt, VFrame *frame, int x, int y, int w, int h);
        ~ViewPopup();
@@ -74,7 +78,7 @@ public:
        Condition *draw_lock;
        ViewPopup *view_win;
        VIcon *viewing, *vicon;
-       int view_w, view_h;
+       int vw, vh, view_w, view_h;
        int draw_x0, draw_y0;
        int draw_x1, draw_y1;
        int img_dirty, win_dirty;
@@ -84,7 +88,7 @@ public:
        ArrayList<VIcon *>t_heap;
        VIcon *low_vicon();
        void add_vicon(VIcon *vicon);
-       int del_vicon(VIcon *&vicon);
+       int del_vicon(VIcon *vicon);
        void run();
        void flash();
        int draw(VIcon *vicon);
@@ -92,19 +96,24 @@ public:
        void draw_images();
        void start_drawing();
        void stop_drawing();
+       void stop_viewing();
        void reset_images();
        void remove_vicon(int i);
        int keypress_event(int key);
+       int cursor_inside(int x, int y);
        void set_drawing_area(int x0, int y0, int x1, int y1);
        void set_view_popup(VIcon *vicon);
+       void close_view_popup();
        void hide_vicons(int v=1);
+       virtual ViewPopup *new_view_window(VFrame *frame);
 
-       ViewPopup *new_view_window(VFrame *frame);
        virtual bool visible(VIcon *vicon, int x, int y);
        virtual void drawing_started() {}
        virtual void drawing_stopped() {}
 
-       VIconThread(BC_WindowBase *wdw, int vw=4*VICON_WIDTH, int vh=4*VICON_HEIGHT);
+       VIconThread(BC_WindowBase *wdw,
+               int vw=VICON_WIDTH, int vh=VICON_HEIGHT,
+               int view_w=4*VICON_WIDTH, int view_h=4*VICON_HEIGHT);
        ~VIconThread();
 };