当前位置: 首页>>代码示例>>C++>>正文


C++ WldScene::applyGrid方法代码示例

本文整理汇总了C++中WldScene::applyGrid方法的典型用法代码示例。如果您正苦于以下问题:C++ WldScene::applyGrid方法的具体用法?C++ WldScene::applyGrid怎么用?C++ WldScene::applyGrid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WldScene的用法示例。


在下文中一共展示了WldScene::applyGrid方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: mousePress

void WLD_ModeSquare::mousePress(QGraphicsSceneMouseEvent *mouseEvent)
{
    if(!scene) return;
    WldScene *s = dynamic_cast<WldScene *>(scene);

    if( mouseEvent->buttons() & Qt::RightButton )
    {
        item_rectangles::clearArray();
        MainWinConnect::pMainWin->on_actionSelect_triggered();
        dontCallEvent = true;
        s->IsMoved = true;
        return;
    }

    s->last_tile_arrayID=s->WldData->tile_array_id;
    s->last_scene_arrayID=s->WldData->scene_array_id;
    s->last_path_arrayID=s->WldData->path_array_id;
    s->last_level_arrayID=s->WldData->level_array_id;
    s->last_musicbox_arrayID=s->WldData->musicbox_array_id;

    if(s->cursor){
        drawStartPos = QPointF(s->applyGrid( mouseEvent->scenePos().toPoint(),
                                          WldPlacingItems::gridSz,
                                          WldPlacingItems::gridOffset));
        s->cursor->setPos( drawStartPos );
        s->cursor->setVisible(true);

        QPoint hw = s->applyGrid( mouseEvent->scenePos().toPoint(),
                               WldPlacingItems::gridSz,
                               WldPlacingItems::gridOffset);

        QSize hs = QSize( (long)fabs(drawStartPos.x() - hw.x()),  (long)fabs( drawStartPos.y() - hw.y() ) );
        ((QGraphicsRectItem *)(s->cursor))->setRect(0,0, hs.width(), hs.height());
    }
}
开发者ID:tcvicio,项目名称:PGE-Project,代码行数:35,代码来源:wld_mode_square.cpp

示例2: mouseMove

void WLD_ModeSetPoint::mouseMove(QGraphicsSceneMouseEvent *mouseEvent)
{
    if(!scene) return;
    WldScene *s = dynamic_cast<WldScene *>(scene);

    if(s->cursor)
    {

               s->cursor->setPos( QPointF(s->applyGrid( mouseEvent->scenePos().toPoint()-
                                                   QPoint(WldPlacingItems::c_offset_x,
                                                          WldPlacingItems::c_offset_y),
                                                 WldPlacingItems::gridSz,
                                                 WldPlacingItems::gridOffset)));
               s->cursor->show();

               s->setMessageBoxItem(true, mouseEvent->scenePos(),
                                      (s->cursor?
                                           (
                                      QString::number( s->cursor->scenePos().toPoint().x() ) + "x" +
                                      QString::number( s->cursor->scenePos().toPoint().y() )
                                           )
                                               :""));

    }
}
开发者ID:tcvicio,项目名称:PGE-Project,代码行数:25,代码来源:wld_mode_setpoint.cpp

示例3: mousePress

void WLD_ModeSetPoint::mousePress(QGraphicsSceneMouseEvent *mouseEvent)
{
    if(!scene) return;
    WldScene *s = dynamic_cast<WldScene *>(scene);

    if( (!s->isSelectionDialog) && ((mouseEvent->buttons() & Qt::RightButton)!=0) )
    {
        MainWinConnect::pMainWin->on_actionSelect_triggered();
        dontCallEvent = true;
        s->IsMoved = true;
        return;
    }

    if(s->cursor){
        s->cursor->setPos( QPointF(s->applyGrid( mouseEvent->scenePos().toPoint()-
                                           QPoint(WldPlacingItems::c_offset_x,
                                                  WldPlacingItems::c_offset_y),
                                           WldPlacingItems::gridSz,
                                           WldPlacingItems::gridOffset)));
    }

    s->setPoint(s->cursor->scenePos().toPoint());
    emit s->pointSelected(s->selectedPoint);

    dontCallEvent=true;
}
开发者ID:tcvicio,项目名称:PGE-Project,代码行数:26,代码来源:wld_mode_setpoint.cpp

示例4: mouseMove

void WLD_ModePlace::mouseMove(QGraphicsSceneMouseEvent *mouseEvent)
{
    if(!scene) return;
    WldScene *s = qobject_cast<WldScene *>(scene);

    s->clearSelection();

    if(mouseEvent->modifiers() & Qt::ControlModifier )
        s->setMessageBoxItem(true, mouseEvent->scenePos(),
                               (s->cursor?
                                    (
                               QString::number( s->cursor->scenePos().toPoint().x() ) + "x" +
                               QString::number( s->cursor->scenePos().toPoint().y() )
                                    )
                                        :""));
    else
        s->setMessageBoxItem(false);

    if(s->cursor)
    {
               s->cursor->setPos( QPointF(s->applyGrid( mouseEvent->scenePos().toPoint()-
                                                   QPoint(WldPlacingItems::c_offset_x,
                                                          WldPlacingItems::c_offset_y),
                                                 WldPlacingItems::gridSz,
                                                 WldPlacingItems::gridOffset)));
               s->cursor->show();
    }
    if( mouseEvent->buttons() & Qt::LeftButton )
    {
        s->placeItemUnderCursor();
        s->Debugger_updateItemList();
    }
}
开发者ID:tcvicio,项目名称:PGE-Project,代码行数:33,代码来源:wld_mode_place.cpp

示例5: mousePress

void WLD_ModePlace::mousePress(QGraphicsSceneMouseEvent *mouseEvent)
{
    if(!scene) return;
    WldScene *s = qobject_cast<WldScene *>(scene);

    if( mouseEvent->buttons() & Qt::RightButton )
    {
        item_rectangles::clearArray();
        MainWinConnect::pMainWin->on_actionSelect_triggered();
        dontCallEvent = true;
        s->IsMoved = true;
        return;
    }

    s->last_tile_arrayID=s->WldData->tile_array_id;
    s->last_scene_arrayID=s->WldData->scene_array_id;
    s->last_path_arrayID=s->WldData->path_array_id;
    s->last_level_arrayID=s->WldData->level_array_id;
    s->last_musicbox_arrayID=s->WldData->musicbox_array_id;

    if(s->cursor){
        s->cursor->setPos( QPointF(s->applyGrid( mouseEvent->scenePos().toPoint()-
                                           QPoint(WldPlacingItems::c_offset_x,
                                                  WldPlacingItems::c_offset_y),
                                           WldPlacingItems::gridSz,
                                           WldPlacingItems::gridOffset)));
    }

    s->placeItemUnderCursor();
    s->Debugger_updateItemList();

    s->MousePressEventOnly = true;
    s->mousePressEvent(mouseEvent);
    dontCallEvent = true;
}
开发者ID:tcvicio,项目名称:PGE-Project,代码行数:35,代码来源:wld_mode_place.cpp

示例6: mouseMove

void WLD_ModeSquare::mouseMove(QGraphicsSceneMouseEvent *mouseEvent)
{
    if(!scene) return;
    WldScene *s = dynamic_cast<WldScene *>(scene);

    if(s->cursor)
    {
        if(s->cursor->isVisible())
        {
        QPoint hw = s->applyGrid( mouseEvent->scenePos().toPoint(),
                               WldPlacingItems::gridSz,
                               WldPlacingItems::gridOffset);

        QSize hs = QSize( (long)fabs(drawStartPos.x() - hw.x()),  (long)fabs( drawStartPos.y() - hw.y() ) );


        ((QGraphicsRectItem *)s->cursor)->setRect(0,0, hs.width(), hs.height());
        ((QGraphicsRectItem *)s->cursor)->setPos(
                    ((hw.x() < drawStartPos.x() )? hw.x() : drawStartPos.x()),
                    ((hw.y() < drawStartPos.y() )? hw.y() : drawStartPos.y())
                    );

        item_rectangles::drawMatrix(s, QRect (((QGraphicsRectItem *)s->cursor)->x(),
                                                ((QGraphicsRectItem *)s->cursor)->y(),
                                                ((QGraphicsRectItem *)s->cursor)->rect().width(),
                                                ((QGraphicsRectItem *)s->cursor)->rect().height()),
                                    QSize(WldPlacingItems::itemW, WldPlacingItems::itemH)
                                    );

        }
    }
}
开发者ID:tcvicio,项目名称:PGE-Project,代码行数:32,代码来源:wld_mode_square.cpp


注:本文中的WldScene::applyGrid方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。