mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-04 17:29:11 +00:00
GRAPHICS: Add two new methods to change 'pixels' of a Surface.
One method is a simpler setter for 'pixels'. The other one can be used to setup a Surface with custom data.
This commit is contained in:
parent
767f0d8ca9
commit
260ec7a430
@ -82,6 +82,14 @@ void Surface::free() {
|
||||
format = PixelFormat();
|
||||
}
|
||||
|
||||
void Surface::init(uint16 width, uint16 height, uint16 newPitch, void *newPixels, const PixelFormat &f) {
|
||||
w = width;
|
||||
h = height;
|
||||
pitch = newPitch;
|
||||
pixels = newPixels;
|
||||
format = f;
|
||||
}
|
||||
|
||||
void Surface::copyFrom(const Surface &surf) {
|
||||
create(surf.w, surf.h, surf.format);
|
||||
if (surf.pitch == pitch) {
|
||||
|
@ -95,6 +95,15 @@ struct Surface {
|
||||
return pixels;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the pixel data.
|
||||
*
|
||||
* Note that this is a simply setter. Be careful what you are doing!
|
||||
*
|
||||
* @param newPixels The new pixel data.
|
||||
*/
|
||||
void setPixels(void *newPixels) { pixels = newPixels; }
|
||||
|
||||
/**
|
||||
* Return a pointer to the pixel at the specified point.
|
||||
*
|
||||
@ -139,6 +148,20 @@ struct Surface {
|
||||
*/
|
||||
void free();
|
||||
|
||||
/**
|
||||
* Set up the Surface with user specified data.
|
||||
*
|
||||
* Note that this simply sets the 'internal' attributes of the Surface. It
|
||||
* will not take care of freeing old data via free or similar!
|
||||
*
|
||||
* @param width Width of the pixel data.
|
||||
* @param height Height of the pixel data.
|
||||
* @param pitch The pitch of the pixel data.
|
||||
* @param pixels The pixel data itself.
|
||||
* @param format The pixel format of the pixel data.
|
||||
*/
|
||||
void init(uint16 width, uint16 height, uint16 pitch, void *pixels, const PixelFormat &format);
|
||||
|
||||
/**
|
||||
* Copy the data from another Surface.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user