Mercurial > hg > soniczoomios
diff eventLogger.mm @ 44:a1e75b94c505
Snap to eval points. Double tap to go to preset (doesn't quite work yet). Coloured locks. Changed Question 2. Fixed some leaks.
author | Robert Tubb <rt300@eecs.qmul.ac.uk> |
---|---|
date | Mon, 22 Apr 2013 18:32:34 +0100 |
parents | 3d627dce8bf0 |
children |
line wrap: on
line diff
--- a/eventLogger.mm Fri Apr 19 18:50:04 2013 +0100 +++ b/eventLogger.mm Mon Apr 22 18:32:34 2013 +0100 @@ -303,6 +303,25 @@ eventsToDraw.clear(); } //---------------------------------------------------------------------------- +vector<lEvent *> EventLogger::getEvaluationPointsInRange(const TwoVector min, const TwoVector max){ + vector<lEvent *> results; + if(eventsToDraw.size() <= 0){ + return results; + + } + + deque<lEvent>::iterator eiter; + deque<lEvent>::iterator preveiter; + for(eiter = --eventsToDraw.end(); eiter >= eventsToDraw.begin(); eiter--){ + if((*eiter).eventType == EVALUATION_POINT){ + if( ((*eiter).val1 > min.x ) && ((*eiter).val2 > min.y ) && ((*eiter).val1 < max.x ) && ((*eiter).val2 < max.y )){ + results.push_back(&(*eiter)); + } + } + } + return results; +} +//---------------------------------------------------------------------------- void EventLogger::drawTrail(const TwoVector min, const TwoVector max){ if(eventsToDraw.size() <= 0){ return; @@ -322,7 +341,11 @@ for(eiter = --eventsToDraw.end(); eiter >= eventsToDraw.begin(); eiter--){ //cout << i << '\n'; - if( (*eiter).eventType == SCROLL || (*eiter).eventType == EVALUATION_POINT){ + if( (*eiter).eventType == SCROLL + || (*eiter).eventType == EVALUATION_POINT + || (*eiter).eventType == RANDOMISE + || (*eiter).eventType == CHANGE_SLIDER) + { i++; if(i > SCROLL_TRAIL_LENGTH){ return; @@ -542,6 +565,14 @@ case SWAP_VIEW: theEvents.push_back(lEvent(evtType,0.0 , 0.0 , sliderID)); // slider ID is which view break; + // these cases are move events that need to be put in events to draw + case RANDOMISE: + theEvents.push_back(lEvent(evtType,centre.x,centre.y)); + eventsToDraw.push_back(lEvent(evtType,centre.x,centre.y)); + if(eventsToDraw.size() > SCROLL_TRAIL_LENGTH){ + eventsToDraw.pop_front(); + } + break; default: // default is just an event type with no values theEvents.push_back(lEvent(evtType));