本文整理汇总了C++中gcn::MouseEvent类的典型用法代码示例。如果您正苦于以下问题:C++ MouseEvent类的具体用法?C++ MouseEvent怎么用?C++ MouseEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MouseEvent类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: mouseDragged
void Viewport::mouseDragged(gcn::MouseEvent &event)
{
if (!mCurrentMap || !player_node)
return;
if (mPlayerFollowMouse && mWalkTime == player_node->mWalkTime)
{
const int tileWidth = mCurrentMap->getTileWidth();
const int tileHeight = mCurrentMap->getTileHeight();
int destX = event.getX() / tileWidth + mTileViewX;
int destY = event.getY() / tileHeight + mTileViewY;
player_node->setDestination(destX, destY);
}
}
开发者ID:Aethyra,项目名称:Client,代码行数:14,代码来源:viewport.cpp
示例2: mouseMoved
// Show ItemTooltip
void ItemContainer::mouseMoved(gcn::MouseEvent &event)
{
Item *item = mInventory->getItem(getSlotIndex(event.getX(), event.getY()));
if (item)
{
mItemPopup->setItem(item->getInfo());
mItemPopup->view(viewport->getMouseX(), viewport->getMouseY());
}
else
{
mItemPopup->setVisible(false);
}
}
开发者ID:mekolat,项目名称:elektrogamesvn,代码行数:15,代码来源:itemcontainer.cpp
示例3: mouseReleased
void GlassWindow::mouseReleased(gcn::MouseEvent& mouseEvent) {
if(titleVisible) {
if(mouseEvent.getY() <= (int)mTitleBarHeight && mouseEvent.getX()>=titleBarContainer.getX()) {
gcn::Button *w;
if((w = (gcn::Button*)titleBarContainer.getWidgetAt(mouseEvent.getX()-titleBarContainer.getX(), mouseEvent.getY())) != NULL) {
w->mouseReleased(mouseEvent);
}
}
}
gcn::Window::mouseReleased(mouseEvent);
GlassWidget::mouseReleased(mouseEvent);
}
开发者ID:newerthcom,项目名称:savagerebirth,代码行数:15,代码来源:GlassWindow.cpp
示例4: mousePressed
void ItemContainer::mousePressed(gcn::MouseEvent &event)
{
if (!mInventory)
return;
const int button = event.getButton();
mClicks = event.getClickCount();
if (button == gcn::MouseEvent::LEFT || button == gcn::MouseEvent::RIGHT)
{
const int index = getSlotIndex(event.getX(), event.getY());
if (index == Inventory::NO_SLOT_INDEX)
return;
Item *item = mInventory->getItem(index);
// put item name into chat window
if (item && mDescItems && chatWindow)
chatWindow->addItemText(item->getInfo().getName());
if (mSelectedIndex == index && mClicks != 2)
{
mSelectionStatus = SEL_DESELECTING;
}
else if (item && item->getId())
{
setSelectedIndex(index);
mSelectionStatus = SEL_SELECTING;
int num = itemShortcutWindow->getTabIndex();
if (num >= 0 && num < SHORTCUT_TABS)
{
if (itemShortcut[num])
itemShortcut[num]->setItemSelected(item);
}
if (dropShortcut)
dropShortcut->setItemSelected(item);
if (item->isEquipment() && outfitWindow)
outfitWindow->setItemSelected(item);
if (shopWindow)
shopWindow->setItemSelected(item->getId());
}
else
{
selectNone();
}
}
}
开发者ID:Evonline,项目名称:ManaPlus,代码行数:48,代码来源:itemcontainer.cpp
示例5: mouseClicked
void PlayState::mouseClicked( gcn::MouseEvent& mouseEvent )
{
if (mouseEvent.GetSource() == mQuitButton)
{
Close();
}
}
开发者ID:doveiya,项目名称:isilme,代码行数:7,代码来源:PlayState.cpp
示例6: mouseMoved
void ShopListBox::mouseMoved(gcn::MouseEvent &event)
{
if (!mShopItems)
return;
int index = event.getY() / mRowHeight;
if (index < 0 || index >= mShopItems->getNumberOfElements())
{
mItemPopup->setVisible(false);
}
else
{
Item *item = mShopItems->at(index);
if (item)
{
mItemPopup->setItem(item->getInfo());
mItemPopup->position(viewport->getMouseX(), viewport->getMouseY());
}
else
{
mItemPopup->setVisible(false);
}
}
}
开发者ID:Ablu,项目名称:invertika,代码行数:25,代码来源:shoplistbox.cpp
示例7: mouseClicked
void ItemMakerBox::mouseClicked(gcn::MouseEvent& mouseEvent){
if( mouseEvent.isConsumed() ){ return; };
// Save Button
if( mouseEvent.getSource() == saveBtn ){
mouseEvent.consume();
save( filenameFld->getText() );
} else
// Load Button
if( mouseEvent.getSource() == loadBtn ){
mouseEvent.consume();
load( filenameFld->getText() );
} else {
setCaption(caption_);
}
}
开发者ID:hoodwolf,项目名称:Infraelly,代码行数:16,代码来源:ItemMakerBox.cpp
示例8: mouseDragged
void Viewport::mouseDragged(gcn::MouseEvent &event)
{
if (!mMap || !player_node)
return;
if (mPlayerFollowMouse && !event.isShiftPressed())
{
if (get_elapsed_time(mLocalWalkTime) >= walkingMouseDelay)
{
mLocalWalkTime = tick_time;
player_node->setDestination(event.getX() + (int) mPixelViewX,
event.getY() + (int) mPixelViewY);
player_node->pathSetByMouse();
}
}
}
开发者ID:mobilehub,项目名称:mana,代码行数:16,代码来源:viewport.cpp
示例9: mousePressed
// -- MouseListener notifications
void GuiTable::mousePressed(gcn::MouseEvent& mouseEvent)
{
if (mouseEvent.getButton() == gcn::MouseEvent::LEFT)
{
int row = getRowForY(mouseEvent.getY());
int column = getColumnForX(mouseEvent.getX());
if (row > -1 && column > -1 &&
row < mModel->getRows() && column < mModel->getColumns())
{
mSelectedColumn = column;
mSelectedRow = row;
}
distributeActionEvent();
}
}
开发者ID:Ablu,项目名称:invertika,代码行数:18,代码来源:table.cpp
示例10: mouseMoved
// Show ItemTooltip
void ItemAmountWindow::mouseMoved(gcn::MouseEvent &event)
{
if (event.getSource() == mItemIcon)
{
mItemPopup->setItem(mItem->getInfo());
mItemPopup->position(viewport->getMouseX(), viewport->getMouseY());
}
}
开发者ID:Ablu,项目名称:invertika,代码行数:9,代码来源:itemamount.cpp
示例11: mouseMoved
// Show ItemTooltip
void ItemContainer::mouseMoved(gcn::MouseEvent &event)
{
if (!mInventory)
return;
Item *item = mInventory->getItem(getSlotIndex(event.getX(), event.getY()));
if (item && viewport)
{
mItemPopup->setItem(item);
mItemPopup->position(viewport->getMouseX(), viewport->getMouseY());
}
else
{
mItemPopup->setVisible(false);
}
}
开发者ID:Evonline,项目名称:ManaPlus,代码行数:18,代码来源:itemcontainer.cpp
示例12: mousePressed
void OutfitWindow::mousePressed(gcn::MouseEvent &event)
{
Window::mousePressed(event);
const int index = getIndexFromGrid(event.getX(), event.getY());
if (index == -1) {
return;
}
// Stores the selected item if there is one.
if (isItemSelected()) {
mItems[mCurrentOutfit][index] = mItemSelected;
mItemSelected = -1;
}
else if (mItems[mCurrentOutfit][index]) {
mItemClicked = true;
}
}
开发者ID:weimingtom,项目名称:guichan-input,代码行数:17,代码来源:outfitwindow.cpp
示例13: mouseWheelMovedDown
void ListBox::mouseWheelMovedDown(gcn::MouseEvent& mouseEvent)
{
if (isFocused())
{
incrementSelected();
mouseEvent.consume();
}
}
开发者ID:Aethyra,项目名称:Client,代码行数:8,代码来源:listbox.cpp
示例14: mouseMoved
void Viewport::mouseMoved(gcn::MouseEvent &event)
{
// Check if we are on the map
if (!mMap || !player_node)
return;
const int x = (event.getX() + (int) mPixelViewX);
const int y = (event.getY() + (int) mPixelViewY);
mHoverBeing = actorSpriteManager->findBeingByPixel(x, y);
mBeingPopup->show(getMouseX(), getMouseY(), mHoverBeing);
mHoverItem = actorSpriteManager->findItem(x / mMap->getTileWidth(),
y / mMap->getTileHeight());
updateCursorType();
}
开发者ID:mobilehub,项目名称:mana,代码行数:17,代码来源:viewport.cpp
示例15: mouseClicked
void BuyDialog::mouseClicked(gcn::MouseEvent &mouseEvent)
{
if (mouseEvent.getSource() == mShopItemList &&
isDoubleClick(mShopItemList->getSelected()))
{
action(gcn::ActionEvent(mBuyButton, mBuyButton->getActionEventId()));
}
}
开发者ID:B-Rich,项目名称:mana,代码行数:8,代码来源:buy.cpp
示例16: mouseExited
void PlayControllerZone::mouseExited( gcn::MouseEvent& mouseEvent )
{
model().resetMouse();
view().resetMove();
mouseEvent.consume();
}
开发者ID:jorgejcabrera,项目名称:gamemvc,代码行数:8,代码来源:playcontrollerzone.cpp
示例17: if
void LayerPanel::mouseClicked(gcn::MouseEvent& me)
{
gcn::Widget *src = me.getSource();
// poll the buttons for a click
for(uint32 i = 0; i < LAYER_MAX; i++)
{
if(src == btnLayers[i])
{
if(me.getButton() == gcn::MouseEvent::LEFT)
_engine->GetDrawPanel()->SetActiveLayer(i);
else if(me.getButton() == gcn::MouseEvent::RIGHT)
_engine->ToggleLayerVisible(i);
return;
}
}
}
开发者ID:IamusNavarathna,项目名称:lv3proj,代码行数:17,代码来源:LayerPanel.cpp
示例18: mousePressed
void Window::mousePressed(gcn::MouseEvent &event)
{
// Let Guichan move window to top and figure out title bar drag
gcn::Window::mousePressed(event);
if (event.getButton() == gcn::MouseEvent::LEFT)
{
const int x = event.getX();
const int y = event.getY();
// Handle close button
if (mCloseButton)
{
gcn::Rectangle closeButtonRect(
getWidth() - mSkin->getCloseImage()->getWidth() - getPadding(),
getPadding(),
mSkin->getCloseImage()->getWidth(),
mSkin->getCloseImage()->getHeight());
if (closeButtonRect.isPointInRect(x, y))
{
close();
}
}
// Handle sticky button
if (mStickyButton)
{
Image *button = mSkin->getStickyImage(mSticky);
int rx = getWidth() - button->getWidth() - getPadding();
if (mCloseButton)
rx -= mSkin->getCloseImage()->getWidth();
gcn::Rectangle stickyButtonRect(rx, getPadding(),
button->getWidth(), button->getHeight());
if (stickyButtonRect.isPointInRect(x, y))
{
setSticky(!isSticky());
}
}
// Handle window resizing
mouseResize = getResizeHandles(event);
}
}
开发者ID:Ablu,项目名称:invertika,代码行数:45,代码来源:window.cpp
示例19: mouseClicked
void WorldSelectDialog::mouseClicked(gcn::MouseEvent &mouseEvent)
{
if (mouseEvent.getSource() == mWorldList &&
isDoubleClick(mWorldList->getSelected()))
{
action(gcn::ActionEvent(mChooseWorld,
mChooseWorld->getActionEventId()));
}
}
开发者ID:B-Rich,项目名称:mana,代码行数:9,代码来源:worldselectdialog.cpp
示例20: mousePressed
void EmoteShortcutContainer::mousePressed(gcn::MouseEvent &event)
{
const int index = getIndexFromGrid(event.getX(), event.getY());
if (index == -1)
return;
// Stores the selected emote if there is one.
if (emoteShortcut->isEmoteSelected())
{
emoteShortcut->setEmote(index);
emoteShortcut->setEmoteSelected(0);
}
else if (emoteShortcut->getEmote(index))
{
mEmoteClicked = true;
}
}
开发者ID:TonyRice,项目名称:mana,代码行数:18,代码来源:emoteshortcutcontainer.cpp
注:本文中的gcn::MouseEvent类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论