Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #pragma once
00024
00025 #import <UIKit/UIKit.h>
00026
00027 #include "cinder/gl/gl.h"
00028 #include "cinder/app/AppCocoaTouch.h"
00029 #include "cinder/app/Renderer.h"
00030
00031 #include <map>
00032
00033 @protocol CinderViewCocoaTouchDelegate
00034 @required
00035 - (void)resize;
00036 - (void)draw;
00037 - (void)mouseDown:(cinder::app::MouseEvent*)event;
00038 - (void)mouseDrag:(cinder::app::MouseEvent*)event;
00039 - (void)mouseUp:(cinder::app::MouseEvent*)event;
00040 - (void)keyDown:(cinder::app::KeyEvent*)event;
00041 - (void)setKeyboardString:(const std::string *)keyboardString;
00042 - (void)touchesBegan:(cinder::app::TouchEvent*)event;
00043 - (void)touchesMoved:(cinder::app::TouchEvent*)event;
00044 - (void)touchesEnded:(cinder::app::TouchEvent*)event;
00045 - (cinder::app::WindowRef)getWindowRef;
00046 @end
00047
00048
00049 @interface CinderViewCocoaTouch : UIView <UIKeyInput, UITextFieldDelegate>
00050 {
00051 ci::app::AppCocoaTouch *mApp;
00052 id<CinderViewCocoaTouchDelegate> mDelegate;
00053
00054 ci::app::RendererRef mRenderer;
00055 std::map<UITouch*,uint32_t> mTouchIdMap;
00056 std::vector<cinder::app::TouchEvent::Touch> mActiveTouches;
00057
00058 UITextField *mKeyboardTextField;
00059 BOOL mKeyboardVisible;
00060 NSMutableString *mKeyboardString;
00061 }
00062
00063 - (id)initWithFrame:(CGRect)frame app:(cinder::app::AppCocoaTouch*)app renderer:(cinder::app::RendererRef)renderer sharedRenderer:(cinder::app::RendererRef)sharedRenderer contentScale:(float)contentScale;
00064 - (void)setDelegate:(id<CinderViewCocoaTouchDelegate>)delegate;
00065 - (ci::app::RendererRef)getRenderer;
00066
00067 - (void)drawView;
00068
00069 - (uint32_t)addTouchToMap:(UITouch*)touch;
00070 - (void)removeTouchFromMap:(UITouch*)touch;
00071 - (uint32_t)findTouchInMap:(UITouch*)touch;
00072 - (void)updateActiveTouches;
00073 - (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event;
00074 - (const std::vector<cinder::app::TouchEvent::Touch>&)getActiveTouches;
00075
00076
00077 - (void)showKeyboard;
00078 - (void)hideKeyboard;
00079
00080 @end