本文整理汇总了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());
}
}
示例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() )
)
:""));
}
}
示例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;
}
示例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();
}
}
示例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;
}
示例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)
);
}
}
}