Open Inventor Reference
SoSpaceballButtonEvent.h
Go to the documentation of this file.
1/*
2 *
3 * Copyright (C) 2000 Silicon Graphics, Inc. All Rights Reserved.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * Further, this software is distributed without any warranty that it is
16 * free of the rightful claim of any third person regarding infringement
17 * or the like. Any license provided herein, whether implied or
18 * otherwise, applies only to this software file. Patent licenses, if
19 * any, provided herein do not apply to combinations of this program with
20 * other software, or any other product whatsoever.
21 *
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 *
26 * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
27 * Mountain View, CA 94043, or:
28 *
29 * http://www.sgi.com
30 *
31 * For further information regarding this notice, see:
32 *
33 * http://oss.sgi.com/projects/GenInfo/NoticeExplan/
34 *
35 */
36
37
38/*
39 * Copyright (C) 1990,91,92 Silicon Graphics, Inc.
40 *
41 _______________________________________________________________________
42 ______________ S I L I C O N G R A P H I C S I N C . ____________
43 |
44 | $Revision: 1.2 $
45 |
46 | Classes:
47 | SoSpaceballButtonEvent
48 |
49 | Author(s): David Mott, Gavin Bell
50 |
51 ______________ S I L I C O N G R A P H I C S I N C . ____________
52 _______________________________________________________________________
53 */
54
55#ifndef _SO_SPACEBALL_BUTTON_EVENT_
56#define _SO_SPACEBALL_BUTTON_EVENT_
57
59#include <Inventor/SbBasic.h>
61
63#define SO_SPACEBALL_PRESS_EVENT(EVENT,BUTTON) \
64 (SoSpaceballButtonEvent::isButtonPressEvent(EVENT, \
65 SoSpaceballButtonEvent::BUTTON))
66
67#define SO_SPACEBALL_RELEASE_EVENT(EVENT,BUTTON) \
68 (SoSpaceballButtonEvent::isButtonReleaseEvent(EVENT, \
69 SoSpaceballButtonEvent::BUTTON))
70
71
72
75
86
88
90
91 public:
92 enum Button {
93 ANY = 0,
94 BUTTON1 = 1,
95 BUTTON2 = 2,
96 BUTTON3 = 3,
97 BUTTON4 = 4,
98 BUTTON5 = 5,
99 BUTTON6 = 6,
100 BUTTON7 = 7,
101 BUTTON8 = 8,
102 PICK = 9
103 };
104
108
111 { button = b; }
113 { return button; }
114
118 const SoEvent *e,
120
122 const SoEvent *e,
124
125 SoINTERNAL public:
126 static void initClass();
127
128 private:
129 Button button;
130};
131
132#endif /* _SO_SPACEBALL_BUTTON_EVENT_ */
#define SoINTERNAL
Definition SbBasic.h:155
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
Definition SbSystem.h:77
#define SO_EVENT_HEADER()
*** note: many of the macros use the "do { ... } while(0)" *** hack to define multiline blocks as a s...
Definition SoSubEvent.h:97
Base class for all button events.
Base class for all events.
Definition SoEvent.h:84
Spaceball button press and release events.
SoSpaceballButtonEvent::Button getButton() const
virtual ~SoSpaceballButtonEvent()
static void initClass()
SoSpaceballButtonEvent()
Constructor.
void setButton(SoSpaceballButtonEvent::Button b)
which button generated the event, e.g. SoSpaceballButtonEvent::BUTTON1
static bool isButtonPressEvent(const SoEvent *e, SoSpaceballButtonEvent::Button whichButton)
convenience routines to see if an SoEvent is a press or release of the passed spaceball button
static bool isButtonReleaseEvent(const SoEvent *e, SoSpaceballButtonEvent::Button whichButton)