char filename1[80];
char filename2[80];
char filename3[80];
- sprintf(filename1, "state%dboolbitmap_afternewtext.png", dbg_btm_counter);
- sprintf(filename2, "state%dbooltext_afternewtext.png", dbg_btm_counter);
- sprintf(filename3, "state%dbitmap_afternewtext.png", dbg_btm_counter);
+ sprintf(filename1, "state%03dboolbitmap_afternewtext.png", dbg_btm_counter);
+ sprintf(filename2, "state%03dbooltext_afternewtext.png", dbg_btm_counter);
+ sprintf(filename3, "state%03dbitmap_afternewtext.png", dbg_btm_counter);
msg("<verbose> %s %s %s", filename1, filename2, filename3);
writeAlpha(stalepolybitmap, filename1);
writeAlpha(booltextbitmap, filename2);
char filename1[80];
char filename2[80];
char filename3[80];
- sprintf(filename1, "state%dboolbitmap_afternewgfx.png", dbg_btm_counter);
- sprintf(filename2, "state%dbooltext_afternewgfx.png", dbg_btm_counter);
- sprintf(filename3, "state%dbitmap_afternewgfx.png", dbg_btm_counter);
+ sprintf(filename1, "state%03dboolbitmap_afternewgfx.png", dbg_btm_counter);
+ sprintf(filename2, "state%03dbooltext_afternewgfx.png", dbg_btm_counter);
+ sprintf(filename3, "state%03dbitmap_afternewgfx.png", dbg_btm_counter);
msg("<verbose> %s %s %s", filename1, filename2, filename3);
writeAlpha(stalepolybitmap, filename1);
writeAlpha(booltextbitmap, filename2);
int x1 = (int)x, x2 = (int)x+1, y1 = (int)y, y2 = (int)y+1;
SplashFont*font = clip0dev->getCurrentFont();
SplashPath*path = font?font->getGlyphPath(code):NULL;
-
- if(!path) {
- if(code)
- msg("<error> couldn't create outline for char %d", code);
- return;
- }
x-=originX;
y-=originY;
- path->offset((SplashCoord)x, (SplashCoord)y);
- int t;
- for(t=0;t<path->getLength();t++) {
- double xx,yy;
- Guchar f;
- path->getPoint(t,&xx,&yy,&f);
- state->transform(xx,yy,&xx,&yy);
- if(xx<x1) x1=(int)xx;
- if(yy<y1) y1=(int)yy;
- if(xx>=x2) x2=(int)xx+1;
- if(yy>=y2) y2=(int)yy+1;
+ if(path) {
+ path->offset((SplashCoord)x, (SplashCoord)y);
+ int t;
+ for(t=0;t<path->getLength();t++) {
+ double xx,yy;
+ Guchar f;
+ path->getPoint(t,&xx,&yy,&f);
+ state->transform(xx,yy,&xx,&yy);
+ if(xx<x1) x1=(int)xx;
+ if(yy<y1) y1=(int)yy;
+ if(xx>=x2) x2=(int)xx+1;
+ if(yy>=y2) y2=(int)yy+1;
+ }
+ delete(path);path=0;
}
- delete(path);path=0;
/* if this character is affected somehow by the various clippings (i.e., it looks
different on a device without clipping), then draw it on the bitmap, not as
double x,y;
state->transform(0, 1, &x, &y);
bbox.xmin=bbox.xmax = x;
- bbox.ymin=bbox.ymax = x;
+ bbox.ymin=bbox.ymax = y;
state->transform(0, 0, &x, &y);
bbox.xmin=min(bbox.xmin,x);
bbox.ymin=min(bbox.ymin,y);
- bbox.xmax=max(bbox.xmin,x);
- bbox.ymax=max(bbox.ymin,y);
+ bbox.xmax=max(bbox.xmax,x);
+ bbox.ymax=max(bbox.ymax,y);
state->transform(1, 0, &x, &y);
bbox.xmin=min(bbox.xmin,x);
bbox.ymin=min(bbox.ymin,y);
- bbox.xmax=max(bbox.xmin,x);
- bbox.ymax=max(bbox.ymin,y);
+ bbox.xmax=max(bbox.xmax,x);
+ bbox.ymax=max(bbox.ymax,y);
state->transform(1, 1, &x, &y);
bbox.xmin=min(bbox.xmin,x);
bbox.ymin=min(bbox.ymin,y);
- bbox.xmax=max(bbox.xmin,x);
- bbox.ymax=max(bbox.ymin,y);
+ bbox.xmax=max(bbox.xmax,x);
+ bbox.ymax=max(bbox.ymax,y);
return bbox;
}
void BitmapOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str,