my log
[synfig.git] / synfig-studio / trunk / src / gtkmm / event_mouse.h
1 /* === S Y N F I G ========================================================= */
2 /*!     \file event_mouse.h
3 **      \brief Template Header
4 **
5 **      $Id: event_mouse.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
6 **
7 **      \legal
8 **      Copyright (c) 2002 Robert B. Quattlebaum Jr.
9 **
10 **      This software and associated documentation
11 **      are CONFIDENTIAL and PROPRIETARY property of
12 **      the above-mentioned copyright holder.
13 **
14 **      You may not copy, print, publish, or in any
15 **      other way distribute this software without
16 **      a prior written agreement with
17 **      the copyright holder.
18 **      \endlegal
19 */
20 /* ========================================================================= */
21
22 /* === S T A R T =========================================================== */
23
24 #ifndef __SYNFIG_EVENT_MOUSE_H
25 #define __SYNFIG_EVENT_MOUSE_H
26
27 /* === H E A D E R S ======================================================= */
28
29 #include <synfig/vector.h>
30 #include "smach.h"
31 #include <gdkmm/types.h>
32
33 /* === M A C R O S ========================================================= */
34
35 /* === T Y P E D E F S ===================================================== */
36
37 /* === C L A S S E S & S T R U C T S ======================================= */
38
39 namespace studio {
40
41 enum MouseButton
42 {
43         BUTTON_NONE,
44         BUTTON_LEFT,
45         BUTTON_MIDDLE,
46         BUTTON_RIGHT,
47         BUTTON_UP,
48         BUTTON_DOWN,
49         
50         BUTTON_END
51 };
52
53 struct EventMouse : public Smach::event
54 {
55         synfig::Point pos;
56         MouseButton button;
57         float pressure;
58         Gdk::ModifierType modifier;
59         
60         EventMouse(EventKey id, MouseButton button, const synfig::Point& pos, Gdk::ModifierType modifier=Gdk::ModifierType(0)):
61                 Smach::event(id),
62                 pos(pos),
63                 button(button),
64                 pressure(button==BUTTON_NONE?0.0f:1.0f),
65                 modifier(modifier)
66         { }
67
68         EventMouse(EventKey id, MouseButton button, const synfig::Point& pos, float pressure, Gdk::ModifierType modifier=Gdk::ModifierType(0)):
69                 Smach::event(id),
70                 pos(pos),
71                 button(button),
72                 pressure(pressure),
73                 modifier(modifier)
74         { }
75 }; // END of EventMouse
76
77 struct EventBox : public Smach::event
78 {
79         synfig::Point p1,p2;
80         MouseButton button;
81         Gdk::ModifierType modifier;
82         
83         EventBox(EventKey id, const synfig::Point& p1,const synfig::Point& p2,MouseButton button=BUTTON_NONE, Gdk::ModifierType modifier=Gdk::ModifierType(0)):
84                 Smach::event(id),
85                 p1(p1),
86                 p2(p2),
87                 button(button),
88                 modifier(modifier)
89         { }
90
91         EventBox(const synfig::Point& p1,const synfig::Point& p2,MouseButton button=BUTTON_NONE, Gdk::ModifierType modifier=Gdk::ModifierType(0)):
92                 Smach::event(EVENT_WORKAREA_BOX),
93                 p1(p1),
94                 p2(p2),
95                 button(button),
96                 modifier(modifier)
97         { }
98 }; // END of EventBox
99
100
101 }; // END of namespace studio
102
103 /* === E N D =============================================================== */
104
105 #endif