Symphony Of Empires
input.hpp
Go to the documentation of this file.
1
// Symphony of Empires
2
// Copyright (C) 2021, Symphony of Empires contributors
3
//
4
// This program is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// This program is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with this program. If not, see <https://www.gnu.org/licenses/>.
16
//
17
// ----------------------------------------------------------------------------
18
// Name:
19
// eng3d/ui/input.hpp
20
//
21
// Abstract:
22
// Does some important stuff.
23
// ----------------------------------------------------------------------------
24
25
#pragma once
26
27
#include <string>
28
#include "eng3d/ui/widget.hpp"
29
30
namespace
UI
{
31
class
Context;
34
class
Input
:
public
Widget
{
35
public
:
36
Input
(
int
x
,
int
y
,
unsigned
w,
unsigned
h,
Widget
*
parent
=
nullptr
);
37
virtual
~Input
()
override
{}
38
void
set_buffer
(
const
std::string& _buffer);
39
std::string
get_buffer
()
const
;
40
41
static
void
on_click_default
(
UI::Widget
& w);
42
static
void
on_click_outside_default
(
UI::Widget
& w);
43
static
void
on_update_default
(
UI::Widget
& w);
44
45
std::function<void(
UI::Input
&,
const
char
*)>
on_textinput
;
46
bool
is_selected
=
false
;
47
private
:
48
std::string buffer =
""
;
49
int
timer;
50
size_t
curpos = 0;
51
};
52
}
UI::Input
Input widget for keyboard inputs.
Definition:
input.hpp:34
UI::Input::on_textinput
std::function< void(UI::Input &, const char *)> on_textinput
Definition:
input.hpp:45
UI::Input::on_click_outside_default
static void on_click_outside_default(UI::Widget &w)
Definition:
input.cpp:82
UI::Input::~Input
virtual ~Input() override
Definition:
input.hpp:37
UI::Input::is_selected
bool is_selected
Definition:
input.hpp:46
UI::Input::Input
Input(int x, int y, unsigned w, unsigned h, Widget *parent=nullptr)
Definition:
input.cpp:40
UI::Input::set_buffer
void set_buffer(const std::string &_buffer)
Definition:
input.cpp:64
UI::Input::get_buffer
std::string get_buffer() const
Definition:
input.cpp:73
UI::Input::on_update_default
static void on_update_default(UI::Widget &w)
Definition:
input.cpp:89
UI::Input::on_click_default
static void on_click_default(UI::Widget &w)
Definition:
input.cpp:77
UI::Widget
The master widget all the other widgets inherit from, do not use directly instead use one of the many...
Definition:
widget.hpp:176
UI::Widget::y
int y
Definition:
widget.hpp:322
UI::Widget::x
int x
Definition:
widget.hpp:322
UI::Widget::parent
UI::Widget * parent
Definition:
widget.hpp:314
UI
Definition:
game_state.hpp:117
eng3d
src
ui
input.hpp
Generated by
1.9.1