void Texture::load (const TextureData::ptr& data) { if (this->data != NULL && data->isManaged() != this->data->isManaged()) { Gdx::app->error("Texture.cpp", "New data must have the same managed status as the old data"); } this->data = data; if (data->getType() == TextureData::TextureDataType::Pixmap) { Pixmap::ptr pixmap = data->getPixmap(); uploadImageData(pixmap); if (data->disposePixmap()) pixmap->dispose(); setFilter(minFilter, magFilter); setWrap(uWrap, vWrap); } if (data->getType() == TextureData::TextureDataType::Compressed) { Gdx::gl->glBindTexture(GL_TEXTURE_2D, glHandle); data->uploadCompressedData(); setFilter(minFilter, magFilter); setWrap(uWrap, vWrap); } }