Simple GUI Library
circle.h
Go to the documentation of this file.
1/**
2 * @author Nikita Mochalov (github.com/tralf-strues)
3 * @file circle.h
4 * @date 2021-12-08
5 *
6 * @copyright Copyright (c) 2021
7 */
8
9#pragma once
10
11#include "shape.h"
12
13namespace Sgl
14{
15 class Circle : public Shape
16 {
17 public:
18 Circle() = default;
19 Circle(int32_t radius, const Border* border);
20
21 int32_t getRadius() const;
22 void setRadius(int32_t radius);
23
24 virtual void render(const Sml::Rectangle<int32_t>& targetRegion) override;
25
26 virtual int32_t computePrefWidth(int32_t height = -1) const override final;
27 virtual int32_t computePrefHeight(int32_t width = -1) const override final;
28
29 private:
30 int32_t m_Radius = 0;
31 };
32};