Changeset 2717


Ignore:
Timestamp:
08/14/08 20:34:57 (5 years ago)
Author:
sam
Message:
  • Add pipi_tile, to create image mosaics.
Location:
libpipi/trunk
Files:
2 added
4 edited
1 moved

Legend:

Unmodified
Added
Removed
  • libpipi/trunk/pipi/Makefile.am

    r2711 r2717  
    2424        dither.c \ 
    2525        measure.c \ 
    26         fill/floodfill.c \ 
    2726        $(codec_sources) \ 
     27        $(paint_sources) \ 
    2828        $(combine_sources) \ 
    2929        $(filter_sources) \ 
     
    4040 
    4141# Submodules 
     42paint_sources = \ 
     43        paint/floodfill.c \ 
     44        paint/tile.c 
     45 
    4246combine_sources = \ 
    4347        combine/mean.c \ 
  • libpipi/trunk/pipi/context.c

    r2716 r2717  
    168168        ctx->images[ctx->nimages - 1] = dst; 
    169169    } 
     170    else if(!strcmp(cmd, "tile")) 
     171    { 
     172        pipi_image_t *src, *dst; 
     173        char const *arg; 
     174        va_list ap; 
     175        int w, h; 
     176 
     177        if(ctx->nimages < 1) 
     178            return -1; 
     179        va_start(ap, cmd); 
     180        arg = va_arg(ap, char const *); 
     181        va_end(ap); 
     182        w = atoi(arg); 
     183        arg = strchr(arg, 'x'); 
     184        if(!arg) 
     185            return -1; 
     186        h = atoi(arg + 1); 
     187        if(w <= 0 || h <= 0) 
     188            return -1; 
     189        src = ctx->images[ctx->nimages - 1]; 
     190        dst = pipi_tile(src, w, h); 
     191        if(dst == NULL) 
     192            return -1; 
     193        pipi_free(src); 
     194        ctx->images[ctx->nimages - 1] = dst; 
     195    } 
    170196    else if(!strcmp(cmd, "scale")) 
    171197    { 
  • libpipi/trunk/pipi/pipi.h

    r2715 r2717  
    105105extern pipi_image_t *pipi_autocontrast(pipi_image_t *); 
    106106 
     107extern pipi_image_t *pipi_tile(pipi_image_t *, int, int); 
    107108extern int pipi_flood_fill(pipi_image_t *, 
    108109                           int, int, float, float, float, float); 
  • libpipi/trunk/src/pipi.c

    r2716 r2717  
    3939                return EXIT_FAILURE; 
    4040            if(pipi_command(ctx, "geometry", argv[1]) != 0) 
     41                return EXIT_FAILURE; 
     42            argv++; 
     43        } 
     44        else if(!strcmp(argv[0], "--tile")) 
     45        { 
     46            if(argv[1] == NULL) 
     47                return EXIT_FAILURE; 
     48            if(pipi_command(ctx, "tile", argv[1]) != 0) 
    4149                return EXIT_FAILURE; 
    4250            argv++; 
Note: See TracChangeset for help on using the changeset viewer.