diff --git a/NeoBitmapFile-object-API.md b/NeoBitmapFile-object-API.md index 63e331a..24859c2 100644 --- a/NeoBitmapFile-object-API.md +++ b/NeoBitmapFile-object-API.md @@ -34,17 +34,42 @@ This will return the color of the given pixel. > * _y_ - the vertical pixel position. > * _\_, a color object, RgbColor or RgbwColor. -### void Blt(NeoBufferContext destBuffer, uint16_t indexPixel, int16_t xSrc, int16_t ySrc, int16_t wSrc) -This will render this image to the destBuffer at indexPixel. This is a linear rendering, not a 2D image rendering. +### void Blt(NeoBufferContext destBuffer, uint16_t indexPixel, int16_t xSrc, int16_t ySrc, int16_t wSrc) +Bit-aligned BLock Transfer. +This will transfer this image to the destBuffer at indexPixel. This is a linear transfer, not a 2D image rendering. > * _destBuffer_ - Another NeoBuffer or NeoPixelBus. > * _indexPixel_ - the location to start the render at. > * _xSrc_ - the horizontal location in the bitmap to render from. > * _ySrc_ - the vertical location in the bitmap to render from. > * _wSrc_ - the number of pixels to render. -### void Blt(NeoBufferContext destBuffer, int16_t xDest, int16_t yDest, int16_t xSrc, int16_t ySrc, int16_t wSrc, int16_t hSrc, LayoutMapCallback layoutMap) -This will render part of this image to the destBuffer at given location. This is a 2d image rendering. +### void Render\(NeoBufferContext destBuffer, SHADER& shader, uint16_t indexPixel, int16_t xSrc, int16_t ySrc, int16_t wSrc) +This will render this image to the destBuffer at indexPixel using the given shader. This is a linear transfer, not a 2D image rendering. +> * _SHADER_ - a shader class type that matches the instance that will be passed > * _destBuffer_ - Another NeoBuffer or NeoPixelBus. +> * _shader_ - A shader class instance that defines how each pixel is modified as it is transferred +> * _indexPixel_ - the location to start the render at. +> * _xSrc_ - the horizontal location in the bitmap to render from. +> * _ySrc_ - the vertical location in the bitmap to render from. +> * _wSrc_ - the number of pixels to render. + +### void Blt(NeoBufferContext destBuffer, int16_t xDest, int16_t yDest, int16_t xSrc, int16_t ySrc, int16_t wSrc, int16_t hSrc, LayoutMapCallback layoutMap) +Bit-aligned BLock Transfer. +This will transfer part of this image to the destBuffer at given location. This is a 2d image rendering. +> * _destBuffer_ - Another NeoBuffer or NeoPixelBus. +> * _xDest_- the upper left location in the destination to render to +> * _yDest_ - the upper left location in the destination to render to +> * _xSrc_ - the upper left location in the source to render from +> * _ySrc_ - the upper left location in the source to render from +> * _wSrc_ - the width to render +> * _hSrc_ - the height to render +> * _layoutMap_ - a layoutMap callback that implements the destinations mapping routine (see below) + +### void Render\(NeoBufferContext\ destBuffer, SHADER& shader, int16_t xDest, int16_t yDest, int16_t xSrc, int16_t ySrc, int16_t wSrc, int16_t hSrc, LayoutMapCallback layoutMap) +This will render part of this image to the destBuffer at given location using the provided shader. This is a 2d image rendering. +> * _SHADER_ - a shader class type that matches the instance that will be passed +> * _destBuffer_ - Another NeoBuffer or NeoPixelBus. +> * _shader_ - A shader class instance that defines how each pixel is modified as it is transferred > * _xDest_- the upper left location in the destination to render to > * _yDest_ - the upper left location in the destination to render to > * _xSrc_ - the upper left location in the source to render from