Pyrogenesis trunk
|
#include <Canvas2D.h>
Classes | |
class | Impl |
class | ScopedScissor |
Public Member Functions | |
CCanvas2D (const uint32_t widthInPixels, const uint32_t heightInPixels, const float scale, Renderer::Backend::IDeviceCommandContext *deviceCommandContext) | |
~CCanvas2D () | |
CCanvas2D (const CCanvas2D &)=delete | |
CCanvas2D & | operator= (const CCanvas2D &)=delete |
CCanvas2D (CCanvas2D &&)=delete | |
CCanvas2D & | operator= (CCanvas2D &&)=delete |
void | DrawLine (const std::vector< CVector2D > &points, const float width, const CColor &color) |
Draws a line by the given points with the width and color. More... | |
void | DrawRect (const CRect &rect, const CColor &color) |
Draws the rect filled with the color. More... | |
void | DrawTexture (const CTexturePtr &texture, const CRect &destination, const CRect &source, const CColor &multiply, const CColor &add, const float grayscaleFactor) |
Draws a piece of the texture from the source rect into the destination rect. More... | |
void | DrawTexture (const CTexturePtr &texture, const CRect &destination) |
A simpler version of the previous one, draws the texture into the destination rect without color modifications. More... | |
void | DrawRotatedTexture (const CTexturePtr &texture, const CRect &destination, const CRect &source, const CColor &multiply, const CColor &add, const float grayscaleFactor, const CVector2D &origin, const float angle) |
A similar to the original one, draws the texture into the destination rect but rotates it first around the origin point by angle radians (a positive angle denotes a clockwise rotation). More... | |
void | DrawText (CTextRenderer &textRenderer) |
Draws a text using canvas materials. More... | |
void | PushScissor (const CRect &scissor) |
Adds the scissor rect to a scissor stack. More... | |
void | PopScissor () |
Removes the top scissor rect from a scissor stack. More... | |
void | Flush () |
Unbinds all bound resources and clears caches. More... | |
Private Attributes | |
std::unique_ptr< Impl > | m |
CCanvas2D::CCanvas2D | ( | const uint32_t | widthInPixels, |
const uint32_t | heightInPixels, | ||
const float | scale, | ||
Renderer::Backend::IDeviceCommandContext * | deviceCommandContext | ||
) |
CCanvas2D::~CCanvas2D | ( | ) |
|
delete |
|
delete |
void CCanvas2D::DrawLine | ( | const std::vector< CVector2D > & | points, |
const float | width, | ||
const CColor & | color | ||
) |
Draws a line by the given points with the width and color.
Draws the rect filled with the color.
void CCanvas2D::DrawRotatedTexture | ( | const CTexturePtr & | texture, |
const CRect & | destination, | ||
const CRect & | source, | ||
const CColor & | multiply, | ||
const CColor & | add, | ||
const float | grayscaleFactor, | ||
const CVector2D & | origin, | ||
const float | angle | ||
) |
A similar to the original one, draws the texture into the destination rect but rotates it first around the origin point by angle radians (a positive angle denotes a clockwise rotation).
void CCanvas2D::DrawText | ( | CTextRenderer & | textRenderer | ) |
Draws a text using canvas materials.
void CCanvas2D::DrawTexture | ( | const CTexturePtr & | texture, |
const CRect & | destination | ||
) |
A simpler version of the previous one, draws the texture into the destination rect without color modifications.
void CCanvas2D::DrawTexture | ( | const CTexturePtr & | texture, |
const CRect & | destination, | ||
const CRect & | source, | ||
const CColor & | multiply, | ||
const CColor & | add, | ||
const float | grayscaleFactor | ||
) |
Draws a piece of the texture from the source rect into the destination rect.
The result color is set by the following formula: TEXTURE_COLOR * COLOR_MULTIPLY + COLOR_ADD The texture color is blended with its own grayscale version according to the grayscale factor.
void CCanvas2D::Flush | ( | ) |
Unbinds all bound resources and clears caches.
Frequent calls might affect performance. Useful to call a custom rendering code.
void CCanvas2D::PopScissor | ( | ) |
Removes the top scissor rect from a scissor stack.
The stack must not be empty.
void CCanvas2D::PushScissor | ( | const CRect & | scissor | ) |
Adds the scissor rect to a scissor stack.
The only top scissor is applied. It's recommended to use as few nested scissors as possible.
|
private |