59class DebugDraw3DScopeConfig : public RefCounted {
60 GDCLASS(DebugDraw3DScopeConfig, RefCounted)
64 static void _bind_methods();
70 using unregister_func = std::function<void(
const uint64_t &,
const uint64_t &)>;
71 unregister_func unregister_action;
75 struct DebugContainerDependent {
76 Viewport *viewport =
nullptr;
77 uint64_t viewport_id = 0;
78 bool no_depth_test =
false;
85 real_t center_brightness;
88 Color text_outline_color;
89 uint32_t text_outline_color_hash;
90 int32_t text_outline_size;
92 DebugContainerDependent dcd;
95 Data(
const Data *parent);
98 std::shared_ptr<Data> data =
nullptr;
102 void _manual_unregister();
110 real_t get_thickness()
const;
118 real_t get_center_brightness()
const;
126 bool is_hd_sphere()
const;
134 real_t get_plane_size()
const;
145 Color get_text_outline_color()
const;
156 int32_t get_text_outline_size()
const;
167 Ref<Font> get_text_font()
const;
180 Viewport *get_viewport()
const;
191 bool is_no_depth_test()
const;
194 DebugDraw3DScopeConfig();
198 DebugDraw3DScopeConfig(
const uint64_t &p_thread_id,
const uint64_t &p_guard_id,
const DebugDraw3DScopeConfig::Data *p_parent,
const unregister_func p_unreg);
199 ~DebugDraw3DScopeConfig();