Skip to content

Commit 8d73e10

Browse files
committed
add clear style for ConsoleScene
1 parent 2ba19e3 commit 8d73e10

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

include/gf2/core/ConsoleScene.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#define GF_CONSOLE_SCENE_H
55

66
#include "ConsoleElementContainer.h"
7+
#include "ConsoleStyle.h"
78
#include "CoreApi.h"
89
#include "SceneTypes.h"
910

@@ -32,6 +33,9 @@ namespace gf {
3233
void show();
3334
bool hidden() const;
3435

36+
void set_clear_style(const ConsoleStyle& style);
37+
const ConsoleStyle& clear_style() const;
38+
3539
void add_element(ConsoleElement* element);
3640

3741
virtual void process_event(const Event& event);
@@ -48,6 +52,7 @@ namespace gf {
4852
SceneStatus m_status = SceneStatus::Resumed;
4953
SceneVisibility m_visibility = SceneVisibility::Shown;
5054

55+
ConsoleStyle m_clear_style;
5156
ConsoleElementContainer m_elements;
5257
};
5358

library/core/ConsoleScene.cc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,16 @@ namespace gf {
4747
return m_visibility == SceneVisibility::Hidden;
4848
}
4949

50+
void ConsoleScene::set_clear_style(const ConsoleStyle& style)
51+
{
52+
m_clear_style = style;
53+
}
54+
55+
const ConsoleStyle& ConsoleScene::clear_style() const
56+
{
57+
return m_clear_style;
58+
}
59+
5060
void ConsoleScene::add_element(ConsoleElement* element)
5161
{
5262
m_elements.add_element(element);

library/core/ConsoleSceneManager.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ namespace gf {
7777

7878
void ConsoleSceneManager::render()
7979
{
80+
if (m_scenes.empty()) {
81+
return;
82+
}
83+
84+
m_console.clear(m_scenes.back()->clear_style());
85+
8086
for (ConsoleScene* scene : m_scenes) {
8187
if (!scene->hidden()) {
8288
scene->render(m_console);

0 commit comments

Comments
 (0)