Changeset 12166

Show
Ignore:
Timestamp:
06/22/09 18:23:38 (8 months ago)
Author:
dstn
Message:

tilerender: configurable bg color; match files

Location:
trunk/src/astrometry/render
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/astrometry/render/render_match.c

    r12158 r12166  
    2828int render_match(cairo_t* cairo, render_args_t* args) { 
    2929        int i, I; 
    30  
    31         cairo_set_source_rgba(cairo, 0,1,0,1); 
     30        double edge_rgba[] = { 0,1,0,1 }; 
     31        double face_rgba[] = { 1,1,1,0 }; 
    3232 
    3333        for (I=0; I<sl_size(args->arglist); I++) { 
     
    5151                                        xyzarr2radecdegarr(mo->quadxyz + 3*i, radec + 2*i); 
    5252                                quad_radec_to_xy(args, radec, xy, mo->dimquads); 
     53 
    5354                                cairoutils_draw_path(cairo, xy, mo->dimquads); 
    5455                                cairo_close_path(cairo); 
     56                                cairo_set_source_rgba(cairo, face_rgba[0], face_rgba[1], face_rgba[2], face_rgba[3]); 
     57                                cairo_fill(cairo); 
     58 
     59                                cairoutils_draw_path(cairo, xy, mo->dimquads); 
     60                                cairo_close_path(cairo); 
     61                                cairo_set_source_rgba(cairo, edge_rgba[0], edge_rgba[1], edge_rgba[2], edge_rgba[3]); 
    5562                                cairo_stroke(cairo); 
    5663                        } 
    57                 } else if (starts_with(arg, "matchrgba ")) { 
    58                         double rgba[4]; 
    59                         if (parse_rgba_arg(arg, rgba)) { 
     64                } else if (starts_with(arg, "match_edge_rgba ")) { 
     65                        if (parse_rgba_arg(arg, edge_rgba)) { 
    6066                                return -1; 
    6167                        } 
    62                         cairo_set_source_rgba(cairo, rgba[0], rgba[1], rgba[2], rgba[3]); 
     68                } else if (starts_with(arg, "match_face_rgba ")) { 
     69                        if (parse_rgba_arg(arg, face_rgba)) { 
     70                                return -1; 
     71                        } 
    6372                } 
    6473        } 
  • trunk/src/astrometry/render/render_skdt.c

    r10884 r12166  
    2626        double r2; 
    2727        double p1[3], p2[3]; 
     28        double rgba[4]; 
    2829 
    2930        fns = sl_new(256); 
    3031        get_string_args_of_type(args, "skdt ", fns); 
     32 
     33        if (!get_first_rgba_arg_of_type(args, "skdtrgba ", rgba)) { 
     34                cairo_set_source_rgba(cairo, rgba[0], rgba[1], rgba[2], rgba[3]); 
     35        } else { 
     36                cairo_set_source_rgba(cairo, 0,1,0,1); 
     37        } 
    3138 
    3239    logmsg("got %i skdt files.\n", sl_size(fns)); 
     
    3643        star_midpoint(center, p1, p2); 
    3744        r2 = distsq(p1, center, 3); 
    38  
    39         cairo_set_source_rgba(cairo, 0,1,0,1); 
    4045 
    4146        for (i=0; i<sl_size(fns); i++) { 
  • trunk/src/astrometry/render/render_solid.c

    r8905 r12166  
    2323#include "render_solid.h" 
    2424 
    25 static void logmsg(char* format, ...) { 
    26     va_list args; 
    27     va_start(args, format); 
    28     fprintf(stderr, "render_solid: "); 
    29     vfprintf(stderr, format, args); 
    30     va_end(args); 
    31 } 
    32  
    33 int render_solid(unsigned char* img, render_args_t* args) { 
    34     int i, j; 
    35  
    36     logmsg("render_solid: filling with RGBA=(0,0,0,255)\n"); 
    37  
    38     for (j=0; j<args->H; j++) { 
    39         for (i=0; i<args->W; i++) { 
    40             uchar* pix = pixel(i, j, img, args); 
    41             pix[0] = 0; 
    42             pix[1] = 0; 
    43             pix[2] = 0; 
    44             pix[3] = 255; 
    45         } 
    46     } 
     25int render_solid(cairo_t* cairo, render_args_t* args) { 
     26        double rgba[] = { 0,0,0,1 }; 
     27        get_first_rgba_arg_of_type(args, "solid_rgba ", rgba); 
     28        cairo_set_source_rgba(cairo, rgba[0], rgba[1], rgba[2], rgba[3]); 
     29        cairo_paint(cairo); 
    4730    return 0; 
    4831} 
  • trunk/src/astrometry/render/render_solid.h

    r8905 r12166  
    2121#include "tilerender.h" 
    2222 
    23 int render_solid(unsigned char* img, render_args_t* args); 
     23int render_solid(cairo_t* cairo, render_args_t* args); 
    2424 
    2525#endif 
  • trunk/src/astrometry/render/tilerender.c

    r12158 r12166  
    171171        { "clean",     render_usnob,        NULL }, 
    172172        { "dirty",     render_usnob,        NULL }, 
    173         { "solid",     render_solid,        NULL }, 
     173        { "solid",     NULL,                render_solid }, 
    174174        { "images",    render_images,       NULL }, 
    175175        { "userimage", render_images,       NULL },