Merge branch 'iss2347-keyboard-macro' of https://github.com/dumganhar/cocos2d-x into iss2347-keyboard-macro

This commit is contained in:
James Chen 2013-07-01 22:33:30 +08:00
commit 8a4eab608e
12 changed files with 989 additions and 993 deletions

View File

@ -59,6 +59,7 @@ kazmath/src/GL/mat4stack.c \
kazmath/src/GL/matrix.c \ kazmath/src/GL/matrix.c \
keypad_dispatcher/CCKeypadDelegate.cpp \ keypad_dispatcher/CCKeypadDelegate.cpp \
keypad_dispatcher/CCKeypadDispatcher.cpp \ keypad_dispatcher/CCKeypadDispatcher.cpp \
keyboard_dispatcher/CCKeyboardDispatcher.cpp \
label_nodes/CCLabelAtlas.cpp \ label_nodes/CCLabelAtlas.cpp \
label_nodes/CCLabelBMFont.cpp \ label_nodes/CCLabelBMFont.cpp \
label_nodes/CCLabelTTF.cpp \ label_nodes/CCLabelTTF.cpp \

View File

@ -64,9 +64,7 @@ THE SOFTWARE.
#include "platform/CCImage.h" #include "platform/CCImage.h"
#include "CCEGLView.h" #include "CCEGLView.h"
#include "CCConfiguration.h" #include "CCConfiguration.h"
#ifdef CC_KEYBOARD_SUPPORT
#include "keyboard_dispatcher/CCKeyboardDispatcher.h" #include "keyboard_dispatcher/CCKeyboardDispatcher.h"
#endif
/** /**
@ -154,10 +152,8 @@ bool Director::init(void)
_touchDispatcher = new TouchDispatcher(); _touchDispatcher = new TouchDispatcher();
_touchDispatcher->init(); _touchDispatcher->init();
#ifdef CC_KEYBOARD_SUPPORT
// KeyboardDispatcher // KeyboardDispatcher
_keyboardDispatcher = new KeyboardDispatcher(); _keyboardDispatcher = new KeyboardDispatcher();
#endif
// KeypadDispatcher // KeypadDispatcher
_keypadDispatcher = new KeypadDispatcher(); _keypadDispatcher = new KeypadDispatcher();
@ -185,9 +181,7 @@ Director::~Director(void)
CC_SAFE_RELEASE(_scheduler); CC_SAFE_RELEASE(_scheduler);
CC_SAFE_RELEASE(_actionManager); CC_SAFE_RELEASE(_actionManager);
CC_SAFE_RELEASE(_touchDispatcher); CC_SAFE_RELEASE(_touchDispatcher);
#ifdef CC_KEYBOARD_SUPPORT
CC_SAFE_RELEASE(_keyboardDispatcher); CC_SAFE_RELEASE(_keyboardDispatcher);
#endif
CC_SAFE_RELEASE(_keypadDispatcher); CC_SAFE_RELEASE(_keypadDispatcher);
CC_SAFE_DELETE(_accelerometer); CC_SAFE_DELETE(_accelerometer);
@ -1004,7 +998,6 @@ TouchDispatcher* Director::getTouchDispatcher()
return _touchDispatcher; return _touchDispatcher;
} }
#ifdef CC_KEYBOARD_SUPPORT
void Director::setKeyboardDispatcher(KeyboardDispatcher* pKeyboardDispatcher) void Director::setKeyboardDispatcher(KeyboardDispatcher* pKeyboardDispatcher)
{ {
CC_SAFE_RETAIN(pKeyboardDispatcher); CC_SAFE_RETAIN(pKeyboardDispatcher);
@ -1016,7 +1009,6 @@ KeyboardDispatcher* Director::getKeyboardDispatcher()
{ {
return _keyboardDispatcher; return _keyboardDispatcher;
} }
#endif
void Director::setKeypadDispatcher(KeypadDispatcher* pKeypadDispatcher) void Director::setKeypadDispatcher(KeypadDispatcher* pKeypadDispatcher)
{ {

View File

@ -71,9 +71,7 @@ class Node;
class Scheduler; class Scheduler;
class ActionManager; class ActionManager;
class TouchDispatcher; class TouchDispatcher;
#ifdef CC_KEYBOARD_SUPPORT
class KeyboardDispatcher; class KeyboardDispatcher;
#endif
class KeypadDispatcher; class KeypadDispatcher;
class Accelerometer; class Accelerometer;
@ -328,12 +326,12 @@ public:
*/ */
CC_PROPERTY(TouchDispatcher*, _touchDispatcher, TouchDispatcher); CC_PROPERTY(TouchDispatcher*, _touchDispatcher, TouchDispatcher);
#ifdef CC_KEYBOARD_SUPPORT
/** KeyboardDispatcher associated with this director /** KeyboardDispatcher associated with this director
@since v?.? @note Supported on Mac and Linux only now.
@since v3.0
*/ */
CC_PROPERTY(KeyboardDispatcher*, _keyboardDispatcher, KeyboardDispatcher); CC_PROPERTY(KeyboardDispatcher*, _keyboardDispatcher, KeyboardDispatcher);
#endif
/** KeypadDispatcher associated with this director /** KeypadDispatcher associated with this director
@since v2.0 @since v2.0
*/ */

View File

@ -33,8 +33,8 @@ NS_CC_BEGIN
// //
//------------------------------------------------------------------ //------------------------------------------------------------------
KeyboardDispatcher::KeyboardDispatcher() KeyboardDispatcher::KeyboardDispatcher()
: _keyPressDelegate(NULL) : _keyPressDelegate(nullptr)
, _keyReleaseDelegate(NULL) , _keyReleaseDelegate(nullptr)
{ {
} }

View File

@ -38,9 +38,7 @@ THE SOFTWARE.
#include "support/TransformUtils.h" #include "support/TransformUtils.h"
// extern // extern
#include "kazmath/GL/matrix.h" #include "kazmath/GL/matrix.h"
#ifdef CC_KEYBOARD_SUPPORT
#include "keyboard_dispatcher/CCKeyboardDispatcher.h" #include "keyboard_dispatcher/CCKeyboardDispatcher.h"
#endif
NS_CC_BEGIN NS_CC_BEGIN
@ -48,9 +46,7 @@ NS_CC_BEGIN
Layer::Layer() Layer::Layer()
: _touchEnabled(false) : _touchEnabled(false)
, _accelerometerEnabled(false) , _accelerometerEnabled(false)
#ifdef CC_KEYBOARD_SUPPORT
, _keyboardEnabled(false) , _keyboardEnabled(false)
#endif
, _keypadEnabled(false) , _keypadEnabled(false)
, _scriptTouchHandlerEntry(NULL) , _scriptTouchHandlerEntry(NULL)
, _scriptKeypadHandlerEntry(NULL) , _scriptKeypadHandlerEntry(NULL)
@ -279,7 +275,6 @@ void Layer::unregisterScriptAccelerateHandler(void)
CC_SAFE_RELEASE_NULL(_scriptAccelerateHandlerEntry); CC_SAFE_RELEASE_NULL(_scriptAccelerateHandlerEntry);
} }
#ifdef CC_KEYBOARD_SUPPORT
/// isKeyboardEnabled getter /// isKeyboardEnabled getter
bool Layer::isKeyboardEnabled() bool Layer::isKeyboardEnabled()
{ {
@ -300,12 +295,11 @@ void Layer::setKeyboardEnabled(bool enabled)
} }
else else
{ {
pDirector->getKeyboardDispatcher()->setKeyPressDelegate(NULL); pDirector->getKeyboardDispatcher()->setKeyPressDelegate(nullptr);
pDirector->getKeyboardDispatcher()->setKeyReleaseDelegate(NULL); pDirector->getKeyboardDispatcher()->setKeyReleaseDelegate(nullptr);
} }
} }
} }
#endif
/// isKeypadEnabled getter /// isKeypadEnabled getter
bool Layer::isKeypadEnabled() bool Layer::isKeypadEnabled()

View File

@ -134,12 +134,12 @@ public:
You can enable / disable accelerometer events with this property. You can enable / disable accelerometer events with this property.
it's new in cocos2d-x it's new in cocos2d-x
*/ */
#ifdef CC_KEYBOARD_SUPPORT
virtual bool isKeyboardEnabled(); virtual bool isKeyboardEnabled();
virtual void setKeyboardEnabled(bool value); virtual void setKeyboardEnabled(bool value);
virtual void keyPressed(int keyCode) {}; virtual void keyPressed(int keyCode) {};
virtual void keyReleased(int keyCode) {}; virtual void keyReleased(int keyCode) {};
#endif
virtual bool isKeypadEnabled(); virtual bool isKeypadEnabled();
virtual void setKeypadEnabled(bool value); virtual void setKeypadEnabled(bool value);
@ -157,9 +157,7 @@ public:
protected: protected:
bool _touchEnabled; bool _touchEnabled;
bool _accelerometerEnabled; bool _accelerometerEnabled;
#ifdef CC_KEYBOARD_SUPPORT
bool _keyboardEnabled; bool _keyboardEnabled;
#endif
bool _keypadEnabled; bool _keypadEnabled;
private: private:

View File

@ -13,9 +13,7 @@
#include "touch_dispatcher/CCTouch.h" #include "touch_dispatcher/CCTouch.h"
#include "touch_dispatcher/CCTouchDispatcher.h" #include "touch_dispatcher/CCTouchDispatcher.h"
#include "text_input_node/CCIMEDispatcher.h" #include "text_input_node/CCIMEDispatcher.h"
#ifdef CC_KEYBOARD_SUPPORT
#include "keyboard_dispatcher/CCKeyboardDispatcher.h" #include "keyboard_dispatcher/CCKeyboardDispatcher.h"
#endif
PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT = NULL; PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT = NULL;
PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT = NULL; PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT = NULL;
@ -157,7 +155,6 @@ int closeEventHandle() {
return GL_TRUE; return GL_TRUE;
} }
#ifdef CC_KEYBOARD_SUPPORT
void GLFWCALL keyboardEventHandle(int keyCode, int action) void GLFWCALL keyboardEventHandle(int keyCode, int action)
{ {
KeyboardDispatcher *kbDisp = Director::sharedDirector()->getKeyboardDispatcher(); KeyboardDispatcher *kbDisp = Director::sharedDirector()->getKeyboardDispatcher();
@ -172,7 +169,6 @@ void GLFWCALL keyboardEventHandle(int keyCode, int action)
break; break;
} }
} }
#endif
void EGLView::setFrameSize(float width, float height) void EGLView::setFrameSize(float width, float height)
{ {

View File

@ -1 +1 @@
0bfb5fd7085d3486aae4789b60c34035491f0338 d668f142f61f02f102e45e6839b7df302d545b79

View File

@ -109,6 +109,11 @@ files
"*.h" "*.h"
"*.cpp" "*.cpp"
("../keyboard_dispatcher")
[keyboard_dispatcher]
"*.h"
"*.cpp"
("../label_nodes") ("../label_nodes")
[label_nodes] [label_nodes]
"*.h" "*.h"

View File

@ -37,6 +37,7 @@ SOURCES = ../actions/CCAction.cpp \
../effects/CCGrid.cpp \ ../effects/CCGrid.cpp \
../keypad_dispatcher/CCKeypadDelegate.cpp \ ../keypad_dispatcher/CCKeypadDelegate.cpp \
../keypad_dispatcher/CCKeypadDispatcher.cpp \ ../keypad_dispatcher/CCKeypadDispatcher.cpp \
../keyboard_dispatcher/CCKeyboardDispatcher.cpp \
../label_nodes/CCLabelAtlas.cpp \ ../label_nodes/CCLabelAtlas.cpp \
../label_nodes/CCLabelBMFont.cpp \ ../label_nodes/CCLabelBMFont.cpp \
../label_nodes/CCLabelTTF.cpp \ ../label_nodes/CCLabelTTF.cpp \

View File

@ -172,6 +172,7 @@ xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir
<ClCompile Include="..\actions\CCActionProgressTimer.cpp" /> <ClCompile Include="..\actions\CCActionProgressTimer.cpp" />
<ClCompile Include="..\actions\CCActionTiledGrid.cpp" /> <ClCompile Include="..\actions\CCActionTiledGrid.cpp" />
<ClCompile Include="..\actions\CCActionTween.cpp" /> <ClCompile Include="..\actions\CCActionTween.cpp" />
<ClCompile Include="..\keyboard_dispatcher\CCKeyboardDispatcher.cpp" />
<ClCompile Include="..\label_nodes\CCLabelAtlas.cpp" /> <ClCompile Include="..\label_nodes\CCLabelAtlas.cpp" />
<ClCompile Include="..\label_nodes\CCLabelBMFont.cpp" /> <ClCompile Include="..\label_nodes\CCLabelBMFont.cpp" />
<ClCompile Include="..\label_nodes\CCLabelTTF.cpp" /> <ClCompile Include="..\label_nodes\CCLabelTTF.cpp" />
@ -312,6 +313,7 @@ xcopy /Y /Q "$(ProjectDir)..\platform\third_party\win32\libraries\*.*" "$(OutDir
<ClInclude Include="..\include\CCProtocols.h" /> <ClInclude Include="..\include\CCProtocols.h" />
<ClInclude Include="..\include\ccTypes.h" /> <ClInclude Include="..\include\ccTypes.h" />
<ClInclude Include="..\include\cocos2d.h" /> <ClInclude Include="..\include\cocos2d.h" />
<ClInclude Include="..\keyboard_dispatcher\CCKeyboardDispatcher.h" />
<ClInclude Include="..\label_nodes\CCLabelAtlas.h" /> <ClInclude Include="..\label_nodes\CCLabelAtlas.h" />
<ClInclude Include="..\label_nodes\CCLabelBMFont.h" /> <ClInclude Include="..\label_nodes\CCLabelBMFont.h" />
<ClInclude Include="..\label_nodes\CCLabelTTF.h" /> <ClInclude Include="..\label_nodes\CCLabelTTF.h" />

File diff suppressed because it is too large Load Diff