FlowArithmeticCalculator 1.0.0
Flow Arithmetic Calculator
Loading...
Searching...
No Matches
SkiaBlocksManagerRenderer.h
Go to the documentation of this file.
1#ifndef BLOCKS_MANAGER_RENDERER_H
2#define BLOCKS_MANAGER_RENDERER_H
3
4#include <skia/include/core/SkCanvas.h>
5#include <skia/include/core/SkPaint.h>
6
9#include "geometry/Size2D.h"
10#include "renderer/colors.h"
12
13namespace gui::elements {
14 // using an empty namespace to avoid polluting the outer scope of business_logic::elements::base
15 namespace {
16 namespace colors = gui::renderer::colors;
18 } // namespace
19
24 public:
28
35 void render(SkCanvas* canvas,
38
43 void maybeRenderDraggedLine(SkCanvas* canvas);
44
45 private:
49 static SkPaint connectorPaint;
50
54 static SkPaint cycleConnectorPaint;
55 };
56} // namespace gui::elements
57
58#endif // BLOCKS_MANAGER_RENDERER_H
Manages the blocks in the GUI, both their rendering and interaction.
business_logic::delegate::IWindowDelegate * windowDelegate
BlocksManager(business_logic::delegate::IWindowDelegate *windowDelegate)
Class that extends business_logic::BlocksManager and adds rendering logic.
void maybeRenderDraggedLine(SkCanvas *canvas)
Renders the dragged line on the canvas.
SkiaBlocksManagerRenderer(business_logic::delegate::IWindowDelegate *windowDelegate)
void render(SkCanvas *canvas, const business_logic::geometry::Size2D &size, gui::renderer::delegate::UIRendererDelegate< SkCanvas > *&uiRendererDelegate)
Renders the blocks on the canvas.
The delegate for the UI renderer.
UI primitives and components to be rendered as part of the UI.
Definition UIText.cpp:3
The business logic module.
The GUI counterpart carrying implementations integrating with business_logic::elements.
Color constants used for rendering entities.
Definition colors.cpp:3
A basic struct representing a 2D size.
Definition Size2D.h:8