Index: uspace/lib/draw/font/bitmap_backend.c
===================================================================
--- uspace/lib/draw/font/bitmap_backend.c	(revision c6c39d4fc4006cdc10bdb3c7c6bc139f722b78af)
+++ uspace/lib/draw/font/bitmap_backend.c	(revision 0aee9b4c5afa08b0cd8ed8c15949d5a7208167d5)
@@ -143,5 +143,5 @@
 	source_t source;
 	source_init(&source);
-	source_set_texture(&source, raw_surface, false);
+	source_set_texture(&source, raw_surface, PIXELMAP_EXTEND_TRANSPARENT_BLACK);
 
 	transform_t transform;
Index: uspace/lib/draw/source.c
===================================================================
--- uspace/lib/draw/source.c	(revision c6c39d4fc4006cdc10bdb3c7c6bc139f722b78af)
+++ uspace/lib/draw/source.c	(revision 0aee9b4c5afa08b0cd8ed8c15949d5a7208167d5)
@@ -45,9 +45,9 @@
 	source->color = PIXEL(0, 0, 0, 0);
 	source->texture = NULL;
-	source->texture_tile = false;
+	source->texture_extend = PIXELMAP_EXTEND_TRANSPARENT_BLACK;
 
 	source->alpha = PIXEL(255, 0, 0, 0);
 	source->mask = NULL;
-	source->mask_tile = false;
+	source->mask_extend = PIXELMAP_EXTEND_TRANSPARENT_BLACK;
 }
 
@@ -73,8 +73,9 @@
 }
 
-void source_set_texture(source_t *source, surface_t *texture, bool tile)
+void source_set_texture(source_t *source, surface_t *texture,
+    pixelmap_extend_t extend)
 {
 	source->texture = texture;
-	source->texture_tile = tile;
+	source->texture_extend = extend;
 }
 
@@ -84,8 +85,9 @@
 }
 
-void source_set_mask(source_t *source, surface_t *mask, bool tile)
+void source_set_mask(source_t *source, surface_t *mask,
+    pixelmap_extend_t extend)
 {
 	source->mask = mask;
-	source->mask_tile = tile;
+	source->mask_extend = extend;
 }
 
@@ -95,5 +97,5 @@
 	    (source->alpha == (pixel_t) PIXEL(255, 0, 0, 0)) &&
 	    (source->texture != NULL) &&
-	    (source->texture_tile == false) &&
+	    (source->texture_extend == PIXELMAP_EXTEND_TRANSPARENT_BLACK) &&
 	    (transform_is_fast(&source->transform)));
 }
@@ -120,5 +122,5 @@
 		mask_pix = source->filter(
 		    surface_pixmap_access(source->mask),
-		    x, y, source->mask_tile);
+		    x, y, source->mask_extend);
 	} else {
 		mask_pix = source->alpha;
@@ -133,5 +135,5 @@
 		texture_pix = source->filter(
 		    surface_pixmap_access(source->texture),
-		    x, y, source->texture_tile);
+		    x, y, source->texture_extend);
 	} else {
 		texture_pix = source->color;
Index: uspace/lib/draw/source.h
===================================================================
--- uspace/lib/draw/source.h	(revision c6c39d4fc4006cdc10bdb3c7c6bc139f722b78af)
+++ uspace/lib/draw/source.h	(revision 0aee9b4c5afa08b0cd8ed8c15949d5a7208167d5)
@@ -42,4 +42,5 @@
 #include <transform.h>
 #include <filter.h>
+#include <io/pixelmap.h>
 
 #include "surface.h"
@@ -51,9 +52,9 @@
 	pixel_t color;
 	surface_t *texture;
-	bool texture_tile;
+	pixelmap_extend_t texture_extend;
 
 	pixel_t alpha;
 	surface_t *mask;
-	bool mask_tile;
+	pixelmap_extend_t mask_extend;
 } source_t;
 
@@ -66,8 +67,8 @@
 
 extern void source_set_color(source_t *, pixel_t);
-extern void source_set_texture(source_t *, surface_t *, bool);
+extern void source_set_texture(source_t *, surface_t *, pixelmap_extend_t);
 
 extern void source_set_alpha(source_t *, pixel_t);
-extern void source_set_mask(source_t *, surface_t *, bool);
+extern void source_set_mask(source_t *, surface_t *, pixelmap_extend_t);
 
 extern bool source_is_fast(source_t *);
