Code cleaning, update roadmap and manifest

This commit is contained in:
Corentin 2022-10-06 22:29:56 +09:00
commit 73934d0e34
20 changed files with 56 additions and 76 deletions

View file

@ -1,16 +1,16 @@
* layout
* button
* lambda constructor
* scroll
* Text wrap
* Style
* Text Edition
* projected vertex/raw vertex mode (projection on GPU)
* negative absolution position (from right/bottom)
* negative absolute position (from right/bottom)
* VAO/VBO in windows (batched)

View file

@ -3,7 +3,7 @@
#include <memory>
#include <string>
#include "uui/config.hpp"
#include "uui/types.hpp"
namespace uui
{
@ -11,6 +11,11 @@ class Window;
class Application
{
public:
#ifdef DEBUG
constexpr static bool debug_mode = true;
#else
constexpr static bool debug_mode = false;
#endif
enum Implementaion
{
OPENGL

View file

@ -3,7 +3,7 @@
#include <array>
#include <memory>
#include "uui/config.hpp"
#include "uui/types.hpp"
#include "uui/window.hpp"
namespace uui
@ -15,12 +15,6 @@ public:
virtual void set_background_color(float r, float g, float b, float a = 1.0f) = 0;
protected:
#ifdef DEBUG
constexpr static bool debug_mode = true;
#else
constexpr static bool debug_mode = false;
#endif
std::shared_ptr<Window> window;
std::size_t window_index;
std::shared_ptr<Container> parent;

View file

@ -6,7 +6,7 @@
#include <memory>
#include <vector>
#include "uui/config.hpp"
#include "uui/types.hpp"
namespace uui
{
@ -15,6 +15,7 @@ class GlComponent;
class Container
{
friend class GlComponent;
public:
enum Type
{
@ -26,11 +27,6 @@ public:
Type type;
protected:
#ifdef DEBUG
constexpr static bool debug_mode = true;
#else
constexpr static bool debug_mode = false;
#endif
virtual std::size_t push_child(std::shared_ptr<Component> child) = 0;
virtual std::shared_ptr<Component> get_child(std::size_t index) const = 0;
virtual void remove_child(std::size_t index) = 0;

View file

@ -6,7 +6,7 @@
#include "graphic_context.hpp"
#include "uui/application.hpp"
#include "uui/config.hpp"
#include "uui/types.hpp"
namespace uui
{
@ -16,11 +16,6 @@ class GlApplication final: virtual public Application
friend class GlWindow;
public:
#ifdef DEBUG
constexpr static bool debug_mode = true;
#else
constexpr static bool debug_mode = false;
#endif
std::vector<std::shared_ptr<GlWindow>> windows;
GlApplication();

View file

@ -4,10 +4,10 @@
#include <memory>
#include "graphic_context.hpp"
#include "uui/opengl/component.hpp"
#include "uui/container.hpp"
#include "uui/config.hpp"
#include "uui/opengl/component.hpp"
#include "uui/opengl/window.hpp"
#include "uui/types.hpp"
namespace uui
{
@ -39,7 +39,8 @@ protected:
GlComponent(
std::shared_ptr<GlWindow> window, std::size_t window_index, const position_t x, const position_t y,
const position_t width, const position_t height):
GlComponent(window, window_index, std::static_pointer_cast<GlContainer>(window), window_index, x, y, width, height)
GlComponent(
window, window_index, std::static_pointer_cast<GlContainer>(window), window_index, x, y, width, height)
{}
GlComponent(const GlComponent&) = delete;
GlComponent(GlComponent&&) = default;

View file

@ -6,14 +6,13 @@
#include <memory>
#include <vector>
#include "uui/container.hpp"
#include "uui/component.hpp"
#include "uui/container.hpp"
namespace uui
{
class GlContainer: virtual public Container
{
protected:
GlContainer() = default;
GlContainer(const GlContainer&) = default;

View file

@ -1,9 +1,9 @@
#pragma once
#include "uui/config.hpp"
#include "uui/opengl/application.hpp"
#include "uui/opengl/container.hpp"
#include "uui/opengl/font_manager.hpp"
#include "uui/types.hpp"
#include "uui/window.hpp"
namespace uui

View file

@ -4,7 +4,7 @@
#include <optional>
#include <tuple>
#include "config.hpp"
#include "types.hpp"
namespace uui
{

View file

@ -1,9 +1,9 @@
#pragma once
#include "uui/application.hpp"
#include "uui/config.hpp"
#include "uui/component.hpp"
#include "uui/flex.hpp"
#include "uui/label.hpp"
#include "uui/stack.hpp"
#include "uui/types.hpp"
#include "uui/window.hpp"

View file

@ -5,9 +5,9 @@
#include <vector>
#include "uui/application.hpp"
#include "uui/config.hpp"
#include "uui/container.hpp"
#include "uui/font_manager.hpp"
#include "uui/types.hpp"
namespace uui
{
@ -39,12 +39,6 @@ public:
int height() { return _height; };
protected:
#ifdef DEBUG
constexpr static bool debug_mode = true;
#else
constexpr static bool debug_mode = false;
#endif
std::shared_ptr<Application> _app;
bool _initialized;

View file

@ -8,6 +8,10 @@
* Let custom rendering
* Canvas for easy drawing
* Style/Config watch option : real-time update on file change
## Technical
@ -26,4 +30,4 @@
## Layout / Style
* Constraint based? padding/margin?
* CSS subset

View file

@ -11,7 +11,8 @@ int main()
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) {
for(int i = 0; i < 100; i += 1) window.create_label(4 * i, 4 * i, "Hello World!", {1.0f, 1.0f, 1.0f, 0.5f}, {});
for(int i = 0; i < 100; i += 1)
window.create_label(4 * i, 4 * i, "Hello World!", {1.0f, 1.0f, 1.0f, 0.5f}, {});
});
app->run();
}

View file

@ -31,45 +31,37 @@ int main()
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_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);
});
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_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);
});
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_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);
});
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_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);
});
stack.create_component(
100, 20, [](uui::Component& component) { component.set_background_color(0.2f, 0.25f, 0.75f); });
});
});

View file

@ -10,7 +10,7 @@ uui::GlComponent::GlComponent(
std::shared_ptr<uui::GlWindow> window, std::size_t window_index, std::shared_ptr<uui::GlContainer> parent,
std::size_t parent_index, const position_t x, const position_t y, const position_t width, const position_t height)
{
if constexpr(debug_mode)
if constexpr(uui::Application::debug_mode)
std::cout << "Creating a GlComponent " << parent_index << std::endl;
gl_window = window;

View file

@ -31,7 +31,7 @@ std::tuple<int, int> uui::GlContainer::get_child_position(const std::size_t chil
uui::GlContainer::~GlContainer()
{
if constexpr(debug_mode)
if constexpr(uui::Application::debug_mode)
std::cout << "Destroying GlContainer" << std::endl;
components.clear();
}

View file

@ -6,7 +6,7 @@
#include <algorithm>
#include <iostream>
#include "uui/config.hpp"
#include "uui/types.hpp"
#include "uui/opengl/application.hpp"
#include "uui/opengl/gl_utils.hpp"
#include "uui/shader.hpp"

View file

@ -12,7 +12,7 @@ uui::GlLabel::GlLabel(
GlComponent(window, window_index, parent, parent_index, x, y, 0.0f, 0.0f),
text(text), text_color(text_color)
{
if constexpr(debug_mode)
if constexpr(uui::Application::debug_mode)
std::cout << "Creating GlLabel " << parent_index << std::endl;
font_index = 0;

View file

@ -6,7 +6,6 @@
#include "uui/opengl/flex.hpp"
#include "uui/opengl/gl_utils.hpp"
#include "uui/opengl/label.hpp"
#include "uui/opengl/flex.hpp"
#include "uui/opengl/stack.hpp"
#include "uui/shader.hpp"
@ -80,7 +79,8 @@ void uui::GlWindow::glfw_iconify_callback(GLFWwindow* window, int iconified)
gl_window->_iconified = iconified;
}
void uui::GlWindow::glfw_key_callback(GLFWwindow* window, int key, int scancode [[maybe_unused]], int action, int mods [[maybe_unused]])
void uui::GlWindow::glfw_key_callback(
GLFWwindow* window, int key, int scancode [[maybe_unused]], int action, int mods [[maybe_unused]])
{
if(key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
glfwSetWindowShouldClose(window, true);
@ -96,7 +96,7 @@ uui::GlWindow::GlWindow(std::shared_ptr<uui::Application> app, int width, int he
_resize_needed = false;
_iconified = false;
if constexpr(debug_mode)
if constexpr(uui::Application::debug_mode)
std::cout << "Creating GlWindow : " << title << std::endl;
this->title = title;
type = Type::WINDOW;
@ -104,11 +104,11 @@ uui::GlWindow::GlWindow(std::shared_ptr<uui::Application> app, int width, int he
uui::GlWindow::~GlWindow()
{
if constexpr(debug_mode)
if constexpr(uui::Application::debug_mode)
std::cout << "Destructor GlWindow : " << title << std::endl;
if(_initialized)
{
if constexpr(debug_mode)
if constexpr(uui::Application::debug_mode)
std::cout << "Destructor-deinit GlWindow : " << title << std::endl;
deinit();
}
@ -330,4 +330,3 @@ void uui::GlWindow::create_stack(
if(stack != nullptr && init != nullptr)
init(*stack);
}