diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2005-07-14 13:16:17 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2005-07-14 13:16:17 +0000 |
| commit | 7f526e136236802fccd9822ce87c509bf32e50d0 (patch) | |
| tree | 62ef73549292dec25256a892c124153c2f5cc0b6 /src | |
| parent | 52960ea9038d1f5820453129db4652b012bda0fe (diff) | |
- Fixed Fl_Bitmap::copy code according to Stephans suggestions. Thanks! Good catch.
- Fixed some minor alignment in Fluid.
- Live Mode window in Fluid is now double buffered to get rid of flicker.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4415 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_Bitmap.cxx | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Fl_Bitmap.cxx b/src/Fl_Bitmap.cxx index f6e008368..372578633 100644 --- a/src/Fl_Bitmap.cxx +++ b/src/Fl_Bitmap.cxx @@ -476,15 +476,15 @@ Fl_Image *Fl_Bitmap::copy(int W, int H) { // Scale the image using a nearest-neighbor algorithm... for (dy = H, sy = 0, yerr = H, new_ptr = new_array; dy > 0; dy --) { - for (dx = W, xerr = W, old_ptr = array + sy * (w() + 7) / 8, sx = 0, new_bit = 128; + for (dx = W, xerr = W, old_ptr = array + sy * ((w() + 7) / 8), sx = 0, new_bit = 1; dx > 0; dx --) { - old_bit = (uchar)(128 >> (sx & 7)); + old_bit = (uchar)(1 << (sx & 7)); if (old_ptr[sx / 8] & old_bit) *new_ptr |= new_bit; - if (new_bit > 1) new_bit >>= 1; + if (new_bit < 128) new_bit <<= 1; else { - new_bit = 128; + new_bit = 1; new_ptr ++; } @@ -497,7 +497,7 @@ Fl_Image *Fl_Bitmap::copy(int W, int H) { } } - if (new_bit < 128) new_ptr ++; + if (new_bit > 1) new_ptr ++; sy += ystep; yerr -= ymod; |
