|
cocos2d for iPhone 1.0.0
2D engine for iOS and OS X
|
00001 /* 00002 * cocos2d for iPhone: http://www.cocos2d-iphone.org 00003 * 00004 * Copyright (c) 2008-2010 Ricardo Quesada 00005 * Copyright (c) 2011 Zynga Inc. 00006 * 00007 * Permission is hereby granted, free of charge, to any person obtaining a copy 00008 * of this software and associated documentation files (the "Software"), to deal 00009 * in the Software without restriction, including without limitation the rights 00010 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00011 * copies of the Software, and to permit persons to whom the Software is 00012 * furnished to do so, subject to the following conditions: 00013 * 00014 * The above copyright notice and this permission notice shall be included in 00015 * all copies or substantial portions of the Software. 00016 * 00017 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00018 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00019 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00020 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00021 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00022 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00023 * THE SOFTWARE. 00024 * 00025 */ 00026 00027 00028 #import "CCMenuItem.h" 00029 #import "CCLayer.h" 00030 00031 typedef enum { 00032 kCCMenuStateWaiting, 00033 kCCMenuStateTrackingTouch 00034 } tCCMenuState; 00035 00036 enum { 00037 //* priority used by the menu for the touches 00038 kCCMenuTouchPriority = -128, 00039 00040 //* priority used by the menu for the mouse 00041 kCCMenuMousePriority = -128, 00042 }; 00043 00050 @interface CCMenu : CCLayer <CCRGBAProtocol> 00051 { 00052 tCCMenuState state_; 00053 CCMenuItem *selectedItem_; 00054 GLubyte opacity_; 00055 ccColor3B color_; 00056 } 00057 00059 + (id) menuWithItems: (CCMenuItem*) item, ... NS_REQUIRES_NIL_TERMINATION; 00060 00062 - (id) initWithItems: (CCMenuItem*) item vaList: (va_list) args; 00063 00065 -(void) alignItemsVertically; 00069 -(void) alignItemsVerticallyWithPadding:(float) padding; 00070 00072 -(void) alignItemsHorizontally; 00076 -(void) alignItemsHorizontallyWithPadding: (float) padding; 00077 00078 00080 -(void) alignItemsInColumns: (NSNumber *) columns, ... NS_REQUIRES_NIL_TERMINATION; 00081 -(void) alignItemsInColumns: (NSNumber *) columns vaList: (va_list) args; 00082 00084 -(void) alignItemsInRows: (NSNumber *) rows, ... NS_REQUIRES_NIL_TERMINATION; 00085 -(void) alignItemsInRows: (NSNumber *) rows vaList: (va_list) args; 00086 00087 00089 @property (nonatomic,readonly) GLubyte opacity; 00091 @property (nonatomic,readonly) ccColor3B color; 00092 00093 @end