From de059e317e43fa1b94d77fd981be68b86bf6de6e Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 20 Apr 2018 04:25:14 +0200 Subject: Add chatbar. No mouse editing but keyboard editing is supported --- include/Chatbar.hpp | 30 ++++++++++++++++++++++++++++++ include/types.hpp | 22 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 include/Chatbar.hpp create mode 100644 include/types.hpp (limited to 'include') diff --git a/include/Chatbar.hpp b/include/Chatbar.hpp new file mode 100644 index 0000000..143ebba --- /dev/null +++ b/include/Chatbar.hpp @@ -0,0 +1,30 @@ +#pragma once + +#include +#include +#include + +namespace dchat +{ + class Chatbar + { + public: + Chatbar(); + + void addChar(sf::Uint32 codePoint); + const sf::String& getString() const; + void removePreviousChar(); + void removeNextChar(); + void clear(); + + void moveCaretLeft(); + void moveCaretRight(); + + void draw(sf::RenderWindow &window); + private: + sf::Text text; + sf::RectangleShape background; + int caretIndex; + sf::Vector2f caretOffset; + }; +} diff --git a/include/types.hpp b/include/types.hpp new file mode 100644 index 0000000..762dab1 --- /dev/null +++ b/include/types.hpp @@ -0,0 +1,22 @@ +#pragma once + +#include + +namespace dchat +{ + typedef int8_t i8; + typedef int16_t i16; + typedef int32_t i32; + typedef int64_t i64; + + typedef uint8_t u8; + typedef uint16_t u16; + typedef uint32_t u32; + typedef uint64_t u64; + + typedef float f32; + typedef double f64; + + typedef intptr_t ssize; + typedef uintptr_t usize; +} -- cgit v1.2.3