PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
This commit is contained in:
committed by
Juan Linietsky
parent
fb8c93c10b
commit
3205a92ad8
@@ -39,19 +39,19 @@
|
||||
Error ImageLoaderPNG::load_image(Ref<Image> p_image, FileAccess *f, bool p_force_linear, float p_scale) {
|
||||
|
||||
const size_t buffer_size = f->get_len();
|
||||
PoolVector<uint8_t> file_buffer;
|
||||
Vector<uint8_t> file_buffer;
|
||||
Error err = file_buffer.resize(buffer_size);
|
||||
if (err) {
|
||||
f->close();
|
||||
return err;
|
||||
}
|
||||
{
|
||||
PoolVector<uint8_t>::Write writer = file_buffer.write();
|
||||
f->get_buffer(writer.ptr(), buffer_size);
|
||||
uint8_t *writer = file_buffer.ptrw();
|
||||
f->get_buffer(writer, buffer_size);
|
||||
f->close();
|
||||
}
|
||||
PoolVector<uint8_t>::Read reader = file_buffer.read();
|
||||
return PNGDriverCommon::png_to_image(reader.ptr(), buffer_size, p_image);
|
||||
const uint8_t *reader = file_buffer.ptr();
|
||||
return PNGDriverCommon::png_to_image(reader, buffer_size, p_image);
|
||||
}
|
||||
|
||||
void ImageLoaderPNG::get_recognized_extensions(List<String> *p_extensions) const {
|
||||
@@ -70,34 +70,34 @@ Ref<Image> ImageLoaderPNG::load_mem_png(const uint8_t *p_png, int p_size) {
|
||||
return img;
|
||||
}
|
||||
|
||||
Ref<Image> ImageLoaderPNG::lossless_unpack_png(const PoolVector<uint8_t> &p_data) {
|
||||
Ref<Image> ImageLoaderPNG::lossless_unpack_png(const Vector<uint8_t> &p_data) {
|
||||
|
||||
const int len = p_data.size();
|
||||
ERR_FAIL_COND_V(len < 4, Ref<Image>());
|
||||
PoolVector<uint8_t>::Read r = p_data.read();
|
||||
const uint8_t *r = p_data.ptr();
|
||||
ERR_FAIL_COND_V(r[0] != 'P' || r[1] != 'N' || r[2] != 'G' || r[3] != ' ', Ref<Image>());
|
||||
return load_mem_png(&r[4], len - 4);
|
||||
}
|
||||
|
||||
PoolVector<uint8_t> ImageLoaderPNG::lossless_pack_png(const Ref<Image> &p_image) {
|
||||
Vector<uint8_t> ImageLoaderPNG::lossless_pack_png(const Ref<Image> &p_image) {
|
||||
|
||||
PoolVector<uint8_t> out_buffer;
|
||||
Vector<uint8_t> out_buffer;
|
||||
|
||||
// add Godot's own "PNG " prefix
|
||||
if (out_buffer.resize(4) != OK) {
|
||||
ERR_FAIL_V(PoolVector<uint8_t>());
|
||||
ERR_FAIL_V(Vector<uint8_t>());
|
||||
}
|
||||
|
||||
// scope for writer lifetime
|
||||
{
|
||||
// must be closed before call to image_to_png
|
||||
PoolVector<uint8_t>::Write writer = out_buffer.write();
|
||||
copymem(writer.ptr(), "PNG ", 4);
|
||||
uint8_t *writer = out_buffer.ptrw();
|
||||
copymem(writer, "PNG ", 4);
|
||||
}
|
||||
|
||||
Error err = PNGDriverCommon::image_to_png(p_image, out_buffer);
|
||||
if (err) {
|
||||
ERR_FAIL_V(PoolVector<uint8_t>());
|
||||
ERR_FAIL_V(Vector<uint8_t>());
|
||||
}
|
||||
|
||||
return out_buffer;
|
||||
|
||||
Reference in New Issue
Block a user