From 18bcefe83be64d389702be04944f27cc7919e1f2 Mon Sep 17 00:00:00 2001 From: StapleButter Date: Thu, 7 Dec 2017 02:41:46 +0100 Subject: libui: add parameter to uiDrawBitmapDraw() to specify filtering --- src/libui_sdl/libui/unix/draw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libui_sdl/libui/unix') diff --git a/src/libui_sdl/libui/unix/draw.c b/src/libui_sdl/libui/unix/draw.c index cbdffea..cf5ce7c 100644 --- a/src/libui_sdl/libui/unix/draw.c +++ b/src/libui_sdl/libui/unix/draw.c @@ -185,10 +185,9 @@ void uiDrawBitmapUpdate(uiDrawBitmap* bmp, const void* data) cairo_surface_mark_dirty(bmp->bmp); } -void uiDrawBitmapDraw(uiDrawContext* c, uiDrawBitmap* bmp, uiRect* srcrect, uiRect* dstrect) +void uiDrawBitmapDraw(uiDrawContext* c, uiDrawBitmap* bmp, uiRect* srcrect, uiRect* dstrect, bool filter) { cairo_save(c->cr); - cairo_rectangle(c->cr, dstrect->X, dstrect->Y, dstrect->Width, dstrect->Height); cairo_translate(c->cr, dstrect->X, dstrect->Y); @@ -201,6 +200,7 @@ void uiDrawBitmapDraw(uiDrawContext* c, uiDrawBitmap* bmp, uiRect* srcrect, uiRe } cairo_set_source_surface(c->cr, bmp->bmp, -srcrect->X, -srcrect->Y); + cairo_pattern_set_filter(cairo_get_source(c->cr), filter ? CAIRO_FILTER_BILINEAR : CAIRO_FILTER_NEAREST); cairo_clip(c->cr); cairo_paint(c->cr); -- cgit v1.2.3