void ofxTLDepthImageSequence::keyPressed(ofKeyEventArgs& args){ if(hasFocus()){ if(args.key == OF_KEY_LEFT){ selectFrame(MAX(getSelectedFrame()-1, 0)); } else if(args.key == OF_KEY_RIGHT){ selectFrame(MIN(getSelectedFrame()+1, depthImageSequence->getImageArray().size()-1)); } } }
void ofxTLVideoPlayer::keyPressed(ofKeyEventArgs& args){ if(hover){ if(args.key == OF_KEY_LEFT){ selectFrame(MAX(selectedFrame-1, 0)); } else if(args.key == OF_KEY_RIGHT){ selectFrame(MIN(selectedFrame+1, videoThumbs.size()-1)); } } }
void FramestackWidget::slotSelectFrame(int frameNo, int threadNo) { FrameStackItem * frame = findFrame(frameNo, threadNo); if (frame != 0) { setSelected(frame, true); emit selectFrame(frameNo, threadNo, frame->frameName()); } else { emit selectFrame(frameNo, threadNo, QString()); } }
void ofxTLVideoTrack::keyPressed(ofKeyEventArgs& args){ if(isLoaded() && hasFocus()){ if(args.key == OF_KEY_LEFT){ selectFrame(MAX(selectedFrame-1, 0)); timeline->setCurrentFrame(player->getCurrentFrame()); } else if(args.key == OF_KEY_RIGHT){ selectFrame(MIN(selectedFrame+1, player->getTotalNumFrames()-1)); timeline->setCurrentFrame(player->getCurrentFrame()); } } }
void CTimelineControl::_OnLButtonUp( uiMouseEvent mouseEvent, int x, int y ) { this->releaseCapture(); m_lbuttonDown = false; // check select time if ( m_mouseActionState == -1 ) { if ( checkSelectTime( x, y ) == true ) _onSelectTime( this ); } else if ( m_mouseActionState == k_mouseActionChangeTime || m_mouseActionState == k_mouseActionChangeValue ) { float time = m_value[m_selectTimeID].time; _onUpdateValue( this ); selectFrame( time ); if ( m_selectTimeID != -1 ) { m_currentTime = m_value[m_selectTimeID].time; } } // reset action state m_mouseActionState = -1; update(); }
static void processEvents(LLDBPlugin* plugin, PDReader* reader, PDWriter* writer) { uint32_t event; while ((event = PDRead_get_event(reader))) { //printf("LLDBPlugin: %d Got event %s\n", event, eventTypes[event]); switch (event) { case PDEventType_GetExceptionLocation : setExceptionLocation(plugin, writer); break; case PDEventType_GetCallstack : setCallstack(plugin, writer); break; case PDEventType_SetExecutable : setExecutable(plugin, reader); break; case PDEventType_SelectThread : selectThread(plugin, reader, writer); break; case PDEventType_SelectFrame : selectFrame(plugin, reader, writer); break; case PDEventType_GetLocals : setLocals(plugin, writer); break; case PDEventType_GetThreads : setThreads(plugin, writer); break; case PDEventType_GetSourceFiles : setSourceFiles(plugin, writer); break; case PDEventType_SetBreakpoint : setBreakpoint(plugin, reader, writer); break; case PDEventType_Action : eventAction(plugin, reader); break; } } setTty(plugin, writer); }
// Makes sure that only VarFrameRoot items can be selected void VariableTree::slotPressed(QListViewItem * item) { if (item == 0) { return; } while (item->rtti() == RTTI_VAR_ITEM) { item = item->parent(); } if ( item->rtti() == RTTI_GLOBAL_ROOT || item->rtti() == RTTI_WATCH_ROOT || item->rtti() == RTTI_WATCH_VAR_ITEM ) { if (selectedFrame_ != 0) { setSelected(selectedFrame_, true); } return; } if (item->rtti() == RTTI_VAR_FRAME_ROOT) { VarFrameRoot * frame = (VarFrameRoot*) item; emit selectFrame(frame->frameNo(), frame->threadNo()); } return; }
void ofxTLVideoTrack::mouseDragged(ofMouseEventArgs& args, long millis){ if(isActive()){ selectFrame( timeline->getTimecode().frameForMillis(millis) ); if(timeline->getMovePlayheadOnDrag()){ timeline->setPercentComplete(screenXtoNormalizedX(args.x)); } } }
void ofxTLVideoTrack::playheadScrubbed(ofxTLPlaybackEventArgs& args){ if(isLoaded() && !currentlyPlaying && playAlongToTimeline){ selectFrame(args.currentFrame); // cout << "after scrub timeline time is " << timeline->getCurrentTime() << " frame is " << timeline->getCurrentFrame() << " and percent is " << timeline->getPercentComplete() << endl; // cout << "while video is " << player->getPosition()*player->getDuration() << " frame is " << player->getCurrentFrame() << " and percent is " << player->getPosition() << endl; } }
void AnimImages::saveLoad(ResourceSerializer *serializer) { Anim::saveLoad(serializer); serializer->syncAsUint32LE(_currentFrame); if (serializer->isLoading()) { selectFrame(_currentFrame); } }
void ofxTLVideoPlayer::mouseDragged(ofMouseEventArgs& args, bool snapped){ if(bounds.inside(args.x, args.y)){ selectFrame( indexForScreenX(args.x) ); if(timeline->getMovePlayheadOnDrag()){ // cout << "setting percent complete " << timeline->setPercentComplete(screenXtoNormalizedX(args.x, zoomBounds)); } } }
bool ofxTLVideoTrack::mousePressed(ofMouseEventArgs& args, long millis){ ofxTLTrack::mousePressed(args, millis); if(isActive()){ timeline->unselectAll(); selectFrame( timeline->getTimecode().frameForMillis(millis) ); if(timeline->getMovePlayheadOnDrag()){ timeline->setPercentComplete(screenXtoNormalizedX(args.x)); } } return false; }
bool VariableTree::schedule() { QListViewItem * child = firstChild(); VarFrameRoot * frame = 0; while (child != 0) { if (child->rtti() == RTTI_VAR_FRAME_ROOT) { frame = (VarFrameRoot *) child; Q_ASSERT( !frame->isWaitingForData() ); if (frame->needsVariables()) { if (QApplication::overrideCursor() == 0) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); } // Tell the controller to fetch the variable values emit selectFrame(frame->frameNo(), frame->threadNo()); return true; } } child = child->nextSibling(); } frame = findFrame(1, currentThread_); Q_ASSERT( frame != 0 ); Q_ASSERT( !frame->needsVariables() ); // All over, nothing left to fetch. // Return to frame 1, and prune the inactive items // from the variable tree.. QApplication::restoreOverrideCursor(); emit selectFrame(1, currentThread_); prune(); return false; }
MainWindow::MainWindow() { QMenu *fileMenu = new QMenu(tr("&File")); fileMenu->addAction(tr("&Open..."), this, SLOT(openFile()), QKeySequence(tr("Ctrl+O", "File|Open"))); QAction *quitAction = fileMenu->addAction(tr("E&xit"), this, SLOT(close())); quitAction->setShortcut(tr("Ctrl+Q")); QMenu *editMenu = new QMenu(tr("&Edit")); cutAction = editMenu->addAction(tr("Cu&t"), this, SLOT(cutSelection())); cutAction->setShortcut(tr("Ctrl+X")); cutAction->setEnabled(false); copyAction = editMenu->addAction(tr("&Copy"), this, SLOT(copySelection())); copyAction->setShortcut(tr("Ctrl+C")); copyAction->setEnabled(false); pasteAction = editMenu->addAction(tr("&Paste"), this, SLOT(pasteSelection())); pasteAction->setShortcut(tr("Ctrl+V")); pasteAction->setEnabled(false); QMenu *selectMenu = new QMenu(tr("&Select")); selectMenu->addAction(tr("&Word"), this, SLOT(selectWord())); selectMenu->addAction(tr("&Line"), this, SLOT(selectLine())); selectMenu->addAction(tr("&Block"), this, SLOT(selectBlock())); selectMenu->addAction(tr("&Frame"), this, SLOT(selectFrame())); menuBar()->addMenu(fileMenu); menuBar()->addMenu(editMenu); menuBar()->addMenu(selectMenu); editor = new QTextEdit(this); document = new QTextDocument(this); editor->setDocument(document); connect(editor, SIGNAL(selectionChanged()), this, SLOT(updateMenus())); setCentralWidget(editor); setWindowTitle(tr("Text Document Writer")); }
MainWindow::MainWindow() { QMenu *fileMenu = new QMenu(tr("&File")); fileMenu->addAction(tr("E&xit"), this, SLOT(close()), QKeySequence(tr("Ctrl+Q", "File|Exit"))); QMenu *editMenu = new QMenu(tr("&Edit")); cutAction = editMenu->addAction(tr("Cu&t"), this, SLOT(cutSelection()), QKeySequence(tr("Ctrl+X", "Edit|Cut"))); copyAction = editMenu->addAction(tr("&Copy"), this, SLOT(copySelection()), QKeySequence(tr("Ctrl+C", "Edit|Copy"))); pasteAction = editMenu->addAction(tr("&Paste"), this, SLOT(pasteSelection()), QKeySequence(tr("Ctrl+V", "Edit|Paste"))); QMenu *selectMenu = new QMenu(tr("&Select")); selectMenu->addAction(tr("&Word"), this, SLOT(selectWord())); selectMenu->addAction(tr("&Line"), this, SLOT(selectLine())); selectMenu->addAction(tr("&Block"), this, SLOT(selectBlock())); selectMenu->addAction(tr("&Frame"), this, SLOT(selectFrame())); QMenu *insertMenu = new QMenu(tr("&Insert")); insertMenu->addAction(tr("&List"), this, SLOT(insertList()), QKeySequence(tr("Ctrl+L", "Insert|List"))); menuBar()->addMenu(fileMenu); menuBar()->addMenu(editMenu); menuBar()->addMenu(selectMenu); menuBar()->addMenu(insertMenu); editor = new QTextEdit(this); document = new QTextDocument(this); editor->setDocument(document); connect(editor, SIGNAL(selectionChanged()), this, SLOT(updateMenus())); updateMenus(); setCentralWidget(editor); setWindowTitle(tr("Text Document Writer")); }
void ModelMaker::registerKey(int key){ switch(key){ case 27: exit(0); break; case 'q': mtYaw += mtRStep; break; case 'w': mtYaw -= mtRStep; break; case 'a': mtPitch += mtRStep; break; case 's': mtPitch -= mtRStep; break; case 'z': mtRoll += mtRStep; break; case 'x': mtRoll -= mtRStep; break; case 'e': mtTransX += mtTStep; break; case 'r': mtTransX -= mtTStep; break; case 'd': mtTransY += mtTStep; break; case 'f': mtTransY -= mtTStep; break; case 'c': mtTransZ += mtTStep; break; case 'v': mtTransZ -= mtTStep; break; case 't': mtRStep *= 2; break; case 'y': mtRStep *= 0.5; break; case 'g': mtTStep *= 2; break; case 'h': mtTStep *= 0.5; break; case 'n': computeAllGradientEnergys(); break; /* Color Mode : Original Color / (Red/Blue) Color */ case 'p': colorMode = (colorMode+1)%2; break; /* Show Source Point Cloud or not*/ case 'o': showSrc = !showSrc; break; /* Show Destination Point Cloud or not*/ case 'O': showDst = !showDst; break; /* Turn On/Off alpha blending */ case 'i': alphaBlendingSwitch(); break; /* Merge the transformed source point cloud into dst point cloud */ case '=': mergeSrcDstPClouds(); break; /* skip this src frame and jump to the next src frame */ case '-': readData(++fileIndex, true); break; case '_': selectFrame(); break; case '0': mWriteModel(); break; case '9': mReadModel(); break; case '8': showReadModel = !showReadModel; break; case 'm': doMatching = true; break; } isKey = true; }
void ofxTLVideoPlayer::updateTimeline(){ if(player->isPlaying() && player->getSpeed() > 0.0){ // cout << " is playing player frame " << player->getCurrentFrame() << " current frame " << getCurrentFrame() << endl; if(timeline->getIsFrameBased()){ if(player->getCurrentFrame() < inFrame || player->getCurrentFrame() > outFrame){ // cout << "reset in frame from " << player->getCurrentFrame() << endl; player->setFrame(inFrame); // cout << " to: " << player->getCurrentFrame() << endl; } if(lastFrame > player->getCurrentFrame()){ currentLoop++; // cout << "LOOPED! with last frame " << lastFrame << " " << player->getCurrentFrame() << " current loop " << currentLoop << endl; } if(timeline->getOutFrame() < getCurrentFrame() || timeline->getInFrame() > getCurrentFrame() ){ if(timeline->getInFrame() > player->getCurrentFrame() && timeline->getLoopType() == OF_LOOP_NONE){ player->stop(); } else { //player->setFrame( timeline->getInFrame() % player->getTotalNumFrames()); selectFrame(timeline->getInFrame()); } } timeline->setCurrentFrame(getCurrentFrame()); lastFrame = player->getCurrentFrame(); } else{ if(timeline->getOutTime() < player->getPosition()*player->getDuration() || timeline->getInTime() > player->getPosition()*player->getDuration() ){ player->setFrame(timeline->getInOutRange().min * player->getTotalNumFrames()); } timeline->setCurrentTime( player->getPosition() * player->getDuration()); } } }
void ofxTLVideoPlayer::draw(){ if(player == NULL){ return; } if(player->isPlaying() && player->getSpeed() > 0.0){ // cout << " is playing player frame " << player->getCurrentFrame() << " current frame " << getCurrentFrame() << endl; if(timeline->getIsFrameBased()){ if(player->getCurrentFrame() < inFrame || player->getCurrentFrame() > outFrame){ // cout << "reset in frame from " << player->getCurrentFrame() << endl; player->setFrame(inFrame); // cout << " to: " << player->getCurrentFrame() << endl; } if(lastFrame > player->getCurrentFrame()){ currentLoop++; // cout << "LOOPED! with last frame " << lastFrame << " " << player->getCurrentFrame() << " current loop " << currentLoop << endl; } if(timeline->getOutFrame() < getCurrentFrame() || timeline->getInFrame() > getCurrentFrame() ){ if(timeline->getInFrame() > player->getCurrentFrame() && timeline->getLoopType() == OF_LOOP_NONE){ player->stop(); } else { //player->setFrame( timeline->getInFrame() % player->getTotalNumFrames()); selectFrame(timeline->getInFrame()); } } timeline->setCurrentFrame(getCurrentFrame()); lastFrame = player->getCurrentFrame(); } else{ if(timeline->getOutTime() < player->getPosition()*player->getDuration() || timeline->getInTime() > player->getPosition()*player->getDuration() ){ player->setFrame(timeline->getInOutRange().min * player->getTotalNumFrames()); } timeline->setCurrentTime( player->getPosition() * player->getDuration()); } } // cout << "in out is " << inFrame << " " << outFrame << endl; ofPushStyle(); if(thumbsEnabled && getDrawRect().height > 10){ ofSetColor(255); for(int i = 0; i < videoThumbs.size(); i++){ if(videoThumbs[i].visible){ videoThumbs[i].thumb.draw(videoThumbs[i].displayRect); } } for(int i = 0; i < videoThumbs.size(); i++){ if(videoThumbs[i].visible){ if (!thumbsEnabled) { ofFill(); ofSetColor(0); ofRect(videoThumbs[i].displayRect); } ofNoFill(); ofSetColor(255, 150, 0); ofDrawBitmapString(ofToString(videoThumbs[i].framenum), videoThumbs[i].displayRect.x+5, videoThumbs[i].displayRect.y+15); ofRect(videoThumbs[i].displayRect); } } } int selectedFrameX = screenXForIndex(selectedFrame); ofSetColor(0, 125, 255); ofLine(selectedFrameX, bounds.y, selectedFrameX, bounds.y+bounds.height); ofDrawBitmapString(ofToString(selectedFrame), selectedFrameX, bounds.y+35); if(inFrame != -1){ ofSetLineWidth(2); ofSetColor(timeline->getColors().highlightColor); int inFrameX = screenXForIndex(inFrame); int outFrameX = screenXForIndex(outFrame); ofLine(inFrameX, bounds.y, inFrameX, bounds.y+bounds.height); ofLine(outFrameX, bounds.y, outFrameX, bounds.y+bounds.height); ofSetColor(timeline->getColors().keyColor); ofDrawBitmapString("IN: " + ofToString(inFrameX), inFrameX + 5, bounds.y + 10); ofDrawBitmapString("OUT: " + ofToString(outFrameX), outFrameX + 5, bounds.y + bounds.height - 20); } ofPopStyle(); }
//void ofxTLVideoTrack::update(ofEventArgs& args){ void ofxTLVideoTrack::update(){ if(!isLoaded()){ return; } if(timeline->getTimecontrolTrack() == this){ if(timeline->getIsFrameBased()){ timeline->setCurrentFrame(player->getCurrentFrame()); } else { timeline->setCurrentTimeSeconds(player->getPosition()*player->getDuration()); } if(getIsPlaying()){ //no longer used if(player->getCurrentFrame() < inFrame || player->getCurrentFrame() > outFrame){ // cout << "reset in frame from " << player->getCurrentFrame() << endl; player->setFrame(inFrame); // cout << " to: " << player->getCurrentFrame() << endl; } if(selectedFrame > player->getCurrentFrame()){ currentLoop++; //cout << "LOOPED! with last frame " << lastFrame << " " << player->getCurrentFrame() << " current loop " << currentLoop << endl; } //if(timeline->getInOutRange().max < player->getPosition()){ if(timeline->getOutFrame() <= player->getCurrentFrame() || player->getIsMovieDone()){ // cout << " OVER " << endl; if(timeline->getLoopType() == OF_LOOP_NONE){ // cout << " no loop g" << endl; stop(); } else { int loopFrame = timeline->getInFrame(); selectFrame(loopFrame); if(playAlongToTimeline){ player->play(); } ofxTLPlaybackEventArgs args = timeline->createPlaybackEvent(); ofNotifyEvent(events().playbackLooped, args); } } //else if(timeline->getInOutRange().min > player->getPosition()){ if(timeline->getInFrame() > player->getCurrentFrame()){ //cout << "looping frame " << timeline->getInFrame() << endl; int loopFrame = timeline->getInFrame(); selectFrame(loopFrame); } //timeline->setPercentComplete(player->getPosition()); } else{ // if(player->getSpeed() != 0){ // player->setSpeed(0); // } if(player->isPlaying()){ stop(); } } } else { if(timeline->getCurrentTime() > player->getDuration()){ player->stop(); } } player->update(); // cout << "timeline frame vs video frame " << player->getCurrentFrame() << " vs " << timeline->getCurrentFrame() << endl; selectedFrame = player->getCurrentFrame(); }
void Sprite::paint(sf::RenderWindow *window) { window->Draw(getBase()); selectFrame(); window->Draw(*sprite); }
bool TupTimeLine::requestFrameAction(int action, int framePos, int layerPos, int scenePos, const QVariant &arg) { /* #ifdef K_DEBUG #ifdef Q_OS_WIN32 qDebug() << "[TupTimeLine::requestFrameAction()]"; #else T_FUNCINFO; #endif #endif */ Q_UNUSED(framePos); TupProjectRequest request; switch (action) { case TupProjectActionBar::InsertFrame: { int lastFrame = framesTable(scenePos)->lastFrameByLayer(layerPos); int currentFrame = framesTable(scenePos)->currentColumn(); if (currentFrame == lastFrame) { request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, lastFrame + 1, TupProjectRequest::Add, tr("Frame %1").arg(lastFrame + 2)); emit requestTriggered(&request); } else { request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, currentFrame + 1, TupProjectRequest::Add, tr("Frame %1").arg(currentFrame + 2)); emit requestTriggered(&request); int target = currentFrame + 2; for (int index=target; index <= lastFrame+1; index++) { target++; request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, index, TupProjectRequest::Rename, tr("Frame %1").arg(target)); emit requestTriggered(&request); } } return true; } break; case TupProjectActionBar::RemoveFrame: { int lastFrame = framesTable(scenePos)->lastFrameByLayer(layerPos); int currentFrame = framesTable(scenePos)->currentColumn(); if (currentFrame > lastFrame) return false; if (lastFrame == 0) { TupProjectRequest request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, 0, TupProjectRequest::Reset); emit requestTriggered(&request); return true; } if (currentFrame == lastFrame) { TupProjectRequest request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, currentFrame, TupProjectRequest::Remove); emit requestTriggered(&request); if (currentFrame > 0) selectFrame(layerPos, currentFrame-1); else framesTable(scenePos)->clearSelection(); } else { request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, currentFrame, TupProjectRequest::Remove, arg); emit requestTriggered(&request); selectFrame(layerPos, currentFrame); } return true; } break; case TupProjectActionBar::MoveFrameBackward: { int currentFrame = framesTable(scenePos)->currentColumn(); TupProjectRequest request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, currentFrame, TupProjectRequest::Exchange, currentFrame - 1); emit requestTriggered(&request); return true; } break; case TupProjectActionBar::MoveFrameForward: { int currentFrame = framesTable(scenePos)->currentColumn(); int lastFrame = framesTable(scenePos)->lastFrameByLayer(layerPos); if (currentFrame == lastFrame) { TupProjectRequest request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, lastFrame + 1, TupProjectRequest::Add, tr("Frame %1").arg(lastFrame + 2)); emit requestTriggered(&request); } TupProjectRequest request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, currentFrame, TupProjectRequest::Exchange, currentFrame + 1); emit requestTriggered(&request); return true; } break; case TupProjectActionBar::LockFrame: { int currentFrame = framesTable(scenePos)->currentColumn(); bool locked = framesTable(scenePos)->frameIsLocked(layerPos, currentFrame); TupProjectRequest request = TupRequestBuilder::createFrameRequest(scenePos, layerPos, currentFrame, TupProjectRequest::Lock, !locked); emit requestTriggered(&request); return true; } break; default: // Do nothing break; } return false; }