Thin app runtime and generic node shells
This commit is contained in:
34
src/app.cpp
34
src/app.cpp
@@ -14,10 +14,9 @@
|
||||
#include "app_core/document_cloud.h"
|
||||
#include "app_core/document_recording.h"
|
||||
#include "app_core/document_route.h"
|
||||
#include "app_core/document_session.h"
|
||||
#include "legacy_app_runtime_shell_services.h"
|
||||
#include "legacy_app_startup_services.h"
|
||||
#include "legacy_document_open_services.h"
|
||||
#include "legacy_document_session_services.h"
|
||||
#include "legacy_preference_storage.h"
|
||||
#include "platform_api/platform_services.h"
|
||||
|
||||
@@ -40,18 +39,7 @@ void App::open_document(std::string path)
|
||||
|
||||
bool App::request_close()
|
||||
{
|
||||
static bool dialog_already_opened = false;
|
||||
const auto close_decision = pp::app::plan_close_request(
|
||||
Canvas::I->m_unsaved,
|
||||
dialog_already_opened);
|
||||
const auto status = pp::panopainter::execute_legacy_close_request_decision(
|
||||
*this,
|
||||
close_decision,
|
||||
dialog_already_opened);
|
||||
if (!status.ok())
|
||||
LOG("Close request action failed: %s", status.message);
|
||||
|
||||
return close_decision == pp::app::CloseRequestDecision::close_now;
|
||||
return pp::panopainter::execute_legacy_app_request_close(*this);
|
||||
}
|
||||
|
||||
void App::initAssets()
|
||||
@@ -81,45 +69,45 @@ bool App::update_ui_observer(Node *n)
|
||||
|
||||
void App::renderdoc_frame_start()
|
||||
{
|
||||
begin_render_capture_frame();
|
||||
pp::panopainter::execute_legacy_app_renderdoc_frame_start(*this);
|
||||
}
|
||||
|
||||
void App::renderdoc_frame_end()
|
||||
{
|
||||
end_render_capture_frame();
|
||||
pp::panopainter::execute_legacy_app_renderdoc_frame_end(*this);
|
||||
}
|
||||
|
||||
void App::render_thread_main()
|
||||
{
|
||||
runtime_.render_thread_main(*this, {});
|
||||
pp::panopainter::execute_legacy_app_render_thread_main(*this);
|
||||
}
|
||||
|
||||
void App::ui_thread_tick()
|
||||
{
|
||||
runtime_.ui_thread_tick(*this);
|
||||
pp::panopainter::execute_legacy_app_ui_thread_tick(*this);
|
||||
}
|
||||
|
||||
void App::ui_thread_main()
|
||||
{
|
||||
runtime_.ui_thread_main(*this, {});
|
||||
pp::panopainter::execute_legacy_app_ui_thread_main(*this);
|
||||
}
|
||||
|
||||
void App::render_thread_start()
|
||||
{
|
||||
runtime_.render_thread_start(*this);
|
||||
pp::panopainter::execute_legacy_app_render_thread_start(*this);
|
||||
}
|
||||
|
||||
void App::render_thread_stop()
|
||||
{
|
||||
runtime_.render_thread_stop();
|
||||
pp::panopainter::execute_legacy_app_render_thread_stop(*this);
|
||||
}
|
||||
|
||||
void App::ui_thread_start()
|
||||
{
|
||||
runtime_.ui_thread_start(*this);
|
||||
pp::panopainter::execute_legacy_app_ui_thread_start(*this);
|
||||
}
|
||||
|
||||
void App::ui_thread_stop()
|
||||
{
|
||||
runtime_.ui_thread_stop();
|
||||
pp::panopainter::execute_legacy_app_ui_thread_stop(*this);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
#include "pch.h"
|
||||
|
||||
#include "legacy_app_runtime_shell_services.h"
|
||||
|
||||
#include "app.h"
|
||||
#include "app_core/app_frame.h"
|
||||
#include "app_core/app_shutdown.h"
|
||||
#include "app_core/app_status.h"
|
||||
#include "app_core/document_session.h"
|
||||
#include "legacy_document_session_services.h"
|
||||
#include "legacy_recording_services.h"
|
||||
#include "legacy_ui_gl_dispatch.h"
|
||||
#include "renderer_gl/opengl_capabilities.h"
|
||||
@@ -41,6 +45,67 @@ void update_legacy_recording_frame_label(App& app);
|
||||
bool update_legacy_app_ui_observer(App& app, Node* n);
|
||||
void watch_legacy_app_ui_children(App& app, const std::function<bool(Node*)>& observer, bool skip_first_main_child);
|
||||
void update_legacy_canvas_toolbar(App& app);
|
||||
|
||||
bool execute_legacy_app_request_close(App& app)
|
||||
{
|
||||
static bool dialog_already_opened = false;
|
||||
const auto close_decision = pp::app::plan_close_request(
|
||||
Canvas::I->m_unsaved,
|
||||
dialog_already_opened);
|
||||
const auto status = pp::panopainter::execute_legacy_close_request_decision(
|
||||
app,
|
||||
close_decision,
|
||||
dialog_already_opened);
|
||||
if (!status.ok())
|
||||
LOG("Close request action failed: %s", status.message);
|
||||
|
||||
return close_decision == pp::app::CloseRequestDecision::close_now;
|
||||
}
|
||||
|
||||
void execute_legacy_app_renderdoc_frame_start(App& app)
|
||||
{
|
||||
app.begin_render_capture_frame();
|
||||
}
|
||||
|
||||
void execute_legacy_app_renderdoc_frame_end(App& app)
|
||||
{
|
||||
app.end_render_capture_frame();
|
||||
}
|
||||
|
||||
void execute_legacy_app_render_thread_main(App& app)
|
||||
{
|
||||
app.runtime().render_thread_main(app, {});
|
||||
}
|
||||
|
||||
void execute_legacy_app_render_thread_start(App& app)
|
||||
{
|
||||
app.runtime().render_thread_start(app);
|
||||
}
|
||||
|
||||
void execute_legacy_app_render_thread_stop(App& app)
|
||||
{
|
||||
app.runtime().render_thread_stop();
|
||||
}
|
||||
|
||||
void execute_legacy_app_ui_thread_tick(App& app)
|
||||
{
|
||||
app.runtime().ui_thread_tick(app);
|
||||
}
|
||||
|
||||
void execute_legacy_app_ui_thread_main(App& app)
|
||||
{
|
||||
app.runtime().ui_thread_main(app, {});
|
||||
}
|
||||
|
||||
void execute_legacy_app_ui_thread_start(App& app)
|
||||
{
|
||||
app.runtime().ui_thread_start(app);
|
||||
}
|
||||
|
||||
void execute_legacy_app_ui_thread_stop(App& app)
|
||||
{
|
||||
app.runtime().ui_thread_stop();
|
||||
}
|
||||
} // namespace pp::panopainter
|
||||
|
||||
void App::draw(float dt)
|
||||
|
||||
18
src/legacy_app_runtime_shell_services.h
Normal file
18
src/legacy_app_runtime_shell_services.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
class App;
|
||||
|
||||
namespace pp::panopainter {
|
||||
|
||||
[[nodiscard]] bool execute_legacy_app_request_close(App& app);
|
||||
void execute_legacy_app_renderdoc_frame_start(App& app);
|
||||
void execute_legacy_app_renderdoc_frame_end(App& app);
|
||||
void execute_legacy_app_render_thread_main(App& app);
|
||||
void execute_legacy_app_render_thread_start(App& app);
|
||||
void execute_legacy_app_render_thread_stop(App& app);
|
||||
void execute_legacy_app_ui_thread_tick(App& app);
|
||||
void execute_legacy_app_ui_thread_main(App& app);
|
||||
void execute_legacy_app_ui_thread_start(App& app);
|
||||
void execute_legacy_app_ui_thread_stop(App& app);
|
||||
|
||||
} // namespace pp::panopainter
|
||||
@@ -1,7 +1,48 @@
|
||||
#include "pch.h"
|
||||
#include "legacy_ui_node_event.h"
|
||||
#include "app.h"
|
||||
#include "node.h"
|
||||
|
||||
kEventResult Node::on_event(Event* e)
|
||||
{
|
||||
return pp::panopainter::handle_legacy_ui_node_event(*this, e);
|
||||
}
|
||||
|
||||
kEventResult Node::handle_event(Event* e)
|
||||
{
|
||||
return kEventResult::Available;
|
||||
}
|
||||
|
||||
void Node::handle_resize(glm::vec2 old_size, glm::vec2 new_size, float zoom)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Node::handle_parent_resize(glm::vec2 old_size, glm::vec2 new_size)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Node::mouse_capture()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_mouse_capture(*this);
|
||||
}
|
||||
|
||||
void Node::mouse_release()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_mouse_release(*this);
|
||||
}
|
||||
|
||||
void Node::key_capture()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_key_capture(*this);
|
||||
}
|
||||
|
||||
void Node::key_release()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_key_release(*this);
|
||||
}
|
||||
|
||||
void Node::restore_context()
|
||||
{
|
||||
for (auto& c : m_children)
|
||||
|
||||
@@ -179,6 +179,31 @@ void legacy_ui_node_set_position(Node& node, glm::vec2 value)
|
||||
node.app_redraw();
|
||||
}
|
||||
|
||||
float legacy_ui_node_get_width(const Node& node)
|
||||
{
|
||||
return YGNodeLayoutGetWidth(node.y_node);
|
||||
}
|
||||
|
||||
float legacy_ui_node_get_height(const Node& node)
|
||||
{
|
||||
return YGNodeLayoutGetHeight(node.y_node);
|
||||
}
|
||||
|
||||
glm::vec2 legacy_ui_node_get_position(const Node& node)
|
||||
{
|
||||
return { YGNodeLayoutGetLeft(node.y_node), YGNodeLayoutGetTop(node.y_node) };
|
||||
}
|
||||
|
||||
glm::vec2 legacy_ui_node_get_size(const Node& node)
|
||||
{
|
||||
return { legacy_ui_node_get_width(node), legacy_ui_node_get_height(node) };
|
||||
}
|
||||
|
||||
YGDirection legacy_ui_node_get_rtl(const Node& node)
|
||||
{
|
||||
return YGNodeStyleGetDirection(node.y_node);
|
||||
}
|
||||
|
||||
void legacy_ui_node_set_flex_grow(Node& node, float value)
|
||||
{
|
||||
YGNodeStyleSetFlexGrow(node.y_node, value);
|
||||
@@ -269,24 +294,9 @@ void legacy_ui_node_set_visibility(Node& node, bool visible)
|
||||
node.app_redraw();
|
||||
}
|
||||
|
||||
glm::vec2 legacy_ui_node_get_position(const Node& node)
|
||||
void legacy_ui_node_toggle_visibility(Node& node)
|
||||
{
|
||||
return { YGNodeLayoutGetLeft(node.y_node), YGNodeLayoutGetTop(node.y_node) };
|
||||
}
|
||||
|
||||
float legacy_ui_node_get_width(const Node& node)
|
||||
{
|
||||
return YGNodeLayoutGetWidth(node.y_node);
|
||||
}
|
||||
|
||||
float legacy_ui_node_get_height(const Node& node)
|
||||
{
|
||||
return YGNodeLayoutGetHeight(node.y_node);
|
||||
}
|
||||
|
||||
YGDirection legacy_ui_node_get_rtl(const Node& node)
|
||||
{
|
||||
return YGNodeStyleGetDirection(node.y_node);
|
||||
node.SetVisibility(!node.m_display);
|
||||
}
|
||||
|
||||
} // namespace pp::panopainter
|
||||
@@ -325,3 +335,178 @@ void Node::SetPosition(const glm::vec2 pos)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_position(*this, pos);
|
||||
}
|
||||
|
||||
void Node::SetWidth(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_width(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetWidthP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_width_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetHeight(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_height(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetHeightP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_height_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMaxWidth(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_max_width(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMaxWidthP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_max_width_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMaxHeight(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_max_height(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMaxHeightP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_max_height_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMinWidth(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_min_width(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMinWidthP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_min_width_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMinHeight(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_min_height(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMinHeightP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_min_height_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetPadding(float t, float r, float b, float l)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_padding(*this, t, r, b, l);
|
||||
}
|
||||
|
||||
glm::vec4 Node::GetPadding() const
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_padding(*this);
|
||||
}
|
||||
|
||||
void Node::SetMargin(float t, float r, float b, float l)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_margin(*this, t, r, b, l);
|
||||
}
|
||||
|
||||
glm::vec4 Node::GetMargin() const
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_margin(*this);
|
||||
}
|
||||
|
||||
void Node::SetPosition(float l, float t)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_position(*this, l, t);
|
||||
}
|
||||
|
||||
void Node::SetPosition(float l, float t, float r, float b)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_position(*this, l, t, r, b);
|
||||
}
|
||||
|
||||
void Node::SetFlexGrow(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_flex_grow(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetFlexShrink(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_flex_shrink(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetFlexDir(YGFlexDirection value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_flex_dir(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetFlexWrap(YGWrap value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_flex_wrap(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetJustify(YGJustify value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_justify(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetAlign(YGAlign value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_align(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetPositioning(YGPositionType value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_positioning(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetAspectRatio(float ar)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_aspect_ratio(*this, ar);
|
||||
}
|
||||
|
||||
void Node::SetRTL(YGDirection dir)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_rtl(*this, dir);
|
||||
}
|
||||
|
||||
bool Node::GetVisibility()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_visibility(*this);
|
||||
}
|
||||
|
||||
void Node::SetVisibility(bool visible)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_visibility(*this, visible);
|
||||
}
|
||||
|
||||
void Node::ToggleVisibility()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_toggle_visibility(*this);
|
||||
}
|
||||
|
||||
glm::vec2 Node::GetPosition()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_position(*this);
|
||||
}
|
||||
|
||||
float Node::GetWidth()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_width(*this);
|
||||
}
|
||||
|
||||
float Node::GetHeight()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_height(*this);
|
||||
}
|
||||
|
||||
glm::vec2 Node::GetSize()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_size(*this);
|
||||
}
|
||||
|
||||
YGDirection Node::GetRTL()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_rtl(*this);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,11 @@ glm::vec4 legacy_ui_node_get_margin(const Node& node);
|
||||
void legacy_ui_node_set_position(Node& node, float l, float t);
|
||||
void legacy_ui_node_set_position(Node& node, float l, float t, float r, float b);
|
||||
void legacy_ui_node_set_position(Node& node, glm::vec2 value);
|
||||
float legacy_ui_node_get_width(const Node& node);
|
||||
float legacy_ui_node_get_height(const Node& node);
|
||||
glm::vec2 legacy_ui_node_get_position(const Node& node);
|
||||
glm::vec2 legacy_ui_node_get_size(const Node& node);
|
||||
YGDirection legacy_ui_node_get_rtl(const Node& node);
|
||||
void legacy_ui_node_set_flex_grow(Node& node, float value);
|
||||
void legacy_ui_node_set_flex_shrink(Node& node, float value);
|
||||
void legacy_ui_node_set_flex_dir(Node& node, YGFlexDirection value);
|
||||
@@ -44,9 +49,6 @@ void legacy_ui_node_set_aspect_ratio(Node& node, float ar);
|
||||
void legacy_ui_node_set_rtl(Node& node, YGDirection dir);
|
||||
bool legacy_ui_node_get_visibility(const Node& node);
|
||||
void legacy_ui_node_set_visibility(Node& node, bool visible);
|
||||
glm::vec2 legacy_ui_node_get_position(const Node& node);
|
||||
float legacy_ui_node_get_width(const Node& node);
|
||||
float legacy_ui_node_get_height(const Node& node);
|
||||
YGDirection legacy_ui_node_get_rtl(const Node& node);
|
||||
void legacy_ui_node_toggle_visibility(Node& node);
|
||||
|
||||
} // namespace pp::panopainter
|
||||
|
||||
217
src/node.cpp
217
src/node.cpp
@@ -1,225 +1,8 @@
|
||||
#include "pch.h"
|
||||
#include "legacy_ui_node_attributes.h"
|
||||
#include "legacy_ui_node_event.h"
|
||||
#include "legacy_ui_node_loader.h"
|
||||
#include "legacy_ui_node_style.h"
|
||||
#include "node.h"
|
||||
|
||||
kEventResult Node::on_event(Event* e)
|
||||
{
|
||||
return pp::panopainter::handle_legacy_ui_node_event(*this, e);
|
||||
}
|
||||
|
||||
kEventResult Node::handle_event(Event* e)
|
||||
{
|
||||
return kEventResult::Available;
|
||||
}
|
||||
|
||||
void Node::handle_resize(glm::vec2 old_size, glm::vec2 new_size, float zoom)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Node::handle_parent_resize(glm::vec2 old_size, glm::vec2 new_size)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Node::mouse_capture()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_mouse_capture(*this);
|
||||
}
|
||||
|
||||
void Node::mouse_release()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_mouse_release(*this);
|
||||
}
|
||||
|
||||
void Node::key_capture()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_key_capture(*this);
|
||||
}
|
||||
|
||||
void Node::key_release()
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_key_release(*this);
|
||||
}
|
||||
|
||||
void Node::SetWidth(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_width(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetWidthP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_width_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetHeight(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_height(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetHeightP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_height_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMaxWidth(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_max_width(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMaxWidthP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_max_width_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMaxHeight(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_max_height(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMaxHeightP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_max_height_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMinWidth(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_min_width(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMinWidthP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_min_width_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMinHeight(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_min_height(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetMinHeightP(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_min_height_percent(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetPadding(float t, float r, float b, float l)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_padding(*this, t, r, b, l);
|
||||
}
|
||||
|
||||
glm::vec4 Node::GetPadding() const
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_padding(*this);
|
||||
}
|
||||
|
||||
void Node::SetMargin(float t, float r, float b, float l)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_margin(*this, t, r, b, l);
|
||||
}
|
||||
|
||||
glm::vec4 Node::GetMargin() const
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_margin(*this);
|
||||
}
|
||||
|
||||
void Node::SetPosition(float l, float t)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_position(*this, l, t);
|
||||
}
|
||||
|
||||
void Node::SetPosition(float l, float t, float r, float b)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_position(*this, l, t, r, b);
|
||||
}
|
||||
|
||||
void Node::SetFlexGrow(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_flex_grow(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetFlexShrink(float value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_flex_shrink(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetFlexDir(YGFlexDirection value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_flex_dir(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetFlexWrap(YGWrap value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_flex_wrap(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetJustify(YGJustify value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_justify(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetAlign(YGAlign value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_align(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetPositioning(YGPositionType value)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_positioning(*this, value);
|
||||
}
|
||||
|
||||
void Node::SetAspectRatio(float ar)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_aspect_ratio(*this, ar);
|
||||
}
|
||||
|
||||
void Node::SetRTL(YGDirection dir)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_rtl(*this, dir);
|
||||
}
|
||||
|
||||
bool Node::GetVisibility()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_visibility(*this);
|
||||
}
|
||||
|
||||
void Node::SetVisibility(bool visible)
|
||||
{
|
||||
pp::panopainter::legacy_ui_node_set_visibility(*this, visible);
|
||||
}
|
||||
|
||||
void Node::ToggleVisibility()
|
||||
{
|
||||
SetVisibility(!m_display);
|
||||
}
|
||||
|
||||
glm::vec2 Node::GetPosition()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_position(*this);
|
||||
}
|
||||
|
||||
float Node::GetWidth()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_width(*this);
|
||||
}
|
||||
|
||||
float Node::GetHeight()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_height(*this);
|
||||
}
|
||||
|
||||
glm::vec2 Node::GetSize()
|
||||
{
|
||||
return{ GetWidth(), GetHeight() };
|
||||
}
|
||||
|
||||
YGDirection Node::GetRTL()
|
||||
{
|
||||
return pp::panopainter::legacy_ui_node_get_rtl(*this);
|
||||
}
|
||||
|
||||
void Node::parse_attributes(kAttribute ka, const tinyxml2::XMLAttribute* attr)
|
||||
{
|
||||
pp::panopainter::parse_legacy_ui_node_attribute(*this, ka, attr);
|
||||
|
||||
Reference in New Issue
Block a user