mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-25 05:07:12 +01:00
Fix BackBufferCopy rect
property appearing when not relevant in inspector
The `rect` property is only effective if `copy_mode` is Rect.
This commit is contained in:
parent
3d1640eb70
commit
7d1abdb3db
@ -4,8 +4,8 @@
|
|||||||
Copies a region of the screen (or the whole screen) to a buffer so it can be accessed in your shader scripts through the [code]texture(SCREEN_TEXTURE, ...)[/code] function.
|
Copies a region of the screen (or the whole screen) to a buffer so it can be accessed in your shader scripts through the [code]texture(SCREEN_TEXTURE, ...)[/code] function.
|
||||||
</brief_description>
|
</brief_description>
|
||||||
<description>
|
<description>
|
||||||
Node for back-buffering the currently-displayed screen. The region defined in the BackBufferCopy node is buffered with the content of the screen it covers, or the entire screen according to the copy mode set. Use the [code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to access the buffer.
|
Node for back-buffering the currently-displayed screen. The region defined in the [BackBufferCopy] node is buffered with the content of the screen it covers, or the entire screen according to the copy mode set. Use the [code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to access the buffer.
|
||||||
[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), anchors and margins won't apply to child [Control]-derived nodes. This can be problematic when resizing the window. To avoid this, add [Control]-derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of adding them as children.
|
[b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), anchors and margins won't apply to child [Control]-derived nodes. This can be problematic when resizing the window. To avoid this, add [Control]-derived nodes as [i]siblings[/i] to the [BackBufferCopy] node instead of adding them as children.
|
||||||
</description>
|
</description>
|
||||||
<tutorials>
|
<tutorials>
|
||||||
</tutorials>
|
</tutorials>
|
||||||
@ -16,18 +16,18 @@
|
|||||||
Buffer mode. See [enum CopyMode] constants.
|
Buffer mode. See [enum CopyMode] constants.
|
||||||
</member>
|
</member>
|
||||||
<member name="rect" type="Rect2" setter="set_rect" getter="get_rect" default="Rect2( -100, -100, 200, 200 )">
|
<member name="rect" type="Rect2" setter="set_rect" getter="get_rect" default="Rect2( -100, -100, 200, 200 )">
|
||||||
The area covered by the BackBufferCopy. Only used if [member copy_mode] is [constant COPY_MODE_RECT].
|
The area covered by the [BackBufferCopy]. Only used if [member copy_mode] is [constant COPY_MODE_RECT].
|
||||||
</member>
|
</member>
|
||||||
</members>
|
</members>
|
||||||
<constants>
|
<constants>
|
||||||
<constant name="COPY_MODE_DISABLED" value="0" enum="CopyMode">
|
<constant name="COPY_MODE_DISABLED" value="0" enum="CopyMode">
|
||||||
Disables the buffering mode. This means the BackBufferCopy node will directly use the portion of screen it covers.
|
Disables the buffering mode. This means the [BackBufferCopy] node will directly use the portion of screen it covers.
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="COPY_MODE_RECT" value="1" enum="CopyMode">
|
<constant name="COPY_MODE_RECT" value="1" enum="CopyMode">
|
||||||
BackBufferCopy buffers a rectangular region.
|
[BackBufferCopy] buffers a rectangular region.
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="COPY_MODE_VIEWPORT" value="2" enum="CopyMode">
|
<constant name="COPY_MODE_VIEWPORT" value="2" enum="CopyMode">
|
||||||
BackBufferCopy buffers the entire screen.
|
[BackBufferCopy] buffers the entire screen.
|
||||||
</constant>
|
</constant>
|
||||||
</constants>
|
</constants>
|
||||||
</class>
|
</class>
|
||||||
|
@ -71,11 +71,19 @@ Rect2 BackBufferCopy::get_rect() const {
|
|||||||
void BackBufferCopy::set_copy_mode(CopyMode p_mode) {
|
void BackBufferCopy::set_copy_mode(CopyMode p_mode) {
|
||||||
copy_mode = p_mode;
|
copy_mode = p_mode;
|
||||||
_update_copy_mode();
|
_update_copy_mode();
|
||||||
|
_change_notify();
|
||||||
}
|
}
|
||||||
|
|
||||||
BackBufferCopy::CopyMode BackBufferCopy::get_copy_mode() const {
|
BackBufferCopy::CopyMode BackBufferCopy::get_copy_mode() const {
|
||||||
return copy_mode;
|
return copy_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BackBufferCopy::_validate_property(PropertyInfo &p_property) const {
|
||||||
|
if (copy_mode != COPY_MODE_RECT && p_property.name == "rect") {
|
||||||
|
p_property.usage = PROPERTY_USAGE_NOEDITOR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void BackBufferCopy::_bind_methods() {
|
void BackBufferCopy::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("set_rect", "rect"), &BackBufferCopy::set_rect);
|
ClassDB::bind_method(D_METHOD("set_rect", "rect"), &BackBufferCopy::set_rect);
|
||||||
ClassDB::bind_method(D_METHOD("get_rect"), &BackBufferCopy::get_rect);
|
ClassDB::bind_method(D_METHOD("get_rect"), &BackBufferCopy::get_rect);
|
||||||
|
@ -50,6 +50,7 @@ private:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
|
void _validate_property(PropertyInfo &p_property) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
|
Loading…
Reference in New Issue
Block a user