/******************************************************************************* * 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.glutils; import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Pixmap.Format; import com.badlogic.gdx.graphics.TextureData; import com.badlogic.gdx.utils.GdxRuntimeException; public class PixmapTextureData implements TextureData { final Pixmap pixmap; final Format format; final boolean useMipMaps; final boolean disposePixmap; public PixmapTextureData(Pixmap pixmap, Format format, boolean useMipMaps, boolean disposePixmap) { this.pixmap = pixmap; this.format = format == null ? pixmap.getFormat() : format; this.useMipMaps = useMipMaps; this.disposePixmap = disposePixmap; } public String getFileName() { return "pixmap"; } @Override public boolean disposePixmap() { return disposePixmap; } @Override public Pixmap consumePixmap() { return pixmap; } @Override public int getWidth() { return pixmap.getWidth(); } @Override public int getHeight() { return pixmap.getHeight(); } @Override public Format getFormat() { return format; } @Override public boolean useMipMaps() { return useMipMaps; } @Override public boolean isManaged() { return false; } @Override public TextureDataType getType() { return TextureDataType.Pixmap; } @Override public void consumeCompressedData() { throw new GdxRuntimeException("This TextureData implementation does not upload data itself"); } @Override public boolean isPrepared() { return true; } @Override public void prepare() { throw new GdxRuntimeException( "prepare() must not be called on a PixmapTextureData instance as it is already prepared."); } }