Merge branch 'customguireader' of https://github.com/lite3/cocos2d-x into customguireader

This commit is contained in:
lite3 2014-08-28 15:07:52 +08:00
commit d5114dc460
37 changed files with 317 additions and 14 deletions

View File

@ -805,6 +805,8 @@ Developers:
Add support of software PVRTC v1 decompression
Fixed a bug that ttf font have not effect on Mac OS X
Fixed a bug that before touchMove Touch::_prevPoint contains junk
Added Device::setKeepScreenOn()
Fixed Label performance problem
youknowone
Adds iOS-like elastic bounceback support for cocos2d::extension::ScrollView
@ -915,6 +917,7 @@ Developers:
Fix a bug that crash happened when try to remove videoView(STATE_PLAYBACK_COMPLETED) in android
Fix video scale issue in iOS
Fix iOS VideoPlayer memory leak
Added c++11 random library support
billtt
Fixed a bug that Node::setScale(float) may not work properly
@ -922,6 +925,7 @@ Developers:
Teivaz
Custom uniform search optimization
Fixed compiling error on WP8.
Added method for custom precompiled shader program loading on WP8
chareice
Make `setup.py` work on zsh
@ -979,6 +983,9 @@ Developers:
zaWasp
Added support for applicationDidEnterBackground / applicationWillEnterForeground on win32
xiangxw
Fixed the bug that Console::sendPrompt() will send extra `\0`
Retired Core Developers:
WenSheng Yang

View File

@ -4,6 +4,9 @@ cocos2d-x-3.3 ??
[NEW] Added Camera, AABB, OBB and Ray
[NEW] Added render primitive and render primitive command, support passing point, line and triangle data
[NEW] Added support for applicationDidEnterBackground / applicationWillEnterForeground on desktop
[NEW] Added method for custom precompiled shader program loading on WP8
[NEW] Added c++11 random support
[NEW] Device: added setKeepScreenOn() for iOS and Android
[NEW] EventMouse: support getDelta, getDeltaX, getDeltaY functions
[NEW] FileUtils: add isDirectoryExist(), createDirectory(), removeDirectory(), removeFile(), renameFile()
getFileSize()

View File

@ -647,6 +647,10 @@
299754F5193EC95400A54AC3 /* ObjectFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 299754F2193EC95400A54AC3 /* ObjectFactory.cpp */; };
299754F6193EC95400A54AC3 /* ObjectFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 299754F3193EC95400A54AC3 /* ObjectFactory.h */; };
299754F7193EC95400A54AC3 /* ObjectFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 299754F3193EC95400A54AC3 /* ObjectFactory.h */; };
299CF1FB19A434BC00C378C1 /* ccRandom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 299CF1F919A434BC00C378C1 /* ccRandom.cpp */; };
299CF1FC19A434BC00C378C1 /* ccRandom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 299CF1F919A434BC00C378C1 /* ccRandom.cpp */; };
299CF1FD19A434BC00C378C1 /* ccRandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 299CF1FA19A434BC00C378C1 /* ccRandom.h */; };
299CF1FE19A434BC00C378C1 /* ccRandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 299CF1FA19A434BC00C378C1 /* ccRandom.h */; };
3E6176681960F89B00DE83F5 /* CCController-iOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */; };
3E6176691960F89B00DE83F5 /* CCController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176561960F89B00DE83F5 /* CCController.h */; };
3E6176741960F89B00DE83F5 /* CCEventController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176611960F89B00DE83F5 /* CCEventController.cpp */; };
@ -2494,6 +2498,8 @@
2986667918B1B079000E39CA /* CCTweenFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTweenFunction.h; sourceTree = "<group>"; };
299754F2193EC95400A54AC3 /* ObjectFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ObjectFactory.cpp; path = ../base/ObjectFactory.cpp; sourceTree = "<group>"; };
299754F3193EC95400A54AC3 /* ObjectFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ObjectFactory.h; path = ../base/ObjectFactory.h; sourceTree = "<group>"; };
299CF1F919A434BC00C378C1 /* ccRandom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ccRandom.cpp; path = ../base/ccRandom.cpp; sourceTree = "<group>"; };
299CF1FA19A434BC00C378C1 /* ccRandom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ccRandom.h; path = ../base/ccRandom.h; sourceTree = "<group>"; };
29BDBA52195D597A003225C9 /* UIDeprecated.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UIDeprecated.cpp; sourceTree = "<group>"; };
29CB8F4A1929D1BB00C841D6 /* UILayoutManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UILayoutManager.cpp; sourceTree = "<group>"; };
29CB8F4B1929D1BB00C841D6 /* UILayoutManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILayoutManager.h; sourceTree = "<group>"; };
@ -3487,6 +3493,8 @@
1A5700A2180BC5E60088DEC7 /* base */ = {
isa = PBXGroup;
children = (
299CF1F919A434BC00C378C1 /* ccRandom.cpp */,
299CF1FA19A434BC00C378C1 /* ccRandom.h */,
3EA3EDBA1991CDFA00645534 /* CCCamera.cpp */,
3EA3EDBB1991CDFA00645534 /* CCCamera.h */,
464AD6E3197EBB1400E502D8 /* pvr.cpp */,
@ -5555,6 +5563,7 @@
3EA3EDBE1991CDFA00645534 /* CCCamera.h in Headers */,
50ABBE8F1925AB6F00A911A9 /* CCPlatformConfig.h in Headers */,
50ABBE291925AB6F00A911A9 /* CCAutoreleasePool.h in Headers */,
299CF1FD19A434BC00C378C1 /* ccRandom.h in Headers */,
50ABBE471925AB6F00A911A9 /* CCEvent.h in Headers */,
B257B4501989D5E800D9A687 /* CCPrimitive.h in Headers */,
50ABBE6B1925AB6F00A911A9 /* CCEventListenerFocus.h in Headers */,
@ -5938,6 +5947,7 @@
1A01C69718F57BE800EFE3A6 /* CCInteger.h in Headers */,
50ABBEBE1925AB6F00A911A9 /* ccUtils.h in Headers */,
50ABBE801925AB6F00A911A9 /* CCEventTouch.h in Headers */,
299CF1FE19A434BC00C378C1 /* ccRandom.h in Headers */,
50ABBDBC1925AB4100A911A9 /* CCTextureAtlas.h in Headers */,
50ABBE541925AB6F00A911A9 /* CCEventDispatcher.h in Headers */,
1A12775A18DFCC4F0005F345 /* CCTweenFunction.h in Headers */,
@ -6974,6 +6984,7 @@
50ABBEAB1925AB6F00A911A9 /* ccTypes.cpp in Sources */,
1A570069180BC5A10088DEC7 /* CCActionCatmullRom.cpp in Sources */,
B257B44E1989D5E800D9A687 /* CCPrimitive.cpp in Sources */,
299CF1FB19A434BC00C378C1 /* ccRandom.cpp in Sources */,
1A57006D180BC5A10088DEC7 /* CCActionEase.cpp in Sources */,
1A570071180BC5A10088DEC7 /* CCActionGrid.cpp in Sources */,
B37510761823AC9F00B3BA6A /* CCPhysicsJointInfo_chipmunk.cpp in Sources */,
@ -7329,6 +7340,7 @@
1A5701A2180BCB590088DEC7 /* CCFontAtlas.cpp in Sources */,
3E61781D1966A5A300DE83F5 /* CCController.cpp in Sources */,
50ABC00E1926664800A911A9 /* CCFileUtils.cpp in Sources */,
299CF1FC19A434BC00C378C1 /* ccRandom.cpp in Sources */,
50ABBE241925AB6F00A911A9 /* base64.cpp in Sources */,
1A5701A6180BCB590088DEC7 /* CCFontAtlasCache.cpp in Sources */,
1A5701B2180BCB590088DEC7 /* CCFontFNT.cpp in Sources */,

View File

@ -1023,7 +1023,8 @@ void Label::updateFont()
void Label::drawTextSprite(Renderer *renderer, uint32_t parentFlags)
{
if (_fontDefinition._fontFillColor != _textColor)
if (_fontDefinition._fontFillColor.r != _textColor.r || _fontDefinition._fontFillColor.g != _textColor.g
|| _fontDefinition._fontFillColor.b != _textColor.b)
{
updateContent();
}

View File

@ -222,6 +222,7 @@
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\3d\CCAABB.cpp" />
<ClCompile Include="..\3d\CCAnimate3D.cpp" />
<ClCompile Include="..\3d\CCAnimation3D.cpp" />
<ClCompile Include="..\3d\CCAttachNode.cpp" />
@ -229,7 +230,9 @@
<ClCompile Include="..\3d\CCBundleReader.cpp" />
<ClCompile Include="..\3d\CCMesh.cpp" />
<ClCompile Include="..\3d\CCMeshSkin.cpp" />
<ClCompile Include="..\3d\CCOBB.cpp" />
<ClCompile Include="..\3d\CCObjLoader.cpp" />
<ClCompile Include="..\3d\CCRay.cpp" />
<ClCompile Include="..\3d\CCSkeleton3D.cpp" />
<ClCompile Include="..\3d\CCSprite3D.cpp" />
<ClCompile Include="..\3d\CCSprite3DMaterial.cpp" />
@ -280,6 +283,7 @@
<ClCompile Include="..\base\CCModuleManager.cpp" />
<ClCompile Include="..\base\CCNS.cpp" />
<ClCompile Include="..\base\CCProfiling.cpp" />
<ClCompile Include="..\base\ccRandom.cpp" />
<ClCompile Include="..\base\CCRef.cpp" />
<ClCompile Include="..\base\CCScheduler.cpp" />
<ClCompile Include="..\base\CCScriptSupport.cpp" />
@ -442,6 +446,7 @@
<ClInclude Include="..\..\external\unzip\ioapi.h" />
<ClInclude Include="..\..\external\unzip\unzip.h" />
<ClInclude Include="..\..\external\xxhash\xxhash.h" />
<ClInclude Include="..\3d\CCAABB.h" />
<ClInclude Include="..\3d\CCAnimate3D.h" />
<ClInclude Include="..\3d\CCAnimation3D.h" />
<ClInclude Include="..\3d\CCAnimationCurve.h" />
@ -451,7 +456,9 @@
<ClInclude Include="..\3d\CCBundleReader.h" />
<ClInclude Include="..\3d\CCMesh.h" />
<ClInclude Include="..\3d\CCMeshSkin.h" />
<ClInclude Include="..\3d\CCOBB.h" />
<ClInclude Include="..\3d\CCObjLoader.h" />
<ClInclude Include="..\3d\CCRay.h" />
<ClInclude Include="..\3d\CCSkeleton3D.h" />
<ClInclude Include="..\3d\CCSprite3D.h" />
<ClInclude Include="..\3d\CCSprite3DMaterial.h" />
@ -495,6 +502,7 @@
<ClInclude Include="..\base\CCPlatformMacros.h" />
<ClInclude Include="..\base\CCProfiling.h" />
<ClInclude Include="..\base\CCProtocols.h" />
<ClInclude Include="..\base\ccRandom.h" />
<ClInclude Include="..\base\CCRef.h" />
<ClInclude Include="..\base\CCRefPtr.h" />
<ClInclude Include="..\base\CCScheduler.h" />

View File

@ -650,6 +650,18 @@
<ClCompile Include="..\base\CCModuleManager.cpp">
<Filter>base</Filter>
</ClCompile>
<ClCompile Include="..\base\ccRandom.cpp">
<Filter>base</Filter>
</ClCompile>
<ClCompile Include="..\3d\CCAABB.cpp">
<Filter>3d</Filter>
</ClCompile>
<ClCompile Include="..\3d\CCOBB.cpp">
<Filter>3d</Filter>
</ClCompile>
<ClCompile Include="..\3d\CCRay.cpp">
<Filter>3d</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\physics\CCPhysicsBody.h">
@ -1328,6 +1340,18 @@
<ClInclude Include="..\base\CCModuleManager.h">
<Filter>base</Filter>
</ClInclude>
<ClInclude Include="..\base\ccRandom.h">
<Filter>base</Filter>
</ClInclude>
<ClInclude Include="..\3d\CCAABB.h">
<Filter>3d</Filter>
</ClInclude>
<ClInclude Include="..\3d\CCOBB.h">
<Filter>3d</Filter>
</ClInclude>
<ClInclude Include="..\3d\CCRay.h">
<Filter>3d</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\math\Mat4.inl">

View File

@ -213,6 +213,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou
<ClCompile Include="..\base\CCModuleManager.cpp" />
<ClCompile Include="..\base\CCNS.cpp" />
<ClCompile Include="..\base\CCProfiling.cpp" />
<ClCompile Include="..\base\ccRandom.cpp" />
<ClCompile Include="..\base\CCRef.cpp" />
<ClCompile Include="..\base\CCScheduler.cpp" />
<ClCompile Include="..\base\CCScriptSupport.cpp" />
@ -399,6 +400,7 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou
<ClInclude Include="..\base\CCPlatformMacros.h" />
<ClInclude Include="..\base\CCProfiling.h" />
<ClInclude Include="..\base\CCProtocols.h" />
<ClInclude Include="..\base\ccRandom.h" />
<ClInclude Include="..\base\CCRef.h" />
<ClInclude Include="..\base\CCRefPtr.h" />
<ClInclude Include="..\base\CCScheduler.h" />

View File

@ -586,6 +586,9 @@
<ClCompile Include="..\base\CCModuleManager.cpp">
<Filter>base</Filter>
</ClCompile>
<ClCompile Include="..\base\ccRandom.cpp">
<Filter>base</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\physics\CCPhysicsBody.h">
@ -1189,6 +1192,9 @@
<ClInclude Include="..\base\CCModuleManager.h">
<Filter>base</Filter>
</ClInclude>
<ClInclude Include="..\base\ccRandom.h">
<Filter>base</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\math\Mat4.inl">

View File

@ -117,6 +117,7 @@ base/CCIMEDispatcher.cpp \
base/CCModuleManager.cpp \
base/CCNS.cpp \
base/CCProfiling.cpp \
base/ccRandom.cpp \
base/CCRef.cpp \
base/CCScheduler.cpp \
base/CCScriptSupport.cpp \

View File

@ -131,7 +131,7 @@ static ssize_t mydprintf(int sock, const char *format, ...)
static void sendPrompt(int fd)
{
const char prompt[] = "> ";
send(fd, prompt, sizeof(prompt),0);
send(fd, prompt, strlen(prompt),0);
}
static int printSceneGraph(int fd, Node* node, int level)

View File

@ -25,6 +25,7 @@ set(COCOS_BASE_SRC
base/CCModuleManager.cpp
base/CCNS.cpp
base/CCProfiling.cpp
base/ccRandom.cpp
base/CCRef.cpp
base/CCScheduler.cpp
base/CCScriptSupport.cpp

View File

@ -102,10 +102,10 @@ void ObjectFactory::destroyInstance()
Ref* ObjectFactory::createObject(const std::string &name)
{
Ref *o = nullptr;
do
{
const TInfo t = _typeMap[name];
Ref *o = nullptr;
do
{
const TInfo t = _typeMap[name];
if (t._fun != nullptr)
{
o = t._fun();
@ -113,7 +113,7 @@ Ref* ObjectFactory::createObject(const std::string &name)
{
o = t._func();
}
} while (0);
} while (0);
return o;
}

View File

@ -69,16 +69,17 @@ simple macro that swaps 2 variables
x = y; y = temp; \
}
#include "base/ccRandom.h"
/** @def CCRANDOM_MINUS1_1
returns a random float between -1 and 1
*/
#define CCRANDOM_MINUS1_1() ((2.0f*((float)rand()/RAND_MAX))-1.0f)
#define CCRANDOM_MINUS1_1() cocos2d::rand_minus1_1()
/** @def CCRANDOM_0_1
returns a random float between 0 and 1
*/
#define CCRANDOM_0_1() ((float)rand()/RAND_MAX)
#define CCRANDOM_0_1() cocos2d::rand_0_1()
/** @def CC_DEGREES_TO_RADIANS
converts degrees to radians

32
cocos/base/ccRandom.cpp Normal file
View File

@ -0,0 +1,32 @@
/****************************************************************************
Copyright (c) 2010 cocos2d-x.org
Copyright (c) 2013-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.
****************************************************************************/
#include "ccRandom.h"
std::mt19937 &cocos2d::RandomHelper::getEngine() {
static std::random_device seed_gen;
static std::mt19937 engine(seed_gen());
return engine;
}

99
cocos/base/ccRandom.h Normal file
View File

@ -0,0 +1,99 @@
/****************************************************************************
Copyright (c) 2010 cocos2d-x.org
Copyright (c) 2013-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 __ccRandom_H_
#define __ccRandom_H_
#include "base/CCPlatformMacros.h"
#include <random>
NS_CC_BEGIN
class CC_DLL RandomHelper {
public:
template<typename T>
static inline T random_real(T min, T max) {
std::uniform_real_distribution<T> dist(min, max);
auto &mt = RandomHelper::getEngine();
return dist(mt);
}
template<typename T>
static inline T random_int(T min, T max) {
std::uniform_int_distribution<> dist(min, max);
auto &mt = RandomHelper::getEngine();
return dist(mt);
}
private:
static std::mt19937 &getEngine();
};
/**
* returns a random value between `min` and `max`
*/
template<typename T>
inline T random(T min, T max) {
return RandomHelper::random_int(min, max);
}
template<>
inline float random(float min, float max) {
return RandomHelper::random_real(min, max);
}
template<>
inline long double random(long double min, long double max) {
return RandomHelper::random_real(min, max);
}
template<>
inline double random(double min, double max) {
return RandomHelper::random_real(min, max);
}
/**
* returns a random int between 0 and RAND_MAX
*/
inline int random() {
return cocos2d::random(0, RAND_MAX);
};
/**
* returns a random float between -1 and 1
*/
inline float rand_minus1_1() {
return cocos2d::random(-1.f, 1.f);
};
/**
* returns a random float between 0 and 1
*/
inline float rand_0_1() {
return cocos2d::random(0.f, 1.f);
};
NS_CC_END
#endif //__ccRandom_H_

View File

@ -348,6 +348,11 @@ struct CC_DLL BlendFunc
return src == a.src && dst == a.dst;
}
bool operator!=(const BlendFunc &a) const
{
return src != a.src || dst != a.dst;
}
bool operator<(const BlendFunc &a) const
{
return src < a.src || (src == a.src && dst < a.dst);

View File

@ -154,6 +154,10 @@ THE SOFTWARE.
#include "renderer/ccShaders.h"
#include "renderer/CCTexture2D.h"
#include "renderer/CCTextureCache.h"
#include "renderer/CCVertexIndexBuffer.h"
#include "renderer/CCVertexIndexData.h"
#include "renderer/CCPrimitive.h"
#include "renderer/CCPrimitiveCommand.h"
// physics
#include "physics/CCPhysicsBody.h"

View File

@ -516,9 +516,6 @@ void ColorFrame::onEnter(Frame *nextFrame)
_betweenGreen = color.g - _color.g;
_betweenBlue = color.b - _color.b;
}
_node->setCascadeColorEnabled(true);
_node->setCascadeOpacityEnabled(true);
}
void ColorFrame::apply(float percent)

View File

@ -65,6 +65,8 @@ public:
static void setAccelerometerInterval(float interval);
static Data getTextureDataForText(const char * text, const FontDefinition& textDefinition, TextAlign align, int &width, int &height, bool& hasPremultipliedAlpha);
static void setKeepScreenOn(bool value);
private:
CC_DISALLOW_IMPLICIT_CONSTRUCTORS(Device);

View File

@ -202,6 +202,12 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
return ret;
}
void Device::setKeepScreenOn(bool value)
{
setKeepScreenOnJni(value);
}
NS_CC_END
#endif // CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID

View File

@ -34,6 +34,7 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Message;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.util.Log;
import android.widget.FrameLayout;
import android.preference.PreferenceManager.OnActivityResultListener;
@ -58,6 +59,16 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe
return sContext;
}
public void setKeepScreenOn(boolean value) {
final boolean newValue = value;
runOnUiThread(new Runnable() {
@Override
public void run() {
mGLSurfaceView.setKeepScreenOn(newValue);
}
});
}
protected void onLoadNativeLibraries() {
try {
ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);

View File

@ -167,6 +167,10 @@ public class Cocos2dxHelper {
Cocos2dxHelper.sAccelerometerEnabled = false;
Cocos2dxHelper.sCocos2dxAccelerometer.disable();
}
public static void setKeepScreenOn(boolean value) {
((Cocos2dxActivity)sActivity).setKeepScreenOn(value);
}
public static void preloadBackgroundMusic(final String pPath) {
Cocos2dxHelper.sCocos2dMusic.preloadBackgroundMusic(pPath);

View File

@ -209,6 +209,16 @@ void disableAccelerometerJni() {
}
}
void setKeepScreenOnJni(bool value) {
JniMethodInfo t;
if (JniHelper::getStaticMethodInfo(t, CLASS_NAME, "setKeepScreenOn", "(Z)V")) {
t.env->CallStaticVoidMethod(t.classID, t.methodID, value);
t.env->DeleteLocalRef(t.classID);
}
}
// functions for UserDefault
bool getBoolForKeyJNI(const char* key, bool defaultValue)
{

View File

@ -39,6 +39,7 @@ extern std::string getFileDirectoryJNI();
extern void enableAccelerometerJni();
extern void disableAccelerometerJni();
extern void setAccelerometerIntervalJni(float interval);
extern void setKeepScreenOnJni(bool value);
// functions for UserDefault
extern bool getBoolForKeyJNI(const char* key, bool defaultValue);
extern int getIntegerForKeyJNI(const char* key, int defaultValue);

View File

@ -477,6 +477,11 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
return ret;
}
void Device::setKeepScreenOn(bool value)
{
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
}
NS_CC_END
#endif // CC_PLATFORM_IOS

View File

@ -499,6 +499,10 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
return ret;
}
void Device::setKeepScreenOn(bool value)
{
}
NS_CC_END
#endif // CC_TARGET_PLATFORM == CC_PLATFORM_LINUX

View File

@ -247,6 +247,11 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
return ret;
}
void Device::setKeepScreenOn(bool value)
{
}
NS_CC_END
#endif // CC_TARGET_PLATFORM == CC_PLATFORM_MAC

View File

@ -451,6 +451,10 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
return ret;
}
void Device::setKeepScreenOn(bool value)
{
}
NS_CC_END
#endif // CC_TARGET_PLATFORM == CC_PLATFORM_WIN32

View File

@ -163,6 +163,10 @@ Data Device::getTextureDataForText(const char * text, const FontDefinition& text
return ret;
}
void Device::setKeepScreenOn(bool value)
{
}
NS_CC_END
#endif // (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT) || (CC_TARGET_PLATFORM == CC_PLATFORM_WP8)

View File

@ -135,6 +135,25 @@ void CCPrecompiledShaders::loadPrecompiledPrograms()
#endif
}
void CCPrecompiledShaders::addPrecompiledProgram(const char* key, const unsigned char* program, int programLength)
{
std::string id = key;
PrecompiledProgram* p = nullptr;
auto it = m_precompiledPrograms.find(id);
if (it != m_precompiledPrograms.end())
{
p = it->second;
}
else
{
p = new PrecompiledProgram();
m_precompiledPrograms[id] = p;
}
p->key = key;
p->program = program;
p->length = programLength;
}
bool CCPrecompiledShaders::loadProgram(GLuint program, const GLchar* vShaderByteArray, const GLchar* fShaderByteArray)
{
std::string id = computeHash(vShaderByteArray, fShaderByteArray);

View File

@ -70,6 +70,7 @@ public:
*/
static CCPrecompiledShaders* getInstance();
void addPrecompiledProgram(const char* key, const unsigned char* program, int programLength);
std::string addShaders(const GLchar* vShaderByteArray, const GLchar* fShaderByteArray);
bool addProgram(GLuint program, const std::string& id);

View File

@ -533,6 +533,7 @@ void PageView::interceptTouchEvent(TouchEventType event, Widget *sender, Touch *
{
case TouchEventType::BEGAN:
{
_touchBeganPosition = touch->getLocation();
_isInterceptTouch = true;
}
break;
@ -540,6 +541,7 @@ void PageView::interceptTouchEvent(TouchEventType event, Widget *sender, Touch *
{
float offset = 0;
offset = fabs(sender->getTouchBeganPosition().x - touchPoint.x);
_touchMovePosition = touch->getLocation();
if (offset > _childFocusCancelOffset)
{
sender->setHighlighted(false);
@ -550,6 +552,7 @@ void PageView::interceptTouchEvent(TouchEventType event, Widget *sender, Touch *
case TouchEventType::CANCELED:
case TouchEventType::ENDED:
{
_touchEndPosition = touch->getLocation();
handleReleaseLogic(touch);
if (sender->isSwallowTouches())
{

View File

@ -1573,10 +1573,10 @@ void ScrollView::interceptTouchEvent(Widget::TouchEventType event, Widget *sende
case TouchEventType::MOVED:
{
float offset = (sender->getTouchBeganPosition() - touchPoint).getLength();
_touchMovePosition = touch->getLocation();
if (offset > _childFocusCancelOffset)
{
sender->setHighlighted(false);
_touchMovePosition = touch->getLocation();
handleMoveLogic(touch);
}
}

View File

@ -393,6 +393,8 @@
"cocos/base/ccFPSImages.c",
"cocos/base/ccFPSImages.h",
"cocos/base/ccMacros.h",
"cocos/base/ccRandom.cpp",
"cocos/base/ccRandom.h",
"cocos/base/ccTypes.cpp",
"cocos/base/ccTypes.h",
"cocos/base/ccUTF8.cpp",

View File

@ -185,6 +185,7 @@
<ClCompile Include="..\..\..\..\cocos\platform\wp8-xaml\cpp\EditBoxEvent.cpp" />
<ClCompile Include="..\..\Classes\BaseTest.cpp" />
<ClCompile Include="..\..\Classes\BugsTest\Bug-Child.cpp" />
<ClCompile Include="..\..\Classes\Camera3DTest\Camera3DTest.cpp" />
<ClCompile Include="..\..\Classes\ChipmunkTest\ChipmunkTest.cpp" />
<ClCompile Include="..\..\Classes\ClippingNodeTest\ClippingNodeTest.cpp" />
<ClCompile Include="..\..\Classes\ConfigurationTest\ConfigurationTest.cpp" />
@ -228,6 +229,7 @@
<ClCompile Include="..\..\Classes\ReleasePoolTest\ReleasePoolTest.cpp" />
<ClCompile Include="..\..\Classes\ShaderTest\ShaderTest2.cpp" />
<ClCompile Include="..\..\Classes\SpineTest\SpineTest.cpp" />
<ClCompile Include="..\..\Classes\Sprite3DTest\DrawNode3D.cpp" />
<ClCompile Include="..\..\Classes\Sprite3DTest\Sprite3DTest.cpp" />
<ClCompile Include="..\..\Classes\TexturePackerEncryptionTest\TextureAtlasEncryptionTest.cpp" />
<ClCompile Include="..\..\Classes\TileMapTest\TileMapTest2.cpp" />
@ -383,6 +385,7 @@
<ClInclude Include="..\..\Classes\Box2DTestBed\Tests\MobileBalanced.h" />
<ClInclude Include="..\..\Classes\Box2DTestBed\Tests\MotorJoint.h" />
<ClInclude Include="..\..\Classes\BugsTest\Bug-Child.h" />
<ClInclude Include="..\..\Classes\Camera3DTest\Camera3DTest.h" />
<ClInclude Include="..\..\Classes\ChipmunkTest\ChipmunkTest.h" />
<ClInclude Include="..\..\Classes\ClippingNodeTest\ClippingNodeTest.h" />
<ClInclude Include="..\..\Classes\ConfigurationTest\ConfigurationTest.h" />
@ -429,6 +432,7 @@
<ClInclude Include="..\..\Classes\ReleasePoolTest\ReleasePoolTest.h" />
<ClInclude Include="..\..\Classes\ShaderTest\ShaderTest2.h" />
<ClInclude Include="..\..\Classes\SpineTest\SpineTest.h" />
<ClInclude Include="..\..\Classes\Sprite3DTest\DrawNode3D.h" />
<ClInclude Include="..\..\Classes\Sprite3DTest\Sprite3DTest.h" />
<ClInclude Include="..\..\Classes\TexturePackerEncryptionTest\TextureAtlasEncryptionTest.h" />
<ClInclude Include="..\..\Classes\TileMapTest\TileMapTest2.h" />

View File

@ -325,6 +325,9 @@
<Filter Include="Classes\ExtensionsTest\CocoStudioActionTimelineTest">
<UniqueIdentifier>{dff38415-43e7-4aff-98ec-c6094899d142}</UniqueIdentifier>
</Filter>
<Filter Include="Classes\Camera3DTest">
<UniqueIdentifier>{d17dc00f-2b4d-46af-a1ff-c3f4d937d621}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\Classes\AppDelegate.cpp">
@ -858,6 +861,12 @@
<ClCompile Include="..\..\Classes\UITest\CocoStudioGUITest\UIScale9SpriteTest.cpp">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\Sprite3DTest\DrawNode3D.cpp">
<Filter>Classes\Sprite3DTest</Filter>
</ClCompile>
<ClCompile Include="..\..\Classes\Camera3DTest\Camera3DTest.cpp">
<Filter>Classes\Camera3DTest</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\Classes\AppDelegate.h">
@ -1590,6 +1599,12 @@
<ClInclude Include="..\..\Classes\UITest\CocoStudioGUITest\UIScale9SpriteTest.h">
<Filter>Classes\UITest\CocosStudioGUITest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\Sprite3DTest\DrawNode3D.h">
<Filter>Classes\Sprite3DTest</Filter>
</ClInclude>
<ClInclude Include="..\..\Classes\Camera3DTest\Camera3DTest.h">
<Filter>Classes\Camera3DTest</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\external\curl\prebuilt\wp8\arm\libcurl.dll" />

@ -1 +1 @@
Subproject commit 196bb42c4fb72442230685fda0f100540052d60d
Subproject commit 802e261172e2f3b49d1feed20935a53820694ab2