mirror of
https://port.numenaute.org/aleajactaest/khanat-code-old.git
synced 2024-11-22 06:46:14 +00:00
Changed: Implement CBitmap::setPixelColor
This commit is contained in:
parent
753b429950
commit
cf788f098d
2 changed files with 21 additions and 1 deletions
|
@ -636,11 +636,17 @@ public:
|
|||
|
||||
|
||||
|
||||
/** Get the pixel at the given coorrdinate.
|
||||
/** Get the pixel at the given coordinate.
|
||||
* Works in RGBA and DXTC modes.
|
||||
* Outside of the bitmap it returns Black (or if mipmap is not found)
|
||||
*/
|
||||
CRGBA getPixelColor(sint x, sint y, uint32 numMipMap = 0) const;
|
||||
|
||||
/** Set the pixel at the given coordinate.
|
||||
* Works in RGBA mode only.
|
||||
*/
|
||||
void setPixelColor(sint x, sint y, CRGBA c, uint32 numMipMap = 0);
|
||||
|
||||
/**
|
||||
* Horizontal flip (all the columns are flipped)
|
||||
* Works only with RGBA, and DXTC formats (only if w/h is a power of 2)
|
||||
|
|
|
@ -4510,6 +4510,20 @@ CRGBA CBitmap::getPixelColor(sint x, sint y, uint32 numMipMap /*=0*/) const
|
|||
return CRGBA::Black;
|
||||
}
|
||||
|
||||
//-----------------------------------------------
|
||||
void CBitmap::setPixelColor(sint x, sint y, CRGBA c, uint32 numMipMap)
|
||||
{
|
||||
nlassert(PixelFormat == RGBA);
|
||||
|
||||
uint w = getWidth(numMipMap);
|
||||
uint h = getHeight(numMipMap);
|
||||
|
||||
if (w == 0 || x < 0 || y < 0 || x >= (sint)w || y >= (sint)h) return;
|
||||
|
||||
uint8 *pix = &getPixels(numMipMap)[(x + y * w) << 2];
|
||||
|
||||
memcpy(pix, &c, sizeof(CRGBA));
|
||||
}
|
||||
|
||||
//-----------------------------------------------
|
||||
void CBitmap::swap(CBitmap &other)
|
||||
|
|
Loading…
Reference in a new issue