Merge pull request #73492 from akien-mga/remove-unexposed-ProxyTexture
Remove unexposed ProxyTexture, mark AnimatedTexture as deprecated
This commit is contained in:
commit
b51290383f
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<class name="AnimatedTexture" inherits="Texture2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
||||
<class name="AnimatedTexture" inherits="Texture2D" is_deprecated="true" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
||||
<brief_description>
|
||||
Proxy texture for simple frame-based animations.
|
||||
</brief_description>
|
||||
|
@ -8,6 +8,7 @@
|
|||
The playback of the animation is controlled by the [member speed_scale] property, as well as each frame's duration (see [method set_frame_duration]). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame.
|
||||
[AnimatedTexture] currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one.
|
||||
[b]Note:[/b] AnimatedTexture doesn't support using [AtlasTexture]s. Each frame needs to be a separate [Texture2D].
|
||||
[b]Warning:[/b] AnimatedTexture is deprecated, and might be removed in a future release. Its current implementation is not efficient for the modern renderers.
|
||||
</description>
|
||||
<tutorials>
|
||||
</tutorials>
|
||||
|
|
|
@ -2566,73 +2566,6 @@ void GradientTexture2D::_bind_methods() {
|
|||
|
||||
//////////////////////////////////////
|
||||
|
||||
void ProxyTexture::set_base(const Ref<Texture2D> &p_texture) {
|
||||
ERR_FAIL_COND(p_texture == this);
|
||||
|
||||
base = p_texture;
|
||||
if (base.is_valid()) {
|
||||
ERR_FAIL_NULL(RenderingServer::get_singleton());
|
||||
if (proxy_ph.is_valid()) {
|
||||
RS::get_singleton()->texture_proxy_update(proxy, base->get_rid());
|
||||
RS::get_singleton()->free(proxy_ph);
|
||||
proxy_ph = RID();
|
||||
} else if (proxy.is_valid()) {
|
||||
RS::get_singleton()->texture_proxy_update(proxy, base->get_rid());
|
||||
} else {
|
||||
proxy = RS::get_singleton()->texture_proxy_create(base->get_rid());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ref<Texture2D> ProxyTexture::get_base() const {
|
||||
return base;
|
||||
}
|
||||
|
||||
int ProxyTexture::get_width() const {
|
||||
if (base.is_valid()) {
|
||||
return base->get_width();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
int ProxyTexture::get_height() const {
|
||||
if (base.is_valid()) {
|
||||
return base->get_height();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
RID ProxyTexture::get_rid() const {
|
||||
if (proxy.is_null()) {
|
||||
proxy_ph = RS::get_singleton()->texture_2d_placeholder_create();
|
||||
proxy = RS::get_singleton()->texture_proxy_create(proxy_ph);
|
||||
}
|
||||
return proxy;
|
||||
}
|
||||
|
||||
bool ProxyTexture::has_alpha() const {
|
||||
if (base.is_valid()) {
|
||||
return base->has_alpha();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
ProxyTexture::ProxyTexture() {
|
||||
//proxy = RS::get_singleton()->texture_create();
|
||||
}
|
||||
|
||||
ProxyTexture::~ProxyTexture() {
|
||||
ERR_FAIL_NULL(RenderingServer::get_singleton());
|
||||
if (proxy_ph.is_valid()) {
|
||||
RS::get_singleton()->free(proxy_ph);
|
||||
}
|
||||
if (proxy.is_valid()) {
|
||||
RS::get_singleton()->free(proxy);
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////
|
||||
|
||||
void AnimatedTexture::_update_proxy() {
|
||||
RWLockRead r(rw_lock);
|
||||
|
||||
|
|
|
@ -892,29 +892,6 @@ public:
|
|||
VARIANT_ENUM_CAST(GradientTexture2D::Fill);
|
||||
VARIANT_ENUM_CAST(GradientTexture2D::Repeat);
|
||||
|
||||
class ProxyTexture : public Texture2D {
|
||||
private:
|
||||
mutable RID proxy_ph;
|
||||
mutable RID proxy;
|
||||
Ref<Texture2D> base;
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
||||
public:
|
||||
void set_base(const Ref<Texture2D> &p_texture);
|
||||
Ref<Texture2D> get_base() const;
|
||||
|
||||
virtual int get_width() const override;
|
||||
virtual int get_height() const override;
|
||||
virtual RID get_rid() const override;
|
||||
|
||||
virtual bool has_alpha() const override;
|
||||
|
||||
ProxyTexture();
|
||||
~ProxyTexture();
|
||||
};
|
||||
|
||||
class AnimatedTexture : public Texture2D {
|
||||
GDCLASS(AnimatedTexture, Texture2D);
|
||||
|
||||
|
|
Loading…
Reference in New Issue