162 lines
No EOL
4.7 KiB
C++
162 lines
No EOL
4.7 KiB
C++
// #include <ostd/String.hpp>
|
|
// #include <ostd/IOHandlers.hpp>
|
|
// #include <ostd/Logger.hpp>
|
|
// #include <ostd/Console.hpp>
|
|
|
|
#include <ogfx/WindowBase.hpp>
|
|
#include <ogfx/RawTextInput.hpp>
|
|
#include <ostd/Signals.hpp>
|
|
|
|
|
|
ostd::ConsoleOutputHandler out;
|
|
|
|
class Window : public ogfx::WindowBase
|
|
{
|
|
public:
|
|
inline Window(void) : m_sigHandler(m_textInput, *this) { }
|
|
inline void onInitialize(void) override
|
|
{
|
|
enableSignals();
|
|
connectSignal(ostd::tBuiltinSignals::KeyReleased);
|
|
connectSignal(ogfx::gui::RawTextInput::actionEventSignalID);
|
|
|
|
m_gfx.init(*this);
|
|
m_gfx.setFont("res/ttf/Courier Prime.ttf");
|
|
|
|
float w = getWindowWidth();
|
|
float h = 40.0f;
|
|
m_textInput.create({ 0.0f, (float)(getWindowHeight() - h) }, { w, h }, "MainInputTXT");
|
|
m_textInput.setEventListener(m_sigHandler);
|
|
// m_textInput.setCharacterFilter(m_numCharFilter);
|
|
m_textInput.getTheme().extraPaddingTop = 3;
|
|
}
|
|
|
|
inline void handleSignal(ostd::tSignal& signal) override
|
|
{
|
|
if (signal.ID == ostd::tBuiltinSignals::KeyReleased)
|
|
{
|
|
auto& evtData = (ogfx::KeyEventData&)signal.userData;
|
|
if (evtData.keyCode == SDLK_ESCAPE)
|
|
close();
|
|
}
|
|
if (signal.ID == ogfx::gui::RawTextInput::actionEventSignalID)
|
|
{
|
|
auto& data = (ogfx::gui::RawTextInput::ActionEventData&)signal.userData;
|
|
if (data.senderName != "MainInputTXT")
|
|
return;
|
|
if (data.eventType == ogfx::gui::RawTextInput::eActionEventType::Enter)
|
|
{
|
|
out.fg(ostd::ConsoleColors::Green).p(data.sender.getText()).reset().nl();
|
|
data.sender.setText("");
|
|
}
|
|
else if (data.eventType == ogfx::gui::RawTextInput::eActionEventType::Tab)
|
|
{
|
|
out.fg(ostd::ConsoleColors::Red).p("TAB").reset().nl();
|
|
data.sender.appendText("TAB");
|
|
}
|
|
}
|
|
}
|
|
|
|
inline void onRender(void) override
|
|
{
|
|
m_textInput.render(m_gfx);
|
|
}
|
|
|
|
inline void onFixedUpdate(void) override
|
|
{
|
|
m_textInput.fixedUpdate();
|
|
}
|
|
|
|
inline void onUpdate(void) override
|
|
{
|
|
m_textInput.update ();
|
|
}
|
|
|
|
private:
|
|
ogfx::gui::RawTextInput m_textInput;
|
|
ogfx::BasicRenderer2D m_gfx;
|
|
ogfx::gui::RawTextInputEventListener m_sigHandler;
|
|
ogfx::gui::RawTextInputNumberCharacterFilter m_numCharFilter;
|
|
};
|
|
|
|
// void test2(const std::string& str) {}
|
|
// void test3(const ostd::String& str) {}
|
|
// void test4(const char* str) {}
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
out.p(STR_BOOL(ostd::Utils::md5("") == "d41d8cd98f00b204e9800998ecf8427e")).nl();
|
|
out.p(STR_BOOL(ostd::Utils::md5("abc") == "900150983cd24fb0d6963f7d28e17f72")).nl();
|
|
out.p(STR_BOOL(ostd::Utils::md5("message digest") == "f96b697d7cb7938d525a2f31aaf161d0")).nl();
|
|
|
|
Window window;
|
|
window.initialize(1280, 720, "OmniaFramework - Test Window");
|
|
window.setClearColor({ 0, 2 , 15 });
|
|
|
|
while (window.isRunning())
|
|
{
|
|
window.update();
|
|
}
|
|
|
|
|
|
// out.fg(ostd::ConsoleColors::Red).p("Hello World!!").reset().nl();
|
|
|
|
// ostd::String str1, str2 = "Hello";
|
|
// bool b = str1 == str2;
|
|
// const ostd::String str3 = "CIAO";
|
|
// b = str2 == str1;
|
|
// b = str3 == "CICCIO";
|
|
// // b = "ciao" == str2;
|
|
// str2 = str3;
|
|
// std::string str = "cc";
|
|
// str1 = str;
|
|
// test2(str1);
|
|
// test3(str);
|
|
// str1 = str2 + str;
|
|
// str1 = str2 + "str";
|
|
// str1 = str2 + str3;
|
|
// str1 = str2 + str1;
|
|
// test4(str1);
|
|
// test4(str3);
|
|
|
|
// str1 += "ciao";
|
|
// str1 += str;
|
|
// str1 += str1;
|
|
// str1 += str3;
|
|
// str1 += 'c';
|
|
|
|
// OX_FATAL(str2);
|
|
|
|
// ostd::RegexRichString rgxrstr("Hello World");
|
|
// rgxrstr.fg("Hello", "Blue");
|
|
// std::cout << rgxrstr << "\n";
|
|
|
|
// out.nl().nl();
|
|
// ostd::String test_str = "Hello World, my love";
|
|
// ostd::String test_str_2 = "HEELO";
|
|
// ostd::String test_str_3 = "0123456789";
|
|
// out.p("==========\n");
|
|
// test_str.fixedLength(10, ' ', "..........");
|
|
// test_str_2.fixedLength(10);
|
|
// test_str_3.fixedLength(10);
|
|
// out.p(test_str).p("|").nl();
|
|
// out.p(test_str_2).p("|").nl();
|
|
// out.p(test_str_3).p("|").nl();
|
|
|
|
// ostd::KeyboardController keyboard;
|
|
// keyboard.disableCommandBuffer();
|
|
|
|
// out.p("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n");
|
|
// out.p("HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH");
|
|
// out.p("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
|
// out.p(" ");
|
|
// out.p("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
|
|
|
|
// ostd::eKeys k = ostd::eKeys::NoKeyPressed;
|
|
// do
|
|
// {
|
|
// k = keyboard.waitForKeyPress();
|
|
// } while (k != ostd::eKeys::Escape);
|
|
|
|
return 0;
|
|
} |