half way through keyframes data
This commit is contained in:
+12
-7
@@ -16,12 +16,6 @@
|
||||
KeyframeView::KeyframeView(QWidget *parent) : QWidget(parent), mouseover(false), visible_in(0), visible_out(0) {
|
||||
setFocusPolicy(Qt::ClickFocus);
|
||||
setMouseTracking(true);
|
||||
reload();
|
||||
}
|
||||
|
||||
void KeyframeView::reload() {
|
||||
enable_reload = true;
|
||||
update();
|
||||
}
|
||||
|
||||
void KeyframeView::paintEvent(QPaintEvent*) {
|
||||
@@ -30,6 +24,7 @@ void KeyframeView::paintEvent(QPaintEvent*) {
|
||||
setMinimumWidth(getScreenPointFromFrame(panel_effect_controls->zoom, visible_out - visible_in));
|
||||
|
||||
rowY.clear();
|
||||
rows.clear();
|
||||
for (int i=0;i<effects.size();i++) {
|
||||
Effect* e = effects.at(i);
|
||||
if (e->container->is_expanded()) {
|
||||
@@ -39,6 +34,8 @@ void KeyframeView::paintEvent(QPaintEvent*) {
|
||||
long frame = 20;
|
||||
int keyframe_y = label->y() + (label->height()>>1) + mapFrom(panel_effect_controls, contents->mapTo(panel_effect_controls, contents->pos())).y() - e->container->title_bar->height();
|
||||
draw_keyframe(p, getScreenPointFromFrame(panel_effect_controls->zoom, frame), keyframe_y, false);
|
||||
|
||||
rows.append(e->row(j));
|
||||
rowY.append(keyframe_y);
|
||||
}
|
||||
}
|
||||
@@ -51,7 +48,7 @@ void KeyframeView::paintEvent(QPaintEvent*) {
|
||||
}
|
||||
|
||||
if (mouseover && mouseover_row < rowY.size()) {
|
||||
draw_keyframe(p, getScreenPointFromFrame(panel_effect_controls->zoom, mouseover_frame) - visible_in, rowY.at(mouseover_row), true);
|
||||
draw_keyframe(p, getScreenPointFromFrame(panel_effect_controls->zoom, mouseover_frame - visible_in), rowY.at(mouseover_row), true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,6 +60,10 @@ void KeyframeView::draw_keyframe(QPainter &p, int x, int y, bool semiTransparent
|
||||
p.drawPolygon(points, KEYFRAME_POINT_COUNT);
|
||||
}
|
||||
|
||||
void KeyframeView::mousePressEvent(QMouseEvent *event) {
|
||||
qDebug() << "create keyframe @ clip frame" << mouseover_frame - visible_in + (rows.at(mouseover_row)->parent_effect->parent_clip->clip_in) << "effect row" << mouseover_row;
|
||||
}
|
||||
|
||||
void KeyframeView::mouseMoveEvent(QMouseEvent* event) {
|
||||
unsetCursor();
|
||||
bool new_mo = false;
|
||||
@@ -80,3 +81,7 @@ void KeyframeView::mouseMoveEvent(QMouseEvent* event) {
|
||||
}
|
||||
mouseover = new_mo;
|
||||
}
|
||||
|
||||
void KeyframeView::mouseReleaseEvent(QMouseEvent* event) {
|
||||
|
||||
}
|
||||
|
||||
+2
-4
@@ -16,14 +16,12 @@ public:
|
||||
|
||||
long visible_in;
|
||||
long visible_out;
|
||||
public slots:
|
||||
void reload();
|
||||
private:
|
||||
QVector<int> rowY;
|
||||
QVector<EffectRow*> rows;
|
||||
void mousePressEvent(QMouseEvent* event);
|
||||
void mouseMoveEvent(QMouseEvent* event);
|
||||
/*void mousePressEvent(QMouseEvent* event);
|
||||
void mouseReleaseEvent(QMouseEvent *event);*/
|
||||
void mouseReleaseEvent(QMouseEvent *event);
|
||||
void paintEvent(QPaintEvent *event);
|
||||
void draw_keyframe(QPainter& p, int x, int y, bool semiTransparent);
|
||||
bool enable_reload;
|
||||
|
||||
+1
-1
@@ -177,7 +177,7 @@ void ViewerWidget::compose_sequence(QVector<Clip*>& nests, bool render_audio) {
|
||||
QOpenGLShaderProgram shader;
|
||||
|
||||
for (int j=0;j<c->effects.size();j++) {
|
||||
if (c->effects.at(j)->enable_opengl && c->effects.at(j)->is_enabled()) c->effects.at(j)->process_gl(shader, &anchor_x, &anchor_y);
|
||||
if (c->effects.at(j)->enable_opengl && c->effects.at(j)->is_enabled()) c->effects.at(j)->process_gl(panel_timeline->playhead-c->timeline_in+c->clip_in, shader, &anchor_x, &anchor_y);
|
||||
}
|
||||
|
||||
if (c->opening_transition != NULL) {
|
||||
|
||||
Reference in New Issue
Block a user