Plutonium framework API 0.3.0
UI framework libraries for libnx
ui_Overlay.hpp
Go to the documentation of this file.
1
2/*
3
4 Plutonium library
5
6 @file ui_Overlay.hpp
7 @brief An overlay is some kind of "pop-up", like notification messages or similar items
8 @author XorTroll
9
10 @copyright Plutonium project - an easy-to-use UI framework for Nintendo Switch homebrew
11
12*/
13
14#pragma once
16
17namespace pu::ui {
18
19 class Overlay : public Container {
20 public:
21 static constexpr i32 DefaultRadius = 25;
22 static constexpr i32 MaxFadeAlpha = 200;
23 static constexpr i32 FadeAlphaVariation = 25;
24
25 private:
26 i32 fade_a;
27 Color bg_clr;
28 i32 rad;
29 bool is_ending;
30 bool round;
31
32 public:
33 Overlay(const i32 x, const i32 y, const i32 width, const i32 height, const Color bg_clr, const bool round = true, const i32 radius = DefaultRadius) : Container(x, y, width, height), fade_a(0), bg_clr(bg_clr), rad(radius), is_ending(false), round(round) {}
35
36 inline void SetRadius(const i32 radius) {
37 this->rad = radius;
38 }
39
40 inline i32 GetRadius() {
41 return this->rad;
42 }
43
44 virtual void OnPreRender(render::Renderer::Ref &drawer) {}
45 virtual void OnPostRender(render::Renderer::Ref &drawer) {}
46 bool Render(render::Renderer::Ref &drawer);
47
48 inline void NotifyEnding(const bool ending) {
49 this->is_ending = ending;
50 }
51 };
52
53}
Definition: ui_Container.hpp:21
i32 x
Definition: ui_Container.hpp:23
i32 y
Definition: ui_Container.hpp:24
Definition: ui_Overlay.hpp:19
void NotifyEnding(const bool ending)
Definition: ui_Overlay.hpp:48
static constexpr i32 FadeAlphaVariation
Definition: ui_Overlay.hpp:23
virtual void OnPostRender(render::Renderer::Ref &drawer)
Definition: ui_Overlay.hpp:45
bool Render(render::Renderer::Ref &drawer)
static constexpr i32 DefaultRadius
Definition: ui_Overlay.hpp:21
static constexpr i32 MaxFadeAlpha
Definition: ui_Overlay.hpp:22
virtual void OnPreRender(render::Renderer::Ref &drawer)
Definition: ui_Overlay.hpp:44
void SetRadius(const i32 radius)
Definition: ui_Overlay.hpp:36
Overlay(const i32 x, const i32 y, const i32 width, const i32 height, const Color bg_clr, const bool round=true, const i32 radius=DefaultRadius)
Definition: ui_Overlay.hpp:33
i32 GetRadius()
Definition: ui_Overlay.hpp:40
Definition: elm_Button.hpp:18
s32 i32
Definition: pu_Include.hpp:28
#define PU_SMART_CTOR(type)
Definition: pu_Include.hpp:19
Definition: ui_Types.hpp:44