Debug Draw 3D 1.7.1
Draw 3D debug graphics and 2D overlays with this add-on.
Loading...
Searching...
No Matches
config_2d.h
1#pragma once
2
3#include "common/colors.h"
4#include "utils/compiler.h"
5#include "utils/native_api_hooks.h"
6
7#include <functional>
8
9GODOT_WARNING_DISABLE()
10#include <godot_cpp/classes/font.hpp>
11#include <godot_cpp/classes/ref_counted.hpp>
12GODOT_WARNING_RESTORE()
13using namespace godot;
14
21NAPI_CLASS_REF class DebugDraw2DConfig : public RefCounted {
22 GDCLASS(DebugDraw2DConfig, RefCounted)
23
24public:
28 NAPI_ENUM enum BlockPosition : uint32_t {
29 POSITION_LEFT_TOP,
30 POSITION_RIGHT_TOP,
31 POSITION_LEFT_BOTTOM,
32 POSITION_RIGHT_BOTTOM,
33 };
34
35private:
36#pragma region Exposed Parameter Values
37
39 void mark_canvas_dirty();
40
41 // TEXT
42 BlockPosition text_block_position = BlockPosition::POSITION_LEFT_TOP;
43 Vector2i text_block_offset = Vector2i(8, 8);
44 Vector2i text_padding = Vector2i(3, 1);
45 real_t text_default_duration = 0.5f;
46 int text_default_size = 12;
47 Color text_foreground_color = Colors::white;
48 Color text_background_color = Colors::gray_bg;
49 Ref<Font> text_custom_font = nullptr;
50
51#pragma endregion // Exposed Parameter Values
52
53 std::function<void()> mark_dirty_func = nullptr;
54
55protected:
57 static void _bind_methods();
58
59public:
62
64 void register_config(std::function<void()> p_mark_dirty);
66 void unregister_config();
67
72 NAPI DebugDraw2DConfig::BlockPosition get_text_block_position() const;
73
77 NAPI void set_text_block_offset(const godot::Vector2i &_offset);
78 NAPI godot::Vector2i get_text_block_offset() const;
79
83 NAPI void set_text_padding(const godot::Vector2i &_padding);
84 NAPI godot::Vector2i get_text_padding() const;
85
89 NAPI void set_text_default_duration(const real_t &_duration);
90 NAPI real_t get_text_default_duration() const;
91
95 NAPI void set_text_default_size(const int &_size);
96 NAPI int get_text_default_size() const;
97
101 NAPI void set_text_foreground_color(const godot::Color &_new_color);
102 NAPI godot::Color get_text_foreground_color() const;
103
107 NAPI void set_text_background_color(const godot::Color &_new_color);
108 NAPI godot::Color get_text_background_color() const;
109
113 NAPI void set_text_custom_font(const Ref<godot::Font> &_custom_font);
114 NAPI Ref<godot::Font> get_text_custom_font() const;
115};
116
117VARIANT_ENUM_CAST(DebugDraw2DConfig::BlockPosition);
This is a class for storing part of the DebugDraw2D configuration.
Definition config_2d.h:21
NAPI void set_text_default_size(const int &_size)
NAPI void set_text_background_color(const godot::Color &_new_color)
NAPI void set_text_block_offset(const godot::Vector2i &_offset)
NAPI void set_text_custom_font(const Ref< godot::Font > &_custom_font)
BlockPosition
Definition config_2d.h:28
NAPI void set_text_foreground_color(const godot::Color &_new_color)
NAPI void set_text_block_position(DebugDraw2DConfig::BlockPosition _position)
NAPI void set_text_default_duration(const real_t &_duration)
NAPI void set_text_padding(const godot::Vector2i &_padding)