3
* $Id: ibutton.h 4482 2011-12-13 14:01:29Z carlos $
6
* Copyright 2008-10 MetaEmotion S.L. All rights reserved.
7
* http://ginkgo-cadx.com
9
* This file is licensed under LGPL v3 license.
10
* See License.txt for details
18
const int EMPTYBUTTONMASK = 0x00;
19
const int LBUTTONMASK = 0x01;
20
const int RBUTTONMASK = 0x02;
21
const int MBUTTONMASK = 0x04;
23
class EXTAPI TriggerButton {
27
inline TriggerButton() {
28
ResetTriggerButtonMask();
31
inline TriggerButton(const TriggerButton& o) {
35
/** Resets the activation button mask
37
inline void ResetTriggerButtonMask() {
38
m_TriggerButtonMask = GNC::GCS::EMPTYBUTTONMASK;
41
/** Enable activation button mask
43
inline void EnableTriggerButton(int mask) {
44
m_TriggerButtonMask |= mask;
47
inline TriggerButton& EnableLeft() {
48
EnableTriggerButton(LBUTTONMASK);
52
inline TriggerButton& EnableRight() {
53
EnableTriggerButton(RBUTTONMASK);
57
inline TriggerButton& EnableMiddle() {
58
EnableTriggerButton(MBUTTONMASK);
62
/** Disable activation button mask
64
inline void DisableTriggerButton(int mask) {
65
m_TriggerButtonMask &= ~mask;
68
inline TriggerButton& DisableLeft() {
69
DisableTriggerButton(LBUTTONMASK);
73
inline TriggerButton& DisableRight() {
74
DisableTriggerButton(RBUTTONMASK);
78
inline TriggerButton& DisableMiddle() {
79
DisableTriggerButton(MBUTTONMASK);
83
/** Checks activation button mask is applied
85
inline bool IsTriggerButtonEnabled(int mask) const {
86
return (0 != (m_TriggerButtonMask & mask));
89
inline bool IsLeftEnabled() const {
90
return IsTriggerButtonEnabled(LBUTTONMASK);
93
inline bool IsRightEnabled() const {
94
return IsTriggerButtonEnabled(RBUTTONMASK);
97
inline bool IsMiddleEnabled() const {
98
return IsTriggerButtonEnabled(MBUTTONMASK);
101
inline TriggerButton& operator=(const TriggerButton& o) {
102
this->m_TriggerButtonMask = o.m_TriggerButtonMask;
106
inline bool IsEmpty() const {
107
return this->m_TriggerButtonMask == EMPTYBUTTONMASK;
113
int m_TriggerButtonMask;
b'\\ No newline at end of file'