X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fsketcher%2Fsketcherwindow.h;h=a0a5e3ce374353327c041423ce0ae78128ba9387;hp=55dc4f4ef38169a5ee689a7daf31597c3f891511;hb=c8ada3e79b5bf9b8282bdcc8fe858f24c6ac0715;hpb=ad498171bc20d8187dfa891da26d7b32a2ff0380 diff --git a/cinelerra-5.1/plugins/sketcher/sketcherwindow.h b/cinelerra-5.1/plugins/sketcher/sketcherwindow.h index 55dc4f4e..a0a5e3ce 100644 --- a/cinelerra-5.1/plugins/sketcher/sketcherwindow.h +++ b/cinelerra-5.1/plugins/sketcher/sketcherwindow.h @@ -15,11 +15,10 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * */ -#ifndef __CRIKEYWINDOW_H__ -#define __CRIKEYWINDOW_H__ +#ifndef __SKETCHERWINDOW_H__ +#define __SKETCHERWINDOW_H__ #include "sketcher.h" #include "guicast.h" @@ -33,13 +32,13 @@ class SketcherCurveType; class SketcherCurvePenItem; class SketcherCurvePen; class SketcherCurveColor; -class SketcherCurveColorPicker; -class SketcherCurveColorThread; class SketcherNewCurve; class SketcherDelCurve; class SketcherCurveUp; class SketcherCurveDn; class SketcherCurveWidth; +class SketcherAliasItem; +class SketcherAliasing; class SketcherCurveList; class SketcherPointX; class SketcherPointY; @@ -54,6 +53,7 @@ class SketcherPointUp; class SketcherPointDn; class SketcherResetCurves; class SketcherResetPoints; +class SketcherHelp; class SketcherWindow; @@ -98,50 +98,19 @@ public: int pen; }; -class SketcherCurveColor : public BC_Button +class SketcherCurveColor : public ColorBoxButton { public: - SketcherCurveColor(SketcherWindow *gui, int x, int y, int w, int h); + SketcherCurveColor(SketcherWindow *gui, + int x, int y, int w, int h, int color, int alpha); ~SketcherCurveColor(); - void set_color(int color); - void update_gui(int color); - int handle_event(); - - int color; - VFrame *vframes[3]; - SketcherWindow *gui; -}; - -class SketcherCurveColorPicker : public ColorPicker -{ -public: - SketcherCurveColorPicker(SketcherWindow *gui, SketcherCurveColor *curve_color); - ~SketcherCurveColorPicker(); - void start(int color); int handle_new_color(int color, int alpha); - void update_gui(); void handle_done_event(int result); - SketcherWindow *gui; int color; - SketcherCurveColor *color_button; - SketcherCurveColorThread *color_update; -}; - -class SketcherCurveColorThread : public Thread -{ -public: - SketcherCurveColorThread(SketcherCurveColorPicker *color_picker); - ~SketcherCurveColorThread(); - - void start(); - void stop(); - void run(); - - SketcherCurveColorPicker *color_picker; - int done; - Condition *update_lock; + VFrame *vframes[3]; + SketcherWindow *gui; }; class SketcherNewCurve : public BC_GenericButton @@ -201,6 +170,30 @@ public: int width; }; +class SketcherAliasItem : public BC_MenuItem +{ +public: + SketcherAliasItem(SketcherAliasing *popup, int v); + int handle_event(); + + SketcherAliasing *popup; + int v; +}; + +class SketcherAliasing : public BC_PopupMenu +{ +public: + SketcherAliasing(SketcherWindow *gui, Sketcher *plugin, + int x, int y); + ~SketcherAliasing(); + + const char *alias_to_text(int alias); + void create_objects(); + + Sketcher *plugin; + SketcherWindow *gui; +}; + class SketcherCurveList : public BC_ListBox { public: @@ -381,6 +374,16 @@ public: SketcherWindow *gui; }; +class SketcherHelp : public BC_CheckBox +{ +public: + SketcherHelp(SketcherWindow *gui, Sketcher *plugin, int x, int y); + ~SketcherHelp(); + int handle_event(); + + Sketcher *plugin; + SketcherWindow *gui; +}; class SketcherWindow : public PluginClientWindow { @@ -389,10 +392,11 @@ public: ~SketcherWindow(); void create_objects(); + void done_event(int result); void update_gui(); - void start_color_thread(SketcherCurveColor *curve_color); int grab_event(XEvent *event); int do_grab_event(XEvent *event); + int handle_ungrab(); int grab_button_press(XEvent *event); int grab_cursor_motion(); void send_configure_change(); @@ -404,14 +408,15 @@ public: SketcherCurveType *curve_type; SketcherCurvePen *curve_pen; SketcherCurveColor *curve_color; - SketcherCurveColorPicker *color_picker; SketcherNewCurve *new_curve; SketcherDelCurve *del_curve; SketcherCurveUp *curve_up; SketcherCurveDn *curve_dn; SketcherCurveWidth *curve_width; + SketcherAliasing *aliasing; SketcherCurveList *curve_list; SketcherResetCurves *reset_curves; + SketcherHelp *help; SketcherResetPoints *reset_points; SketcherDrag *drag; @@ -429,12 +434,15 @@ public: float projector_x, projector_y, projector_z; int track_w, track_h; int new_points; - float cursor_x, cursor_y; + int cursor_x, cursor_y; float output_x, output_y; + float track_x, track_y; int state, dragging; int pending_motion, pending_config; + int helped, help_y, help_h; XEvent motion_event; float last_x, last_y; + int64_t last_time; BC_Title *notes0, *notes1, *notes2, *notes3; }; #endif