本文整理汇总了C++中gcn::MouseEvent::getClickCount方法的典型用法代码示例。如果您正苦于以下问题:C++ MouseEvent::getClickCount方法的具体用法?C++ MouseEvent::getClickCount怎么用?C++ MouseEvent::getClickCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gcn::MouseEvent
的用法示例。
在下文中一共展示了MouseEvent::getClickCount方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mouseClicked
void ListBox::mouseClicked(gcn::MouseEvent &mouseEvent)
{
if (mouseEvent.getButton() == gcn::MouseEvent::LEFT)
{
setSelected(mouseEvent.getY() / getRowHeight());
if (mouseEvent.getClickCount() == 2)
distributeActionEvent();
}
}
示例2: 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();
}
}
}
示例3: mouseClicked
void GlassWindow::mouseClicked(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->mouseClicked(mouseEvent);
}
} else if(mouseEvent.getY() <= (int)mTitleBarHeight && mouseEvent.getClickCount() >= 2) {
if(shadeState == SH_OPEN || shadeState == SH_OPENING)
shadeState = SH_CLOSING;
else shadeState = SH_OPENING;
}
}
gcn::Window::mouseClicked(mouseEvent);
GlassWidget::mouseClicked(mouseEvent);
}
示例4: mouseClicked
void InventoryWindow::mouseClicked(gcn::MouseEvent &event)
{
Window::mouseClicked(event);
const int clicks = event.getClickCount();
if (clicks == 2 && gui)
gui->resetClickCount();
const bool mod = (isStorageActive() && inputManager.isActionActive(
static_cast<int>(Input::KEY_MOD)));
const bool mod2 = (tradeWindow && tradeWindow->isWindowVisible()
&& inputManager.isActionActive(static_cast<int>(Input::KEY_MOD)));
if (!mod && !mod2 && event.getButton() == gcn::MouseEvent::RIGHT)
{
Item *const item = mItems->getSelectedItem();
if (!item)
return;
/* Convert relative to the window coordinates to absolute screen
* coordinates.
*/
const int mx = event.getX() + getX();
const int my = event.getY() + getY();
if (viewport)
viewport->showPopup(this, mx, my, item, isMainInventory());
}
if (!mInventory)
return;
if (event.getButton() == gcn::MouseEvent::LEFT
|| event.getButton() == gcn::MouseEvent::RIGHT)
{
Item *const item = mItems->getSelectedItem();
if (!item)
return;
if (mod)
{
if (mInventory->isMainInventory())
{
if (event.getButton() == gcn::MouseEvent::RIGHT)
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreAdd,
inventoryWindow, item);
}
else
{
Net::getInventoryHandler()->moveItem2(Inventory::INVENTORY,
item->getInvIndex(), item->getQuantity(),
Inventory::STORAGE);
}
}
else
{
if (event.getButton() == gcn::MouseEvent::RIGHT)
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreRemove,
inventoryWindow, item);
}
else
{
Net::getInventoryHandler()->moveItem2(Inventory::STORAGE,
item->getInvIndex(), item->getQuantity(),
Inventory::INVENTORY);
}
}
}
else if (mod2 && mInventory->isMainInventory())
{
if (event.getButton() == gcn::MouseEvent::RIGHT)
{
ItemAmountWindow::showWindow(ItemAmountWindow::TradeAdd,
tradeWindow, item);
}
else
{
if (tradeWindow)
tradeWindow->tradeItem(item, item->getQuantity(), true);
}
}
else if (clicks == 2)
{
if (mInventory->isMainInventory())
{
if (isStorageActive())
{
ItemAmountWindow::showWindow(ItemAmountWindow::StoreAdd,
inventoryWindow, item);
}
else if (tradeWindow && tradeWindow->isWindowVisible())
{
ItemAmountWindow::showWindow(ItemAmountWindow::TradeAdd,
tradeWindow, item);
//.........这里部分代码省略.........