Fix typos, separate local variables of image scaling algorithms.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11868 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Albrecht Schlosser 2016-08-09 15:19:46 +00:00
parent 6e688a52be
commit ff214db67a
3 changed files with 21 additions and 19 deletions

View File

@ -243,7 +243,7 @@ void Fl_Bitmap::draw(int XP, int YP, int WP, int HP, int cx, int cy) {
fl_graphics_driver->draw(this, XP, YP, WP, HP, cx, cy);
}
int Fl_Bitmap::start(int XP, int YP, int WP, int HP, int &cx, int &cy,
int Fl_Bitmap::start(int XP, int YP, int WP, int HP, int &cx, int &cy,
int &X, int &Y, int &W, int &H)
{
if (!array) {
@ -419,7 +419,7 @@ Fl_Image *Fl_Bitmap::copy(int W, int H) {
xstep, ystep; // X & Y step increments
// Figure out Bresenheim step/modulus values...
// Figure out Bresenham step/modulus values...
xmod = w() % W;
xstep = w() / W;
ymod = h() % H;

View File

@ -349,31 +349,33 @@ Fl_Image *Fl_RGB_Image::copy(int W, int H) {
}
if (W <= 0 || H <= 0) return 0;
// OK, need to resize the image data; allocate memory and
// OK, need to resize the image data; allocate memory and create new image
uchar *new_ptr; // Pointer into new array
const uchar *old_ptr; // Pointer into old array
int c, // Channel number
sy, // Source coordinate
dx, dy, // Destination coordinates
xerr, yerr, // X & Y errors
xmod, ymod, // X & Y moduli
xstep, ystep, // X & Y step increments
line_d; // stride from line to line
// Figure out Bresenheim step/modulus values...
xmod = w() % W;
xstep = (w() / W) * d();
ymod = h() % H;
ystep = h() / H;
line_d = ld() ? ld() : w() * d();
int dx, dy, // Destination coordinates
line_d; // stride from line to line
// Allocate memory for the new image...
new_array = new uchar [W * H * d()];
new_image = new Fl_RGB_Image(new_array, W, H, d());
new_image->alloc_array = 1;
line_d = ld() ? ld() : w() * d();
if (Fl_Image::RGB_scaling() == FL_RGB_SCALING_NEAREST) {
int c, // Channel number
sy, // Source coordinate
xerr, yerr, // X & Y errors
xmod, ymod, // X & Y moduli
xstep, ystep; // X & Y step increments
// Figure out Bresenham step/modulus values...
xmod = w() % W;
xstep = (w() / W) * d();
ymod = h() % H;
ystep = h() / 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 * line_d; dx > 0; dx --) {

View File

@ -355,7 +355,7 @@ Fl_Image *Fl_Pixmap::copy(int W, int H) {
sprintf(new_info, "%d %d %d %d", W, H, ncolors, chars_per_pixel);
// Figure out Bresenheim step/modulus values...
// Figure out Bresenham step/modulus values...
xmod = w() % W;
xstep = (w() / W) * chars_per_pixel;
ymod = h() % H;