summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2019-02-24 21:44:00 +0100
committerPedro J. Estébanez <pedrojrulez@gmail.com>2019-03-20 20:44:43 +0100
commit4db0f51b9aa76cfc7649787fe1970af606ce8dab (patch)
treef7d94d81e8de8bde54db97aebbe858d2663cc340 /core
parentfb37284c027b494ed3ec21124001fcb729f42cc4 (diff)
Create live view dock [wip]
Diffstat (limited to 'core')
-rw-r--r--core/script_debugger_remote.cpp16
-rw-r--r--core/script_debugger_remote.h5
-rw-r--r--core/script_language.h3
3 files changed, 24 insertions, 0 deletions
diff --git a/core/script_debugger_remote.cpp b/core/script_debugger_remote.cpp
index e7ff7a3aef..ad7a49451f 100644
--- a/core/script_debugger_remote.cpp
+++ b/core/script_debugger_remote.cpp
@@ -282,6 +282,11 @@ void ScriptDebuggerRemote::debug(ScriptLanguage *p_script, bool p_can_continue)
if (request_scene_tree)
request_scene_tree(request_scene_tree_ud);
+ } else if (command == "request_framebuffer") {
+
+ if (request_framebuffer)
+ request_framebuffer(request_framebuffer_ud);
+
} else if (command == "request_video_mem") {
_send_video_memory();
@@ -708,6 +713,10 @@ void ScriptDebuggerRemote::_poll_events() {
if (request_scene_tree)
request_scene_tree(request_scene_tree_ud);
+ } else if (command == "request_framebuffer") {
+
+ if (request_framebuffer)
+ request_framebuffer(request_framebuffer_ud);
} else if (command == "request_video_mem") {
_send_video_memory();
@@ -1009,6 +1018,12 @@ void ScriptDebuggerRemote::set_request_scene_tree_message_func(RequestSceneTreeM
request_scene_tree_ud = p_udata;
}
+void ScriptDebuggerRemote::set_request_framebuffer_message_func(RequestFramebufferMessageFunc p_func, void *p_udata) {
+
+ request_framebuffer = p_func;
+ request_framebuffer_ud = p_udata;
+}
+
void ScriptDebuggerRemote::set_live_edit_funcs(LiveEditFuncs *p_funcs) {
live_edit_funcs = p_funcs;
@@ -1079,6 +1094,7 @@ ScriptDebuggerRemote::ScriptDebuggerRemote() :
locking(false),
poll_every(0),
request_scene_tree(NULL),
+ request_framebuffer(NULL),
live_edit_funcs(NULL) {
packet_peer_stream->set_stream_peer(tcp_client);
diff --git a/core/script_debugger_remote.h b/core/script_debugger_remote.h
index 1fc9d7c7f1..bf122abc67 100644
--- a/core/script_debugger_remote.h
+++ b/core/script_debugger_remote.h
@@ -113,6 +113,9 @@ class ScriptDebuggerRemote : public ScriptDebugger {
RequestSceneTreeMessageFunc request_scene_tree;
void *request_scene_tree_ud;
+ RequestFramebufferMessageFunc request_framebuffer;
+ void *request_framebuffer_ud;
+
void _set_object_property(ObjectID p_id, const String &p_property, const Variant &p_value);
void _send_object_id(ObjectID p_id);
@@ -165,6 +168,8 @@ public:
virtual void set_request_scene_tree_message_func(RequestSceneTreeMessageFunc p_func, void *p_udata);
virtual void set_live_edit_funcs(LiveEditFuncs *p_funcs);
+ virtual void set_request_framebuffer_message_func(RequestFramebufferMessageFunc p_func, void *p_udata);
+
virtual bool is_profiling() const;
virtual void add_profiling_frame_data(const StringName &p_name, const Array &p_data);
diff --git a/core/script_language.h b/core/script_language.h
index b6d7bea9c7..704830d0b0 100644
--- a/core/script_language.h
+++ b/core/script_language.h
@@ -390,6 +390,7 @@ class ScriptDebugger {
public:
typedef void (*RequestSceneTreeMessageFunc)(void *);
+ typedef void (*RequestFramebufferMessageFunc)(void *);
struct LiveEditFuncs {
@@ -445,6 +446,8 @@ public:
virtual void set_request_scene_tree_message_func(RequestSceneTreeMessageFunc p_func, void *p_udata) {}
virtual void set_live_edit_funcs(LiveEditFuncs *p_funcs) {}
+ virtual void set_request_framebuffer_message_func(RequestFramebufferMessageFunc p_func, void *p_udata) {}
+
virtual bool is_profiling() const = 0;
virtual void add_profiling_frame_data(const StringName &p_name, const Array &p_data) = 0;
virtual void profiling_start() = 0;