Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/draw/source.c

    rf698054 rb3222a3  
    4545        source->color = PIXEL(0, 0, 0, 0);
    4646        source->texture = NULL;
    47         source->texture_tile = false;
     47        source->texture_extend = PIXELMAP_EXTEND_TRANSPARENT_BLACK;
    4848
    4949        source->alpha = PIXEL(255, 0, 0, 0);
    5050        source->mask = NULL;
    51         source->mask_tile = false;
     51        source->mask_extend = PIXELMAP_EXTEND_TRANSPARENT_BLACK;
    5252}
    5353
     
    7373}
    7474
    75 void source_set_texture(source_t *source, surface_t *texture, bool tile)
     75void source_set_texture(source_t *source, surface_t *texture,
     76    pixelmap_extend_t extend)
    7677{
    7778        source->texture = texture;
    78         source->texture_tile = tile;
     79        source->texture_extend = extend;
    7980}
    8081
     
    8485}
    8586
    86 void source_set_mask(source_t *source, surface_t *mask, bool tile)
     87void source_set_mask(source_t *source, surface_t *mask,
     88    pixelmap_extend_t extend)
    8789{
    8890        source->mask = mask;
    89         source->mask_tile = tile;
     91        source->mask_extend = extend;
    9092}
    9193
    9294bool source_is_fast(source_t *source)
    9395{
    94         return (source->mask == NULL)
    95             && (source->alpha == (pixel_t) PIXEL(255, 0, 0, 0))
    96             && (source->texture != NULL)
    97             && (source->texture_tile == false)
    98             && transform_is_fast(&source->transform);
     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)));
    99100}
    100101
     
    103104        assert(source_is_fast(source));
    104105
    105         long _x = (long) (x + source->transform.m[0][2]);
    106         long _y = (long) (y + source->transform.m[1][2]);
     106        long _x = (long) (x + source->transform.matrix[0][2]);
     107        long _y = (long) (y + source->transform.matrix[1][2]);
    107108
    108109        return pixelmap_pixel_at(
     
    120121                mask_pix = source->filter(
    121122                    surface_pixmap_access(source->mask),
    122                     x, y, source->mask_tile);
     123                    x, y, source->mask_extend);
    123124        } else {
    124125                mask_pix = source->alpha;
     
    133134                texture_pix = source->filter(
    134135                    surface_pixmap_access(source->texture),
    135                     x, y, source->texture_tile);
     136                    x, y, source->texture_extend);
    136137        } else {
    137138                texture_pix = source->color;
Note: See TracChangeset for help on using the changeset viewer.