Skip to content

Commit

Permalink
Fixed issue-234 by enhancing the drawing algorithm.
Browse files Browse the repository at this point in the history
  • Loading branch information
klayoutmatthias committed Feb 23, 2019
1 parent f24c618 commit e7ba0e5
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions src/laybasic/laybasic/layGridNet.cc
Original file line number Diff line number Diff line change
Expand Up @@ -350,19 +350,30 @@ class ImagePainter
continue;
}

const uint32_t *dc = ff.data () + size_t (ch - ff.first_char ()) * ff.height ();
for (unsigned int i = 0; i < ff.height (); ++i, ++dc) {
const uint32_t *dc = ff.data () + size_t (ch - ff.first_char ()) * ff.height () * ff.stride ();
for (unsigned int i = 0; i < ff.height (); ++i, dc += ff.stride ()) {

int iy = y - ff.height () + i + 1;
if (iy >= 0 || iy < mp_img->height ()) {

uint32_t *d = (uint32_t *) mp_img->scanLine (y - ff.height () + i);
uint32_t m = 1;
int ix = x;
for (unsigned int j = 0; j < ff.width (); ++j, m <<= 1, ++ix) {
if (*dc & m && ix >= 0 && ix < mp_img->width ()) {
const uint32_t *ds = dc;

for (unsigned int j = 0; j < ff.width (); ++j, ++ix) {

if ((*ds & m) && ix >= 0 && ix < mp_img->width ()) {
d[ix] = c.rgb ();
}

m <<= 1;
// word wrap
if (m == 0) {
++ds;
m = 1;
}

}

}
Expand Down

0 comments on commit e7ba0e5

Please sign in to comment.