summaryrefslogtreecommitdiff
path: root/lib/nes/app/ui/screen-title.cc
blob: f1e4f98b5f342e08c20a7aaaa832abaabe464c1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "nes/app/ui/screen-title.hh"
#include "nes/app/graphics/renderer.hh"
#include "nes/app/graphics/color.hh"
#include "nes/app/graphics/tiles/banner.hh"
#include "nes/app/graphics/tiles/icons.hh"
#include "nes/app/input/input-manager.hh"

namespace nes::app
{
	screen_title::screen_title(input_manager& input_manager)
		: input_manager_{ input_manager }
	{
	}

	auto screen_title::render(renderer& renderer) -> void
	{
		renderer.render_fill(color::background_primary);
		renderer.render_text(10, 16, "Hello, world!", color::foreground_primary);
		renderer.render_mask_tile(14, 18, tiles::icon_directory, color::accent_primary);
		renderer.render_mask_tile(16, 18, tiles::icon_cartridge, color::accent_primary);
		renderer.render_image(2, 4, tiles::banner);
	}

	auto screen_title::process_events() -> action
	{
		if (input_manager_.get_keyboard().read_key_start())
		{
			return action::load_game;
		}

		return action::none;
	}
} // namespace nes::app