Conquer Chess
Chess and Starcraft combined
Loading...
Searching...
No Matches
menu_view.h
Go to the documentation of this file.
1#ifndef MENU_VIEW_H
2#define MENU_VIEW_H
3
4#ifndef LOGIC_ONLY
5
6#include "ccfwd.h"
7#include "menu_view_layout.h"
8#include "menu_view_item.h"
9#include "game_options.h"
10#include "controls_bar.h"
11#include "view.h"
12
13#include <SFML/Graphics.hpp>
14
15#include <random>
16
18class menu_view : public view
19{
20public:
21 menu_view();
22
24 void draw_impl() override;
25
30 int get_background_image_index() const noexcept { return m_background_image_index; }
31
32 const auto& get_layout() const noexcept { return m_layout; }
33
34 const auto& get_selected() const noexcept { return m_selected; }
35
38 bool process_event_impl(sf::Event& event) override;
39
41 void process_resize_event_impl(sf::Event& event) override;
42
45 void set_selected(const menu_view_item i);
46
48 void start_impl() override;
49
50 void stop_impl() override;
51
52 void tick_impl(const delta_t dt) override;
53
54
55private:
56
58 int m_background_image_index;
59
60 controls_bar m_controls_bar;
61
62 game_options m_game_options;
63
65 menu_view_layout m_layout;
66
68 menu_view_item m_selected;
69};
70
73 std::default_random_engine& rng_engine
74);
75
81
86
89
95
96
97#endif // LOGIC_ONLY
98
99#endif // MENU_VIEW_H
Definition controls_bar.h:12
A change of in_game_time}.
Definition delta_t.h:12
Options for the game.
Definition game_options.h:18
The layout of the Menu dialog.
Definition menu_view_layout.h:63
The main Menu dialog.
Definition menu_view.h:19
void tick_impl(const delta_t dt) override
Run the game, until the user quits.
Definition menu_view.cpp:305
void draw_impl() override
Show the menu on-screen.
Definition menu_view.cpp:47
bool process_event_impl(sf::Event &event) override
Process an event.
Definition menu_view.cpp:136
void start_impl() override
Start displaying this window.
Definition menu_view.cpp:284
menu_view()
Definition menu_view.cpp:18
void set_selected(const menu_view_item i)
Sets the selected item.
Definition menu_view.cpp:275
const auto & get_layout() const noexcept
Definition menu_view.h:32
int get_background_image_index() const noexcept
Get the index of the background image.
Definition menu_view.h:30
void stop_impl() override
Clean up after this window has been shown.
Definition menu_view.cpp:298
const auto & get_selected() const noexcept
Definition menu_view.h:34
void process_resize_event_impl(sf::Event &event) override
Process a resize event.
Definition menu_view.cpp:261
The abstract base class of all other views.
Definition view.h:26
void draw_quit_panel(menu_view &v)
Definition menu_view.cpp:105
void draw_start_panel(menu_view &v)
Definition menu_view.cpp:115
void draw_background_image(menu_view &v)
Definition menu_view.cpp:72
void draw_menu_outline(menu_view &v)
Definition menu_view.cpp:83
void draw_subtitle_panel(menu_view &v)
Definition menu_view.cpp:120
int create_seedless_random_background_image_index()
Create a random background image index.
Definition menu_view.cpp:40
void draw_options_panel(menu_view &v)
Definition menu_view.cpp:88
void draw_layout_panels(menu_view &v)
Show where the panels will be drawn.
Definition menu_view.cpp:93
void draw_about_panel(menu_view &v)
Definition menu_view.cpp:67
void draw_selected_panel(menu_view &v)
Definition menu_view.cpp:110
int create_random_background_image_index(std::default_random_engine &rng_engine)
Create a random background image index.
Definition menu_view.cpp:27
void draw_title_panel(menu_view &v)
Definition menu_view.cpp:128
menu_view_item
The items in the Menu dialog.
Definition menu_view_item.h:8