From 0e4e608b710b0e65ece073e9cf2887aac2f3fd54 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 9 Jan 2012 20:19:07 +0000 Subject: 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? --- source/blender/editors/interface/interface_draw.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'source/blender/editors/interface') 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); -- cgit v1.2.3