149457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian/* 249457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * Copyright 2013 The Android Open Source Project 349457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * 449457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * Licensed under the Apache License, Version 2.0 (the "License"); 549457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * you may not use this file except in compliance with the License. 649457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * You may obtain a copy of the License at 749457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * 849457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * http://www.apache.org/licenses/LICENSE-2.0 949457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * 1049457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * Unless required by applicable law or agreed to in writing, software 1149457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * distributed under the License is distributed on an "AS IS" BASIS, 1249457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1349457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * See the License for the specific language governing permissions and 1449457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian * limitations under the License. 1549457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian */ 1649457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 1749457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian#include <string.h> 1849457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 1949457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian#include "Texture.h" 2049457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 2149457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopiannamespace android { 2249457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 2349457ac092071a8f964f7f69156093657ccdc3d0Mathias AgopianTexture::Texture() : 2449457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mTextureName(0), mTextureTarget(TEXTURE_2D), 2549457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mWidth(0), mHeight(0), mFiltering(false) { 2649457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 2749457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 2849457ac092071a8f964f7f69156093657ccdc3d0Mathias AgopianTexture::Texture(Target textureTarget, uint32_t textureName) : 2949457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mTextureName(textureName), mTextureTarget(textureTarget), 3049457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mWidth(0), mHeight(0), mFiltering(false) { 3149457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 3249457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 3349457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopianvoid Texture::init(Target textureTarget, uint32_t textureName) { 3449457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mTextureName = textureName; 3549457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mTextureTarget = textureTarget; 3649457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 3749457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 3849457ac092071a8f964f7f69156093657ccdc3d0Mathias AgopianTexture::~Texture() { 3949457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 4049457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 4149457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 4249457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopianvoid Texture::setMatrix(float const* matrix) { 43a8c386f1c36e916c1df18d41a22104d655a89817Mathias Agopian mTextureMatrix = mat4(matrix); 4449457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 4549457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 4649457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopianvoid Texture::setFiltering(bool enabled) { 4749457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mFiltering = enabled; 4849457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 4949457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 5049457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopianvoid Texture::setDimensions(size_t width, size_t height) { 5149457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mWidth = width; 5249457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian mHeight = height; 5349457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 5449457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 5549457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopianuint32_t Texture::getTextureName() const { 5649457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian return mTextureName; 5749457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 5849457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 5949457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopianuint32_t Texture::getTextureTarget() const { 6049457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian return mTextureTarget; 6149457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 6249457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 63a8c386f1c36e916c1df18d41a22104d655a89817Mathias Agopianconst mat4& Texture::getMatrix() const { 6449457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian return mTextureMatrix; 6549457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 6649457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 6749457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopianbool Texture::getFiltering() const { 6849457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian return mFiltering; 6949457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 7049457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 7149457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopiansize_t Texture::getWidth() const { 7249457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian return mWidth; 7349457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 7449457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 7549457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopiansize_t Texture::getHeight() const { 7649457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian return mHeight; 7749457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} 7849457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian 7949457ac092071a8f964f7f69156093657ccdc3d0Mathias Agopian} /* namespace android */ 80