All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.badlogic.gdx.graphics.TextureRef Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright 2011 See AUTHORS file.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

package com.badlogic.gdx.graphics;

/** 

* A reference counted wrapper for a {@link Texture}. TextureRefs are managed by the {@link TextureDict}. *

* @deprecated * @author Dave Clayton */ public class TextureRef { public String Name; private int mRefCount; private Texture mTexture; /** Create a new TextureRef with the given name and texture. * @param name The texture's name, typically its filesystem path. * @param texture The texture it reference counts. */ public TextureRef (String name, Texture texture) { Name = name; mTexture = texture; mRefCount = 1; } /** Adds a reference to the texture. */ public void addRef () { mRefCount++; } /** Removes a reference to the texture. If the internal reference count reaches 0, the texture is disposed. * @return the new reference count. */ public int unload () { if (--mRefCount == 0) { mTexture.dispose(); mTexture = null; // Note: This doesn't seem the best way to do this, but it works. Re-factoring welcome :) TextureDict.removeTexture(Name); } return mRefCount; } public void dispose () { mTexture.dispose(); } /** Binds the texture in OpenGL. */ public void bind () { mTexture.bind(); } /** Gets the wrapped texture. * @return the texture. */ public Texture get () { return mTexture; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy