コード例 #1
0
ファイル: EXZoomController.cpp プロジェクト: aquariusgx/coc
void EXZoomController::moveZoom(CCPoint pt, CCPoint pt2) {
    //what's the difference in length
	float length = ccpDistance(pt, pt2);
	float diff = (length-_firstLength);
    
    //ignore small movements
    if (fabs(diff) < pinchDistanceThreshold)
        return;
    
	//calculate new scale
	float factor = diff * zoomRate * pinchDamping;
	float newScale = _oldScale + factor;
	
    //bound scale
	if (newScale > zoomInLimit)
		newScale = zoomInLimit;
	else if (newScale < zoomOutLimit)
		newScale = zoomOutLimit;
    
    //set the new scale
	_node->setScale(newScale);
    
    //center on midpoint of pinch
    if (centerOnPinch)
        centerOnPoint(_firstTouch, scrollDamping);
    else
        updatePosition(_node->getPosition());
}
コード例 #2
0
ファイル: view2d.cpp プロジェクト: jewalky/TestShit
void View2D::initMap()
{
    centerOnPoint(0, 0);
    MainWindow::get()->setMouseXY(mouseXScaled, mouseYScaled);
    MainWindow::get()->setScale(scale);

    DoomMap* cmap = MainWindow::get()->getMap();
    linesArray.vertices.clear();
    if (cmap)
    {
        //qDebug("MAP FOUND");
        for (int i = 0; i < cmap->linedefs.size(); i++)
        {
            // 1-2sided
            DoomMapLinedef& linedef = cmap->linedefs[i];
            //if (linedef.getBack())
            //    glColor4ub(128, 128, 128, 255);
            //else glColor4ub(255, 255, 255, 255);

            quint8 c = !!linedef.getBack() ? 128 : 255;

            GLVertex v1;
            v1.x = linedef.getV1()->x;
            v1.y = -linedef.getV1()->y;
            v1.r = v1.g = v1.b = c;
            v1.a = 255;
            GLVertex v2;
            v2.x = linedef.getV2()->x;
            v2.y = -linedef.getV2()->y;
            v2.r = v2.g = v2.b = c;
            v2.a = 255;
            linesArray.vertices.append(v1);
            linesArray.vertices.append(v2);
        }
    }
    linesUpdate = true;
}
コード例 #3
0
ファイル: View3D.cpp プロジェクト: landersson/displaz
void View3D::setExplicitCursorPos(const Imath::V3d& pos)
{
    m_explicitCursorPos = true;
    centerOnPoint(pos);
}
コード例 #4
0
ファイル: EXZoomController.cpp プロジェクト: aquariusgx/coc
void EXZoomController::centerOnPoint(CCPoint pt) {
    centerOnPoint(pt, 1.0f);
}