Fixed some bugs

This commit is contained in:
Chewico 2025-06-24 20:53:13 +02:00
parent 3cc97f579f
commit dddd305f07
11 changed files with 592 additions and 428 deletions

View File

@ -67,9 +67,10 @@ Size=104,68
Collapsed=0 Collapsed=0
[Window][Test] [Window][Test]
Pos=560,275 Pos=440,24
Size=396,176 Size=385,361
Collapsed=0 Collapsed=0
DockId=0x00000005,2
[Docking][Data] [Docking][Data]
DockSpace ID=0xA1672E74 Window=0x4647B76E Pos=0,24 Size=1280,696 Split=Y Selected=0x34A4C10F DockSpace ID=0xA1672E74 Window=0x4647B76E Pos=0,24 Size=1280,696 Split=Y Selected=0x34A4C10F

View File

@ -32,9 +32,18 @@ void printFuncList(const asIScriptEngine &engine) {
if (!t) if (!t)
continue; continue;
asIScriptFunction *f = t->GetFuncdefSignature(); asIScriptFunction* func = t->GetFuncdefSignature();
if (!func || func->GetSubType())
continue;
stream << "funcdef " << f->GetDeclaration(true, false, true) << ";\n"; std::string decl = func->GetDeclaration(true, true, true);
// Detect class-scoped funcdefs by presence of "::" in the declaration
size_t scopePos = decl.find("::");
if (scopePos != std::string::npos)
continue;
stream << "funcdef " << decl << ";\n";
} }
} }
@ -89,6 +98,15 @@ void printClassTypeList(const asIScriptEngine &engine) {
stream << " {\n"; stream << " {\n";
for (int i = 0; i < t->GetChildFuncdefCount(); ++i) {
asITypeInfo* ftype = t->GetChildFuncdef(i);
asIScriptFunction* func = ftype->GetFuncdefSignature();
std::string decl = func->GetDeclaration(false, false, true);
stream << "\tfuncdef " << decl << ";\n";
}
for (int j = 0; j < t->GetFactoryCount(); ++j) { for (int j = 0; j < t->GetFactoryCount(); ++j) {
asIScriptFunction* f = t->GetFactoryByIndex(j); asIScriptFunction* f = t->GetFactoryByIndex(j);

View File

@ -1,19 +1,22 @@
#include "DeerStudio/EditorEngine/ServiceScript/ServiceScriptContext.h" #include "DeerStudio/EditorEngine/ServiceScript/ServiceScriptContext.h"
#include "DeerStudio/EditorEngine/ErrorHandle.h"
#include "DeerStudio/EditorEngine.h" #include "DeerStudio/EditorEngine.h"
#include "DeerStudio/EditorEngine/ErrorHandle.h"
#include "angelscript.h" #include "angelscript.h"
namespace Deer { namespace Deer {
namespace EditorEngine { namespace EditorEngine {
ServiceScriptContext::ServiceScriptContext(asIScriptModule* _module, ServiceScriptInfo* _info) ServiceScriptContext::ServiceScriptContext(asIScriptModule* _module,
ServiceScriptInfo* _info)
: info(_info), module(_module) { : info(_info), module(_module) {
size_t nScripts = module->GetObjectTypeCount(); size_t nScripts = module->GetObjectTypeCount();
asITypeInfo* serviceScriptType = scriptEngine->GetTypeInfoByName("ServiceScript"); asITypeInfo* serviceScriptType =
scriptEngine->GetTypeInfoByName("ServiceScript");
if (!serviceScriptType) { if (!serviceScriptType) {
DEER_EDITOR_ENGINE_ERROR("Could not load ServiceScript interface type"); DEER_EDITOR_ENGINE_ERROR(
"Could not load ServiceScript interface type");
return; return;
} }
@ -22,7 +25,8 @@ namespace Deer {
for (size_t i = 0; i < nScripts; i++) { for (size_t i = 0; i < nScripts; i++) {
asITypeInfo* info = module->GetObjectTypeByIndex(i); asITypeInfo* info = module->GetObjectTypeByIndex(i);
// If it does not implement service script we are not interested int it // If it does not implement service script we are not interested
// int it
if (!info->Implements(serviceScriptType)) if (!info->Implements(serviceScriptType))
continue; continue;
@ -50,7 +54,8 @@ namespace Deer {
o.info = nullptr; o.info = nullptr;
} }
ServiceScriptContext& ServiceScriptContext::operator=(ServiceScriptContext&& o) { ServiceScriptContext&
ServiceScriptContext::operator=(ServiceScriptContext&& o) {
if (&o != this) { if (&o != this) {
scriptServices = std::move(o.scriptServices); scriptServices = std::move(o.scriptServices);
context = o.context; context = o.context;
@ -78,7 +83,7 @@ namespace Deer {
void ServiceScriptContext::bindFunctions() { void ServiceScriptContext::bindFunctions() {
std::string ns; std::string ns;
ns = info->author + "::" + info->name +"::" + info->name; ns = info->name;
DEER_CORE_INFO(ns.c_str()); DEER_CORE_INFO(ns.c_str());
@ -89,5 +94,5 @@ namespace Deer {
scriptEngine->SetDefaultNamespace(""); scriptEngine->SetDefaultNamespace("");
} }
} } // namespace EditorEngine
} } // namespace Deer

View File

@ -4,7 +4,7 @@ class PropertiesPannel : DockPanel {
vec3 slid2; vec3 slid2;
void onRender() { void onRender() {
Entity entity = Chewico::ActiveEntity::ActiveEntity::getActiveEntity(); Entity entity = ActiveEntity::getActiveEntity();
// We don't want to change root options // We don't want to change root options
if (entity.isRoot) if (entity.isRoot)

View File

@ -21,7 +21,7 @@ class TreePannel : DockPanel {
for (int i = 0; i < entity.childs.count; i++) { for (int i = 0; i < entity.childs.count; i++) {
Entity child = entity.childs[i]; Entity child = entity.childs[i];
bool isActive = child == Chewico::ActiveEntity::ActiveEntity::getActiveEntity(); bool isActive = child == ActiveEntity::getActiveEntity();
string displayName = child.name; string displayName = child.name;
if (displayName == "") { if (displayName == "") {
@ -52,7 +52,7 @@ class TreePannel : DockPanel {
// We can't select the entity // We can't select the entity
if (UI::isItemClicked(0)) { if (UI::isItemClicked(0)) {
Chewico::ActiveEntity::ActiveEntity::setActiveEntity(entity); ActiveEntity::setActiveEntity(entity);
} }
} }

View File

@ -1,5 +1,4 @@
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -115,6 +114,7 @@ class string {
void erase(uint pos, int count = - 1); void erase(uint pos, int count = - 1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -401,7 +401,6 @@ namespace UI { void closePopup(); }
namespace UI { void dragDropSource(const string&in, any@, const string&in); } namespace UI { void dragDropSource(const string&in, any@, const string&in); }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); }
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -517,6 +516,7 @@ class string {
void erase(uint pos, int count = - 1); void erase(uint pos, int count = - 1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -802,5 +802,5 @@ namespace UI { void openPopup(const string&in, any@); }
namespace UI { void closePopup(); } namespace UI { void closePopup(); }
namespace UI { void dragDropSource(const string&in, any@, const string&in); } namespace UI { void dragDropSource(const string&in, any@, const string&in); }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); }
namespace Chewico::ActiveEntity::ActiveEntity { Entity getActiveEntity(); } namespace ActiveEntity { Entity getActiveEntity(); }
namespace Chewico::ActiveEntity::ActiveEntity { void setActiveEntity(Entity); } namespace ActiveEntity { void setActiveEntity(Entity); }

View File

@ -1,5 +1,4 @@
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -115,6 +114,7 @@ class string {
void erase(uint pos, int count = - 1); void erase(uint pos, int count = - 1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -401,7 +401,6 @@ namespace UI { void closePopup(); }
namespace UI { void dragDropSource(const string&in, any@, const string&in); } namespace UI { void dragDropSource(const string&in, any@, const string&in); }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); }
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -517,6 +516,7 @@ class string {
void erase(uint pos, int count = - 1); void erase(uint pos, int count = - 1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -802,5 +802,5 @@ namespace UI { void openPopup(const string&in, any@); }
namespace UI { void closePopup(); } namespace UI { void closePopup(); }
namespace UI { void dragDropSource(const string&in, any@, const string&in); } namespace UI { void dragDropSource(const string&in, any@, const string&in); }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); }
namespace Chewico::ActiveEntity::ActiveEntity { Entity getActiveEntity(); } namespace ActiveEntity { Entity getActiveEntity(); }
namespace Chewico::ActiveEntity::ActiveEntity { void setActiveEntity(Entity); } namespace ActiveEntity { void setActiveEntity(Entity); }

View File

@ -1,6 +1,6 @@
class Test : DockPanel { class Test : DockPanel {
void onRender() { void onRender() {
Entity ent = Chewico::ActiveEntity::ActiveEntity::getActiveEntity(); Entity ent = ActiveEntity::getActiveEntity();
UI::text("Hi"); UI::text("Hi");
UI::text(ent.name); UI::text(ent.name);

View File

@ -1,5 +1,4 @@
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -115,6 +114,7 @@ class string {
void erase(uint pos, int count = - 1); void erase(uint pos, int count = - 1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -401,7 +401,6 @@ namespace UI { void closePopup(); }
namespace UI { void dragDropSource(const string&in, any@, const string&in); } namespace UI { void dragDropSource(const string&in, any@, const string&in); }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); }
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -517,6 +516,7 @@ class string {
void erase(uint pos, int count = - 1); void erase(uint pos, int count = - 1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -802,5 +802,5 @@ namespace UI { void openPopup(const string&in, any@); }
namespace UI { void closePopup(); } namespace UI { void closePopup(); }
namespace UI { void dragDropSource(const string&in, any@, const string&in); } namespace UI { void dragDropSource(const string&in, any@, const string&in); }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); }
namespace Chewico::ActiveEntity::ActiveEntity { Entity getActiveEntity(); } namespace ActiveEntity { Entity getActiveEntity(); }
namespace Chewico::ActiveEntity::ActiveEntity { void setActiveEntity(Entity); } namespace ActiveEntity { void setActiveEntity(Entity); }

View File

@ -1,5 +1,4 @@
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -115,6 +114,7 @@ class string {
void erase(uint pos, int count = - 1); void erase(uint pos, int count = - 1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -401,7 +401,6 @@ namespace UI { void closePopup(); }
namespace UI { void dragDropSource(const string&in, any@, const string&in); } namespace UI { void dragDropSource(const string&in, any@, const string&in); }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); }
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -517,6 +516,7 @@ class string {
void erase(uint pos, int count = - 1); void erase(uint pos, int count = - 1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -802,5 +802,5 @@ namespace UI { void openPopup(const string&in, any@); }
namespace UI { void closePopup(); } namespace UI { void closePopup(); }
namespace UI { void dragDropSource(const string&in, any@, const string&in); } namespace UI { void dragDropSource(const string&in, any@, const string&in); }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); }
namespace Chewico::ActiveEntity::ActiveEntity { Entity getActiveEntity(); } namespace ActiveEntity { Entity getActiveEntity(); }
namespace Chewico::ActiveEntity::ActiveEntity { void setActiveEntity(Entity); } namespace ActiveEntity { void setActiveEntity(Entity); }

View File

@ -1,5 +1,4 @@
//This file was generated automatically //This file was generated automatically
funcdef bool T[]::less(const T&in a, const T&in b);
funcdef void ReciverFunc(any@); funcdef void ReciverFunc(any@);
funcdef void TransferFunc(any@, any@); funcdef void TransferFunc(any@, any@);
enum key { enum key {
@ -115,6 +114,7 @@ class string {
void erase(uint pos, int count = -1); void erase(uint pos, int count = -1);
} }
class array<T> { class array<T> {
funcdef bool less(const T&in a, const T&in b);
T[]@ array(int&in); T[]@ array(int&in);
T[]@ array(int&in, uint length); T[]@ array(int&in, uint length);
T[]@ array(int&in, uint length, const T&in value); T[]@ array(int&in, uint length, const T&in value);
@ -330,73 +330,213 @@ string formatFloat(double val, const string&in options = "", uint width = 0, uin
int64 parseInt(const string&in, uint base = 10, uint&out byteCount = 0); int64 parseInt(const string&in, uint base = 10, uint&out byteCount = 0);
uint64 parseUInt(const string&in, uint base = 10, uint&out byteCount = 0); uint64 parseUInt(const string&in, uint base = 10, uint&out byteCount = 0);
double parseFloat(const string&in, uint&out byteCount = 0); double parseFloat(const string&in, uint&out byteCount = 0);
namespace Engine { Entity getRoot(); } namespace Engine {
namespace UI { bool button(const string&in); } Entity getRoot();
namespace UI { bool buttonCenter(const string&in); } }
namespace UI { bool buttonEnd(const string&in); } namespace UI {
namespace UI { bool checkbox(const string&in, bool); } bool button(const string&in);
namespace UI { bool checkboxDisabled(const string&in, bool); } }
namespace UI { void drawFrameBuffer(FrameBuffer, int, int); } namespace UI {
namespace UI { void drawFrameBufferCentered(FrameBuffer, int, int); } bool buttonCenter(const string&in);
namespace UI { void drawIcon(const string&in, int); } }
namespace UI { void drawIconCentered(const string&in, int); } namespace UI {
namespace UI { bool inputText(const string&in, const string&in, string&out); } bool buttonEnd(const string&in);
namespace UI { bool isItemClicked(int); } }
namespace UI { bool isMouseDoubleClicked(int); } namespace UI {
namespace UI { float magicSlider(const string&in, float, float); } bool checkbox(const string&in, bool);
namespace UI { vec3 magicSlider3(const string&in, vec3, float); } }
namespace UI { bool menuItem(const string&in); } namespace UI {
namespace UI { void menuItemDisabled(const string&in); } bool checkboxDisabled(const string&in, bool);
namespace UI { void menuSpace(const string&in, any@, ReciverFunc@); } }
namespace UI { void sameline(); } namespace UI {
namespace UI { void separator(); } void drawFrameBuffer(FrameBuffer, int, int);
namespace UI { void space(); } }
namespace UI { void space(int, int = 10); } namespace UI {
namespace UI { void text(const string&in); } void drawFrameBufferCentered(FrameBuffer, int, int);
namespace UI { void textCenter(const string&in); } }
namespace UI { void textColor(float, float, float, const string&in); } namespace UI {
namespace UI { void textEnd(const string&in); } void drawIcon(const string&in, int);
namespace UI { void title(const string&in); } }
namespace UI { void titleCenter(const string&in); } namespace UI {
namespace UI { void titleCenterY(const string&in, int); } void drawIconCentered(const string&in, int);
namespace UI { void titleEnd(const string&in); } }
namespace UI { bool isKeyDown(key); } namespace UI {
namespace UI { bool isKeyPressed(key); } bool inputText(const string&in, const string&in, string&out);
namespace UI { bool isMouseDraggin(key); } }
namespace UI { bool isPannelActive(); } namespace UI {
namespace UI { float getMouseDragDeltaX(); } bool isItemClicked(int);
namespace UI { float getMouseDragDeltaY(); } }
namespace UI { float getMouseDeltaX(); } namespace UI {
namespace UI { float getMouseDeltaY(); } bool isMouseDoubleClicked(int);
namespace UI { int getAvailableSizeX(); } }
namespace UI { int getAvailableSizeY(); } namespace UI {
namespace UI { void disablePannelPadding(bool); } float magicSlider(const string&in, float, float);
namespace UI { int sliderInt(string&in, int, int, int); } }
namespace UI { float slider(string&in, float, float, float); } namespace UI {
namespace Engine { FrameBuffer createRGBA8FrameBuffer(const string&in, int, int); } vec3 magicSlider3(const string&in, vec3, float);
namespace Engine { FrameBuffer getFrameBuffer(const string&in); } }
namespace Engine { Environment getMainEnvironment(); } namespace UI {
namespace Engine { Environment createEnvironment(); } bool menuItem(const string&in);
namespace UI { void setupAutomaticColumns(int); } }
namespace UI { void setupColumns(int); } namespace UI {
namespace UI { void endColumns(); } void menuItemDisabled(const string&in);
namespace UI { void nextColumn(); } }
namespace Resource { int getResourceCount(ResourceType, const string&in); } namespace UI {
namespace Resource { string getResourceNameById(ResourceType, const string&in, int); } void menuSpace(const string&in, any@, ReciverFunc@);
namespace Resource { string getResourcePathById(ResourceType, const string&in, int); } }
namespace Resource { int getDirCount(ResourceType, const string&in); } namespace UI {
namespace Resource { string getDirPathById(ResourceType, const string&in, int); } void sameline();
namespace Resource { string getDirNameById(ResourceType, const string&in, int); } }
namespace Engine { void print(const string&in); } namespace UI {
namespace UI { void treeNodeLeaf(const string&in, bool); } void separator();
namespace UI { bool treeNode(const string&in, bool, any@, ReciverFunc@); } }
namespace UI { bool componentNode(const string&in, any@, ReciverFunc@); } namespace UI {
namespace UI { bool componentNode_contextMenu(const string&in, any@, ReciverFunc@, ReciverFunc@); } void space();
namespace UI { void contextItemPopup(const string&in, any@, ReciverFunc@); } }
namespace UI { void contextMenuPopup(const string&in, any@, ReciverFunc@); } namespace UI {
namespace UI { void modalPopup(const string&in, ReciverFunc@); } void space(int, int = 10);
namespace UI { void simplePopup(const string&in, ReciverFunc@); } }
namespace UI { void openPopup(const string&in, any@); } namespace UI {
namespace UI { void closePopup(); } void text(const string&in);
namespace UI { void dragDropSource(const string&in, any@, const string&in); } }
namespace UI { void dragDropTarget(const string&in, any@, TransferFunc@); } namespace UI {
void textCenter(const string&in);
}
namespace UI {
void textColor(float, float, float, const string&in);
}
namespace UI {
void textEnd(const string&in);
}
namespace UI {
void title(const string&in);
}
namespace UI {
void titleCenter(const string&in);
}
namespace UI {
void titleCenterY(const string&in, int);
}
namespace UI {
void titleEnd(const string&in);
}
namespace UI {
bool isKeyDown(key);
}
namespace UI {
bool isKeyPressed(key);
}
namespace UI {
bool isMouseDraggin(key);
}
namespace UI {
bool isPannelActive();
}
namespace UI {
float getMouseDragDeltaX();
}
namespace UI {
float getMouseDragDeltaY();
}
namespace UI {
float getMouseDeltaX();
}
namespace UI {
float getMouseDeltaY();
}
namespace UI {
int getAvailableSizeX();
}
namespace UI {
int getAvailableSizeY();
}
namespace UI {
void disablePannelPadding(bool);
}
namespace UI {
int sliderInt(string&in, int, int, int);
}
namespace UI {
float slider(string&in, float, float, float);
}
namespace Engine {
FrameBuffer createRGBA8FrameBuffer(const string&in, int, int);
}
namespace Engine {
FrameBuffer getFrameBuffer(const string&in);
}
namespace Engine {
Environment getMainEnvironment();
}
namespace Engine {
Environment createEnvironment();
}
namespace UI {
void setupAutomaticColumns(int);
}
namespace UI {
void setupColumns(int);
}
namespace UI {
void endColumns();
}
namespace UI {
void nextColumn();
}
namespace Resource {
int getResourceCount(ResourceType, const string&in);
}
namespace Resource {
string getResourceNameById(ResourceType, const string&in, int);
}
namespace Resource {
string getResourcePathById(ResourceType, const string&in, int);
}
namespace Resource {
int getDirCount(ResourceType, const string&in);
}
namespace Resource {
string getDirPathById(ResourceType, const string&in, int);
}
namespace Resource {
string getDirNameById(ResourceType, const string&in, int);
}
namespace Engine {
void print(const string&in);
}
namespace UI {
void treeNodeLeaf(const string&in, bool);
}
namespace UI {
bool treeNode(const string&in, bool, any@, ReciverFunc@);
}
namespace UI {
bool componentNode(const string&in, any@, ReciverFunc@);
}
namespace UI {
bool componentNode_contextMenu(const string&in, any@, ReciverFunc@, ReciverFunc@);
}
namespace UI {
void contextItemPopup(const string&in, any@, ReciverFunc@);
}
namespace UI {
void contextMenuPopup(const string&in, any@, ReciverFunc@);
}
namespace UI {
void modalPopup(const string&in, ReciverFunc@);
}
namespace UI {
void simplePopup(const string&in, ReciverFunc@);
}
namespace UI {
void openPopup(const string&in, any@);
}
namespace UI {
void closePopup();
}
namespace UI {
void dragDropSource(const string&in, any@, const string&in);
}
namespace UI {
void dragDropTarget(const string&in, any@, TransferFunc@);
}