source: synfigstudio/trunk/fuentes/src/gui/event_mouse.h @ 481

Last change on this file since 481 was 481, checked in by jrpelegrina, 4 years ago

First release to xenial

File size: 3.0 KB
Line 
1/* === S Y N F I G ========================================================= */
2/*!     \file event_mouse.h
3**      \brief Template Header
4**
5**      $Id$
6**
7**      \legal
8**      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9**
10**      This package is free software; you can redistribute it and/or
11**      modify it under the terms of the GNU General Public License as
12**      published by the Free Software Foundation; either version 2 of
13**      the License, or (at your option) any later version.
14**
15**      This package is distributed in the hope that it will be useful,
16**      but WITHOUT ANY WARRANTY; without even the implied warranty of
17**      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18**      General Public License for more details.
19**      \endlegal
20*/
21/* ========================================================================= */
22
23/* === S T A R T =========================================================== */
24
25#ifndef __SYNFIG_EVENT_MOUSE_H
26#define __SYNFIG_EVENT_MOUSE_H
27
28/* === H E A D E R S ======================================================= */
29
30#include <synfig/vector.h>
31#include "smach.h"
32#include <gdkmm/types.h>
33#include "duck.h"
34
35/* === M A C R O S ========================================================= */
36
37/* === T Y P E D E F S ===================================================== */
38
39/* === C L A S S E S & S T R U C T S ======================================= */
40
41namespace studio {
42
43enum MouseButton
44{
45        BUTTON_NONE,
46        BUTTON_LEFT,
47        BUTTON_MIDDLE,
48        BUTTON_RIGHT,
49        BUTTON_UP,
50        BUTTON_DOWN,
51
52        BUTTON_END
53};
54
55struct EventMouse : public Smach::event
56{
57        synfig::Point pos;
58        MouseButton button;
59        float pressure;
60        Gdk::ModifierType modifier;
61        etl::handle<Duck> duck;
62
63        EventMouse(EventKey id, MouseButton button, const synfig::Point& pos, Gdk::ModifierType modifier=Gdk::ModifierType(0), etl::handle<Duck> duck = etl::handle<Duck>()):
64                Smach::event(id),
65                pos(pos),
66                button(button),
67                pressure(button==BUTTON_NONE?0.0f:1.0f),
68                modifier(modifier),
69                duck(duck)
70        { }
71
72        EventMouse(EventKey id, MouseButton button, const synfig::Point& pos, float pressure, Gdk::ModifierType modifier=Gdk::ModifierType(0), etl::handle<Duck> duck = etl::handle<Duck>()):
73                Smach::event(id),
74                pos(pos),
75                button(button),
76                pressure(pressure),
77                modifier(modifier),
78                duck(duck)
79        { }
80}; // END of EventMouse
81
82struct EventBox : public Smach::event
83{
84        synfig::Point p1,p2;
85        MouseButton button;
86        Gdk::ModifierType modifier;
87
88        EventBox(EventKey id, const synfig::Point& p1,const synfig::Point& p2,MouseButton button=BUTTON_NONE, Gdk::ModifierType modifier=Gdk::ModifierType(0)):
89                Smach::event(id),
90                p1(p1),
91                p2(p2),
92                button(button),
93                modifier(modifier)
94        { }
95
96        EventBox(const synfig::Point& p1,const synfig::Point& p2,MouseButton button=BUTTON_NONE, Gdk::ModifierType modifier=Gdk::ModifierType(0)):
97                Smach::event(EVENT_WORKAREA_BOX),
98                p1(p1),
99                p2(p2),
100                button(button),
101                modifier(modifier)
102        { }
103}; // END of EventBox
104
105
106}; // END of namespace studio
107
108/* === E N D =============================================================== */
109
110#endif
Note: See TracBrowser for help on using the repository browser.