mirror of
https://github.com/fltk/fltk.git
synced 2026-06-06 00:22:42 +08:00
Fixed Fl_RGB_Image::copy. My previous fix had the meaning of ld() wrong.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5427 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
+3
-3
@@ -156,13 +156,13 @@ Fl_Image *Fl_RGB_Image::copy(int W, int H) {
|
|||||||
if (array) {
|
if (array) {
|
||||||
// Make a copy of the image data and return a new Fl_RGB_Image...
|
// Make a copy of the image data and return a new Fl_RGB_Image...
|
||||||
new_array = new uchar[w() * h() * d()];
|
new_array = new uchar[w() * h() * d()];
|
||||||
if (ld()) {
|
if (ld() && ld()!=w()*d()) {
|
||||||
const uchar *src = array;
|
const uchar *src = array;
|
||||||
uchar *dst = new_array;
|
uchar *dst = new_array;
|
||||||
int dy, dh = h(), wd = w()*d(), wdld = wd+ld();
|
int dy, dh = h(), wd = w()*d(), wld = ld();
|
||||||
for (dy=0; dy<dh; dy++) {
|
for (dy=0; dy<dh; dy++) {
|
||||||
memcpy(dst, src, wd);
|
memcpy(dst, src, wd);
|
||||||
src += wdld;
|
src += wld;
|
||||||
dst += wd;
|
dst += wd;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user