Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2009-10-17 18:54:13 +0400
committerCampbell Barton <ideasman42@gmail.com>2009-10-17 18:54:13 +0400
commitd11888b470d03a36d60e8332e8c108ce18ea4948 (patch)
treec1843ab441b63808dc081d78a58760a932f9ae86 /intern/ghost/GHOST_Rect.h
parent9d98b489256ef3783a5a8a1dc40b837dbc5b064d (diff)
- wrapping failed with the cursor at the screen edge,
- changed numbuts behavior with continuous grab so dragging back after passing the button limit immediately adjusts the value
Diffstat (limited to 'intern/ghost/GHOST_Rect.h')
-rw-r--r--intern/ghost/GHOST_Rect.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/intern/ghost/GHOST_Rect.h b/intern/ghost/GHOST_Rect.h
index 98169ad2aa4..6a29b1ffc26 100644
--- a/intern/ghost/GHOST_Rect.h
+++ b/intern/ghost/GHOST_Rect.h
@@ -228,20 +228,19 @@ inline void GHOST_Rect::unionPoint(GHOST_TInt32 x, GHOST_TInt32 y)
if (y < m_t) m_t = y;
if (y > m_b) m_b = y;
}
-
+#include <stdio.h>
inline void GHOST_Rect::wrapPoint(GHOST_TInt32 &x, GHOST_TInt32 &y, GHOST_TInt32 ofs)
{
GHOST_TInt32 w= getWidth();
GHOST_TInt32 h= getHeight();
/* highly unlikely but avoid eternal loop */
- if(w-ofs <= 0 || h-ofs <= 0)
+ if(w-ofs*2 <= 0 || h-ofs*2 <= 0)
return;
-
- while(x-ofs < m_l) x+= w;
- while(y-ofs < m_t) y+= h;
- while(x+ofs > m_r) x-= w;
- while(y+ofs > m_b) y-= h;
+ while(x-ofs < m_l) x+= w-(ofs*2);
+ while(y-ofs < m_t) y+= h-(ofs*2);
+ while(x+ofs > m_r) x-= w-(ofs*2);
+ while(y+ofs > m_b) y-= h-(ofs*2);
}
inline bool GHOST_Rect::isInside(GHOST_TInt32 x, GHOST_TInt32 y) const