示例#1
0
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);
}
示例#2
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);
    }
}
示例#3
0
void CBattleItem::Update(float fElapsedTime)
{
	CBattleMap* pBM =  CBattleMap::GetInstance();
	SetCurrTile(GetMapCoord(),pBM->GetOffsetX(), pBM->GetOffsetY(), pBM->GetTileWidth(), pBM->GetTileHeight(), pBM->GetNumCols(), false);
}