uui/src/test/example_gl.cpp
2022-10-06 22:29:56 +09:00

101 lines
3.8 KiB
C++

#include <iostream>
#include "uui/uui.hpp"
using namespace std;
int main()
{
try
{
cout << "Starting example 1" << endl;
{
auto app = uui::create_application(uui::Application::OPENGL);
// auto app2 = uui::create_application(uui::Application::OPENGL); // exception : application already created
app->create_window(800, 600, "OpenGl!", [](uui::Window& window) {
window.create_component(0, 100, 0.5f, 50, [](uui::Component& component) {
component.set_background_color(0.8f, 0.1f, 0.5f);
});
window.create_component(0.25f, 50, 0.4f, 150, [](uui::Component& component) {
component.set_background_color(0.3f, 0.8f, 0.4f, 0.5f);
});
window.create_label(50, 50, "Hello World!", {0.5f, 1.0f, 0.5f, 1.0f}, [](uui::Label& label) {
label.set_background_color(0.1f, 0.2f, 0.5f, 0.8f);
});
window.create_label(0.5f, 0.5f, "Hello World!", {1.0f, 1.0f, 1.0f, 0.5f}, [](uui::Label& label) {
label.set_background_color(0.5f, 0.5f, 0.1f);
});
window.create_label(0.75f, 0.75f, "Hello World!", {1.0f, 1.0f, 1.0f, 0.1f}, {});
window.create_flex(200, 0.6f, uui::Direction::HORIZONTAL, [](uui::Flex& flex) {
flex.create_component(
100, 50, [](uui::Component& component) { component.set_background_color(0.2f, 0.75f, 0.25f); });
flex.create_label("test", {0.8f, 0.2f, 0.2f, 1.0f}, {});
flex.create_component(
100, 20, [](uui::Component& component) { component.set_background_color(0.2f, 0.25f, 0.75f); });
});
window.create_flex(50, 400, uui::Direction::VERTICAL, [](uui::Flex& flex) {
flex.create_component(
50, 100, [](uui::Component& component) { component.set_background_color(0.2f, 0.75f, 0.25f); });
flex.create_label("test", {0.8f, 0.2f, 0.2f, 1.0f}, {});
flex.create_component(
100, 20, [](uui::Component& component) { component.set_background_color(0.2f, 0.25f, 0.75f); });
});
});
app->create_window(800, 600, "OpenGl 2", [](uui::Window& window) {
window.create_stack(200, 0.6f, uui::Direction::HORIZONTAL, [](uui::Stack& stack) {
stack.create_component(
100, 50, [](uui::Component& component) { component.set_background_color(0.2f, 0.75f, 0.25f); });
stack.create_label("test", {0.8f, 0.2f, 0.2f, 1.0f}, {});
stack.create_component(
100, 20, [](uui::Component& component) { component.set_background_color(0.2f, 0.25f, 0.75f); });
});
window.create_stack(50, 400, uui::Direction::VERTICAL, [](uui::Stack& stack) {
stack.create_component(
100, 50, [](uui::Component& component) { component.set_background_color(0.2f, 0.75f, 0.25f); });
stack.create_label("test", {0.8f, 0.2f, 0.2f, 1.0f}, {});
stack.create_component(
100, 20, [](uui::Component& component) { component.set_background_color(0.2f, 0.25f, 0.75f); });
});
});
app->run();
}
cout << "\nStarting example 2" << endl;
{
auto app = uui::create_application(uui::Application::OPENGL);
app->create_window(800, 600, "OpenGl!", [](uui::Window& window) {
window.create_component(0.25f, 0.25f, 0.5f, 0.5f, [](uui::Component& component) {
component.set_background_color(0.8f, 0.1f, 0.5f);
});
window.create_component(0.75f, 0.75f, 0.25f, 0.25f, [](uui::Component& component) {
component.set_background_color(0.2f, 0.1f, 0.5f);
});
});
app->create_window(600, 600, "OpenGL 2!", [](uui::Window& window) {
window.create_component(0, 0.5f, 100, 0.5f, [](uui::Component& component) {
component.set_background_color(0.2f, 0.5f, 0.3f);
});
window.create_label(50, 50, "Hello World!", {0.5f, 1.0f, 0.5f, 1.0f}, [](uui::Label& label) {
label.set_background_color(0.1f, 0.2f, 0.5f);
});
});
app->run();
}
}
catch(const std::exception& error)
{
std::cerr << error.what() << std::endl;
return EXIT_FAILURE;
}
cout << "Example done" << endl;
return 0;
}