Line data Source code
1 0 : /* 2 : 3 : OOConcreteTexture.h 4 : 5 : Standard implementation of OOTexture. This is an implementation detail, use 6 : OOTexture instead. 7 : 8 : 9 : Copyright (C) 2007-2013 Jens Ayton and contributors 10 : 11 : Permission is hereby granted, free of charge, to any person obtaining a copy 12 : of this software and associated documentation files (the "Software"), to deal 13 : in the Software without restriction, including without limitation the rights 14 : to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 : copies of the Software, and to permit persons to whom the Software is 16 : furnished to do so, subject to the following conditions: 17 : 18 : The above copyright notice and this permission notice shall be included in all 19 : copies or substantial portions of the Software. 20 : 21 : THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 : IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 : FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 : AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 : LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 : OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 27 : SOFTWARE. 28 : 29 : */ 30 : 31 : #import "OOTexture.h" 32 : 33 : 34 0 : #define OOTEXTURE_RELOADABLE 1 35 : 36 : 37 0 : @interface OOConcreteTexture: OOTexture 38 : { 39 : @private 40 : #if OOTEXTURE_RELOADABLE 41 0 : NSString *_path; 42 : #endif 43 0 : NSString *_key; 44 0 : uint8_t _loaded: 1, 45 0 : _uploaded: 1, 46 : #if GL_EXT_texture_rectangle 47 : _isRectTexture: 1, 48 : #endif 49 : #if OO_TEXTURE_CUBE_MAP 50 : _isCubeMap: 1, 51 : #endif 52 0 : _valid: 1; 53 0 : uint8_t _mipLevels; 54 : 55 0 : OOTextureLoader *_loader; 56 : 57 0 : void *_bytes; 58 0 : GLuint _textureName; 59 0 : uint32_t _width, 60 0 : _height, 61 0 : _originalWidth, 62 0 : _originalHeight; 63 : 64 0 : OOTextureDataFormat _format; 65 0 : uint32_t _options; 66 : #if GL_EXT_texture_lod_bias 67 : GLfloat _lodBias; 68 : #endif 69 : #if GL_EXT_texture_filter_anisotropic 70 : float _anisotropy; 71 : #endif 72 : 73 : #ifndef NDEBUG 74 0 : NSString *_name; 75 : #endif 76 : } 77 : 78 0 : - (id) initWithLoader:(OOTextureLoader *)loader 79 : key:(NSString *)key 80 : options:(uint32_t)options 81 : anisotropy:(GLfloat)anisotropy 82 : lodBias:(GLfloat)lodBias; 83 : 84 0 : - (id)initWithPath:(NSString *)path 85 : key:(NSString *)key 86 : options:(uint32_t)options 87 : anisotropy:(float)anisotropy 88 : lodBias:(GLfloat)lodBias; 89 : 90 : @end