Changed: Implement CBitmap::setPixelColor

--HG--
branch : develop
feature/pipeline-tools
kervala 8 years ago
parent 1bd7e18ba7
commit 534630bdcc

@ -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…
Cancel
Save