X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fdesigner%2Fmanipulator.h;h=d8c3986a6161db02dd1bea7a84bd44a8e09d6841;hb=f8a7788cee0261babfc4c804a58515aad6dfbc3d;hp=8fddced8df910f159a25e240537434e0d9dc6248;hpb=283542ae424b94786652fbf0c67b883b63a8e7a0;p=r2c2.git diff --git a/source/designer/manipulator.h b/source/designer/manipulator.h index 8fddced..d8c3986 100644 --- a/source/designer/manipulator.h +++ b/source/designer/manipulator.h @@ -1,6 +1,6 @@ /* $Id$ -This file is part of the MSP Märklin suite +This file is part of R²C² Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa Distributed under the GPL */ @@ -27,19 +27,19 @@ private: struct MTrack { - Marklin::Track *track; - Marklin::Point pos; + R2C2::Track *track; + R2C2::Vector pos; float rot; - MTrack(Marklin::Track *); + MTrack(R2C2::Track *); }; struct TrackOrder { - Marklin::Track *track; + R2C2::Track *track; bool rev; - TrackOrder(Marklin::Track *t, bool r): track(t), rev(r) { } + TrackOrder(R2C2::Track *t, bool r): track(t), rev(r) { } }; public: @@ -48,40 +48,41 @@ public: private: Designer &designer; + Msp::Graphics::EventSource &event_source; Selection &selection; std::vector tracks; - Marklin::Point center; + R2C2::Vector center; - Marklin::Point gpointer; + R2C2::Vector gpointer; int pointer_y; Mode mode; - Marklin::Point move_origin; + R2C2::Vector move_origin; float angle; float rot_origin; int elev_origin; - std::set neighbors; - std::vector extend_tracks; + std::set neighbors; + std::vector extend_tracks; public: - Manipulator(Designer &, Selection &); + Manipulator(Designer &, Msp::Graphics::EventSource &, Selection &); void start_move(); void start_rotate(); void start_elevate(); - void start_extend(); + bool start_extend(); void duplicate(); void flatten(); void even_slope(bool =false); void connect(); void cancel(); - void button_press(int, int, float, float, unsigned); - void pointer_motion(int, int, float, float); private: + void button_press(int, int, unsigned, unsigned); + void pointer_motion(int, int); void selection_changed(); void update_tracks(); void update_neighbors(); void set_slope(TrackOrder &, float, float); - std::vector create_straight(const Marklin::Point &, float, float, float); + std::vector create_straight(const R2C2::Vector &, float, float, float); }; #endif