X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fvicon.h;h=544e1f963031db6e20b85a0a105547821e82569c;hp=096182985852ca73a14e846b023b7f98c813aacb;hb=ab958f323d68316c450ef81ba296536580620163;hpb=b2dfd8318ea57bbe38e2c61ffd8cda30fb7465c3 diff --git a/cinelerra-5.1/guicast/vicon.h b/cinelerra-5.1/guicast/vicon.h index 09618298..544e1f96 100644 --- a/cinelerra-5.1/guicast/vicon.h +++ b/cinelerra-5.1/guicast/vicon.h @@ -9,17 +9,16 @@ #include "vicon.inc" #include "vframe.h" -typedef void VIconDrawVFrame(BC_WindowBase *wdw, VFrame *frame); - class ViewPopup : public BC_Popup { public: VIconThread *vt; - int keypress_event(); - int button_press_event(); - int button_release_event(); - int cursor_motion_event(); + 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); - ViewPopup(VIconThread *vt, VFrame *frame, int x, int y, int w, int h); + ViewPopup(VIconThread *vt, int x, int y, int w, int h); ~ViewPopup(); }; @@ -40,7 +39,7 @@ public: class VIcon { public: - int vw, vh, in_use, hidden; + int w, h, in_use, hidden; ArrayList images; int64_t seq_no; double cycle_start, age, frame_rate; @@ -78,7 +77,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; @@ -96,25 +95,25 @@ 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, VIconDrawVFrame *draw_vfrm=0); + void set_view_popup(VIcon *vicon); + int zoom_scale(int dir); void close_view_popup(); void hide_vicons(int v=1); - ViewPopup *new_view_window(VFrame *frame); - virtual int popup_button_press(int x, int y) { return 0; } - virtual int popup_button_release(int x, int y) { return 0; } - virtual int popup_cursor_motion(int x, int y) { return 0; } + virtual ViewPopup *new_view_window(); virtual bool visible(VIcon *vicon, int x, int y); virtual void drawing_started() {} virtual void drawing_stopped() {} - static VIconDrawVFrame draw_vframe; - VIconDrawVFrame *draw_vfrm; - 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(); };