git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added events parameter to swf_AddButtonLinks
[swftools.git]
/
lib
/
pdf
/
BitmapOutputDev.cc
diff --git
a/lib/pdf/BitmapOutputDev.cc
b/lib/pdf/BitmapOutputDev.cc
index
6ed165d
..
19a52f3
100644
(file)
--- a/
lib/pdf/BitmapOutputDev.cc
+++ b/
lib/pdf/BitmapOutputDev.cc
@@
-29,6
+29,7
@@
#include "../log.h"
#include "../png.h"
#include "../devices/record.h"
#include "../log.h"
#include "../png.h"
#include "../devices/record.h"
+#include "../types.h"
#define UNKNOWN_BOUNDING_BOX 0,0,0,0
#define UNKNOWN_BOUNDING_BOX 0,0,0,0
@@
-269,6
+270,8
@@
void BitmapOutputDev::flushBitmap()
m.ty = ymin;
m.m00 = m.m11 = 1;
m.m10 = m.m01 = 0;
m.ty = ymin;
m.m00 = m.m11 = 1;
m.m10 = m.m01 = 0;
+ m.tx -= 0.5;
+ m.ty -= 0.5;
gfxline_t* line = gfxline_makerectangle(xmin, ymin, xmax, ymax);
dev->fillbitmap(dev, line, img, &m, 0);
gfxline_t* line = gfxline_makerectangle(xmin, ymin, xmax, ymax);
dev->fillbitmap(dev, line, img, &m, 0);
@@
-602,7
+605,7
@@
GBool BitmapOutputDev::intersection(int x1, int y1, int x2, int y2)
unsigned long long int c=0;
assert(sizeof(unsigned long long int)==8);
{
unsigned long long int c=0;
assert(sizeof(unsigned long long int)==8);
{
- if(((int)polypixels&7) || ((int)textpixels&7)) {
+ if(((ptroff_t)polypixels&7) || ((ptroff_t)textpixels&7)) {
//msg("<warning> Non-optimal alignment");
}
int l2 = len;
//msg("<warning> Non-optimal alignment");
}
int l2 = len;
@@
-1262,6
+1265,11
@@
void BitmapOutputDev::drawChar(GfxState *state, double x, double y,
/* calculate the bbox of this character */
int x1 = (int)x, x2 = (int)x+1, y1 = (int)y, y2 = (int)y+1;
SplashPath*path = clip0dev->getCurrentFont()->getGlyphPath(code);
/* calculate the bbox of this character */
int x1 = (int)x, x2 = (int)x+1, y1 = (int)y, y2 = (int)y+1;
SplashPath*path = clip0dev->getCurrentFont()->getGlyphPath(code);
+ if(!path) {
+ if(code)
+ msg("<error> couldn't create outline for char %d", code);
+ return;
+ }
int t;
for(t=0;t<path->getLength();t++) {
double xx,yy;
int t;
for(t=0;t<path->getLength();t++) {
double xx,yy;