Commit Graph

225 Commits

Author SHA1 Message Date
dingpinglv a567d467b3 Issue #4277: fixed a bug of ControlButton that it will crash when it deletes itself in its callback. 2014-03-13 10:14:24 +08:00
Huabing.Xu 61ae219a5c fix: controlSwitch Bug 2014-03-05 14:03:44 +08:00
Ricardo Quesada 7ac663e02c GL Program API fixes 2014-03-04 13:51:43 -08:00
Ricardo Quesada d78304599d Cache working OK.
Performance increased in 20% for static objects.
2014-02-28 16:10:48 -08:00
Ricardo Quesada eb66ddd931 visit and draw improved.
`visit()` and `draw()` are improved.
they both receive:
 - `Renderer`
 - `kmMat4` for transformation
 - `bool` whether or not the transform changed from the previous frame

Although `draw` and `visit` are not using the 3 new parameters,
they will start using it in the coming days (or weeks, or months).

Those parameters are needed for:
 - `Renderer` shouldn't be a singleton. There should be one renderer per Director. There could be more than one renderer
 - we should get rid of `kmGLXXX` functions since nodoby knows what is happening. the `kmMat4` is for that.
 - whenever possible, we should try to optimize the multiplications. the `dirty` flag is for that.

We need those changes, so, it is better to change the API now, and not right after v3.0-final is released.
2014-02-27 21:43:54 -08:00
James Chen c6b2b86fe5 closed #4106: Object which isn't in Vector would also be released when invoking Vector::eraseObject.
Also refactored 'Vector::eraseObject':
1) Removed 'toRelease' parameter, Vector class should manage reference count.
2) Added 'removeAll' parameter to decide wether to remove all elements with the same value or just the first occurrence .
3) Added relevant UnitTest for 'Vector::eraseObject'.
2014-02-21 11:24:37 +08:00
James Chen 0d8846d876 closed #4097: Adds a macro to disable inserting script binding relevant codes. 2014-02-20 16:40:46 +08:00
James Chen 5e6130c92c issue #4058: Get rid of Object ,rename it to Ref. 2014-02-20 10:53:49 +08:00
Ricardo Quesada cfbceb0e22 Fixes compilation issues on Linux 2014-01-16 21:49:14 -08:00
Ricardo Quesada d0dbf34319 removes "include "cocos2d.h" from cocos2d files 2014-01-16 21:35:58 -08:00
Dhilan007 ccda90cab5 fix compiling error in CCControlSlider.cpp on vs. 2014-01-09 15:52:04 +08:00
James Chen 46009e5daf Merge commit 'refs/pull/4085/head' of git://github.com/cocos2d/cocos2d-x into iss3619
Conflicts:
	extensions/GUI/CCControlExtension/CCControlButton.cpp
2014-01-09 11:16:44 +08:00
James Chen d4ff0ff7b8 Merge pull request #4075 from v1ctor/fix-extensions-slider
closed #3615: ControlSlider doesn't support setting selected thumb sprite
2014-01-08 18:50:34 -08:00
Huabing.Xu d75d2159dd fix control switch bug 2014-01-03 19:53:14 +08:00
Ricardo Quesada 59fee6b8d2 replaces std::for_each with for()
replaces `std::for_each` with C++11 `for( : )`
2013-12-19 13:34:41 -08:00
boyu0 ef54ed3c15 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into HEAD
Conflicts:
	cocos/2d/CCLabel.cpp
	cocos/2d/CCLabel.h
	cocos/2d/CCLabelBMFont.cpp
	cocos/2d/CCLabelBMFont.h
	cocos/2d/CCLayer.cpp
	cocos/2d/CCLayer.h
	cocos/2d/CCNode.cpp
	extensions/GUI/CCControlExtension/CCControl.cpp
	extensions/GUI/CCControlExtension/CCControlButton.cpp
	extensions/GUI/CCControlExtension/CCScale9Sprite.cpp
	tools/tojs/cocos2dx.ini
2013-12-19 17:05:59 +08:00
James Chen 0695e32fff Some warning fixes in SocketIO, ContriolButton, js_manual_conversion.h/.cpp. 2013-12-18 15:40:31 +08:00
James Chen d16fa07661 Removes Vector<T>::forEach, please use std::for_each instead. The same as Vector<T>::sort. 2013-12-17 17:45:29 +08:00
James Chen 2a38d4fe94 issue #2171: Fixing compilation errors for Linux port. 2013-12-17 14:50:40 +08:00
xuzhiqiang f797dea827 bug fix 2013-12-16 12:27:30 +08:00
boyu0 defae416f3 Merge branch 'develop' of git://github.com/cocos2d/cocos2d-x into bug3162_opacity_incorrect 2013-12-13 18:09:39 +08:00
boyu0 d7106d49be Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into bug3162_opacity_incorrect 2013-12-12 17:04:21 +08:00
minggo 16efe94946 fix compiling error after fixing conflicts 2013-12-12 14:48:27 +08:00
James Chen cc567a3077 issue #2790: Vector::remove —> Vector::erase. 2013-12-11 18:08:06 +08:00
boyu0 00b115843c issue #3162: add updateColor function to Label and delete duplicate functions. 2013-12-11 16:38:47 +08:00
boyu0 a71394b122 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into bug3162_opacity_incorrect 2013-12-10 18:03:41 +08:00
James Chen 713d89b6d8 issue #2790: Uses Vector<Invocation*> instead of CCArray* for CCControl. Uses std::unordered_map<int, Vector<Invocation*>*> instead of CCDictionary*. 2013-12-07 14:36:07 +08:00
boyu0 af5f496861 issue #3162: Merge Node and NodeRGBA, fix bug: Child's opacity will not be changed when its parent's setCascadeOpacityEnabled was set to true and opacity was changed. 2013-12-06 18:07:16 +08:00
James Chen 18d604d349 issue #2790: Bug fix in CCScale9Sprite.cpp. Sprite::Sprite::create --> Sprite::create 2013-12-04 16:02:54 +08:00
James Chen 1d5984b29a issue #2790: Vector::makeObjectsPerformCallback —> Vector::forEach 2013-12-04 16:01:02 +08:00
James Chen a04c45f0d9 issue #3258: Renames ControlSwitchSprite::createWithMaskSprite to ControlSwitchSprite::create. 2013-11-26 16:19:12 +08:00
Ricardo Quesada b6ddc6d048 Uses std::unordered_map<> instead of std::map<>
and more fixes.
2013-11-21 13:43:59 -08:00
Ricardo Quesada d3c44cbb0b Merge branch 'develop' into constructors_are_protected
Conflicts:
	cocos/2d/CCLayer.h
2013-11-20 11:23:03 -08:00
James Chen 59c2647bd6 Prevents warning of invoking ScrollView::setTouchEnabled. Layer::setTouchEnabled should not be a virtual function. 2013-11-20 11:35:04 +08:00
Ricardo Quesada 208d25bdff ControlSwitch compies
Uses procted constructor
2013-11-15 12:04:47 -08:00
Ricardo Quesada a583ad461f CCControlButton has protected constructor 2013-11-14 17:19:16 -08:00
Ricardo Quesada d590986e73 Constructors are protected 2013-11-13 15:55:36 -08:00
minggo 109adaf337 Merge pull request #4103 from luisparravicini/issue-2882
[ci skip]added | operator for Control::EventType
2013-11-07 18:59:33 -08:00
Ricardo Quesada ddb0111392 continue replacing `const char*` with `const std::string&`
This patch includes:

* Continue replacing `const char*` with `const std::string&`  where it makes sense.
* It also removes some Hungarian notation from the code.
* It fixes some indentation issues in part of the code
* It replaces `int` or `unsigned int` with `long` where it makes sense.
2013-11-06 17:05:13 -08:00
Luis Parravicini 8b1d3af720 added | operator for Control::EventType 2013-11-05 23:55:24 -03:00
Victor Buldakov bebd8c63ab Merge branch 'develop' into fix-extensions-slider 2013-11-04 20:32:15 +04:00
Victor Buldakov 67cbd929e4 Merge branch 'develop' into fix-button-scale-to 2013-11-04 20:30:14 +04:00
Victor Buldakov 07215f1184 Add scale ratio to button touchdown 2013-11-04 17:17:01 +04:00
Victor Buldakov 5213aa7bc9 fix cc 2013-11-04 01:27:16 +04:00
Victor Buldakov 550245c6dc Add selected image to slider 2013-11-04 01:17:32 +04:00
James Chen 50c4261092 closed #3104: Touch listener should be registered in Menu::initXXX and Control::init rather than onEnter. 2013-11-01 20:53:51 +08:00
James Chen 48ce5e39fe EventDispatcher is managed by Director now, like Scheduler and ActionManager. 2013-10-26 15:04:01 +08:00
James Chen cfaef2a01a Adding onEnterHook, onXXXHook for Node. 2013-10-25 10:53:45 +08:00
minggo 6fc2be62f5 issue #2905: testcpp bild ok on Android 2013-10-15 18:00:03 +08:00
Keita Obo 43c2001d71 Avoid unnecessary object duplication using passing arguments by reference 2013-10-10 22:06:10 +09:00
minggo 261f0e4f05 rename some files 2013-09-21 14:40:54 +08:00
minggo bcb171e3c9 fix line end in windows 2013-09-20 22:23:13 +08:00
James Chen 157ffa9299 Merge pull request #3627 from nutty898/Merge_GUI_to_Develop
Merge gui to develop 3.0 branch
2013-09-16 07:45:23 -07:00
James Chen b128018f76 Merge branch 'suppressed-C4996' of https://github.com/savdalion/cocos2d-x into savdalion-suppressed-C4996
Conflicts:
	extensions/CocoStudio/Armature/external_tool/GLES-Render.cpp
	samples/Cpp/TestCpp/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp
2013-09-16 20:58:26 +08:00
CaiWenzhi ca599b4852 Merge guy to 3.0 branch 2013-09-16 20:54:13 +08:00
signmotion 5dffb1b44e Deprecated methods are replaced (warning MSVC C4996 is suppressed). 2013-09-16 15:38:03 +03:00
James Chen dd7bfd7b60 Merge branch 'develop' of git://github.com/cocos2d/cocos2d-x into new-event-dispatcher-rebase
Conflicts:
	cocos2dx/CCDirector.h
	cocos2dx/keyboard_dispatcher/CCKeyboardDispatcher.h
	cocos2dx/keypad_dispatcher/CCKeypadDelegate.h
	cocos2dx/keypad_dispatcher/CCKeypadDispatcher.h
	cocos2dx/layers_scenes_transitions_nodes/CCLayer.h
	cocos2dx/menu_nodes/CCMenu.h
	cocos2dx/platform/CCAccelerometerDelegate.h
	cocos2dx/platform/android/CCAccelerometer.h
	cocos2dx/platform/ios/CCAccelerometer.h
	cocos2dx/platform/mac/CCAccelerometer.h
	cocos2dx/platform/win32/CCAccelerometer.h
	cocos2dx/script_support/CCScriptSupport.h
	cocos2dx/touch_dispatcher/CCTouchDelegateProtocol.h
	cocos2dx/touch_dispatcher/CCTouchDispatcher.h
	cocos2dx/touch_dispatcher/CCTouchHandler.h
	extensions/CocoStudio/Components/CCInputDelegate.h
2013-09-13 19:06:09 +08:00
samuele3hu d8bd65b2e8 issue #2784:Add class constructor js-binding document 2013-09-13 16:46:31 +08:00
samuele3hu a34ec99014 issue #2784:Add js-binding and lua-binding document 2013-09-13 11:41:20 +08:00
James Chen da1101beeb [Dispatcher] New event dispatcher, first commit. 2013-09-11 22:09:34 +08:00
minggo c4a97cdfa1 Merge pull request #3485 from ricardoquesada/perf_and_bug_fixes
Perf and bug fixes
2013-08-26 23:22:33 -07:00
Ricardo Quesada 0093263c18 Little performance improvements
Uses `AffineTransform::IDENTITY`

Signed-off-by: Ricardo Quesada <ricardoquesada@gmail.com>
2013-08-26 18:08:21 -07:00
samuele3hu 3b90d0b5b6 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into iss2433-lua-bindings-generator 2013-08-22 13:40:35 +08:00
Ricardo Quesada 2e221ee6cc Array & Dictionary fixes
In many places `Dictionary` and `Array` are not being initialized. In fact `Dictionary` doesn't  have the `init()` method creating potential leaks.
Also in objects like `Armature` and the new `LabelTTF`, the `Array` object is not being used a pointer. So it doesn't use the 2 phase initialization, creating potential leaks.

This patch fixes all those issues.

Signed-off-by: Ricardo Quesada <ricardoquesada@gmail.com>
2013-08-21 20:12:09 -07:00
samuele3hu 39686ea503 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into iss2433-lua-bindings-generator 2013-08-20 13:46:26 +08:00
James Chen 175316f2c6 Merge pull request #3404 from timothyqiu/docfix
Documentation fix: broken links and wrong encoding in the doc...
2013-08-18 19:35:47 -07:00
samuele3hu c8b75a1080 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into iss2433-lua-bindings-generator 2013-08-16 10:13:38 +08:00
samuele3hu 7f8099ce69 Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into iss2433-lua-bindings-generator
Conflicts:
	cocos2d_libs.xcodeproj/project.pbxproj
	tools/bindings-generator
2013-08-15 16:21:32 +08:00
samuele3hu 13fd369beb issue #2433:Modify lua binding generator template and releated action test 2013-08-14 21:35:55 +08:00
James Chen 86fef75963 issue #2521: Removing an unused method ControlStepper::setValue(double value, bool send); since it's not implemented and there is an similar method 'setValueWithSendingEvent' could replace it. 2013-08-12 11:20:48 +08:00
James Chen fc437c5ef4 (Array*) --> static_cast<Array*>() for CCControl.cpp. 2013-08-09 10:56:39 +08:00
Timothy Qiu 3d8d0e40ee Fixed broken links and wrong encoding in the doc.
Fixed Obj-C names when referening functions.
Changed some GB2312 encoded characters to UTF-8.
2013-08-09 02:31:51 +08:00
Timothy Qiu 5ad5cfed7a Yet another documentation fix.
Modified mismatching parameters doc caused by refactoring.
Added the missing doc of some parameters.
Removed Hungarian notation from parts of the code.
2013-08-01 21:40:13 +08:00
James Chen 343c98af13 Fixing warnings of the order of member variables and fixing errors for tizen projects. 2013-07-29 14:07:57 +08:00
James Chen e66e429bb2 issue #2430: Moving enum type to class for CCBReader. 2013-07-27 21:44:49 +08:00
James Chen feadd2b2dd issue #2430: Moved constant to header file to avoid errors in 'switch case', the error is 'case value is not a constant expression'.
Also added more deprecated constants.
2013-07-27 00:55:41 +08:00
minggo 0870581623 fix warnings 2013-07-26 15:22:45 +08:00
minggo f55d73194e issue 2430:use enum class for Control enum values 2013-07-26 14:37:26 +08:00
Ricardo Quesada 8bf24f0475 ccGLXXX -> GL::xxx
Adds GL namespace. Deprecates the `ccGLFunctionName` functions. New functions are `GL::functionName`

Also, converts the class `DrawPrimitives` into a namespace
2013-07-25 18:42:53 -07:00
minggo acdd1cfe9d issue #2430:move GLProgram enum into class 2013-07-25 17:48:22 +08:00
minggo 3d6f3bf8b2 issue #2430:move ProgressTimer enum into class 2013-07-25 15:11:36 +08:00
minggo 658bffbb69 issue #2430:use upper letter for enum item in ccGLStateCache.h 2013-07-25 15:04:13 +08:00
Ricardo Quesada 1f37d4d00a More best practices fixes and other bug fixes
- Adds `CC_REQUIRES_NULL_TERMINATION` to methods that require a NULL at the end
- Removes more Hungarian notations in samples
- s/sprite/scene: fix from previous commit
- `CCLog` -> `log`
- `getLayerNamed` -> `getLayer`
- `getPropertyNamed` -> `getProperty`
- and other small fixes
2013-07-23 15:20:22 -07:00
James Chen 1db847ad7c issue #2344: ScriptEngineManager::sharedManager --> ScriptEngineManager::getInstance, ScriptEngineManager::purgeSharedManager --> ScriptEngineManager::destroyInstance 2013-07-22 17:24:54 +08:00
James Chen 2228614748 issue #2344: JSB also uses 'ScriptEngineManager::sharedManager()->getScriptEngine()->sendEvent(XXX);' now. 2013-07-22 17:12:53 +08:00
Ricardo Quesada 89d210bdb3 CCAssert -> CCASSERT
and other best pracitces like:

capacity and "index" are ints and not unsigned int (google's recomendation).
 It is easier to detect underflow bugs like this

plus other minor improvements
2013-07-19 22:01:27 -07:00
Ricardo Quesada ba6ab126c6 More best practices fixes
- class order fixes
  - static methods (creators) at the beginning
  - then constructors / destructors
  - then init
- more `const` fixes
  - adds some const getters
  - some getters have 2 versions: `const` and no-const version
- renamed CocosDenshion::sharedEngine -> getInstance()
2013-07-18 16:30:19 -07:00
Ricardo Quesada 6e25301b43 more best practices fixes
- Adds more `const` in getters
- Overriden methods have the `override` keyword
- Reorganizes the structure of the class:
  # creators first, then constructor, destructors, init
  # then overridden methods
  # variables at the end
- removes Hungarian notation from parts of the code
2013-07-17 16:56:19 -07:00
Ricardo Quesada 5d499d351d Some more changes to make the code more c++ friendly:
- nodeToParentTransform -> getNodeToParentTransform() (the same for its friends)
   - Deprecates the old methods
   - adds 'consts' to those methods
- boundingBox() -> getBoundingBox()
   - the new one is const
   - Deprecates the old method.
- Adds overrides keywords in CCNodeRGBA and CCArmature
- AffineMatrix are mutables
2013-07-16 18:16:04 -07:00
samuele3hu 1761669832 issue #2377:Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into ScriptHandlerMgr 2013-07-16 12:47:40 +08:00
samuele3hu c955a559bf issue #2377:Del register/unregister function in .cpp and .h files 2013-07-16 09:55:06 +08:00
pktangyue 652f679d50 override updateDisplayedColor and updateDisplayedOpacity method in Scale9Sprite class 2013-07-15 20:13:30 +08:00
minggo eada29ee40 issue #2404:created CCDprecated.h and move all global functions and variables into it 2013-07-15 16:14:26 +08:00
minggo 6abe6fce78 closed #2393: fix conflicts 2013-07-12 18:04:32 +08:00
minggo 58fe3c7563 closed #2393: fixed conflicts 2013-07-12 15:07:44 +08:00
minggo 5d9fea1416 issue #2393:mark PointZero RectZero and SizeZero as deprecated 2013-07-12 14:47:36 +08:00
minggo 15096b0716 issue #2393:mark CCPointMake CCSizeMake CCRectMake as deprecated 2013-07-12 14:30:26 +08:00
James Chen 6038d69183 issue #2397: sharedSpriteFrameCache --> getInstance, purgeSharedSpriteFrameCache --> destroyInstance. 2013-07-12 14:12:58 +08:00
minggo bb758df0d0 issue #2393:mark ccp as deprecated 2013-07-12 14:11:55 +08:00
Ricardo Quesada cf262c28e2 getInstance() / destroyInstance() are used...
... instead of sharedXXX / purgeXXX.
They are more C++ friendly, and also easier to remember.

common files + Mac files + iOS files + tests/samples files were updated.

The old methods are deprecated now.
2013-07-11 15:24:23 -07:00