void mouseButtonCallback(GLFWwindow* window, int button, int action, int mods) { #ifdef WITH_TWEAKBAR if (TwEventMouseButtonGLFW3(window, button, action, mods)) return; #endif // WITH_TWEAKBAR double x, y; glfwGetCursorPos(window, &x, &y); Context *ctx = static_cast<Context *>(glfwGetWindowUserPointer(window)); if (action == GLFW_PRESS) { mouseButtonPressed(ctx, button, x, y); } else { mouseButtonReleased(ctx, button, x, y); } }
const SUCCESS Events::handleEvent(const SDL_Event * const Event) { switch(Event->type) { //newline brackets implemented since this is a lot of nesting case SDL_WINDOWEVENT: ///Some sort of input or output gained or lost { const Uint8 &winID = Event->window.windowID; switch(Event->window.event) { case SDL_WINDOWEVENT_ENTER: ///Mouse message handling gained or lost return mouseEnter(winID); case SDL_WINDOWEVENT_LEAVE: ///General input message handling gained or lost return mouseLeave(winID); case SDL_WINDOWEVENT_MINIMIZED: ///Output to the screen at all gained or lost return minimized(winID); case SDL_WINDOWEVENT_RESTORED: return restored(winID); case SDL_WINDOWEVENT_MAXIMIZED: return maximized(winID); case SDL_WINDOWEVENT_SHOWN: return shown(winID); case SDL_WINDOWEVENT_HIDDEN: return hidden(winID); case SDL_WINDOWEVENT_EXPOSED: return exposed(winID); case SDL_WINDOWEVENT_FOCUS_GAINED: return keyboardFocusGain(winID); case SDL_WINDOWEVENT_FOCUS_LOST: return keyboardFocusLost(winID); case SDL_WINDOWEVENT_SIZE_CHANGED: return changeSize(winID); case SDL_WINDOWEVENT_RESIZED: return resized(winID, Dimensions<int>(Event->window.data1, Event->window.data2)); case SDL_WINDOWEVENT_MOVED: return moved(winID, Point<int>(Event->window.data1, Event->window.data2)); case SDL_WINDOWEVENT_CLOSE: return windowExited(winID); default: ///For some reason there is an unknown window event return FAILED; } break; } case SDL_KEYDOWN: { if(Event->key.repeat) { return keyHeld(Event->key.windowID, Event->key.keysym); } else { return keyPressed(Event->key.windowID, Event->key.keysym); } break; } case SDL_KEYUP: return keyReleased(Event->key.windowID, Event->key.keysym); case SDL_TEXTINPUT: return textInput(Event->text.windowID, Event->text.text); case SDL_TEXTEDITING: return textEdit(Event->edit.windowID, Event->edit.text, Event->edit.start, Event->edit.length); case SDL_MOUSEMOTION: return mouseMove(Event->motion.windowID, Event->motion.which, Delta<Point<int> >(Point<int>(Event->motion.xrel, Event->motion.yrel), Point<int>(Event->motion.x, Event->motion.y)), bitset<N_MOUSE_BUTTONS>(Event->motion.state)); case SDL_MOUSEBUTTONDOWN: return mouseButtonPressed(Event->button.windowID, Event->button.which, Event->button.button, Event->button.clicks, Point<int>(Event->button.x, Event->button.y)); case SDL_MOUSEBUTTONUP: return mouseButtonReleased(Event->button.windowID, Event->button.which, Event->button.button, Event->button.clicks, Point<int>(Event->button.x, Event->button.y)); case SDL_MOUSEWHEEL: return mouseWheel(Event->wheel.windowID, Event->wheel.which, Point<int>(Event->wheel.x, Event->wheel.y)); case SDL_JOYAXISMOTION: return joyAxis(Event->jaxis.which, Event->jaxis.axis, Event->jaxis.value); case SDL_JOYBUTTONDOWN: return joyButtonPressed(Event->jbutton.which, Event->jbutton.button); case SDL_JOYBUTTONUP: return joyButtonReleased(Event->jbutton.which, Event->jbutton.button); case SDL_JOYHATMOTION: return joyHatChange(Event->jhat.which, Event->jhat.hat, Event->jhat.value); case SDL_JOYBALLMOTION: return joyBallMove(Event->jball.which, Event->jball.ball, Point<int>(Event->jball.xrel, Event->jball.yrel)); case SDL_DROPFILE: { const SUCCESS ret = droppedFile(Event->drop.file); SDL_free(Event->drop.file); return ret; } case SDL_SYSWMEVENT: return unhandledSystemEvent(Event->syswm.msg); case SDL_QUIT: return appExited(); case SDL_USEREVENT: default: { return userEvent(Event->user.windowID, Event->user.code, Event->user.data1, Event->user.data2); } } return FAILED; }
void SdlContext::refreshInputs() { SCOPE_profile_cpu_function("RenderTimer"); SDL_Event events; auto input = _dependencyManager->getInstance<Input>(); input->frameUpdate(); if (_firstCall) { _initJoysticks(*input); _firstCall = false; } while (SDL_PollEvent(&events)) { switch (events.type) { case SDL_KEYDOWN: input->keyInputPressed(findAgeMappedKey(events.key.keysym.sym), findAgePhysicalKey(events.key.keysym.scancode)); break; case SDL_KEYUP: input->keyInputReleased(findAgeMappedKey(events.key.keysym.sym), findAgePhysicalKey(events.key.keysym.scancode)); break; case SDL_MOUSEBUTTONDOWN: input->mouseButtonPressed(findAgeMouseButton(events.button.button)); break; case SDL_MOUSEBUTTONUP: input->mouseButtonReleased(findAgeMouseButton(events.button.button)); break; case SDL_MOUSEWHEEL: input->setMouseWheel(glm::ivec2(events.wheel.x, events.wheel.y)); break; case SDL_MOUSEMOTION: input->setMousePosition(glm::ivec2(events.motion.x, events.motion.y), glm::ivec2(events.motion.xrel, events.motion.yrel)); break; case SDL_JOYDEVICEADDED: _addJoystick(*input, events.jdevice.which); break; case SDL_JOYDEVICEREMOVED: _removeJoystick(*input, events.jdevice.which); break; case SDL_JOYAXISMOTION: { uint32_t joyId = _fromSdlJoystickIdToAge(events.jaxis.which); AgeJoystickAxis joyAxis = findAgeJoystickAxis(events.jaxis.axis); float value = (float)events.jaxis.value / 32768.0f; input->setJoystickAxis(joyId, joyAxis, value); } break; case SDL_JOYBUTTONDOWN: { uint32_t joyId = _fromSdlJoystickIdToAge(events.jbutton.which); AgeJoystickButtons joyButton = findAgeJoystickButton(events.jbutton.button); input->joystickButtonPressed(joyId, joyButton); } break; case SDL_JOYBUTTONUP: { uint32_t joyId = _fromSdlJoystickIdToAge(events.jbutton.which); AgeJoystickButtons joyButton = findAgeJoystickButton(events.jbutton.button); input->joystickButtonReleased(joyId, joyButton); } break; case SDL_JOYBALLMOTION: { uint32_t joyId = _fromSdlJoystickIdToAge(events.jball.which); input->setJoystickTrackBall(joyId, events.jball.ball, glm::ivec2(events.jball.xrel, events.jball.yrel)); } break; case SDL_JOYHATMOTION: { uint32_t joyId = _fromSdlJoystickIdToAge(events.jhat.which); AgeJoystickHatDirections joyHatDir = findAgeJoystickHatDirection(events.jhat.value); input->setJoystickHat(joyId, events.jhat.hat, joyHatDir); } break; case SDL_WINDOWEVENT: input->addWindowInput(findAgeWindowInput(events.window.event)); break; default: input->addWindowInput(findAgeWindowInput(events.type)); break; } } input->sendMouseStateToIMGUI(); }
int Q3ListBox::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = Q3ScrollView::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: highlighted((*reinterpret_cast< int(*)>(_a[1]))); break; case 1: selected((*reinterpret_cast< int(*)>(_a[1]))); break; case 2: highlighted((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 3: selected((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 4: highlighted((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 5: selected((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 6: selectionChanged(); break; case 7: selectionChanged((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 8: currentChanged((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 9: clicked((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 10: clicked((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 11: pressed((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 12: pressed((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 13: doubleClicked((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 14: returnPressed((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 15: rightButtonClicked((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 16: rightButtonPressed((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 17: mouseButtonPressed((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< Q3ListBoxItem*(*)>(_a[2])),(*reinterpret_cast< const QPoint(*)>(_a[3]))); break; case 18: mouseButtonClicked((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< Q3ListBoxItem*(*)>(_a[2])),(*reinterpret_cast< const QPoint(*)>(_a[3]))); break; case 19: contextMenuRequested((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 20: onItem((*reinterpret_cast< Q3ListBoxItem*(*)>(_a[1]))); break; case 21: onViewport(); break; case 22: clear(); break; case 23: ensureCurrentVisible(); break; case 24: clearSelection(); break; case 25: selectAll((*reinterpret_cast< bool(*)>(_a[1]))); break; case 26: invertSelection(); break; case 27: clearInputString(); break; case 28: refreshSlot(); break; case 29: doAutoScroll(); break; case 30: adjustItems(); break; } _id -= 31; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< uint*>(_v) = count(); break; case 1: *reinterpret_cast< int*>(_v) = numItemsVisible(); break; case 2: *reinterpret_cast< int*>(_v) = currentItem(); break; case 3: *reinterpret_cast< QString*>(_v) = currentText(); break; case 4: *reinterpret_cast< int*>(_v) = topItem(); break; case 5: *reinterpret_cast< SelectionMode*>(_v) = selectionMode(); break; case 6: *reinterpret_cast< bool*>(_v) = isMultiSelection(); break; case 7: *reinterpret_cast< LayoutMode*>(_v) = columnMode(); break; case 8: *reinterpret_cast< LayoutMode*>(_v) = rowMode(); break; case 9: *reinterpret_cast< int*>(_v) = numColumns(); break; case 10: *reinterpret_cast< int*>(_v) = numRows(); break; case 11: *reinterpret_cast< bool*>(_v) = variableWidth(); break; case 12: *reinterpret_cast< bool*>(_v) = variableHeight(); break; } _id -= 13; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 2: setCurrentItem(*reinterpret_cast< int*>(_v)); break; case 4: setTopItem(*reinterpret_cast< int*>(_v)); break; case 5: setSelectionMode(*reinterpret_cast< SelectionMode*>(_v)); break; case 6: setMultiSelection(*reinterpret_cast< bool*>(_v)); break; case 7: setColumnMode(*reinterpret_cast< LayoutMode*>(_v)); break; case 8: setRowMode(*reinterpret_cast< LayoutMode*>(_v)); break; case 11: setVariableWidth(*reinterpret_cast< bool*>(_v)); break; case 12: setVariableHeight(*reinterpret_cast< bool*>(_v)); break; } _id -= 13; } else if (_c == QMetaObject::ResetProperty) { _id -= 13; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 13; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 13; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 13; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 13; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 13; } #endif // QT_NO_PROPERTIES return _id; }
void Label::mousePressEvent(QMouseEvent* event) { Qt::MouseButton mouseButton = event->button(); m_mouseButtonsPressed.insert(mouseButton); emit mouseButtonPressed(mouseButton); event->accept(); }
int Q3IconView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = Q3ScrollView::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: selectionChanged(); break; case 1: selectionChanged((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 2: currentChanged((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 3: clicked((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 4: clicked((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 5: pressed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 6: pressed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 7: doubleClicked((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 8: returnPressed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 9: rightButtonClicked((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 10: rightButtonPressed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 11: mouseButtonPressed((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< Q3IconViewItem*(*)>(_a[2])),(*reinterpret_cast< const QPoint(*)>(_a[3]))); break; case 12: mouseButtonClicked((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< Q3IconViewItem*(*)>(_a[2])),(*reinterpret_cast< const QPoint(*)>(_a[3]))); break; case 13: contextMenuRequested((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QPoint(*)>(_a[2]))); break; case 14: dropped((*reinterpret_cast< QDropEvent*(*)>(_a[1])),(*reinterpret_cast< const Q3ValueList<Q3IconDragItem>(*)>(_a[2]))); break; case 15: moved(); break; case 16: onItem((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 17: onViewport(); break; case 18: itemRenamed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 19: itemRenamed((*reinterpret_cast< Q3IconViewItem*(*)>(_a[1]))); break; case 20: arrangeItemsInGrid((*reinterpret_cast< const QSize(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 21: arrangeItemsInGrid((*reinterpret_cast< const QSize(*)>(_a[1]))); break; case 22: arrangeItemsInGrid((*reinterpret_cast< bool(*)>(_a[1]))); break; case 23: arrangeItemsInGrid(); break; case 24: setContentsPos((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 25: updateContents(); break; case 26: doAutoScroll(); break; case 27: adjustItems(); break; case 28: slotUpdate(); break; case 29: movedContents((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; } _id -= 30; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = sorting(); break; case 1: *reinterpret_cast< bool*>(_v) = sortDirection(); break; case 2: *reinterpret_cast< SelectionMode*>(_v) = selectionMode(); break; case 3: *reinterpret_cast< int*>(_v) = gridX(); break; case 4: *reinterpret_cast< int*>(_v) = gridY(); break; case 5: *reinterpret_cast< int*>(_v) = spacing(); break; case 6: *reinterpret_cast< ItemTextPos*>(_v) = itemTextPos(); break; case 7: *reinterpret_cast< QBrush*>(_v) = itemTextBackground(); break; case 8: *reinterpret_cast< Arrangement*>(_v) = arrangement(); break; case 9: *reinterpret_cast< ResizeMode*>(_v) = resizeMode(); break; case 10: *reinterpret_cast< int*>(_v) = maxItemWidth(); break; case 11: *reinterpret_cast< int*>(_v) = maxItemTextLength(); break; case 12: *reinterpret_cast< bool*>(_v) = autoArrange(); break; case 13: *reinterpret_cast< bool*>(_v) = itemsMovable(); break; case 14: *reinterpret_cast< bool*>(_v) = wordWrapIconText(); break; case 15: *reinterpret_cast< bool*>(_v) = showToolTips(); break; case 16: *reinterpret_cast< uint*>(_v) = count(); break; } _id -= 17; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 2: setSelectionMode(*reinterpret_cast< SelectionMode*>(_v)); break; case 3: setGridX(*reinterpret_cast< int*>(_v)); break; case 4: setGridY(*reinterpret_cast< int*>(_v)); break; case 5: setSpacing(*reinterpret_cast< int*>(_v)); break; case 6: setItemTextPos(*reinterpret_cast< ItemTextPos*>(_v)); break; case 7: setItemTextBackground(*reinterpret_cast< QBrush*>(_v)); break; case 8: setArrangement(*reinterpret_cast< Arrangement*>(_v)); break; case 9: setResizeMode(*reinterpret_cast< ResizeMode*>(_v)); break; case 10: setMaxItemWidth(*reinterpret_cast< int*>(_v)); break; case 11: setMaxItemTextLength(*reinterpret_cast< int*>(_v)); break; case 12: setAutoArrange(*reinterpret_cast< bool*>(_v)); break; case 13: setItemsMovable(*reinterpret_cast< bool*>(_v)); break; case 14: setWordWrapIconText(*reinterpret_cast< bool*>(_v)); break; case 15: setShowToolTips(*reinterpret_cast< bool*>(_v)); break; } _id -= 17; } else if (_c == QMetaObject::ResetProperty) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 17; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 17; } #endif // QT_NO_PROPERTIES return _id; }