--- /dev/null
+void qt_addBitmapToPath(const unsigned char * image_data, int bpl, int w, int h)
+{
+ unsigned int *grid = new unsigned int[(w + 1) * (h + 1)];
+ for (int y = 0; y <= h; ++y) {
+ for (int x = 0; x <= w; ++x) {
+ bool topLeft = (x == 0) | (y == 0) ? false :
+ *(image_data + (y - 1) * bpl + ((x - 1) >> 3)) & (0x80 >> ((x - 1) & 7));
+ bool bottomLeft = (x == 0) | (y == h) ? false :
+ *(image_data + (y - 0) * bpl + ((x - 1) >> 3)) & (0x80 >> ((x - 1) & 7));
+
+ if (!bottomLeft & topLeft)
+ grid[y * (w + 1) + x] |= 4;
+ }
+ }
+}