]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/manipulator.h
Rename Point to Vector
[r2c2.git] / source / designer / manipulator.h
index 8fddced8df910f159a25e240537434e0d9dc6248..d8c3986a6161db02dd1bea7a84bd44a8e09d6841 100644 (file)
@@ -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<MTrack> 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<Marklin::Track *> neighbors;
-       std::vector<Marklin::Track *> extend_tracks;
+       std::set<R2C2::Track *> neighbors;
+       std::vector<R2C2::Track *> 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<Marklin::Track *> create_straight(const Marklin::Point &, float, float, float);
+       std::vector<R2C2::Track *> create_straight(const R2C2::Vector &, float, float, float);
 };
 
 #endif