fixed 64 bit compile problem
[swftools.git] / lib / pdf / BitmapOutputDev.cc
index 6ed165d..19a52f3 100644 (file)
@@ -29,6 +29,7 @@
 #include "../log.h"
 #include "../png.h"
 #include "../devices/record.h"
+#include "../types.h"
 
 #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.tx -= 0.5;
+    m.ty -= 0.5;
 
     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);
        {
-            if(((int)polypixels&7) || ((int)textpixels&7)) {
+            if(((ptroff_t)polypixels&7) || ((ptroff_t)textpixels&7)) {
                 //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);
+        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;