1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #include <cassert>
- #include <algorithm>
- #include <limits>
- #include "state.h"
- State::State()
- : fn(false),
- middleClick(false),
- scrolled(false)
- {
- }
- void State::tick(uint8_t delta)
- {
- middleClickTimeout.updateTime(delta);
- }
- void State::setScrolled() {
- if(middleClick==true){
- scrolled = true;
- }
- }
- bool State::getScrolled() {
- return scrolled;
- }
- void State::pressMiddleClick() {
- middleClick = true;
- middleClickTimeout.reset();
- }
- bool State::releaseMiddleClick() {
- middleClick = false;
- scrolled = false;
- const auto timeout = middleClickTimeout.get();
- return !timeout;
- }
- TrackballMode State::moveTrackball() {
- middleClickTimeout.expire();
- if (middleClick) {
- return TrackballMode::Wheel;
- } else {
- return TrackballMode::Mouse;
- }
- }
|