Changes in uspace/lib/draw/source.c [6d5e378:b3222a3] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/draw/source.c
r6d5e378 rb3222a3 45 45 source->color = PIXEL(0, 0, 0, 0); 46 46 source->texture = NULL; 47 source->texture_ tile = false;47 source->texture_extend = PIXELMAP_EXTEND_TRANSPARENT_BLACK; 48 48 49 49 source->alpha = PIXEL(255, 0, 0, 0); 50 50 source->mask = NULL; 51 source->mask_ tile = false;51 source->mask_extend = PIXELMAP_EXTEND_TRANSPARENT_BLACK; 52 52 } 53 53 … … 73 73 } 74 74 75 void source_set_texture(source_t *source, surface_t *texture, bool tile) 75 void source_set_texture(source_t *source, surface_t *texture, 76 pixelmap_extend_t extend) 76 77 { 77 78 source->texture = texture; 78 source->texture_ tile = tile;79 source->texture_extend = extend; 79 80 } 80 81 … … 84 85 } 85 86 86 void source_set_mask(source_t *source, surface_t *mask, bool tile) 87 void source_set_mask(source_t *source, surface_t *mask, 88 pixelmap_extend_t extend) 87 89 { 88 90 source->mask = mask; 89 source->mask_tile = tile; 91 source->mask_extend = extend; 92 } 93 94 bool source_is_fast(source_t *source) 95 { 96 return ((source->mask == NULL) && 97 (source->alpha == (pixel_t) PIXEL(255, 0, 0, 0)) && 98 (source->texture != NULL) && 99 (transform_is_fast(&source->transform))); 100 } 101 102 pixel_t *source_direct_access(source_t *source, double x, double y) 103 { 104 assert(source_is_fast(source)); 105 106 long _x = (long) (x + source->transform.matrix[0][2]); 107 long _y = (long) (y + source->transform.matrix[1][2]); 108 109 return pixelmap_pixel_at( 110 surface_pixmap_access(source->texture), (sysarg_t) _x, (sysarg_t) _y); 90 111 } 91 112 … … 100 121 mask_pix = source->filter( 101 122 surface_pixmap_access(source->mask), 102 x, y, source->mask_ tile);123 x, y, source->mask_extend); 103 124 } else { 104 125 mask_pix = source->alpha; … … 113 134 texture_pix = source->filter( 114 135 surface_pixmap_access(source->texture), 115 x, y, source->texture_ tile);136 x, y, source->texture_extend); 116 137 } else { 117 138 texture_pix = source->color;
Note:
See TracChangeset
for help on using the changeset viewer.