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
2 changed files with 31 additions and 0 deletions
|
@ -82,6 +82,14 @@ void Surface::free() {
|
||||||
format = PixelFormat();
|
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) {
|
void Surface::copyFrom(const Surface &surf) {
|
||||||
create(surf.w, surf.h, surf.format);
|
create(surf.w, surf.h, surf.format);
|
||||||
if (surf.pitch == pitch) {
|
if (surf.pitch == pitch) {
|
||||||
|
|
|
@ -95,6 +95,15 @@ struct Surface {
|
||||||
return pixels;
|
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.
|
* Return a pointer to the pixel at the specified point.
|
||||||
*
|
*
|
||||||
|
@ -139,6 +148,20 @@ struct Surface {
|
||||||
*/
|
*/
|
||||||
void free();
|
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.
|
* Copy the data from another Surface.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue