diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-01-10 00:19:07 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-01-10 00:19:07 +0400 |
commit | 0e4e608b710b0e65ece073e9cf2887aac2f3fd54 (patch) | |
tree | 2702b63e862507992d6505698e5e8592f151a33e /source/blender/editors | |
parent | f3c2ec7658d656276ec49b8e0ba7615f4738dcd0 (diff) |
Camera tracking: fixes for preview widget
- Clamping of image on boundaries now happens nicely
- Looks like to prevent dark edges on image boundary when doing
bicubic interpolation, margin should be 3px. Maybe somebody can verify this?
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/interface/interface_draw.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 1f1228a9bc5..56f7fd04080 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -1511,8 +1511,8 @@ void ui_draw_but_TRACKPREVIEW(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wc else if(scopes->track_preview) { /* additional margin around image */ /* NOTE: should be kept in sync with value from BKE_movieclip_update_scopes */ - const int margin= 2; - float zoomx, zoomy, track_pos[2], off_x, off_y; + const int margin= 3; + float zoomx, zoomy, track_pos[2], off_x, off_y, x0, y0; int a; ImBuf *drawibuf; @@ -1529,11 +1529,11 @@ void ui_draw_but_TRACKPREVIEW(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wc off_x= ((int)track_pos[0]-track_pos[0]+0.5)*zoomx; off_y= ((int)track_pos[1]-track_pos[1]+0.5)*zoomy; + x0= (int)(off_x+rect.xmin-zoomx*(margin-0.5f))+1; + y0= (int)(off_y+rect.ymin-zoomy*(margin-0.5f))+1; drawibuf= scale_trackpreview_ibuf(scopes->track_preview, zoomx, zoomy); - glaDrawPixelsSafe(off_x+rect.xmin-zoomx*(margin-0.5f), off_y+rect.ymin-zoomy*(margin-0.5f), - rect.xmax-rect.xmin+2+(int)(zoomx*(margin-0.5f)-off_x), - rect.ymax-rect.ymin+2+(int)(zoomy*(margin-0.5f)-off_y), + glaDrawPixelsSafe(x0, y0, rect.xmax-x0+1, rect.ymax-y0+1, drawibuf->x, GL_RGBA, GL_UNSIGNED_BYTE, drawibuf->rect); IMB_freeImBuf(drawibuf); |