Merge branch 'improved_glprogram' of github.com:super626/cocos2d-x into tony_improved_glprogram

This commit is contained in:
Huabing.Xu 2014-05-09 11:53:22 -07:00
commit e72633c066
26 changed files with 1040 additions and 924 deletions

File diff suppressed because it is too large Load Diff

View File

@ -813,8 +813,8 @@
29080DE5191B595E0066F8DF /* UIWidgetAddNodeTest_Editor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29080D8B191B595E0066F8DF /* UIWidgetAddNodeTest_Editor.cpp */; };
29080DE6191B595E0066F8DF /* UIWidgetAddNodeTest_Editor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29080D8B191B595E0066F8DF /* UIWidgetAddNodeTest_Editor.cpp */; };
3EA0FB5E191B92F100B170C8 /* cocosvideo.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 3EA0FB5D191B92F100B170C8 /* cocosvideo.mp4 */; };
3EA0FB64191B931500B170C8 /* UIVideoWidgetTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA0FB62191B931500B170C8 /* UIVideoWidgetTest.cpp */; };
3EA0FB66191B933000B170C8 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3EA0FB65191B933000B170C8 /* MediaPlayer.framework */; };
3EA0FB72191C844400B170C8 /* UIVideoPlayerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA0FB70191C844400B170C8 /* UIVideoPlayerTest.cpp */; };
A05FCACA177C124500BE600E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C64822165F391E007D4F18 /* Cocoa.framework */; };
A07A521E1783A1D20073F6A7 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C6482E165F399D007D4F18 /* libz.dylib */; };
A07A521F1783A1D20073F6A7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C64832165F3AFD007D4F18 /* Foundation.framework */; };
@ -1848,9 +1848,9 @@
29080D8B191B595E0066F8DF /* UIWidgetAddNodeTest_Editor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UIWidgetAddNodeTest_Editor.cpp; sourceTree = "<group>"; };
29080D8C191B595E0066F8DF /* UIWidgetAddNodeTest_Editor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIWidgetAddNodeTest_Editor.h; sourceTree = "<group>"; };
3EA0FB5D191B92F100B170C8 /* cocosvideo.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; name = cocosvideo.mp4; path = "../tests/cpp-tests/Resources/cocosvideo.mp4"; sourceTree = "<group>"; };
3EA0FB62191B931500B170C8 /* UIVideoWidgetTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UIVideoWidgetTest.cpp; sourceTree = "<group>"; };
3EA0FB63191B931500B170C8 /* UIVideoWidgetTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIVideoWidgetTest.h; sourceTree = "<group>"; };
3EA0FB65191B933000B170C8 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/MediaPlayer.framework; sourceTree = DEVELOPER_DIR; };
3EA0FB70191C844400B170C8 /* UIVideoPlayerTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UIVideoPlayerTest.cpp; sourceTree = "<group>"; };
3EA0FB71191C844400B170C8 /* UIVideoPlayerTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIVideoPlayerTest.h; sourceTree = "<group>"; };
46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = cocos2d_libs.xcodeproj; sourceTree = "<group>"; };
A035A71117822E9E00987F6C /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
A07A52291783A1D20073F6A7 /* cpp-tests iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "cpp-tests iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
@ -3471,7 +3471,7 @@
29080D1E191B595E0066F8DF /* CocoStudioGUITest */ = {
isa = PBXGroup;
children = (
3EA0FB61191B931500B170C8 /* UIVideoWidgetTest */,
3EA0FB6F191C844400B170C8 /* UIVideoPlayerTest */,
29080D1F191B595E0066F8DF /* CocosGUIScene.cpp */,
29080D20191B595E0066F8DF /* CocosGUIScene.h */,
29080D21191B595E0066F8DF /* CocoStudioGUITest.cpp */,
@ -3780,13 +3780,13 @@
name = Frameworks;
sourceTree = "<group>";
};
3EA0FB61191B931500B170C8 /* UIVideoWidgetTest */ = {
3EA0FB6F191C844400B170C8 /* UIVideoPlayerTest */ = {
isa = PBXGroup;
children = (
3EA0FB62191B931500B170C8 /* UIVideoWidgetTest.cpp */,
3EA0FB63191B931500B170C8 /* UIVideoWidgetTest.h */,
3EA0FB70191C844400B170C8 /* UIVideoPlayerTest.cpp */,
3EA0FB71191C844400B170C8 /* UIVideoPlayerTest.h */,
);
path = UIVideoWidgetTest;
path = UIVideoPlayerTest;
sourceTree = "<group>";
};
46A15F9D1807A4F8005B8026 /* Products */ = {
@ -4795,7 +4795,6 @@
1AC35B4218CECF0C00F37B72 /* QuestionContainerSprite.cpp in Sources */,
1AC35B6218CECF0C00F37B72 /* DrawPrimitivesTest.cpp in Sources */,
29080DDC191B595E0066F8DF /* UITextFieldTest.cpp in Sources */,
3EA0FB64191B931500B170C8 /* UIVideoWidgetTest.cpp in Sources */,
1AC35C1818CECF0C00F37B72 /* MotionStreakTest.cpp in Sources */,
1AC35C0618CECF0C00F37B72 /* FontTest.cpp in Sources */,
1AC35C3818CECF0C00F37B72 /* PerformanceTest.cpp in Sources */,
@ -4849,6 +4848,7 @@
1AC35C8618CECF1400F37B72 /* RootViewController.mm in Sources */,
1AC35C5C18CECF0C00F37B72 /* TileMapTest.cpp in Sources */,
29080DC2191B595E0066F8DF /* UIRichTextTest.cpp in Sources */,
3EA0FB72191C844400B170C8 /* UIVideoPlayerTest.cpp in Sources */,
1AC35B4818CECF0C00F37B72 /* Bug-899.cpp in Sources */,
1AC35C1C18CECF0C00F37B72 /* NewEventDispatcherTest.cpp in Sources */,
1AC35C2E18CECF0C00F37B72 /* PerformanceNodeChildrenTest.cpp in Sources */,

View File

@ -234,10 +234,16 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou
<ClCompile Include="..\physics\chipmunk\CCPhysicsWorldInfo_chipmunk.cpp" />
<ClCompile Include="..\renderer\CCBatchCommand.cpp" />
<ClCompile Include="..\renderer\CCCustomCommand.cpp" />
<ClCompile Include="..\renderer\CCGLProgram.cpp" />
<ClCompile Include="..\renderer\CCGLProgramState.cpp" />
<ClCompile Include="..\renderer\CCGLProgramStateCache.cpp" />
<ClCompile Include="..\renderer\ccGLStateCache.cpp" />
<ClCompile Include="..\renderer\CCGroupCommand.cpp" />
<ClCompile Include="..\renderer\CCQuadCommand.cpp" />
<ClCompile Include="..\renderer\CCRenderCommand.cpp" />
<ClCompile Include="..\renderer\CCRenderer.cpp" />
<ClCompile Include="..\renderer\CCShaderCache.cpp" />
<ClCompile Include="..\renderer\ccShaders.cpp" />
<ClCompile Include="CCAction.cpp" />
<ClCompile Include="CCActionCamera.cpp" />
<ClCompile Include="CCActionCatmullRom.cpp" />
@ -410,11 +416,39 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou
<ClInclude Include="..\physics\chipmunk\CCPhysicsWorldInfo_chipmunk.h" />
<ClInclude Include="..\renderer\CCBatchCommand.h" />
<ClInclude Include="..\renderer\CCCustomCommand.h" />
<ClInclude Include="..\renderer\CCGLProgram.h" />
<ClInclude Include="..\renderer\CCGLProgramState.h" />
<ClInclude Include="..\renderer\CCGLProgramStateCache.h" />
<ClInclude Include="..\renderer\ccGLStateCache.h" />
<ClInclude Include="..\renderer\CCGroupCommand.h" />
<ClInclude Include="..\renderer\CCQuadCommand.h" />
<ClInclude Include="..\renderer\CCRenderCommand.h" />
<ClInclude Include="..\renderer\CCRenderCommandPool.h" />
<ClInclude Include="..\renderer\CCRenderer.h" />
<ClInclude Include="..\renderer\CCShaderCache.h" />
<ClInclude Include="..\renderer\ccShaders.h" />
<ClInclude Include="..\renderer\ccShader_Label_frag_df.h" />
<ClInclude Include="..\renderer\ccShader_Label_frag_df_glow.h" />
<ClInclude Include="..\renderer\ccShader_Label_frag_normal.h" />
<ClInclude Include="..\renderer\ccShader_Label_frag_outline.h" />
<ClInclude Include="..\renderer\ccShader_Label_vert.h" />
<ClInclude Include="..\renderer\ccShader_PositionColorLengthTexture_frag.h" />
<ClInclude Include="..\renderer\ccShader_PositionColorLengthTexture_vert.h" />
<ClInclude Include="..\renderer\ccShader_PositionColor_frag.h" />
<ClInclude Include="..\renderer\ccShader_PositionColor_vert.h" />
<ClInclude Include="..\renderer\ccShader_PositionTextureA8Color_frag.h" />
<ClInclude Include="..\renderer\ccShader_PositionTextureA8Color_vert.h" />
<ClInclude Include="..\renderer\ccShader_PositionTextureColorAlphaTest_frag.h" />
<ClInclude Include="..\renderer\ccShader_PositionTextureColor_frag.h" />
<ClInclude Include="..\renderer\ccShader_PositionTextureColor_noMVP_frag.h" />
<ClInclude Include="..\renderer\ccShader_PositionTextureColor_noMVP_vert.h" />
<ClInclude Include="..\renderer\ccShader_PositionTextureColor_vert.h" />
<ClInclude Include="..\renderer\ccShader_PositionTexture_frag.h" />
<ClInclude Include="..\renderer\ccShader_PositionTexture_uColor_frag.h" />
<ClInclude Include="..\renderer\ccShader_PositionTexture_uColor_vert.h" />
<ClInclude Include="..\renderer\ccShader_PositionTexture_vert.h" />
<ClInclude Include="..\renderer\ccShader_Position_uColor_frag.h" />
<ClInclude Include="..\renderer\ccShader_Position_uColor_vert.h" />
<ClInclude Include="CCAction.h" />
<ClInclude Include="CCActionCamera.h" />
<ClInclude Include="CCActionCatmullRom.h" />

View File

@ -564,10 +564,11 @@
<ClCompile Include="..\base\CCEventListenerFocus.cpp">
<Filter>base</Filter>
</ClCompile>
<ClCompile Include="..\renderer\CCShaderCache.cpp">
<Filter>renderer</Filter>
</ClCompile>
<ClCompile Include="..\renderer\ccShaders.cpp">
<ClCompile Include="CCGLProgram.cpp" />
<ClCompile Include="ccGLStateCache.cpp" />
<ClCompile Include="CCShaderCache.cpp" />
<ClCompile Include="ccShaders.cpp" />
<ClCompile Include="..\renderer\CCGLProgramStateCache.cpp">
<Filter>renderer</Filter>
</ClCompile>
<ClCompile Include="..\renderer\CCGLProgram.cpp">
@ -579,6 +580,12 @@
<ClCompile Include="..\renderer\ccGLStateCache.cpp">
<Filter>renderer</Filter>
</ClCompile>
<ClCompile Include="..\renderer\CCShaderCache.cpp">
<Filter>renderer</Filter>
</ClCompile>
<ClCompile Include="..\renderer\ccShaders.cpp">
<Filter>renderer</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\physics\CCPhysicsBody.h">
@ -1109,6 +1116,29 @@
<ClInclude Include="..\base\CCEventListenerFocus.h">
<Filter>base</Filter>
</ClInclude>
<ClInclude Include="CCGLProgram.h" />
<ClInclude Include="ccGLStateCache.h" />
<ClInclude Include="CCShaderCache.h" />
<ClInclude Include="ccShaderEx_SwitchMask_frag.h" />
<ClInclude Include="ccShaders.h" />
<ClInclude Include="ccShader_PositionColorLengthTexture_frag.h" />
<ClInclude Include="ccShader_PositionColorLengthTexture_vert.h" />
<ClInclude Include="ccShader_PositionColor_frag.h" />
<ClInclude Include="ccShader_PositionColor_vert.h" />
<ClInclude Include="ccShader_PositionTextureA8Color_frag.h" />
<ClInclude Include="ccShader_PositionTextureA8Color_vert.h" />
<ClInclude Include="ccShader_PositionTextureColorAlphaTest_frag.h" />
<ClInclude Include="ccShader_PositionTextureColor_frag.h" />
<ClInclude Include="ccShader_PositionTextureColor_vert.h" />
<ClInclude Include="ccShader_PositionTexture_frag.h" />
<ClInclude Include="ccShader_PositionTexture_uColor_frag.h" />
<ClInclude Include="ccShader_PositionTexture_uColor_vert.h" />
<ClInclude Include="ccShader_PositionTexture_vert.h" />
<ClInclude Include="ccShader_Position_uColor_frag.h" />
<ClInclude Include="ccShader_Position_uColor_vert.h" />
<ClInclude Include="..\renderer\CCGLProgramStateCache.h">
<Filter>renderer</Filter>
</ClInclude>
<ClInclude Include="..\renderer\ccShader_Label_frag_df.h">
<Filter>renderer\Shaders</Filter>
</ClInclude>
@ -1175,12 +1205,6 @@
<ClInclude Include="..\renderer\ccShader_PositionTextureColorAlphaTest_frag.h">
<Filter>renderer\Shaders</Filter>
</ClInclude>
<ClInclude Include="..\renderer\CCShaderCache.h">
<Filter>renderer</Filter>
</ClInclude>
<ClInclude Include="..\renderer\ccShaders.h">
<Filter>renderer</Filter>
</ClInclude>
<ClInclude Include="..\renderer\CCGLProgram.h">
<Filter>renderer</Filter>
</ClInclude>
@ -1190,6 +1214,12 @@
<ClInclude Include="..\renderer\ccGLStateCache.h">
<Filter>renderer</Filter>
</ClInclude>
<ClInclude Include="..\renderer\CCShaderCache.h">
<Filter>renderer</Filter>
</ClInclude>
<ClInclude Include="..\renderer\ccShaders.h">
<Filter>renderer</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Text Include="..\math\CMakeLists.txt">

View File

@ -221,10 +221,12 @@
<ClCompile Include="..\base\CCEventAcceleration.cpp" />
<ClCompile Include="..\base\CCEventCustom.cpp" />
<ClCompile Include="..\base\CCEventDispatcher.cpp" />
<ClCompile Include="..\base\CCEventFocus.cpp" />
<ClCompile Include="..\base\CCEventKeyboard.cpp" />
<ClCompile Include="..\base\CCEventListener.cpp" />
<ClCompile Include="..\base\CCEventListenerAcceleration.cpp" />
<ClCompile Include="..\base\CCEventListenerCustom.cpp" />
<ClCompile Include="..\base\CCEventListenerFocus.cpp" />
<ClCompile Include="..\base\CCEventListenerKeyboard.cpp" />
<ClCompile Include="..\base\CCEventListenerMouse.cpp" />
<ClCompile Include="..\base\CCEventListenerTouch.cpp" />
@ -430,10 +432,12 @@
<ClInclude Include="..\base\CCEventAcceleration.h" />
<ClInclude Include="..\base\CCEventCustom.h" />
<ClInclude Include="..\base\CCEventDispatcher.h" />
<ClInclude Include="..\base\CCEventFocus.h" />
<ClInclude Include="..\base\CCEventKeyboard.h" />
<ClInclude Include="..\base\CCEventListener.h" />
<ClInclude Include="..\base\CCEventListenerAcceleration.h" />
<ClInclude Include="..\base\CCEventListenerCustom.h" />
<ClInclude Include="..\base\CCEventListenerFocus.h" />
<ClInclude Include="..\base\CCEventListenerKeyboard.h" />
<ClInclude Include="..\base\CCEventListenerMouse.h" />
<ClInclude Include="..\base\CCEventListenerTouch.h" />

View File

@ -594,6 +594,12 @@
<ClCompile Include="..\math\TransformUtils.cpp">
<Filter>math</Filter>
</ClCompile>
<ClCompile Include="..\base\CCEventFocus.cpp">
<Filter>base</Filter>
</ClCompile>
<ClCompile Include="..\base\CCEventListenerFocus.cpp">
<Filter>base</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\physics\CCPhysicsBody.h">
@ -1174,6 +1180,12 @@
<ClInclude Include="..\math\TransformUtils.h">
<Filter>math</Filter>
</ClInclude>
<ClInclude Include="..\base\CCEventFocus.h">
<Filter>base</Filter>
</ClInclude>
<ClInclude Include="..\base\CCEventListenerFocus.h">
<Filter>base</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\math\MathUtil.inl">

View File

@ -29,7 +29,7 @@ CCProtectedNode.cpp \
UIHBox.cpp \
UIVBox.cpp \
UIRelativeBox.cpp \
UIVideoWidgetAndroid.cpp
UIVideoPlayerAndroid.cpp
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \
$(LOCAL_PATH)/../editor-support

View File

@ -46,7 +46,7 @@ THE SOFTWARE.
#include "ui/UIVBox.h"
#include "ui/UIRelativeBox.h"
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#include "ui/UIVideoWidget.h"
#include "ui/UIVideoPlayer.h"
#endif
NS_CC_BEGIN

113
cocos/ui/UIVideoPlayer.h Normal file
View File

@ -0,0 +1,113 @@
/****************************************************************************
Copyright (c) 2014 Chukong Technologies Inc.
http://www.cocos2d-x.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#ifndef __COCOS2D_UI_VIDEOWEIGTH_H_
#define __COCOS2D_UI_VIDEOWEIGTH_H_
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#include "ui/UIWidget.h"
NS_CC_BEGIN
namespace experimental{
namespace ui{
class VideoPlayer : public cocos2d::ui::Widget
{
public:
enum class Event
{
PLAYING = 0,
PAUSED,
STOPPED,
COMPLETED
};
typedef std::function<void(Ref*,VideoPlayer::Event)> EventCallback;
CREATE_FUNC(VideoPlayer);
//Sets local file[support assets' file on android] as a video source for VideoPlayer
virtual void setVideoFileName(const std::string& videoPath);
virtual const std::string& getVideoFileName() const { return _videoUrl;}
//Sets network link as a video source for VideoPlayer
virtual void setVideoURL(const std::string& videoUrl);
virtual const std::string& getVideoURL() const { return _videoUrl;}
virtual void startVideo();
virtual void pauseVideo();
virtual void resumeVideo();
virtual void stopVideo();
virtual void seekVideoTo(float sec);
virtual bool isPlaying() const;
virtual void setVisible(bool visible) override;
virtual void setKeepAspectRatioEnabled(bool enable);
virtual bool isKeepAspectRatioEnabled() { return _keepAspectRatioEnabled;}
virtual void setFullScreenEnabled(bool enabled);
virtual bool isFullScreenEnabled();
virtual void setEventListener(const EventCallback& callback);
virtual void onVideoEvent(VideoPlayer::Event event);
virtual void draw(Renderer *renderer, const Matrix& transform, bool transformUpdated) override;
protected:
VideoPlayer();
virtual ~VideoPlayer();
#if CC_VIDEOPLAYER_DEBUG_DRAW
CustomCommand _customDebugDrawCommand;
void VideoPlayer::drawDebugData();
#endif
enum class VideoSource
{
FILENAME = 0,
URL
};
bool _isPlaying;
bool _fullScreenDirty;
bool _fullScreenEnabled;
bool _keepAspectRatioEnabled;
std::string _videoUrl;
VideoSource _videoSource;
int _videoPlayerIndex;
EventCallback _callback;
void* _videiView;
};
}
}
NS_CC_END
#endif
#endif

View File

@ -22,7 +22,7 @@
THE SOFTWARE.
****************************************************************************/
#include "UIVideoWidget.h"
#include "UIVideoPlayer.h"
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
#include <unordered_map>
@ -152,20 +152,20 @@ void setVideoKeepRatioEnabled(int index,bool enabled)
using namespace cocos2d::experimental::ui;
static std::unordered_map<int, VideoWidget*> s_allVideoWidgets;
static std::unordered_map<int, VideoPlayer*> s_allVideoPlayers;
VideoWidget::VideoWidget()
: _videoWidgetIndex(-1)
VideoPlayer::VideoPlayer()
: _videoPlayerIndex(-1)
, _callback(nullptr)
, _fullScreenEnabled(false)
, _fullScreenDirty(false)
, _keepAspectRatioEnabled(false)
{
_videoWidgetIndex = createVideoWidgetJNI();
s_allVideoWidgets[_videoWidgetIndex] = this;
_videoPlayerIndex = createVideoWidgetJNI();
s_allVideoPlayers[_videoPlayerIndex] = this;
auto listener = EventListenerKeyboard::create();
listener->onKeyReleased = [&](EventKeyboard::KeyCode keycode, Event* event){
listener->onKeyReleased = [&](EventKeyboard::KeyCode keycode, cocos2d::Event* event){
if (keycode == EventKeyboard::KeyCode::KEY_BACKSPACE && _fullScreenEnabled)
{
this->setFullScreenEnabled(false);
@ -175,27 +175,27 @@ VideoWidget::VideoWidget()
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
}
VideoWidget::~VideoWidget()
VideoPlayer::~VideoPlayer()
{
s_allVideoWidgets.erase(_videoWidgetIndex);
removeVideoWidgetJNI(_videoWidgetIndex);
s_allVideoPlayers.erase(_videoPlayerIndex);
removeVideoWidgetJNI(_videoPlayerIndex);
}
void VideoWidget::setVideoFileName(const std::string& fileName)
void VideoPlayer::setVideoFileName(const std::string& fileName)
{
_videoUrl = fileName;
_videoSource = VideoWidget::VideoSource::FILENAME;
setVideoURLJNI(_videoWidgetIndex, (int)VideoSource::FILENAME,_videoUrl);
_videoSource = VideoPlayer::VideoSource::FILENAME;
setVideoURLJNI(_videoPlayerIndex, (int)VideoSource::FILENAME,_videoUrl);
}
void VideoWidget::setVideoURL(const std::string& videoUrl)
void VideoPlayer::setVideoURL(const std::string& videoUrl)
{
_videoUrl = videoUrl;
_videoSource = VideoWidget::VideoSource::URL;
setVideoURLJNI(_videoWidgetIndex,(int)VideoSource::URL,_videoUrl);
_videoSource = VideoPlayer::VideoSource::URL;
setVideoURLJNI(_videoPlayerIndex,(int)VideoSource::URL,_videoUrl);
}
void VideoWidget::draw(Renderer* renderer, const Matrix &transform, bool transformUpdated)
void VideoPlayer::draw(Renderer* renderer, const Matrix &transform, bool transformUpdated)
{
cocos2d::ui::Widget::draw(renderer,transform,transformUpdated);
@ -208,7 +208,7 @@ void VideoWidget::draw(Renderer* renderer, const Matrix &transform, bool transfo
if (_fullScreenEnabled)
{
setVideoRectJNI(_videoWidgetIndex,0,0,frameSize.width,frameSize.height);
setVideoRectJNI(_videoPlayerIndex,0,0,frameSize.width,frameSize.height);
}
else
{
@ -220,20 +220,20 @@ void VideoWidget::draw(Renderer* renderer, const Matrix &transform, bool transfo
auto uiLeft = frameSize.width / 2 + (leftBottom.x - winSize.width / 2 ) * glView->getScaleX();
auto uiTop = frameSize.height /2 - (rightTop.y - winSize.height / 2) * glView->getScaleY();
setVideoRectJNI(_videoWidgetIndex,uiLeft,uiTop,
setVideoRectJNI(_videoPlayerIndex,uiLeft,uiTop,
(rightTop.x - leftBottom.x) * glView->getScaleX(),
(rightTop.y - leftBottom.y) * glView->getScaleY());
}
}
#if CC_VIDEOWIDGET_DEBUG_DRAW
#if CC_VIDEOPLAYER_DEBUG_DRAW
_customDebugDrawCommand.init(_globalZOrder);
_customDebugDrawCommand.func = CC_CALLBACK_0(VideoWidget::drawDebugData, this);
_customDebugDrawCommand.func = CC_CALLBACK_0(VideoPlayer::drawDebugData, this);
renderer->addCommand(&_customDebugDrawCommand);
#endif
}
void VideoWidget::setFullScreenEnabled(bool enabled)
void VideoPlayer::setFullScreenEnabled(bool enabled)
{
if (_fullScreenEnabled != enabled)
{
@ -242,22 +242,22 @@ void VideoWidget::setFullScreenEnabled(bool enabled)
}
}
bool VideoWidget::isFullScreenEnabled()
bool VideoPlayer::isFullScreenEnabled()
{
return _fullScreenEnabled;
}
void VideoWidget::setKeepAspectRatioEnabled(bool enable)
void VideoPlayer::setKeepAspectRatioEnabled(bool enable)
{
if (_keepAspectRatioEnabled != enable)
{
_keepAspectRatioEnabled = enable;
setVideoKeepRatioEnabled(_videoWidgetIndex,enable);
setVideoKeepRatioEnabled(_videoPlayerIndex,enable);
}
}
#if CC_VIDEOWIDGET_DEBUG_DRAW
void VideoWidget::drawDebugData()
#if CC_VIDEOPLAYER_DEBUG_DRAW
void VideoPlayer::drawDebugData()
{
Director* director = Director::getInstance();
CCASSERT(nullptr != director, "Director is null when seting matrix stack");
@ -281,69 +281,69 @@ void VideoWidget::drawDebugData()
}
#endif
void VideoWidget::startVideo()
void VideoPlayer::startVideo()
{
if (! _videoUrl.empty())
{
startVideoJNI(_videoWidgetIndex);
startVideoJNI(_videoPlayerIndex);
}
}
void VideoWidget::pauseVideo()
void VideoPlayer::pauseVideo()
{
if (! _videoUrl.empty())
{
pauseVideoJNI(_videoWidgetIndex);
pauseVideoJNI(_videoPlayerIndex);
}
}
void VideoWidget::resumeVideo()
void VideoPlayer::resumeVideo()
{
if (! _videoUrl.empty())
{
resumeVideoJNI(_videoWidgetIndex);
resumeVideoJNI(_videoPlayerIndex);
}
}
void VideoWidget::stopVideo()
void VideoPlayer::stopVideo()
{
if (! _videoUrl.empty())
{
stopVideoJNI(_videoWidgetIndex);
stopVideoJNI(_videoPlayerIndex);
}
}
void VideoWidget::seekVideoTo(float sec)
void VideoPlayer::seekVideoTo(float sec)
{
if (! _videoUrl.empty())
{
seekVideoToJNI(_videoWidgetIndex,int(sec * 1000));
seekVideoToJNI(_videoPlayerIndex,int(sec * 1000));
}
}
bool VideoWidget::isPlaying() const
bool VideoPlayer::isPlaying() const
{
return _isPlaying;
}
void VideoWidget::setVisible(bool visible)
void VideoPlayer::setVisible(bool visible)
{
cocos2d::ui::Widget::setVisible(visible);
if (! _videoUrl.empty())
{
setVideoVisible(_videoWidgetIndex,visible);
setVideoVisible(_videoPlayerIndex,visible);
}
}
void VideoWidget::setEventListener(const VideoWidgetCallback& callback)
void VideoPlayer::setEventListener(const EventCallback& callback)
{
_callback = callback;
}
void VideoWidget::onVideoEvent(VideoWidgetEvent event)
void VideoPlayer::onVideoEvent(VideoPlayer::Event event)
{
if (event == VideoWidgetEvent::PLAYING) {
if (event == VideoPlayer::Event::PLAYING) {
_isPlaying = true;
} else {
_isPlaying = false;
@ -357,10 +357,10 @@ void VideoWidget::onVideoEvent(VideoWidgetEvent event)
void executeVideoCallback(int index,int event)
{
auto it = s_allVideoWidgets.find(index);
if (it != s_allVideoWidgets.end())
auto it = s_allVideoPlayers.find(index);
if (it != s_allVideoPlayers.end())
{
s_allVideoWidgets[index]->onVideoEvent((VideoWidgetEvent)event);
s_allVideoPlayers[index]->onVideoEvent((VideoPlayer::Event)event);
}
}

View File

@ -22,9 +22,11 @@
THE SOFTWARE.
****************************************************************************/
#include "UIVideoWidget.h"
#include "UIVideoPlayer.h"
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
using namespace cocos2d::experimental::ui;
//-------------------------------------------------------------------------------------
#include "CCEAGLView.h"
#import <MediaPlayer/MediaPlayer.h>
@ -45,7 +47,7 @@
- (void) setFullScreenEnabled:(bool) enabled;
- (bool) isFullScreenEnabled;
-(id) init:(void*) widget;
-(id) init:(void*) videoPlayer;
-(void) videoFinished:(NSNotification*) notification;
-(void) playStateChange;
@ -62,14 +64,14 @@
int _height;
bool _keepRatioEnabled;
cocos2d::experimental::ui::VideoWidget* _widget;
VideoPlayer* _videoPlayer;
}
-(id)init:(void*)widget
-(id)init:(void*)videoPlayer
{
if (self = [super init]) {
self.moviePlayer = nullptr;
_widget = (cocos2d::experimental::ui::VideoWidget*)widget;
_videoPlayer = (VideoPlayer*)videoPlayer;
_keepRatioEnabled = false;
}
@ -85,7 +87,7 @@
[self.moviePlayer stop];
[self.moviePlayer.view removeFromSuperview];
self.moviePlayer = nullptr;
_widget = nullptr;
_videoPlayer = nullptr;
}
[super dealloc];
}
@ -163,11 +165,11 @@
-(void) videoFinished:(NSNotification *)notification
{
if(_widget != nullptr)
if(_videoPlayer != nullptr)
{
if([self.moviePlayer playbackState] != MPMoviePlaybackStateStopped)
{
_widget->onVideoEvent(cocos2d::experimental::ui::VideoWidgetEvent::COMPLETED);
_videoPlayer->onVideoEvent(VideoPlayer::Event::COMPLETED);
}
}
}
@ -177,13 +179,13 @@
MPMoviePlaybackState state = [self.moviePlayer playbackState];
switch (state) {
case MPMoviePlaybackStatePaused:
_widget->onVideoEvent(cocos2d::experimental::ui::VideoWidgetEvent::PAUSED);
_videoPlayer->onVideoEvent(VideoPlayer::Event::PAUSED);
break;
case MPMoviePlaybackStateStopped:
_widget->onVideoEvent(cocos2d::experimental::ui::VideoWidgetEvent::STOPPED);
_videoPlayer->onVideoEvent(VideoPlayer::Event::STOPPED);
break;
case MPMoviePlaybackStatePlaying:
_widget->onVideoEvent(cocos2d::experimental::ui::VideoWidgetEvent::PLAYING);
_videoPlayer->onVideoEvent(VideoPlayer::Event::PLAYING);
break;
case MPMoviePlaybackStateInterrupted:
break;
@ -277,10 +279,8 @@
@end
//------------------------------------------------------------------------------------------------------------
using namespace cocos2d::experimental::ui;
VideoWidget::VideoWidget()
: _videoWidgetIndex(-1)
VideoPlayer::VideoPlayer()
: _videoPlayerIndex(-1)
, _callback(nullptr)
, _fullScreenEnabled(false)
, _fullScreenDirty(false)
@ -290,7 +290,7 @@ VideoWidget::VideoWidget()
_videiView = [[UIVideoViewWrapperIos alloc] init:this];
}
VideoWidget::~VideoWidget()
VideoPlayer::~VideoPlayer()
{
if(_videiView)
{
@ -298,21 +298,21 @@ VideoWidget::~VideoWidget()
}
}
void VideoWidget::setVideoFileName(const std::string& fileName)
void VideoPlayer::setVideoFileName(const std::string& fileName)
{
_videoUrl = fileName;
_videoSource = VideoWidget::VideoSource::FILENAME;
_videoSource = VideoPlayer::VideoSource::FILENAME;
[((UIVideoViewWrapperIos*)_videiView) setVideoURL:(int)_videoSource :_videoUrl];
}
void VideoWidget::setVideoURL(const std::string& videoUrl)
void VideoPlayer::setVideoURL(const std::string& videoUrl)
{
_videoUrl = videoUrl;
_videoSource = VideoWidget::VideoSource::URL;
_videoSource = VideoPlayer::VideoSource::URL;
[((UIVideoViewWrapperIos*)_videiView) setVideoURL:(int)_videoSource :_videoUrl];
}
void VideoWidget::draw(Renderer* renderer, const Matrix &transform, bool transformUpdated)
void VideoPlayer::draw(Renderer* renderer, const Matrix &transform, bool transformUpdated)
{
cocos2d::ui::Widget::draw(renderer,transform,transformUpdated);
@ -336,24 +336,24 @@ void VideoWidget::draw(Renderer* renderer, const Matrix &transform, bool transfo
:( (rightTop.y - leftBottom.y) * glView->getScaleY()/scaleFactor)];
}
#if CC_VIDEOWIDGET_DEBUG_DRAW
#if CC_VIDEOPLAYER_DEBUG_DRAW
_customDebugDrawCommand.init(_globalZOrder);
_customDebugDrawCommand.func = CC_CALLBACK_0(VideoWidget::drawDebugData, this);
_customDebugDrawCommand.func = CC_CALLBACK_0(VideoPlayer::drawDebugData, this);
renderer->addCommand(&_customDebugDrawCommand);
#endif
}
bool VideoWidget::isFullScreenEnabled()
bool VideoPlayer::isFullScreenEnabled()
{
return [((UIVideoViewWrapperIos*)_videiView) isFullScreenEnabled];
}
void VideoWidget::setFullScreenEnabled(bool enabled)
void VideoPlayer::setFullScreenEnabled(bool enabled)
{
[((UIVideoViewWrapperIos*)_videiView) setFullScreenEnabled:enabled];
}
void VideoWidget::setKeepAspectRatioEnabled(bool enable)
void VideoPlayer::setKeepAspectRatioEnabled(bool enable)
{
if (_keepAspectRatioEnabled != enable)
{
@ -362,8 +362,8 @@ void VideoWidget::setKeepAspectRatioEnabled(bool enable)
}
}
#if CC_VIDEOWIDGET_DEBUG_DRAW
void VideoWidget::drawDebugData()
#if CC_VIDEOPLAYER_DEBUG_DRAW
void VideoPlayer::drawDebugData()
{
Director* director = Director::getInstance();
CCASSERT(nullptr != director, "Director is null when seting matrix stack");
@ -387,7 +387,7 @@ void VideoWidget::drawDebugData()
}
#endif
void VideoWidget::startVideo()
void VideoPlayer::startVideo()
{
if (! _videoUrl.empty())
{
@ -395,7 +395,7 @@ void VideoWidget::startVideo()
}
}
void VideoWidget::pauseVideo()
void VideoPlayer::pauseVideo()
{
if (! _videoUrl.empty())
{
@ -403,7 +403,7 @@ void VideoWidget::pauseVideo()
}
}
void VideoWidget::resumeVideo()
void VideoPlayer::resumeVideo()
{
if (! _videoUrl.empty())
{
@ -411,7 +411,7 @@ void VideoWidget::resumeVideo()
}
}
void VideoWidget::stopVideo()
void VideoPlayer::stopVideo()
{
if (! _videoUrl.empty())
{
@ -419,7 +419,7 @@ void VideoWidget::stopVideo()
}
}
void VideoWidget::seekVideoTo(float sec)
void VideoPlayer::seekVideoTo(float sec)
{
if (! _videoUrl.empty())
{
@ -427,12 +427,12 @@ void VideoWidget::seekVideoTo(float sec)
}
}
bool VideoWidget::isPlaying() const
bool VideoPlayer::isPlaying() const
{
return _isPlaying;
}
void VideoWidget::setVisible(bool visible)
void VideoPlayer::setVisible(bool visible)
{
cocos2d::ui::Widget::setVisible(visible);
@ -442,14 +442,14 @@ void VideoWidget::setVisible(bool visible)
}
}
void VideoWidget::setEventListener(const VideoWidgetCallback& callback)
void VideoPlayer::setEventListener(const EventCallback& callback)
{
_callback = callback;
}
void VideoWidget::onVideoEvent(VideoWidgetEvent event)
void VideoPlayer::onVideoEvent(VideoPlayer::Event event)
{
if (event == VideoWidgetEvent::PLAYING) {
if (event == VideoPlayer::Event::PLAYING) {
_isPlaying = true;
} else {
_isPlaying = false;

View File

@ -1,115 +0,0 @@
/****************************************************************************
Copyright (c) 2014 Chukong Technologies Inc.
http://www.cocos2d-x.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#ifndef __COCOS2D_UI_VIDEOWEIGTH_H_
#define __COCOS2D_UI_VIDEOWEIGTH_H_
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#include "ui/UIWidget.h"
NS_CC_BEGIN
namespace experimental{
namespace ui{
enum class VideoWidgetEvent
{
PLAYING = 0,
PAUSED,
STOPPED,
COMPLETED
};
typedef std::function<void(Ref*,VideoWidgetEvent)> VideoWidgetCallback;
class VideoWidget : public cocos2d::ui::Widget
{
public:
CREATE_FUNC(VideoWidget);
//Sets local file[support assets' file on android] as a video source for VideoWidget
virtual void setVideoFileName(const std::string& videoPath);
virtual const std::string& getVideoFileName() const { return _videoUrl;}
//Sets network link as a video source for VideoWidget
virtual void setVideoURL(const std::string& videoUrl);
virtual const std::string& getVideoURL() const { return _videoUrl;}
virtual void startVideo();
virtual void pauseVideo();
virtual void resumeVideo();
virtual void stopVideo();
virtual void seekVideoTo(float sec);
virtual bool isPlaying() const;
virtual void setVisible(bool visible) override;
virtual void setKeepAspectRatioEnabled(bool enable);
virtual bool isKeepAspectRatioEnabled() { return _keepAspectRatioEnabled;}
virtual void setFullScreenEnabled(bool enabled);
virtual bool isFullScreenEnabled();
virtual void setEventListener(const VideoWidgetCallback& callback);
virtual void onVideoEvent(VideoWidgetEvent event);
virtual void draw(Renderer *renderer, const Matrix& transform, bool transformUpdated) override;
protected:
VideoWidget();
virtual ~VideoWidget();
#if CC_VIDEOWIDGET_DEBUG_DRAW
CustomCommand _customDebugDrawCommand;
void VideoWidget::drawDebugData();
#endif
enum class VideoSource
{
FILENAME = 0,
URL
};
bool _isPlaying;
bool _fullScreenDirty;
bool _fullScreenEnabled;
bool _keepAspectRatioEnabled;
std::string _videoUrl;
VideoSource _videoSource;
int _videoWidgetIndex;
VideoWidgetCallback _callback;
void* _videiView;
};
}
}
NS_CC_END
#endif
#endif

View File

@ -186,6 +186,7 @@
<ClInclude Include="..\..\ui\UITextField.h" />
<ClInclude Include="..\..\ui\UIVBox.h" />
<ClInclude Include="..\..\ui\UIWidget.h" />
<ClInclude Include="..\UIHBox.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\ui\CCProtectedNode.cpp" />
@ -209,5 +210,6 @@
<ClCompile Include="..\..\ui\UITextField.cpp" />
<ClCompile Include="..\..\ui\UIVBox.cpp" />
<ClCompile Include="..\..\ui\UIWidget.cpp" />
<ClCompile Include="..\UIHBox.cpp" />
</ItemGroup>
</Project>

View File

@ -81,6 +81,9 @@
<ClInclude Include="..\..\ui\UIVBox.h">
<Filter>Layouts</Filter>
</ClInclude>
<ClInclude Include="..\UIHBox.h">
<Filter>UIWidgets</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\ui\UILayout.cpp">
@ -146,5 +149,8 @@
<ClCompile Include="..\..\ui\UIVBox.cpp">
<Filter>Layouts</Filter>
</ClCompile>
<ClCompile Include="..\UIHBox.cpp">
<Filter>UIWidgets</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -23,6 +23,8 @@
<PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0' and exists('$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A')">v110_xp</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '12.0'">v120</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '12.0' and exists('$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A')">v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
@ -30,6 +32,8 @@
<PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0' and exists('$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A')">v110_xp</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '12.0'">v120</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '12.0' and exists('$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A')">v120_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">

View File

@ -22,6 +22,8 @@
<PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0' and exists('$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A')">v110_xp</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '12.0'">v120</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '12.0' and exists('$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A')">v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
@ -29,6 +31,8 @@
<PlatformToolset Condition="'$(VisualStudioVersion)' == '10.0'">v100</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0'">v110</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '11.0' and exists('$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A')">v110_xp</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '12.0'">v120</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)' == '12.0' and exists('$(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A')">v120_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">

View File

@ -948,9 +948,9 @@
"cocos/ui/UITextField.h",
"cocos/ui/UIVBox.cpp",
"cocos/ui/UIVBox.h",
"cocos/ui/UIVideoWidget.h",
"cocos/ui/UIVideoWidgetAndroid.cpp",
"cocos/ui/UIVideoWidgetIOS.mm",
"cocos/ui/UIVideoPlayer.h",
"cocos/ui/UIVideoPlayerAndroid.cpp",
"cocos/ui/UIVideoPlayerIOS.mm",
"cocos/ui/UIWidget.cpp",
"cocos/ui/UIWidget.h",
"cocos/ui/proj.win32/libGUI.vcxproj",

View File

@ -98,7 +98,7 @@ Classes/UITest/CocoStudioGUITest/UITextAtlasTest/UITextAtlasTest_Editor.cpp \
Classes/UITest/CocoStudioGUITest/UITextBMFontTest/UITextBMFontTest_Editor.cpp \
Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest_Editor.cpp \
Classes/UITest/CocoStudioGUITest/UIWidgetAddNodeTest/UIWidgetAddNodeTest_Editor.cpp \
Classes/UITest/CocoStudioGUITest/UIVideoWidgetTest/UIVideoWidgetTest.cpp \
Classes/UITest/CocoStudioGUITest/UIVideoPlayerTest/UIVideoPlayerTest.cpp \
Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageView.cpp \
Classes/UITest/CocoStudioGUITest/CustomWidget/CustomImageViewReader.cpp \
Classes/UITest/CocoStudioGUITest/CustomWidget/CustomParticleWidget.cpp \

View File

@ -281,13 +281,13 @@ g_guisTests[] =
},
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
{
"gui VideoWidgetTest",
"gui VideoPlayerTest",
[](Ref* sender)
{
UISceneManager* pManager = UISceneManager::sharedUISceneManager();
pManager->setCurrentUISceneId(kUIVideoWidgetTest);
pManager->setMinUISceneId(kUIVideoWidgetTest);
pManager->setMaxUISceneId(kUIVideoWidgetTest);
pManager->setCurrentUISceneId(kUIVideoPlayerTest);
pManager->setMinUISceneId(kUIVideoPlayerTest);
pManager->setMaxUISceneId(kUIVideoPlayerTest);
Scene* pScene = pManager->currentUIScene();
Director::getInstance()->replaceScene(pScene);
}

View File

@ -19,7 +19,7 @@
#include "UIRichTextTest/UIRichTextTest.h"
#include "UIFocusTest/UIFocusTest.h"
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
#include "UIVideoWidgetTest/UIVideoWidgetTest.h"
#include "UIVideoPlayerTest/UIVideoPlayerTest.h"
#endif
/*
#include "UISwitchTest/UISwitchTest.h"
@ -119,7 +119,7 @@ static const char* s_testArray[] =
"UIFocusTest-NestedLayout2",
"UIFocusTest-NestedLayout3",
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
"UIVideoWidgetTest"
"UIVideoPlayerTest"
#endif
};
@ -382,8 +382,8 @@ Scene *UISceneManager::currentUIScene()
case KUIFocusTest_NestedLayout3:
return UIFocusTestNestedLayout3::sceneWithTitle(s_testArray[_currentUISceneId]);
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
case kUIVideoWidgetTest:
return VideoWidgetTest::sceneWithTitle(s_testArray[_currentUISceneId]);
case kUIVideoPlayerTest:
return VideoPlayerTest::sceneWithTitle(s_testArray[_currentUISceneId]);
#endif
}
return NULL;

View File

@ -107,7 +107,7 @@ enum
KUIFocusTest_NestedLayout2,
KUIFocusTest_NestedLayout3,
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
kUIVideoWidgetTest,
kUIVideoPlayerTest,
#endif
kUITestMax
};

View File

@ -1,9 +1,9 @@
#include "UIVideoWidgetTest.h"
#include "UIVideoPlayerTest.h"
USING_NS_CC;
using namespace cocos2d::experimental::ui;
bool VideoWidgetTest::init()
bool VideoPlayerTest::init()
{
if ( !UIScene::init() )
{
@ -14,36 +14,36 @@ bool VideoWidgetTest::init()
MenuItemFont::setFontSize(16);
auto fullSwitch = MenuItemFont::create("FullScreenSwitch", CC_CALLBACK_1(VideoWidgetTest::menuFullScreenCallback, this));
auto fullSwitch = MenuItemFont::create("FullScreenSwitch", CC_CALLBACK_1(VideoPlayerTest::menuFullScreenCallback, this));
fullSwitch->setAnchorPoint(Vector2::ANCHOR_BOTTOM_LEFT);
fullSwitch->setPosition(Vector2(_visibleRect.origin.x + 10,_visibleRect.origin.y + 50));
auto pauseItem = MenuItemFont::create("Pause", CC_CALLBACK_1(VideoWidgetTest::menuPauseCallback, this));
auto pauseItem = MenuItemFont::create("Pause", CC_CALLBACK_1(VideoPlayerTest::menuPauseCallback, this));
pauseItem->setAnchorPoint(Vector2::ANCHOR_BOTTOM_LEFT);
pauseItem->setPosition(Vector2(_visibleRect.origin.x + 10,_visibleRect.origin.y + 100));
auto resumeItem = MenuItemFont::create("Resume", CC_CALLBACK_1(VideoWidgetTest::menuResumeCallback, this));
auto resumeItem = MenuItemFont::create("Resume", CC_CALLBACK_1(VideoPlayerTest::menuResumeCallback, this));
resumeItem->setAnchorPoint(Vector2::ANCHOR_BOTTOM_LEFT);
resumeItem->setPosition(Vector2(_visibleRect.origin.x + 10,_visibleRect.origin.y + 150));
auto stopItem = MenuItemFont::create("Stop", CC_CALLBACK_1(VideoWidgetTest::menuStopCallback, this));
auto stopItem = MenuItemFont::create("Stop", CC_CALLBACK_1(VideoPlayerTest::menuStopCallback, this));
stopItem->setAnchorPoint(Vector2::ANCHOR_BOTTOM_LEFT);
stopItem->setPosition(Vector2(_visibleRect.origin.x + 10,_visibleRect.origin.y + 200));
auto hintItem = MenuItemFont::create("Hint", CC_CALLBACK_1(VideoWidgetTest::menuHintCallback, this));
auto hintItem = MenuItemFont::create("Hint", CC_CALLBACK_1(VideoPlayerTest::menuHintCallback, this));
hintItem->setAnchorPoint(Vector2::ANCHOR_BOTTOM_LEFT);
hintItem->setPosition(Vector2(_visibleRect.origin.x + 10,_visibleRect.origin.y + 250));
//-------------------------------------------------------------------------------------------------------------------
auto resourceVideo = MenuItemFont::create("Play resource video", CC_CALLBACK_1(VideoWidgetTest::menuResourceVideoCallback, this));
auto resourceVideo = MenuItemFont::create("Play resource video", CC_CALLBACK_1(VideoPlayerTest::menuResourceVideoCallback, this));
resourceVideo->setAnchorPoint(Vector2::ANCHOR_MIDDLE_RIGHT);
resourceVideo->setPosition(Vector2(_visibleRect.origin.x + _visibleRect.size.width - 10,_visibleRect.origin.y + 50));
auto onlineVideo = MenuItemFont::create("Play online video", CC_CALLBACK_1(VideoWidgetTest::menuOnlineVideoCallback, this));
auto onlineVideo = MenuItemFont::create("Play online video", CC_CALLBACK_1(VideoPlayerTest::menuOnlineVideoCallback, this));
onlineVideo->setAnchorPoint(Vector2::ANCHOR_MIDDLE_RIGHT);
onlineVideo->setPosition(Vector2(_visibleRect.origin.x + _visibleRect.size.width - 10,_visibleRect.origin.y + 100));
auto ratioSwitch = MenuItemFont::create("KeepRatioSwitch", CC_CALLBACK_1(VideoWidgetTest::menuRatioCallback, this));
auto ratioSwitch = MenuItemFont::create("KeepRatioSwitch", CC_CALLBACK_1(VideoPlayerTest::menuRatioCallback, this));
ratioSwitch->setAnchorPoint(Vector2::ANCHOR_MIDDLE_RIGHT);
ratioSwitch->setPosition(Vector2(_visibleRect.origin.x + _visibleRect.size.width - 10,_visibleRect.origin.y + 150));
@ -60,7 +60,7 @@ bool VideoWidgetTest::init()
return true;
}
void VideoWidgetTest::menuCloseCallback(Ref* sender)
void VideoPlayerTest::menuCloseCallback(Ref* sender)
{
Director::getInstance()->end();
@ -69,88 +69,88 @@ void VideoWidgetTest::menuCloseCallback(Ref* sender)
#endif
}
void VideoWidgetTest::menuFullScreenCallback(Ref* sender)
void VideoPlayerTest::menuFullScreenCallback(Ref* sender)
{
if (_videoWidget)
if (_videoPlayer)
{
_videoWidget->setFullScreenEnabled(! _videoWidget->isFullScreenEnabled());
_videoPlayer->setFullScreenEnabled(! _videoPlayer->isFullScreenEnabled());
}
}
void VideoWidgetTest::menuRatioCallback(Ref* sender)
void VideoPlayerTest::menuRatioCallback(Ref* sender)
{
if (_videoWidget)
if (_videoPlayer)
{
_videoWidget->setKeepAspectRatioEnabled(! _videoWidget->isKeepAspectRatioEnabled());
_videoPlayer->setKeepAspectRatioEnabled(! _videoPlayer->isKeepAspectRatioEnabled());
}
}
void VideoWidgetTest::menuResourceVideoCallback(Ref* sender)
void VideoPlayerTest::menuResourceVideoCallback(Ref* sender)
{
if (_videoWidget)
if (_videoPlayer)
{
_videoWidget->setVideoFileName("cocosvideo.mp4");
_videoWidget->startVideo();
_videoPlayer->setVideoFileName("cocosvideo.mp4");
_videoPlayer->startVideo();
}
}
void VideoWidgetTest::menuOnlineVideoCallback(Ref* sender)
void VideoPlayerTest::menuOnlineVideoCallback(Ref* sender)
{
if (_videoWidget)
if (_videoPlayer)
{
_videoWidget->setVideoURL("http://video001.smgbb.cn/gslb/program/FDN/FDN1190949/HLSVodService.m3u8?_mdCode=6065719&_cdnCode=B2B_XL_TEST&_type=0&_rCode=TerOut_18865&_userId=020341000456068&_categoryCode=SMG_HUAYU&_categoryPath=SMG_1002,SMG_HUAYU,&_adPositionId=01001000&_adCategorySource=0&_flag=.m3u8&_enCode=m3u8&taskID=ysh_ps_002-ott_1397459105893_020341000456068&_client=103&_cms=ctv&_CDNToken=76C043FD4969501754DC19E54EC8DC2C");
_videoWidget->startVideo();
_videoPlayer->setVideoURL("http://video001.smgbb.cn/gslb/program/FDN/FDN1190949/HLSVodService.m3u8?_mdCode=6065719&_cdnCode=B2B_XL_TEST&_type=0&_rCode=TerOut_18865&_userId=020341000456068&_categoryCode=SMG_HUAYU&_categoryPath=SMG_1002,SMG_HUAYU,&_adPositionId=01001000&_adCategorySource=0&_flag=.m3u8&_enCode=m3u8&taskID=ysh_ps_002-ott_1397459105893_020341000456068&_client=103&_cms=ctv&_CDNToken=76C043FD4969501754DC19E54EC8DC2C");
_videoPlayer->startVideo();
}
}
void VideoWidgetTest::menuPauseCallback(Ref* sender)
void VideoPlayerTest::menuPauseCallback(Ref* sender)
{
if (_videoWidget)
if (_videoPlayer)
{
_videoWidget->pauseVideo();
_videoPlayer->pauseVideo();
}
}
void VideoWidgetTest::menuResumeCallback(Ref* sender)
void VideoPlayerTest::menuResumeCallback(Ref* sender)
{
if (_videoWidget)
if (_videoPlayer)
{
_videoWidget->resumeVideo();
_videoPlayer->resumeVideo();
}
}
void VideoWidgetTest::menuStopCallback(Ref* sender)
void VideoPlayerTest::menuStopCallback(Ref* sender)
{
if (_videoWidget)
if (_videoPlayer)
{
_videoWidget->stopVideo();
_videoPlayer->stopVideo();
}
}
void VideoWidgetTest::menuHintCallback(Ref* sender)
void VideoPlayerTest::menuHintCallback(Ref* sender)
{
if (_videoWidget)
if (_videoPlayer)
{
_videoWidget->setVisible(! _videoWidget->isVisible());
_videoPlayer->setVisible(! _videoPlayer->isVisible());
}
}
void VideoWidgetTest::createVideo()
void VideoPlayerTest::createVideo()
{
auto centerPos = Vector2(_visibleRect.origin.x + _visibleRect.size.width / 2,_visibleRect.origin.y + _visibleRect.size.height /2);
auto widgetSize = _widget->getSize();
_videoWidget = VideoWidget::create();
_videoWidget->setPosition(centerPos);
_videoWidget->setAnchorPoint(Vector2::ANCHOR_MIDDLE);
_videoWidget->setContentSize(Size(widgetSize.width * 0.4f,widgetSize.height * 0.4f));
_uiLayer->addChild(_videoWidget);
_videoPlayer = VideoPlayer::create();
_videoPlayer->setPosition(centerPos);
_videoPlayer->setAnchorPoint(Vector2::ANCHOR_MIDDLE);
_videoPlayer->setContentSize(Size(widgetSize.width * 0.4f,widgetSize.height * 0.4f));
_uiLayer->addChild(_videoPlayer);
_videoWidget->setEventListener(CC_CALLBACK_2(VideoWidgetTest::videoEventCallback, this));
_videoPlayer->setEventListener(CC_CALLBACK_2(VideoPlayerTest::videoEventCallback, this));
}
void VideoWidgetTest::createSlider()
void VideoPlayerTest::createSlider()
{
auto centerPos = Vector2(_visibleRect.origin.x + _visibleRect.size.width / 2,_visibleRect.origin.y + _visibleRect.size.height /2);
@ -161,7 +161,7 @@ void VideoWidgetTest::createSlider()
hSlider->loadProgressBarTexture("cocosui/sliderProgress.png");
hSlider->setPosition(Vector2(centerPos.x, _visibleRect.origin.y + _visibleRect.size.height * 0.15f));
hSlider->setPercent(50);
hSlider->addEventListenerSlider(this, sliderpercentchangedselector(VideoWidgetTest::sliderCallback));
hSlider->addEventListenerSlider(this, sliderpercentchangedselector(VideoPlayerTest::sliderCallback));
_uiLayer->addChild(hSlider,0,1);
auto vSlider = ui::Slider::create();
@ -172,13 +172,13 @@ void VideoWidgetTest::createSlider()
vSlider->setPosition(Vector2(_visibleRect.origin.x + _visibleRect.size.width * 0.15f, centerPos.y));
vSlider->setRotation(90);
vSlider->setPercent(50);
vSlider->addEventListenerSlider(this, sliderpercentchangedselector(VideoWidgetTest::sliderCallback));
vSlider->addEventListenerSlider(this, sliderpercentchangedselector(VideoPlayerTest::sliderCallback));
_uiLayer->addChild(vSlider,0,2);
}
void VideoWidgetTest::sliderCallback(Ref *sender, ui::SliderEventType eventType)
void VideoPlayerTest::sliderCallback(Ref *sender, ui::SliderEventType eventType)
{
if (eventType == SLIDER_PERCENTCHANGED && _videoWidget)
if (eventType == SLIDER_PERCENTCHANGED && _videoPlayer)
{
Slider* hSlider = (Slider*)this->getChildByTag(1);
Slider* vSlider = (Slider*)this->getChildByTag(2);
@ -186,23 +186,23 @@ void VideoWidgetTest::sliderCallback(Ref *sender, ui::SliderEventType eventType)
auto newPosX = _visibleRect.origin.x + _visibleRect.size.width / 2 + hSlider->getPercent() - 50;
auto newPosY = _visibleRect.origin.y + _visibleRect.size.height / 2 + 50 - vSlider->getPercent();
_videoWidget->setPosition(Vector2(newPosX,newPosY));
_videoPlayer->setPosition(Vector2(newPosX,newPosY));
}
}
void VideoWidgetTest::videoEventCallback(Ref* sender, VideoWidgetEvent eventType)
void VideoPlayerTest::videoEventCallback(Ref* sender, VideoPlayer::Event eventType)
{
switch (eventType) {
case VideoWidgetEvent::PLAYING:
case VideoPlayer::Event::PLAYING:
_videoStateLabel->setString("PLAYING");
break;
case VideoWidgetEvent::PAUSED:
case VideoPlayer::Event::PAUSED:
_videoStateLabel->setString("PAUSED");
break;
case VideoWidgetEvent::STOPPED:
case VideoPlayer::Event::STOPPED:
_videoStateLabel->setString("STOPPED");
break;
case VideoWidgetEvent::COMPLETED:
case VideoPlayer::Event::COMPLETED:
_videoStateLabel->setString("COMPLETED");
break;
default:

View File

@ -1,14 +1,14 @@
#ifndef __tests__VideoWidgetTest__
#define __tests__VideoWidgetTest__
#ifndef __tests__VideoPlayerTest__
#define __tests__VideoPlayerTest__
#include "../UIScene.h"
USING_NS_CC;
class VideoWidgetTest : public UIScene
class VideoPlayerTest : public UIScene
{
public:
UI_SCENE_CREATE_FUNC(VideoWidgetTest);
UI_SCENE_CREATE_FUNC(VideoPlayerTest);
virtual bool init();
@ -26,14 +26,14 @@ public:
void sliderCallback(Ref *sender, ui::SliderEventType eventType);
void videoEventCallback(Ref* sender, experimental::ui::VideoWidgetEvent eventType);
void videoEventCallback(Ref* sender, experimental::ui::VideoPlayer::Event eventType);
private:
void createVideo();
void createSlider();
MenuItemFont* _hintItem;
experimental::ui::VideoWidget* _videoWidget;
experimental::ui::VideoPlayer* _videoPlayer;
Label* _videoStateLabel;
Rect _visibleRect;
@ -41,4 +41,4 @@ private:
};
#endif // __tests__VideoWidgetTest__
#endif // __tests__VideoPlayerTest__

View File

@ -199,50 +199,6 @@
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioComponentsTest\PlayerController.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioComponentsTest\ProjectileController.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioComponentsTest\SceneController.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CocosGUIScene.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CocoStudioGUITest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomGUIScene.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomImageTest\CustomImageTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest\CustomParticleWidgetTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomImageView.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomImageViewReader.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomParticleWidget.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomParticleWidgetReader.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomReader.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\GUIEditorTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest\UIButtonTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest\UIButtonTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest\UILayoutTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest\UILayoutTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest\UIListViewTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest\UIListViewTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIRichTextTest\UIRichTextTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScene.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScene_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest\UISliderTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest\UISliderTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextTest\UITextTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextTest\UITextTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioSceneTest\SceneEditorTest.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioSceneTest\TriggerCode\acts.cpp" />
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioSceneTest\TriggerCode\cons.cpp" />
@ -272,6 +228,52 @@
<ClCompile Include="..\..\Classes\ShaderTest\ShaderTest2.cpp" />
<ClCompile Include="..\..\Classes\SpineTest\SpineTest.cpp" />
<ClCompile Include="..\..\Classes\TexturePackerEncryptionTest\TextureAtlasEncryptionTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CocosGUIScene.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CocoStudioGUITest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomGUIScene.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomTest\CustomImageTest\CustomImageTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest\CustomParticleWidgetTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomImageView.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomImageViewReader.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomParticleWidget.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomParticleWidgetReader.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomReader.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\GUIEditorTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIButtonTest\UIButtonTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIButtonTest\UIButtonTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIFocusTest\UIFocusTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UILayoutTest\UILayoutTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UILayoutTest\UILayoutTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIListViewTest\UIListViewTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIListViewTest\UIListViewTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIRichTextTest\UIRichTextTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScene.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UISceneManager.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UISceneManager_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScene_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UISliderTest\UISliderTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UISliderTest\UISliderTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextTest\UITextTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextTest\UITextTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest.cpp" />
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest_Editor.cpp" />
<ClCompile Include="..\..\Classes\UITest\UITest.cpp" />
<ClCompile Include="..\..\Classes\UnitTest\RefPtrTest.cpp" />
<ClCompile Include="..\..\Classes\UnitTest\UnitTest.cpp" />
<ClCompile Include="..\..\Classes\VisibleRect.cpp" />
@ -393,50 +395,6 @@
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioComponentsTest\PlayerController.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioComponentsTest\ProjectileController.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioComponentsTest\SceneController.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CocosGUIScene.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CocoStudioGUITest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomGUIScene.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomImageTest\CustomImageTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest\CustomParticleWidgetTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomImageView.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomImageViewReader.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomParticleWidget.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomParticleWidgetReader.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomReader.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\GUIEditorTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest\UIButtonTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest\UIButtonTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest\UILayoutTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest\UILayoutTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest\UIListViewTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest\UIListViewTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIRichTextTest\UIRichTextTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScene.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScene_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest\UISliderTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest\UISliderTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextTest\UITextTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextTest\UITextTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest_Editor.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioSceneTest\SceneEditorTest.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioSceneTest\TriggerCode\acts.h" />
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioSceneTest\TriggerCode\cons.h" />
@ -467,6 +425,52 @@
<ClInclude Include="..\..\Classes\ShaderTest\ShaderTest2.h" />
<ClInclude Include="..\..\Classes\SpineTest\SpineTest.h" />
<ClInclude Include="..\..\Classes\TexturePackerEncryptionTest\TextureAtlasEncryptionTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CocosGUIScene.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CocoStudioGUITest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomGUIScene.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomTest\CustomImageTest\CustomImageTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest\CustomParticleWidgetTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomImageView.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomImageViewReader.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomParticleWidget.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomParticleWidgetReader.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomReader.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\GUIEditorTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIButtonTest\UIButtonTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIButtonTest\UIButtonTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIFocusTest\UIFocusTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UILayoutTest\UILayoutTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UILayoutTest\UILayoutTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIListViewTest\UIListViewTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIListViewTest\UIListViewTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIRichTextTest\UIRichTextTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScene.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UISceneManager.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UISceneManager_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScene_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UISliderTest\UISliderTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UISliderTest\UISliderTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextTest\UITextTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextTest\UITextTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest.h" />
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest_Editor.h" />
<ClInclude Include="..\..\Classes\UITest\UITest.h" />
<ClInclude Include="..\..\Classes\UnitTest\RefPtrTest.h" />
<ClInclude Include="..\..\Classes\UnitTest\UnitTest.h" />
<ClInclude Include="..\..\Classes\VisibleRect.h" />

View File

@ -241,36 +241,6 @@
<Filter Include="Classes\PhysicsTest">
<UniqueIdentifier>{a83cb042-e3d6-4d3b-a4f6-30a4b3fcb3e9}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest">
<UniqueIdentifier>{9daecd38-37c6-4216-a999-86077af83beb}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest">
<UniqueIdentifier>{493fcd85-c749-482d-9404-905e99aa0103}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest">
<UniqueIdentifier>{2e08949f-bf73-4fdc-85e8-34b8c69aa978}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest">
<UniqueIdentifier>{c57c0453-a096-44d7-830b-1cf24c712cfd}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest">
<UniqueIdentifier>{01097388-e538-4081-8e16-d1ff3a86292a}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest">
<UniqueIdentifier>{fadff96e-c19a-41f5-a755-547cf1f8a5fb}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest">
<UniqueIdentifier>{73c268e8-3872-49d6-9204-1e679ff72a42}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest">
<UniqueIdentifier>{dedcabba-959c-40e3-9959-7ccf4e31c792}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest">
<UniqueIdentifier>{5caf2179-ae22-4040-8bac-17e9f22efbf7}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest">
<UniqueIdentifier>{24f044ee-09a6-406b-98d7-8d5d759e5bb1}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\KeyboardTest">
<UniqueIdentifier>{8d7d37cd-5cc2-4a7d-9bd2-7b5c928adbb5}</UniqueIdentifier>
</Filter>
@ -283,12 +253,6 @@
<Filter Include="Classes\NewRendererTest">
<UniqueIdentifier>{688e201c-77fe-4665-931e-e508a58141f5}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest">
<UniqueIdentifier>{160da6f0-a0f1-4a53-8e5e-cf0a63ee82a3}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest">
<UniqueIdentifier>{c4dbbfb3-0e91-492f-bbbf-f03fb26f3f54}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UnitTest">
<UniqueIdentifier>{1821914f-c088-4946-8c1e-19ab57b5eabc}</UniqueIdentifier>
</Filter>
@ -298,29 +262,71 @@
<Filter Include="Classes\ReleasePoolTest">
<UniqueIdentifier>{f71fab28-32be-45c9-a941-9a22b5a59e51}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest">
<UniqueIdentifier>{5a8f369e-53b7-461e-9aaf-89f0931a0046}</UniqueIdentifier>
<Filter Include="Classes\UITest">
<UniqueIdentifier>{03d9907b-2766-4d84-8e7d-bc81beafd83b}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest">
<UniqueIdentifier>{2b92a344-8fd6-493c-bc5f-423e01abbfca}</UniqueIdentifier>
<Filter Include="Classes\UITest\CocosStudioGUITest">
<UniqueIdentifier>{d6d4d2d2-5bec-4f70-8963-cd3170490d60}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UITextTest">
<UniqueIdentifier>{b9e1dc6c-3933-4dd2-b396-67f8a6a42821}</UniqueIdentifier>
<Filter Include="Classes\UITest\CocosStudioGUITest\CustomTest">
<UniqueIdentifier>{d92bf78a-a9d0-4941-b926-9442669856ff}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\CustomTest">
<UniqueIdentifier>{a2acdd59-c690-4433-919c-9438e3279cd2}</UniqueIdentifier>
<Filter Include="Classes\UITest\CocosStudioGUITest\CustomTest\CustomImageTest">
<UniqueIdentifier>{7aa77f11-45a0-4c5c-a164-09f7fe53baac}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomImageTest">
<UniqueIdentifier>{30d5188b-85c9-4877-933a-5bf0e6d2ca54}</UniqueIdentifier>
<Filter Include="Classes\UITest\CocosStudioGUITest\CustomTest\CustomParticleWidgetTest">
<UniqueIdentifier>{062dbbf6-506a-468d-9abf-0bc58c8457a2}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget">
<UniqueIdentifier>{c3353e37-e25e-4fa2-bc37-ebd7a8854efe}</UniqueIdentifier>
<Filter Include="Classes\UITest\CocosStudioGUITest\CustomWidget">
<UniqueIdentifier>{eac3cbd8-3ec9-4534-80c2-7b34eda8b28e}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\UIRichTextTest">
<UniqueIdentifier>{8bc33078-56ce-48a6-85fd-b9d67db67c13}</UniqueIdentifier>
<Filter Include="Classes\UITest\CocosStudioGUITest\UICheckBoxTest">
<UniqueIdentifier>{4d78bc45-32ab-442e-8f00-3b2932bacdce}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest">
<UniqueIdentifier>{f2e15a07-0d4e-407f-b4dc-d7692afe64a4}</UniqueIdentifier>
<Filter Include="Classes\UITest\CocosStudioGUITest\UIButtonTest">
<UniqueIdentifier>{b3dba85f-4bba-408e-a979-6780946bd426}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UIFocusTest">
<UniqueIdentifier>{52d776a5-b646-43a5-b74b-bd70e7bec25b}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UIImageViewTest">
<UniqueIdentifier>{f7abc2f0-46b1-497a-9bda-c49fd485201c}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UILayoutTest">
<UniqueIdentifier>{962b7868-af67-4b6d-936c-005a461319f3}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UIListViewTest">
<UniqueIdentifier>{1007216a-5e75-40cf-a7c7-df751cb1a0ee}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UILoadingBarTest">
<UniqueIdentifier>{a675bafb-fa61-400c-ac72-6509996b1b1e}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UIPageViewTest">
<UniqueIdentifier>{609689d3-b604-4fde-8751-5f27087f6711}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UIRichTextTest">
<UniqueIdentifier>{e91c67fe-b40e-476b-b00c-d14bf63c6829}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UIScrollViewTest">
<UniqueIdentifier>{abe8f97b-a4b3-4827-82a7-98d613fcc40b}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UISliderTest">
<UniqueIdentifier>{e5f9c30b-c34e-4d83-88d9-18b5864cc760}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UITextAtlasTest">
<UniqueIdentifier>{991e53ff-12c6-45d5-85ad-84a7e52a9688}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UITextBMFontTest">
<UniqueIdentifier>{0e0f4844-37a2-43a1-9aee-36a266512419}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UITextFieldTest">
<UniqueIdentifier>{ce89f8b8-161a-4a95-9e2a-c42bccc24722}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UITextTest">
<UniqueIdentifier>{f52cefac-d258-4e9e-b1f1-ddb17b7cd9ac}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\UITest\CocosStudioGUITest\UIWidgetAddNodeTest">
<UniqueIdentifier>{085acc82-08d1-46c1-affe-74af030ce284}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
@ -636,42 +642,6 @@
<ClCompile Include="..\..\Classes\PhysicsTest\PhysicsTest.cpp">
<Filter>Classes\PhysicsTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest\UIButtonTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest\UIListViewTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest\UISliderTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CocosGUIScene.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScene.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\KeyboardTest\KeyboardTest.cpp">
<Filter>Classes\KeyboardTest</Filter>
</ClCompile>
@ -684,12 +654,6 @@
<ClCompile Include="..\..\Classes\NewRendererTest\NewRendererTest.cpp">
<Filter>Classes\NewRendererTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest\UILayoutTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UnitTest\UnitTest.cpp">
<Filter>Classes\UnitTest</Filter>
</ClCompile>
@ -717,96 +681,6 @@
<ClCompile Include="..\..\Classes\PerformanceTest\PerformanceScenarioTest.cpp">
<Filter>Classes\PerformanceTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CocoStudioGUITest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomGUIScene.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\GUIEditorTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScene_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest\UIButtonTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextTest\UITextTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextTest\UITextTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest\UILayoutTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest\UIListViewTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest\UISliderTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest_Editor.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomImageTest\CustomImageTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomImageTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomImageView.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomImageViewReader.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomReader.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIRichTextTest\UIRichTextTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIRichTextTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomParticleWidget.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomParticleWidgetReader.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest\CustomParticleWidgetTest.cpp">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\ShaderTest\ShaderTest2.cpp">
<Filter>Classes\ShaderTest</Filter>
</ClCompile>
@ -837,6 +711,144 @@
<ClCompile Include="..\..\Classes\UnitTest\RefPtrTest.cpp">
<Filter>Classes\UnitTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\UITest.cpp">
<Filter>Classes\UITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomTest\CustomImageTest\CustomImageTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\CustomTest\CustomImageTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest\CustomParticleWidgetTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\CustomTest\CustomParticleWidgetTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomImageView.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomImageViewReader.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomParticleWidget.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomParticleWidgetReader.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomReader.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIButtonTest\UIButtonTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIButtonTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIButtonTest\UIButtonTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIButtonTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UICheckBoxTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UICheckBoxTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIFocusTest\UIFocusTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIFocusTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIImageViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIImageViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UILayoutTest\UILayoutTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UILayoutTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UILayoutTest\UILayoutTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UILayoutTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIListViewTest\UIListViewTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIListViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIListViewTest\UIListViewTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIListViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UILoadingBarTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UILoadingBarTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIPageViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIPageViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIRichTextTest\UIRichTextTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIRichTextTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIScrollViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIScrollViewTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UISliderTest\UISliderTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UISliderTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UISliderTest\UISliderTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UISliderTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UITextAtlasTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UITextAtlasTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UITextBMFontTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UITextBMFontTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UITextFieldTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UITextFieldTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextTest\UITextTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UITextTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UITextTest\UITextTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UITextTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIWidgetAddNodeTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest\UIWidgetAddNodeTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CocosGUIScene.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CocoStudioGUITest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\CustomGUIScene.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\GUIEditorTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScene.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScene_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UISceneManager.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UISceneManager_Editor.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\Classes\AppDelegate.h">
@ -1331,42 +1343,6 @@
<ClInclude Include="..\..\Classes\PhysicsTest\PhysicsTest.h">
<Filter>Classes\PhysicsTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest\UIButtonTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest\UIListViewTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest\UISliderTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CocosGUIScene.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScene.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\KeyboardTest\KeyboardTest.h">
<Filter>Classes\KeyboardTest</Filter>
</ClInclude>
@ -1394,12 +1370,6 @@
<ClInclude Include="..\..\Classes\NewRendererTest\NewRendererTest.h">
<Filter>Classes\NewRendererTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest\UILayoutTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UnitTest\UnitTest.h">
<Filter>Classes\UnitTest</Filter>
</ClInclude>
@ -1433,96 +1403,6 @@
<ClInclude Include="..\..\Classes\PerformanceTest\PerformanceScenarioTest.h">
<Filter>Classes\PerformanceTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CocoStudioGUITest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomGUIScene.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\GUIEditorTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScene_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISceneManager_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest\UIButtonTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIButtonTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UICheckBoxTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIImageViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextTest\UITextTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextTest\UITextTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextBMFontTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextAtlasTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest\UILayoutTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UILayoutTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest\UIListViewTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIListViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UILoadingBarTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIPageViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIScrollViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest\UISliderTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UISliderTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UITextFieldTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest_Editor.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIWidgetAddNodeTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomImageTest\CustomImageTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomImageTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomImageView.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomImageViewReader.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomReader.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\UIRichTextTest\UIRichTextTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\UIRichTextTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomParticleWidget.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget\CustomParticleWidgetReader.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest\CustomParticleWidgetTest.h">
<Filter>Classes\ExtensionsTest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\ShaderTest\ShaderTest2.h">
<Filter>Classes\ShaderTest</Filter>
</ClInclude>
@ -1551,6 +1431,144 @@
<ClInclude Include="..\..\Classes\UnitTest\RefPtrTest.h">
<Filter>Classes\UnitTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\UITest.h">
<Filter>Classes\UITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomTest\CustomImageTest\CustomImageTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\CustomTest\CustomImageTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomTest\CustomParticleWidgetTest\CustomParticleWidgetTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\CustomTest\CustomParticleWidgetTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomImageView.h">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomImageViewReader.h">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomParticleWidget.h">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomParticleWidgetReader.h">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomWidget\CustomReader.h">
<Filter>Classes\UITest\CocosStudioGUITest\CustomWidget</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIButtonTest\UIButtonTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIButtonTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIButtonTest\UIButtonTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIButtonTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UICheckBoxTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UICheckBoxTest\UICheckBoxTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UICheckBoxTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIFocusTest\UIFocusTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIFocusTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIImageViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIImageViewTest\UIImageViewTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIImageViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UILayoutTest\UILayoutTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UILayoutTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UILayoutTest\UILayoutTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UILayoutTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIListViewTest\UIListViewTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIListViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIListViewTest\UIListViewTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIListViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UILoadingBarTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UILoadingBarTest\UILoadingBarTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UILoadingBarTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIPageViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIPageViewTest\UIPageViewTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIPageViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIRichTextTest\UIRichTextTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIRichTextTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIScrollViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScrollViewTest\UIScrollViewTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIScrollViewTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UISliderTest\UISliderTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UISliderTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UISliderTest\UISliderTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UISliderTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UITextAtlasTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextAtlasTest\UITextAtlasTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UITextAtlasTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UITextBMFontTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextBMFontTest\UITextBMFontTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UITextBMFontTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UITextFieldTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextFieldTest\UITextFieldTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UITextFieldTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextTest\UITextTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UITextTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UITextTest\UITextTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UITextTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIWidgetAddNodeTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIWidgetAddNodeTest\UIWidgetAddNodeTest_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest\UIWidgetAddNodeTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CocosGUIScene.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CocoStudioGUITest.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\CustomGUIScene.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\GUIEditorTest.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScene.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScene_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UISceneManager.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UISceneManager_Editor.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\external\curl\prebuilt\wp8\arm\libcurl.dll" />

@ -1 +1 @@
Subproject commit 4dbfa174debb2e98422510d7e0490b1ddb2a0b3d
Subproject commit 7876808788c0666d5f4510ea214e97e10eeaa9a8