bool TVizMapContext::MouseMove(const int& X, const int& Y, const int& Width, const int& Height, const int& MgGlassKeyWds) { const int MoveDiff = TInt::Abs(X - ScreenX) + TInt::Abs(Y - ScreenY); ScreenX = X; ScreenY = Y; TFltRect ZoomRect = GetZoomRect(); MouseX = GetMapCoord(X, Width, ZoomRect.GetMnX(), ZoomRect.GetXLen()); MouseY = GetMapCoord(Y, Height, ZoomRect.GetMnY(), ZoomRect.GetYLen()); if (!LeftButtonDownP && (MoveDiff > 0)) { ResetMgGlassKeyWd(MgGlassKeyWds); ResetNearPointN(); } return (MoveDiff > 0); }
void TVizMapContext::MouseLeftUp(const int& X, const int& Y, const int& Width, const int& Height) { LeftButtonDownP = false; // get new mouse position coordinates TFltRect ZoomRect = GetZoomRect(); MouseX = GetMapCoord(X, Width, ZoomRect.GetMnX(), ZoomRect.GetXLen()); MouseY = GetMapCoord(Y, Height, ZoomRect.GetMnY(), ZoomRect.GetYLen()); // what does the user want? if (TInt::Abs(DownX - X) > 10 && TInt::Abs(DownY - Y) > 10) { const double StartX = GetMapCoord(DownX, Width, ZoomRect.GetMnX(), ZoomRect.GetXLen()); const double StartY = GetMapCoord(DownY, Height, ZoomRect.GetMnY(), ZoomRect.GetYLen()); if (IsZoomMode()) { ZoomIn(StartX, StartY, MouseX, MouseY); } else if (IsSelectMode()) { Select(StartX, StartY, MouseX, MouseY); } } else { // document select SelectDoc(MouseX, MouseY); } }
void CBattleItem::Update(float fElapsedTime) { CBattleMap* pBM = CBattleMap::GetInstance(); SetCurrTile(GetMapCoord(),pBM->GetOffsetX(), pBM->GetOffsetY(), pBM->GetTileWidth(), pBM->GetTileHeight(), pBM->GetNumCols(), false); }