From 651b6c612db4e809c506973996f2580c4158ac3a Mon Sep 17 00:00:00 2001 From: mickeyl Date: Sat, 27 Sep 2003 11:29:26 +0000 Subject: merge dasher which has been introduced in BRANCH first (wtf?) into HEAD --- (limited to 'inputmethods/dasher/DasherViewSquare.inl') diff --git a/inputmethods/dasher/DasherViewSquare.inl b/inputmethods/dasher/DasherViewSquare.inl new file mode 100644 index 0000000..c22c32c --- a/dev/null +++ b/inputmethods/dasher/DasherViewSquare.inl @@ -0,0 +1,142 @@ +// DasherViewSquare.inl +// +///////////////////////////////////////////////////////////////////////////// +// +// Copyright (c) 2001-2002 David Ward +// +///////////////////////////////////////////////////////////////////////////// + +namespace Dasher { + +inline const void CDasherViewSquare::screen2dasher(int *mousex, int *mousey) +{ + int dashery=*mousey; + + double x=1.0*(CanvasX-*mousex)/CanvasX; + dashery*=DasherModel().DasherY(); + dashery/=CanvasY; + + if (DasherModel().Dimensions()==false) { + if (dashery>m_Y2) + dashery= (dashery-m_Y2)*m_Y1 + m_Y2; + else if (dashery1500) { + dashery=548+(548-dashery); + disty=1298-dashery; + if(disty<-750) { + x=2048; + dashery=2048; + } else { + x=2048+pow(pow(750,2)-pow(disty,2),0.5)*10; + } + *mousex=int(x); + *mousey=dashery; + return; + } + else if (disty <-1500) { + dashery=3548+(3548-dashery); + disty=2798-dashery; + if(disty>750) { + x=2048; + dashery=2048; + } else { + x=2048+pow(pow(750,2)-pow(disty,2),0.5)*10; + } + *mousex=int(x); + *mousey=dashery; + return; + } else { + x=pow(pow(1500,2)-pow(disty,2),0.5); + } + x=2048-x; + } + *mousex=int(x); + *mousey=dashery; +} + +inline const int CDasherViewSquare::dasherx2screen(const myint sx) +{ + double x=1.0*sx/(DasherModel().DasherY()); + x=xmap(x); +// return CanvasX-int(x*CanvasY); + return CanvasX-int(x*CanvasX); + +} + + +inline const int CDasherViewSquare::dashery2screen(myint y) +{ + if (y > m_Y2 ) + y= m_Y2 + (y-m_Y2)/m_Y1; + else if (y