16#include <AUI/Common/AColor.h>
20namespace RenderHints {
27 template<aui::invocable Callable>
28 static void pushMask(
IRenderer& render, Callable&& maskRenderer) {
40 template<aui::invocable Callable>
41 static void popMask(
IRenderer& render, Callable&& maskRenderer) {
47 template<aui::invocable Callable>
52 maskRenderer(std::forward<Callable>(maskRenderer)) {
53 pushMask(render, std::forward<Callable>(maskRenderer));
57 popMask(render, std::forward<Callable>(maskRenderer));
62 Callable maskRenderer;
67 inline explicit PushMatrix(
IRenderer& render) : render(render), stored(render.getTransform()) {
81 inline explicit PushColor(
IRenderer& render): render(render), stored(render.getColor()) {
Represents a 4-component floating point color.
Definition: AColor.h:27
Base class for rendering.
Definition: IRenderer.h:149
virtual void popMaskAfter()=0
Switches drawing to the color buffer back from the stencil. Decreases stencil depth.
void setColorForced(const AColor &color)
Sets the color which is multiplied with any brush.
Definition: IRenderer.h:420
virtual void popMaskBefore()=0
Switches drawing to the stencil buffer instead of color buffer.
void setTransformForced(const glm::mat4 &transform)
Sets the transform matrix which is applicable for any figure.
Definition: IRenderer.h:454
virtual void pushMaskAfter()=0
Switches drawing to the color buffer back from the stencil. Increases stencil depth.
virtual void pushMaskBefore()=0
witches drawing to the stencil buffer instead of color buffer.
Definition: RenderHints.h:93
Definition: RenderHints.h:79
Definition: RenderHints.h:48
Definition: RenderHints.h:65