diff --git a/ui/viewerwidget.cpp b/ui/viewerwidget.cpp index 220779f8b..a57208283 100644 --- a/ui/viewerwidget.cpp +++ b/ui/viewerwidget.cpp @@ -366,9 +366,7 @@ void ViewerWidget::mouseMoveEvent(QMouseEvent* event) { } void ViewerWidget::mouseReleaseEvent(QMouseEvent *event) { - if (event->button() == Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND) { - qDebug() << "hand"; - } else if (dragging && gizmos != nullptr) { + if (dragging && gizmos != nullptr && !(event->button() == Qt::MiddleButton || panel_timeline->tool == TIMELINE_TOOL_HAND)) { qDebug() << "gizmos"; move_gizmos(event, true); } @@ -593,208 +591,4 @@ void ViewerWidget::paintGL() { renderer->start_render(context(), viewer->seq); } } - -// retry_timer.stop(); - - /* - if (viewer->seq != nullptr) { - gizmos = nullptr; - drawn_gizmos = false; - force_quit = false; - - if (!just_repaint) { - bool render_audio = (viewer->playing || rendering); - - // send context to other thread for drawing - doneCurrent(); - renderer->start_render(context(), viewer->seq); - - // render the audio - QVector nests; - compose_sequence(viewer, context(), viewer->seq, nests, false, render_audio, &gizmos); - } else { - // try to draw the texture from the other thread if we got it -// if (renderer->mutex.tryLock(10)) { - makeCurrent(); - - glClearColor(0.0, 0.0, 0.0, 1.0); - glClear(GL_COLOR_BUFFER_BIT); - - glEnable(GL_TEXTURE_2D); - - glBindTexture(GL_TEXTURE_2D, renderer->texColorBuffer); - - glLoadIdentity(); - glOrtho(0, 1, 1, 0, -1, 1); - - glBegin(GL_QUADS); - - glVertex2f(0, 0); - glTexCoord2f(0, 0); - glVertex2f(0, 1); - glTexCoord2f(1, 0); - glVertex2f(1, 1); - glTexCoord2f(1, 1); - glVertex2f(1, 0); - glTexCoord2f(0, 1); - - glEnd(); - - glBindTexture(GL_TEXTURE_2D, 0); - - glDisable(GL_TEXTURE_2D); - - if (window != nullptr && window->isVisible()) { - window->set_texture(renderer->texColorBuffer, double(viewer->seq->width)/double(viewer->seq->height)); - } - -// renderer->mutex.unlock(); - -// if (texture_failed) { -// qDebug() << "texture failed, retry called"; -// retry_timer.start(); -// } -// } else { -// qDebug() << "renderer failed, retry called"; -// retry_timer.start(); -// just_repaint = true; -// } - } - - just_repaint = false; - }*/ - - - /*drawn_gizmos = false; - force_quit = false; - if (viewer->seq != nullptr) { - gizmos = nullptr; - - bool render_audio = (viewer->playing || rendering); - bool loop = false; - do { - loop = false; - - glClearColor(0, 0, 0, 1); - glMatrixMode(GL_MODELVIEW); - glEnable(GL_TEXTURE_2D); - glEnable(GL_BLEND); - glEnable(GL_DEPTH); - - texture_failed = false; - - if (!rendering) retry_timer.stop(); - - glClear(GL_COLOR_BUFFER_BIT); - - // compose video preview - glClearColor(0, 0, 0, 0); - - QVector nests; - - compose_sequence(nests, render_audio); - - if (waveform) { - QPainter p(this); - if (viewer->seq->using_workarea) { - int in_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->workarea_in) - waveform_scroll; - int out_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->workarea_out) - waveform_scroll; - - p.fillRect(QRect(in_x, 0, out_x - in_x, height()), QColor(255, 255, 255, 64)); - p.setPen(Qt::white); - p.drawLine(in_x, 0, in_x, height()); - p.drawLine(out_x, 0, out_x, height()); - } - QRect wr = rect(); - wr.setX(wr.x() - waveform_scroll); - - p.setPen(Qt::green); - draw_waveform(waveform_clip, waveform_ms, waveform_clip->timeline_out, &p, wr, waveform_scroll, width()+waveform_scroll, waveform_zoom); - p.setPen(Qt::red); - int playhead_x = getScreenPointFromFrame(waveform_zoom, viewer->seq->playhead) - waveform_scroll; - p.drawLine(playhead_x, 0, playhead_x, height()); - } - - if (force_quit) break; - if (texture_failed) { - if (rendering) { - qInfo() << "Texture failed - looping"; - loop = true; - } else if (!viewer->playing) { - retry_timer.start(); - } - } - - if (config.show_title_safe_area && !rendering) { - drawTitleSafeArea(); - } - - if (gizmos != nullptr && drawn_gizmos) { - float color[4]; - glGetFloatv(GL_CURRENT_COLOR, color); - - float dot_size = GIZMO_DOT_SIZE / width() * viewer->seq->width; - float target_size = GIZMO_TARGET_SIZE / width() * viewer->seq->width; - - glPushMatrix(); - glLoadIdentity(); - glOrtho(0, viewer->seq->width, viewer->seq->height, 0, -1, 10); - float gizmo_z = 0.0f; - for (int j=0;jgizmo_count();j++) { - EffectGizmo* g = gizmos->gizmo(j); - glColor4f(g->color.redF(), g->color.greenF(), g->color.blueF(), 1.0); - switch (g->get_type()) { - case GIZMO_TYPE_DOT: // draw dot - glBegin(GL_QUADS); - glVertex3f(g->screen_pos[0].x()-dot_size, g->screen_pos[0].y()-dot_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+dot_size, g->screen_pos[0].y()-dot_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+dot_size, g->screen_pos[0].y()+dot_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()-dot_size, g->screen_pos[0].y()+dot_size, gizmo_z); - glEnd(); - break; - case GIZMO_TYPE_POLY: // draw lines - glBegin(GL_LINES); - for (int k=1;kget_point_count();k++) { - glVertex3f(g->screen_pos[k-1].x(), g->screen_pos[k-1].y(), gizmo_z); - glVertex3f(g->screen_pos[k].x(), g->screen_pos[k].y(), gizmo_z); - } - glVertex3f(g->screen_pos[g->get_point_count()-1].x(), g->screen_pos[g->get_point_count()-1].y(), gizmo_z); - glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y(), gizmo_z); - glEnd(); - break; - case GIZMO_TYPE_TARGET: // draw target - glBegin(GL_LINES); - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()-target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()-target_size, gizmo_z); - - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()-target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()+target_size, gizmo_z); - - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y()+target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()+target_size, gizmo_z); - - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()+target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y()-target_size, gizmo_z); - - glVertex3f(g->screen_pos[0].x()-target_size, g->screen_pos[0].y(), gizmo_z); - glVertex3f(g->screen_pos[0].x()+target_size, g->screen_pos[0].y(), gizmo_z); - - glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y()-target_size, gizmo_z); - glVertex3f(g->screen_pos[0].x(), g->screen_pos[0].y()+target_size, gizmo_z); - glEnd(); - break; - } - } - glPopMatrix(); - - glColor4f(color[0], color[1], color[2], color[3]); - - drawn_gizmos = true; - } - - glDisable(GL_DEPTH); - glDisable(GL_BLEND); - glDisable(GL_TEXTURE_2D); - } while (loop); - }*/ }