summaryrefslogtreecommitdiffstats
path: root/generic/tkTextTag.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-07-23 21:17:39 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-07-23 21:17:39 (GMT)
commit64efa1daf6914fde585eed65c2ec0f5bf45f097b (patch)
tree6b9caa655e4a036fc7ff8b328ffcefe7f6b8c33d /generic/tkTextTag.c
parent41bb9d8273752f7b46aa4658ff4efeb7cc27f2b6 (diff)
downloadtk-64efa1daf6914fde585eed65c2ec0f5bf45f097b.zip
tk-64efa1daf6914fde585eed65c2ec0f5bf45f097b.tar.gz
tk-64efa1daf6914fde585eed65c2ec0f5bf45f097b.tar.bz2
New intermal macro ALL_BUTTONS and function TkGetButtonMask(), which can be re-used in various places in stead of separate functions.
Diffstat (limited to 'generic/tkTextTag.c')
-rw-r--r--generic/tkTextTag.c35
1 files changed, 6 insertions, 29 deletions
diff --git a/generic/tkTextTag.c b/generic/tkTextTag.c
index 13216ca..5cb08ec 100644
--- a/generic/tkTextTag.c
+++ b/generic/tkTextTag.c
@@ -1446,9 +1446,6 @@ TkTextBindProc(
TkText *textPtr = clientData;
int repick = 0;
-# define AnyButtonMask \
- (Button1Mask|Button2Mask|Button3Mask|Button4Mask|Button5Mask)
-
textPtr->refCount++;
/*
@@ -1460,35 +1457,16 @@ TkTextBindProc(
if (eventPtr->type == ButtonPress) {
textPtr->flags |= BUTTON_DOWN;
} else if (eventPtr->type == ButtonRelease) {
- int mask;
+ unsigned int mask;
- switch (eventPtr->xbutton.button) {
- case Button1:
- mask = Button1Mask;
- break;
- case Button2:
- mask = Button2Mask;
- break;
- case Button3:
- mask = Button3Mask;
- break;
- case Button4:
- mask = Button4Mask;
- break;
- case Button5:
- mask = Button5Mask;
- break;
- default:
- mask = 0;
- break;
- }
- if ((eventPtr->xbutton.state & AnyButtonMask) == (unsigned) mask) {
+ mask = TkGetButtonMask(eventPtr->xbutton.button);
+ if ((eventPtr->xbutton.state & ALL_BUTTONS) == mask) {
textPtr->flags &= ~BUTTON_DOWN;
repick = 1;
}
} else if ((eventPtr->type == EnterNotify)
|| (eventPtr->type == LeaveNotify)) {
- if (eventPtr->xcrossing.state & AnyButtonMask) {
+ if (eventPtr->xcrossing.state & ALL_BUTTONS) {
textPtr->flags |= BUTTON_DOWN;
} else {
textPtr->flags &= ~BUTTON_DOWN;
@@ -1496,7 +1474,7 @@ TkTextBindProc(
TkTextPickCurrent(textPtr, eventPtr);
goto done;
} else if (eventPtr->type == MotionNotify) {
- if (eventPtr->xmotion.state & AnyButtonMask) {
+ if (eventPtr->xmotion.state & ALL_BUTTONS) {
textPtr->flags |= BUTTON_DOWN;
} else {
textPtr->flags &= ~BUTTON_DOWN;
@@ -1513,8 +1491,7 @@ TkTextBindProc(
unsigned int oldState;
oldState = eventPtr->xbutton.state;
- eventPtr->xbutton.state &= ~(Button1Mask|Button2Mask
- |Button3Mask|Button4Mask|Button5Mask);
+ eventPtr->xbutton.state &= ~ALL_BUTTONS;
if (!(textPtr->flags & DESTROYED)) {
TkTextPickCurrent(textPtr, eventPtr);
}