summaryrefslogtreecommitdiff
path: root/modules/csg/csg_gizmos.h
blob: b5e394ecad933440b37136bbfa2c6fb389cc8ef9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef CSG_GIZMOS_H
#define CSG_GIZMOS_H

#include "csg_shape.h"
#include "editor/editor_plugin.h"
#include "editor/spatial_editor_gizmos.h"

class CSGShapeSpatialGizmo : public EditorSpatialGizmo {

	GDCLASS(CSGShapeSpatialGizmo, EditorSpatialGizmo);

	CSGShape *cs;

public:
	virtual String get_handle_name(int p_idx) const;
	virtual Variant get_handle_value(int p_idx) const;
	virtual void set_handle(int p_idx, Camera *p_camera, const Point2 &p_point);
	virtual void commit_handle(int p_idx, const Variant &p_restore, bool p_cancel = false);
	void redraw();
	CSGShapeSpatialGizmo(CSGShape *p_cs = NULL);
};

class EditorPluginCSG : public EditorPlugin {
	GDCLASS(EditorPluginCSG, EditorPlugin)
public:
	virtual Ref<SpatialEditorGizmo> create_spatial_gizmo(Spatial *p_spatial);
	EditorPluginCSG(EditorNode *p_editor);
};

#endif // CSG_GIZMOS_H