return false;
}
-template<typename T>
-inline void wrap( T &x, int n )
+inline void wrap( int &x, int n )
{
- int xi = x;
- if (xi<0)
- xi += ((-xi/n)+1)*n;
- xi %= n;
- x = static_cast<T>(xi);
+ if (x<0)
+ x += ((-x/n)+1)*n;
+ x %= n;
}
inline void wrap( unsigned &x, unsigned n )
{
do
{
m_iFocusY = (KeyboardRow)(m_iFocusY + iDir);
- wrap( m_iFocusY, NUM_KEYBOARD_ROWS );
+ wrap( (int&)m_iFocusY, NUM_KEYBOARD_ROWS );
// HACK: Round to nearest option so that we always stop
// on KEYBOARD_ROW_SPECIAL.