scaled_width = (int)ceil(src_width * scale_ratio);
scaled_height = (int)ceil(src_height * scale_ratio);
- scaled_data = new U8[scaled_width * scaled_height * 4];
+ recreateScaledBuffer();
}
ScaledPixelBuffer::ScaledPixelBuffer()
scaled_width = (int)ceil(src_width * scale_ratio);
scaled_height = (int)ceil(src_height * scale_ratio);
- if (scaled_data) delete [] scaled_data;
- scaled_data = new U8[scaled_width * scaled_height * 4];
+ recreateScaledBuffer();
scaleRect(Rect(0, 0, scaled_width, scaled_height));
}
}
}
}
+
+void ScaledPixelBuffer::recreateScaledBuffer() {
+ if (scaled_data) delete [] scaled_data;
+ scaled_data = new U8[scaled_width * scaled_height * (bpp / 8)];
+}