diff options
author | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2019-02-24 21:44:00 +0100 |
---|---|---|
committer | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2019-03-20 20:44:43 +0100 |
commit | 4db0f51b9aa76cfc7649787fe1970af606ce8dab (patch) | |
tree | f7d94d81e8de8bde54db97aebbe858d2663cc340 /core | |
parent | fb37284c027b494ed3ec21124001fcb729f42cc4 (diff) |
Create live view dock [wip]
Diffstat (limited to 'core')
-rw-r--r-- | core/script_debugger_remote.cpp | 16 | ||||
-rw-r--r-- | core/script_debugger_remote.h | 5 | ||||
-rw-r--r-- | core/script_language.h | 3 |
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; |