Line data Source code
1 0 : /* 2 : 3 : OOPolygonSprite.h 4 : Oolite 5 : 6 : Two-dimensional polygon object for UI things such as missile icons. 7 : 8 : 9 : Copyright (C) 2009-2013 Jens Ayton 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 : 32 : #import "OOCocoa.h" 33 : #import "OOOpenGL.h" 34 : #import "OOOpenGLExtensionManager.h" 35 : 36 : 37 0 : @interface OOPolygonSprite: NSObject 38 : { 39 : @private 40 0 : GLfloat *_solidData; 41 0 : size_t _solidCount; 42 0 : GLfloat *_outlineData; 43 0 : size_t _outlineCount; 44 : 45 : #if OO_USE_VBO 46 : GLuint _solidVBO; 47 : GLuint _outlineVBO; 48 : #endif 49 : 50 : #ifndef NDEBUG 51 0 : NSString *_name; 52 : #endif 53 : } 54 : 55 : /* DataArray is either an array of pairs of numbers, or an array of such 56 : arrays (representing one or more contours). 57 : OutlineWidth is the width of the tesselated outline, in the same scale as 58 : the vertices. 59 : Name is used for debugging only. 60 : */ 61 0 : - (id) initWithDataArray:(NSArray *)dataArray outlineWidth:(GLfloat)outlineWidth name:(NSString *)name; 62 : 63 0 : - (void) drawFilled; 64 0 : - (void) drawOutline; 65 : 66 : @end 67 : 68 : 69 : #import "HeadUpDisplay.h" 70 : 71 : @interface OOPolygonSprite (OOHUDBeaconIcon) <OOHUDBeaconIcon> 72 : @end