diff options
author | Peter Schlaile <peter@schlaile.de> | 2010-02-21 17:19:53 +0300 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2010-02-21 17:19:53 +0300 |
commit | d474fae9b9dd1c3984a4dc90827f9b5c4f489079 (patch) | |
tree | ebeac25a36f33b43f91b3ee0b13622856e35cd6f /source/blender/editors/space_sequencer/sequencer_draw.c | |
parent | 438b93dccc1fb2bdce94978741e8247747736b8f (diff) |
== Sequencer ==
Made aspect ratio work again in sequencer preview
Diffstat (limited to 'source/blender/editors/space_sequencer/sequencer_draw.c')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_draw.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index 8ac2cc96f7a..c1a023d0009 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -653,6 +653,7 @@ void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq struct ImBuf *ibuf; struct View2D *v2d = &ar->v2d; int rectx, recty; + float viewrectx, viewrecty; int free_ibuf = 0; static int recursive= 0; float render_size = 0.0; @@ -670,14 +671,23 @@ void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq return; } - rectx= (render_size*(float)scene->r.xsch)/100.0f+0.5f; - recty= (render_size*(float)scene->r.ysch)/100.0f+0.5f; + viewrectx = (render_size*(float)scene->r.xsch)/100.0f; + viewrecty = (render_size*(float)scene->r.ysch)/100.0f; + + rectx = viewrectx + 0.5f; + recty = viewrecty + 0.5f; + + if (sseq->mainb == SEQ_DRAW_IMG_IMBUF) { + viewrectx *= (float)scene->r.xasp / (float)scene->r.yasp; + viewrectx /= proxy_size / 100.0; + viewrecty /= proxy_size / 100.0; + } /* XXX TODO: take color from theme */ glClearColor(0.0, 0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); - UI_view2d_totRect_set(v2d, rectx, recty); + UI_view2d_totRect_set(v2d, viewrectx + 0.5f, viewrecty + 0.5f); UI_view2d_curRect_validate(v2d); /* BIG PROBLEM: the give_ibuf_seq() can call a rendering, which in turn calls redraws... |