FlowArithmeticCalculator 1.0.0
Flow Arithmetic Calculator
Loading...
Searching...
No Matches
gui::elements::SkiaBaseBlockRenderer Class Reference

A Skia-backed renderer implementation for a business_logic::elements::blocks::BaseBlock. More...

#include <SkiaBaseBlockRenderer.h>

+ Collaboration diagram for gui::elements::SkiaBaseBlockRenderer:

Public Member Functions

 SkiaBaseBlockRenderer ()=delete
 
virtual ~SkiaBaseBlockRenderer ()=delete
 
 SkiaBaseBlockRenderer (const SkiaBaseBlockRenderer &)=delete
 
SkiaBaseBlockRendereroperator= (const SkiaBaseBlockRenderer &)=delete
 
 SkiaBaseBlockRenderer (SkiaBaseBlockRenderer &&)=delete
 
SkiaBaseBlockRendereroperator= (SkiaBaseBlockRenderer &&)=delete
 

Static Public Member Functions

static void render (business_logic::elements::blocks::BaseBlock *block, SkCanvas *canvas, int mouseX, int mouseY, bool isHovered)
 Renders a block on an SkCanvas.
 

Static Private Member Functions

static void renderValueAboveBlock (const business_logic::elements::blocks::BaseBlock *block, SkCanvas *canvas, bool isHovered, const std::string &blockValue)
 Renders the value above the block.
 

Detailed Description

A Skia-backed renderer implementation for a business_logic::elements::blocks::BaseBlock.

Definition at line 29 of file SkiaBaseBlockRenderer.h.

Constructor & Destructor Documentation

◆ SkiaBaseBlockRenderer() [1/3]

gui::elements::SkiaBaseBlockRenderer::SkiaBaseBlockRenderer ( )
delete

◆ ~SkiaBaseBlockRenderer()

virtual gui::elements::SkiaBaseBlockRenderer::~SkiaBaseBlockRenderer ( )
virtualdelete

◆ SkiaBaseBlockRenderer() [2/3]

gui::elements::SkiaBaseBlockRenderer::SkiaBaseBlockRenderer ( const SkiaBaseBlockRenderer )
delete

◆ SkiaBaseBlockRenderer() [3/3]

gui::elements::SkiaBaseBlockRenderer::SkiaBaseBlockRenderer ( SkiaBaseBlockRenderer &&  )
delete

Member Function Documentation

◆ operator=() [1/2]

SkiaBaseBlockRenderer & gui::elements::SkiaBaseBlockRenderer::operator= ( const SkiaBaseBlockRenderer )
delete

◆ operator=() [2/2]

SkiaBaseBlockRenderer & gui::elements::SkiaBaseBlockRenderer::operator= ( SkiaBaseBlockRenderer &&  )
delete

◆ render()

void gui::elements::SkiaBaseBlockRenderer::render ( business_logic::elements::blocks::BaseBlock block,
SkCanvas *  canvas,
int  mouseX,
int  mouseY,
bool  isHovered 
)
static

Renders a block on an SkCanvas.

Parameters
blockThe block to render
canvasThe canvas to render the block on
mouseXThe x coordinate of the mouse
mouseYThe y coordinate of the mouse
isHoveredWhether the block is hovered
See also
business_logic::elements::blocks::BaseBlock::render

Definition at line 5 of file SkiaBaseBlockRenderer.cpp.

References gui::renderer::colors::BLOCK_BACKGROUND_COLOR, gui::renderer::colors::BLOCK_HOVERED_OUTLINE_COLOR, gui::renderer::colors::BLOCK_OUTLINE_COLOR, business_logic::constants::BLOCK_OUTLINE_WIDTH, gui::renderer::colors::BLOCK_PORT_OUTLINE_COLOR, business_logic::elements::blocks::BaseBlock::getBlockType(), business_logic::elements::blocks::BaseBlock::getBottomY(), business_logic::elements::blocks::BaseBlock::getCy(), gui::renderer::FontManager::getFontForVariant(), business_logic::elements::blocks::BaseBlock::getInputPorts(), business_logic::elements::blocks::BaseBlock::getLeftX(), business_logic::elements::blocks::BaseBlock::getOutputPorts(), business_logic::elements::blocks::BaseBlock::getPortCoordinates(), business_logic::elements::blocks::BaseBlock::getRightX(), business_logic::elements::blocks::BaseBlock::getTopY(), business_logic::elements::blocks::BaseBlock::getValueToRenderAboveBlock(), business_logic::elements::blocks::BaseBlock::getWidth(), business_logic::geometry::isCircleHovered(), business_logic::constants::PORT_CIRCLE_MARGIN, business_logic::constants::PORT_CIRCLE_OUTLINE_WIDTH, business_logic::constants::PORT_CIRCLE_RADIUS, business_logic::constants::PORT_CIRCLE_RADIUS_HALF, gui::renderer::colors::PURPLE_BLUE, renderValueAboveBlock(), gui::renderer::colors::TEXT_COLOR, business_logic::constants::TOTAL_PORT_HITBOX_RADIUS, business_logic::constants::TOTAL_PORT_RADIUS, and business_logic::constants::TOTAL_PORT_RADIUS_HALF.

Referenced by gui::elements::SkiaBlocksManagerRenderer::render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderValueAboveBlock()

void gui::elements::SkiaBaseBlockRenderer::renderValueAboveBlock ( const business_logic::elements::blocks::BaseBlock block,
SkCanvas *  canvas,
bool  isHovered,
const std::string &  blockValue 
)
staticprivate

Renders the value above the block.

Parameters
blockThe block to render the value above
canvasThe canvas to render the value above the block on
isHoveredWhether the block is hovered
blockValueThe value to render above the block

Definition at line 231 of file SkiaBaseBlockRenderer.cpp.

References gui::renderer::FontManager::captionFont, business_logic::elements::blocks::BaseBlock::getLeftX(), business_logic::elements::blocks::BaseBlock::getTopY(), business_logic::elements::blocks::BaseBlock::getWidth(), and gui::renderer::FontManager::textFontFillPaint.

Referenced by render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: