Advertisement
Guest User

LineDrawer.h

a guest
Aug 2nd, 2012
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * Smooth drawing: http://merowing.info
  3.  *
  4.  * Copyright (c) 2012 Krzysztof Zabłocki
  5.  *
  6.  * Permission is hereby granted, free of charge, to any person obtaining a copy
  7.  * of this software and associated documentation files (the "Software"), to deal
  8.  * in the Software without restriction, including without limitation the rights
  9.  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10.  * copies of the Software, and to permit persons to whom the Software is
  11.  * furnished to do so, subject to the following conditions:
  12.  *
  13.  * The above copyright notice and this permission notice shall be included in
  14.  * all copies or substantial portions of the Software.
  15.  *
  16.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19.  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20.  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21.  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  22.  * THE SOFTWARE.
  23.  *
  24.  */
  25.  
  26. #import "cocos2d.h"
  27.  
  28. typedef struct _LineVertex {
  29.     CGPoint pos;
  30.     float z;
  31.     ccColor4F color;
  32. } LineVertex;
  33.  
  34. @interface LinePoint : NSObject
  35. @property(nonatomic, assign) CGPoint pos;
  36. @property(nonatomic, assign) float width;
  37. @end
  38.  
  39. @interface LineDrawer : CCLayer
  40. {    
  41.     ccColor4F color;
  42.    
  43.     NSMutableArray *points;
  44.     NSMutableArray *velocities;
  45.     NSMutableArray *circlesPoints;
  46.    
  47.     BOOL connectingLine;
  48.     CGPoint prevC, prevD;
  49.     CGPoint prevG;
  50.     CGPoint prevI;
  51.     float overdraw;
  52.    
  53.     CCRenderTexture *renderTexture;
  54.     BOOL finishingLine;
  55.     int indexForFirstPointOnLastLine;
  56. }
  57. - (id) initWithLineColor:(ccColor3B)c;
  58.  
  59. - (void)fillLineTriangles:(LineVertex *)vertices count:(NSUInteger)count withColor:(ccColor4F)c;
  60. - (void)drawLines:(NSArray *)linePoints withColor:(ccColor4F)c;
  61.  
  62. - (void)startNewLineFrom:(CGPoint)newPoint withSize:(CGFloat)aSize;
  63. - (void)endLineAt:(CGPoint)aEndPoint withSize:(CGFloat)aSize;
  64. - (void)addPoint:(CGPoint)newPoint withSize:(CGFloat)size;
  65. - (void)removeLastLine;
  66.  
  67. @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement