summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2005-07-14 13:16:17 +0000
committerMatthias Melcher <fltk@matthiasm.com>2005-07-14 13:16:17 +0000
commit7f526e136236802fccd9822ce87c509bf32e50d0 (patch)
tree62ef73549292dec25256a892c124153c2f5cc0b6 /src
parent52960ea9038d1f5820453129db4652b012bda0fe (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.cxx10
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;