int antialize;
int zoom;
int ymin, ymax;
+ int fillwhite;
RGBA* img;
if(!strcmp(key, "antialize")) {
i->antialize = atoi(value);
i->zoom = i->antialize * i->multiply;
+ return 1;
} else if(!strcmp(key, "multiply")) {
i->multiply = atoi(value);
i->zoom = i->antialize * i->multiply;
fprintf(stderr, "Warning: multiply not implemented yet\n");
+ return 1;
+ } else if(!strcmp(key, "fillwhite")) {
+ i->fillwhite = atoi(value);
+ return 1;
}
return 0;
}
internal_t*i = (internal_t*)dev->internal;
double x,y;
- if(cap_style != gfx_capRound || joint_style != gfx_joinRound) {
+ /*if(cap_style != gfx_capRound || joint_style != gfx_joinRound) {
fprintf(stderr, "Warning: cap/joint style != round not yet supported\n");
- }
+ }*/
while(line) {
int x1,y1,x2,y2,x3,y3;
{
internal_t*i = (internal_t*)dev->internal;
+ /* align characters to whole pixels */
+ matrix->tx = (int)(matrix->tx * i->antialize) / i->antialize;
+ matrix->ty = (int)(matrix->ty * i->antialize) / i->antialize;
+
gfxglyph_t*glyph = &font->glyphs[glyphnr];
gfxline_t*line2 = gfxline_clone(glyph->line);
gfxline_transform(line2, matrix);
}
int render_result_save(gfxresult_t*r, char*filename)
{
- internal_result_t*i= (internal_result_t*)r->internal;
+ /*internal_result_t*i= (internal_result_t*)r->internal;
if(i->next) {
int nr=0;
while(i->next) {
}
} else {
writePNG(filename, (unsigned char*)i->img.data, i->img.width, i->img.height);
- }
+ }*/
return 1;
}
void*render_result_get(gfxresult_t*r, char*name)
i->lines[y].num = 0;
}
i->img = (RGBA*)rfx_calloc(sizeof(RGBA)*i->width2*i->height2);
+ if(i->fillwhite) {
+ memset(i->img, 0xff, sizeof(RGBA)*i->width2*i->height2);
+ }
+
i->ymin = 0x7fffffff;
i->ymax = -0x80000000;