![]() |
Pyrogenesis HEAD
Pyrogenesis, a RTS Engine
|
#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 |