]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/manipulator.h
Add a function to get a BlockIter from a TrackIter
[r2c2.git] / source / designer / manipulator.h
index d8c3986a6161db02dd1bea7a84bd44a8e09d6841..b4216eefd52354f1d6c6aedacc2cf87290afa49a 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2006-2008 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #ifndef MANIPULATOR_H_
 #define MANIPULATOR_H_
 
@@ -48,23 +41,23 @@ public:
 
 private:
        Designer &designer;
-       Msp::Graphics::EventSource &event_source;
+       Msp::Input::Mouse &mouse;
        Selection &selection;
        std::vector<MTrack> tracks;
        R2C2::Vector center;
 
+       R2C2::Vector pointer;
        R2C2::Vector gpointer;
-       int pointer_y;
        Mode mode;
        R2C2::Vector move_origin;
        float angle;
        float rot_origin;
-       int elev_origin;
+       float elev_origin;
        std::set<R2C2::Track *> neighbors;
        std::vector<R2C2::Track *> extend_tracks;
 
 public:
-       Manipulator(Designer &, Msp::Graphics::EventSource &, Selection &);
+       Manipulator(Designer &, Msp::Input::Mouse &, Selection &);
 
        void start_move();
        void start_rotate();
@@ -76,8 +69,8 @@ public:
        void connect();
        void cancel();
 private:
-       void button_press(int, int, unsigned, unsigned);
-       void pointer_motion(int, int);
+       void button_press(unsigned);
+       void axis_motion(unsigned, float, float);
        void selection_changed();
        void update_tracks();
        void update_neighbors();