mirror of
https://github.com/Relintai/pandemonium_engine_minimal.git
synced 2024-11-10 20:12:10 +01:00
96 lines
1.9 KiB
C++
96 lines
1.9 KiB
C++
#ifndef CANVAS_LAYER_H
|
|
#define CANVAS_LAYER_H
|
|
|
|
/* canvas_layer.h */
|
|
|
|
|
|
#include "scene/main/node.h"
|
|
|
|
class Viewport;
|
|
|
|
class CanvasLayer : public Node {
|
|
GDCLASS(CanvasLayer, Node);
|
|
|
|
bool locrotscale_dirty;
|
|
Vector2 ofs;
|
|
Size2 scale;
|
|
real_t rot;
|
|
int layer;
|
|
Transform2D transform;
|
|
RID canvas;
|
|
|
|
ObjectID custom_viewport_id; // to check validity
|
|
Viewport *custom_viewport;
|
|
|
|
RID viewport;
|
|
Viewport *vp;
|
|
|
|
int sort_index;
|
|
bool visible;
|
|
|
|
bool follow_viewport;
|
|
float follow_viewport_scale;
|
|
|
|
void _update_xform();
|
|
void _update_locrotscale();
|
|
void _update_follow_viewport(bool p_force_exit = false);
|
|
|
|
protected:
|
|
void _notification(int p_what);
|
|
static void _bind_methods();
|
|
|
|
public:
|
|
void update_draw_order();
|
|
|
|
void set_layer(int p_xform);
|
|
int get_layer() const;
|
|
|
|
void set_visible(bool p_visible);
|
|
bool is_visible() const;
|
|
void show();
|
|
void hide();
|
|
|
|
void set_transform(const Transform2D &p_xform);
|
|
Transform2D get_transform() const;
|
|
Transform2D get_final_transform() const;
|
|
|
|
void set_offset(const Vector2 &p_offset);
|
|
Vector2 get_offset() const;
|
|
|
|
void set_rotation(real_t p_radians);
|
|
real_t get_rotation() const;
|
|
|
|
void set_rotation_degrees(real_t p_degrees);
|
|
real_t get_rotation_degrees() const;
|
|
|
|
void set_scale(const Size2 &p_scale);
|
|
Size2 get_scale() const;
|
|
|
|
Size2 get_viewport_size() const;
|
|
|
|
RID get_viewport() const;
|
|
|
|
void set_custom_viewport(Node *p_viewport);
|
|
Node *get_custom_viewport() const;
|
|
|
|
void reset_sort_index();
|
|
int get_sort_index();
|
|
|
|
void set_follow_viewport(bool p_enable);
|
|
bool is_following_viewport() const;
|
|
|
|
void set_follow_viewport_scale(float p_ratio);
|
|
float get_follow_viewport_scale() const;
|
|
|
|
RID get_canvas() const;
|
|
|
|
#ifdef TOOLS_ENABLED
|
|
StringName get_property_store_alias(const StringName &p_property) const;
|
|
#endif
|
|
|
|
CanvasLayer();
|
|
~CanvasLayer();
|
|
};
|
|
|
|
#endif // CANVAS_LAYER_H
|