Commit Graph

255 Commits

Author SHA1 Message Date
halx99 992d6139d9 More clearly programState management 2020-09-09 13:03:31 +08:00
halx99 2b24a1cb6f Add ENGINEX_VERSION and improve ABI compatiable 2020-08-04 12:11:36 +08:00
halx99 a735abaf65 Take care _programState use 2020-07-21 23:11:03 +08:00
halx99 e7906acfa4 v4-meta-multi-textures support Single Texture2D with multi GPU texture handlers. 2019-11-20 18:19:24 +08:00
minggo 01ff6ddd66
delete useless files and clean codes (#20279) 2019-11-06 14:24:06 +08:00
coulsonwang a0d7751510 rename to make function name more clear 2019-10-28 16:47:27 +08:00
coulsonwang eb23e1ffde needs update texture info 2019-10-28 16:05:05 +08:00
coulsonwang 2d42aa1d21 fix memory leak (#20258) 2019-10-28 15:04:03 +08:00
coulsonwang 2501f53b9b add CameraTest (#20253)
* nodeTest

* fix
2019-10-25 18:22:35 +08:00
coulsonwang 67ae2e756e fix ProgramState and Program performance (#20189)
* fix ProgramState and Program performance

* fix review

* fix

* add autorelease
2019-10-15 09:40:59 +08:00
rh101 4ac3f94774 V4 RenderTexture PMA flag fix (#20153)
* This is to ensure the RenderTexture internal texture2D PMA flag is set to the correct value.
[CCSprite.cpp] Blending mode needs to be set based on the PMA flag of the texture if using Sprite::initWithTexture().

* [CCSprite.cpp] Removed redundant code related to blending mode and opacityModifyRGB when creating a sprite with a texture.
2019-09-26 16:11:23 +08:00
coulsonwang c4e6ede197 move VertexLayout to ProgramState (#20029)
* move VertexLayout to ProgramState

* fix lua
2019-08-15 16:51:49 +08:00
coulsonwang 320b9b4e67 Feature/sprite optimized (#19998)
Optimize sprite creation speed
2019-08-06 09:37:49 +08:00
minggo 0d121d7913
remove void in function declaration (#19954) 2019-07-22 09:38:46 +08:00
minggo e47d6b664f
sync 19649 and fix conflict (#19931) 2019-07-19 13:43:20 +08:00
coulsonwang 7b7cf55efb remove vertex step mode (#19921) 2019-07-17 13:59:37 +08:00
coulsonwang 7a94e66a14 Feature/fix alpha test (#19824) 2019-06-18 00:25:26 -07:00
coulsonwang 7486fe89dc fix flip issue (#19831)
* fix flip

* fix flip issue
2019-06-18 00:20:29 -07:00
coulsonwang 97431b1197 [ParticleSpriteFrameTest] remove getName() in Texture2D (#19740) 2019-05-21 18:49:11 -07:00
Arnold 98d5f37a30 fix lua-tests errors (#19646)
* enable test case

* save

* generate enum classes

* save

* autobindg backend interface

* safe

* fix typos

* fix setUniform

* enable draw primitives and fast tmx tiled map

* save all

* update

* fix compile error on mac

* fix locations

* fix locations

* deduce vertexlayout

* clean

* compile on mac

* fix resource path

* save

* update bindings-generator

* remove unused code

* rename ccbackend to ccb

* remove todo
2019-05-05 00:26:34 -07:00
Arnold 3bf5e84926 [bugfix] cpp-test small bugs (#19574) 2019-04-04 01:13:17 -07:00
coulsonwang 4f81cd7356 [BugFix] EVENT_PROJECTION_CHANGED means trigger an event when projection type is changed instead of when projection matrix is changed. (#19568) 2019-04-02 18:30:49 -07:00
Arnold 6c4c80d977
set terrain winding to CW (#19549) 2019-03-27 13:59:10 +08:00
Arnold aa54a6c576 enable shader tests (#19546) 2019-03-25 22:45:03 -07:00
Arnold 069800b98c
enable test case 2019-03-15 14:41:59 +08:00
coulsonwang a8e54b9b53 [Feature] update attribute setting 2019-03-12 21:05:03 +08:00
minggo 1e7a6f7fcf
Issue19416 (#19427)
* use more meaningful names

* remove unneeded types
2019-02-22 14:06:26 +08:00
Arnold 8be2a2053f
sync 3d support code (#19392)
* Sprite3D
* DrawNode3D
* active more Sprite3DTest
2019-02-15 14:30:10 +08:00
minggo c78a109bdd
Performance improve (#19370)
* don't set mvp projection every frame

* pretify codes
2019-01-30 17:54:48 +08:00
minggo 8d9bd925c9
metal support for cocos2d-x (#19305)
* remove deprecated files

* remove some deprecated codes

* remove more deprecated codes

* remove ui deprecated codes

* remove more deprecated codes

* remove deprecated codes in ccmenuitem

* remove more deprecated codes in ui

* remove more deprecated codes in ui

* remove more deprecated codes in ui

* remove more deprecated codes

* remove more deprecated codes

* remove more deprecated codes

* remove vr related codes and ignore some modules

* remove allocator

* remove some config

* 【Feature】add back-end project file

* [Feature] add back-end file

* add pipeline descriptor and shader cache

* [Feature] support sprite for backend

* [Feature] remove unneeded code

* [Feature] according to es2.0 spec, you must use clamp-to-edge as  texture wrap mode, and no mipmapping for non-power-of-two texture

* [Feature] set texture wrap mode to clamp-to-edge, and no mipmapping for non-power-of-two texture

* [Feature] remove macro define to .cpp file

* [Feature] add log info

* [Feature] add PipelineDescriptor for TriangleCommand

* [Feature] add PipelineDescriptor object as member of TriangleCommand

* [Feature] add getPipelineDescriptor method

* add renderbackend

* complete pipeline descriptor

* [Feature] add viewport in RenderCommand

* set viewport when rendrering

* [Feature] occur error when using RendererBackend, to be fixed.

* a workaround to fix black screen on macOS 10.14 (#19090)

* add rendererbackend init function

* fix typo

* [Feature] modify testFile

* [BugFix] modify shader path

* [Feature] set default viewport

* fix projection

* [Feature] modify log info

* [BugFix] change viewport data type to int

* [BugFix] add BindGroup to PipelienDescriptor

* [BugFix] change a_position to vec3 in sprite.vert

* [BugFix] set vertexLayout according to V3F_C4B_T2F structure

* [Feature] revert a_position to vec4

* [Feature] renderer should not use gl codes directly

* [Feature] it's better not use default value parameter

* fix depth test setting

* rendererbackend -> renderer

* clear color and depth at begin

* add metal backend

* metal support normalized attribute

* simplify codes

* update external

* add render pass desctriptor in pipeline descriptor

* fix warnings

* fix crash and memeory leak

* refactor Texture2D

* put pipeline descriptor into render command

* simplify codes

* [Feature] update Sprite

* fix crash when closing app

* [Feature] update SpriteBatchNode and TextureAtlas

* support render texture(not finish)

* [Feature] remove unused code

* make tests work on mac

* fix download-deps path error

* make tests work on iOS

* [Feature] support ttf under normal label effect

* refactor triangle command processing

* let renderer handle more common commands

* refactor backend

* make render texture work

* [Feature] refactor backend for GL

* [Feature]Renaming to make it easy to understand

* [Feature] change warp mode to CLAMP_TO_EDGE

* fix ghost

* simplify visit render queue logic

* support progress timer without rial mode

* support partcile system

* Feature/update label (#149)

* [BugFix] fix compile error

* [Feature] support outline effect in ios

* [Feature] add shader file

* [BugFix] fix begin and end RenderPass

* [Feature] update CustomCommand

* [Feature] revert project.pbxproj

* [Feature] simplify codes

* [BugFix] pack AI88 to RGBA8888 only when outline enable

* [Feature] support shadow effect in Label

* [Feature] support BMFont

* [Feature] support glow effect

* [Feature] simplify shader files

* LabelAtlas work

* handle blend function correctly

* support tile map

* don't share buffer in metal

* alloc buffer size as needed

* support more tilemap

* Merge branch 'minggo/metal-support' into feature/updateLabel

* minggo/metal-support:
  support tile map
  handle blend function correctly
  LabelAtlas work
  Feature/update label (#149)
  support partcile system

# Conflicts:
#	cocos/2d/CCLabel.cpp
#	cocos/2d/CCSprite.cpp
#	cocos/2d/CCSpriteBatchNode.cpp
#	cocos/renderer/CCQuadCommand.cpp
#	cocos/renderer/CCQuadCommand.h

* render texture work without saving file

* use global viewport

* grid3d works

* remove grabber

* tiled3d works

* [BugFix] fix label bug

* [Feature] add updateSubData for buffer

* [Feature] remove setVertexCount

* support depth test

* add callback command

* [Feature] add UITest

* [Feature] update UITest

* [Feature] remove unneeded codes

* fix custom command issue

* fix layer color blend issue

* [BugFix] fix iOS compile error

* [Feature] remove unneeded codes

* [Feature] fix updateVertexBuffer

* layerradial works

* add draw test back

* fix batch issue

* fix compiling error

* [BugFix] support ETC1

* [BugFix] get the correct pipelineDescriptor

* [BugFix]  skip draw when backendTexture nullptr

* clipping node support

* [Feature] add shader files

* fix stencil issue in metal

* [Feature] update UILayoutTest

* [BugFix] skip drawing when vertexCount is zero

* refactor renderer

* add set global z order for stencil manager commands

* fix warnings caused by type

* remove viewport in render command

* [Feature] fix warnings caused by type

* [BugFix] clear vertexCount and indexCount for CustomComand when needed

* [Feature] update clear for CustomCommand

* ios use metal

* fix viewport issue

* fix LayerColorGradient crash

* [cmake] transport to android and windows (#160)

* save point 1

* compile on windows

* run on android

* revert useless change

* android set CC_ENABLE_CACHE_TEXTURE_DATA to 1

* add initGlew

* fix android crash

* add TODO new-renderer

* review update

* revert onGLFWWindowPosCallback

* fix android compiling error

* Impl progress radial (#162)

* progresstimer add radial impl

* default drawType to element

* dec invoke times of createVertexBuffer (#163)

* support depth/stencil format for gl backend

* simplify progress timer codes

* support motionstreak, effect is wrong

* fix motionstreak issue

* [Feature] update Scissor Test (#161)

* [Feature] update Scissor Test

* [Feature] update ScissorTest

* [Feature] rename function

* [Feature] get constant reference if needed

* [Feature] show render status (#164)

* improve performance

* fix depth state

* fill error that triangle vertex/index number bigger than buffer

* fix compiline error in release mode

* fix buffer conflict between CPU and GPU on iOS/macOS

* Renderer refactor (#165)

* use one vertes/index buffer with opengl

* fix error on windows

* custom command support index format config

* CCLayer: compact vertex data structure

* update comment

* fix doc

* support fast tilemap

* pass index format instead

* fix some wrong effect

* fix render texture error

* fix texture per-element size

* fix texture format error

* BlendFunc type refactor, GLenum -> backend::BlendFactor  (#167)

* BlendFunc use backend::BlendFactor as inner field

* update comments

* use int to replace GLenum

* update xcode project fiel

* rename to GLBlendConst

* add ccConstants.h

* update xcode project file

* update copyright

* remove primitive command

* remove CCPrimitive.cpp/.h

* remove deprecated files

* remove unneeded files

* remove multiple view support

* remove multiple view support

* remove the usage of frame buffer in camera

* director don't use frame buffer

* remove FrameBuffer

* remove BatchCommand

* add some api reference

* add physics2d back

* fix crash when close app on mac

* improve render texture

* fix rendertexture issue

* fix rendertexture issue

* simplify codes

* CMake support for mac & ios (#169)

* update cmake

* fix compile error

* update 3rd libs version

* remove CCThread.h/.cpp

* remove ccthread

* use audio engine to implement simple audio engine

* remove unneeded codes

* remove deprecated codes

* remove winrt macro

* remove CC_USE_WIC

* set partcile blend function in more elegant way

* remove unneeded codes

* remove unneeded codes

* cmake works on windows

* update project setting

* improve performance

* GLFloat -> float

* sync v3 cmake improvements into metal-support (#172)

* pick: modern cmake, compile definitions improvement (#19139)

* modern cmake, use target_compile_definitions partly

* simplify macro define, remove USE_*

* modern cmake, macro define

* add physics 2d macro define into ccConfig.h

* remove USE_CHIPMUNK macro in build.gradle

* remove CocosSelectModule.cmake

* shrink useless define

* simplify compile options config, re-add if necessary

* update external for tmp CI test

* un-quote target_compile_options value

* add "-g" parameter only when debug mode

* keep single build type when generator Xcode & VS projecy

* update external for tmp CI tes

* add static_cast<char>(-1), fix -Wc++11-narrowing

* simplify win32 compile define

* not modify code, only improve compile options

# Conflicts:
#	.gitignore
#	cmake/Modules/CocosConfigDepend.cmake
#	cocos/CMakeLists.txt
#	external/config.json
#	tests/cpp-tests/CMakeLists.txt

* modern cmake, improve cmake_compiler_flags (#19145)

* cmake_compiler_flags

* Fix typo

* Fix typo2

* Remove chanages from Android.mk

*  correct lua template cmake build (#19149)

* don't add -Wno-deprecated into jsb target

* correct lua template cmake build

* fix win32 lua template compile error

* prevent cmake in-source-build friendly (#19151)

* pick: Copy resources to "Resources/" on win32 like in linux configuration

* add "/Z7" for cpp-tests on windows

* [cmake] fix iOS xcode property setting failed (#19208)

* fix iOS xcode property setting failed

* use search_depend_libs_recursive at dlls collect

* fix typo

* [cmake] add find_host_library into iOS toolchain file (#19230)

* pick: [lua android] use luajit & template cmake update (#19239)

* increase cmake stability ,  remove tests/CMakeLists.txt (#19261)

* cmake win32 Precompiled header (#19273)

* Precompiled header

* Fix

* Precompiled header for cocos

* Precompiled header jscocos2d

* Fix for COCOS2D_DEBUG is always 1 on Android (#19291)

Related #19289

* little build fix, tests cpp-tests works on mac

* sync v3 build related codes into metal-support (#173)

* strict initialization for std::array

* remove proj.win32 project configs

* modern cmake, cmake_cleanup_remove_unused_variables (#19146)

* Switch travis CI to xenial (#19207)

* Switch travis CI to xenial

* Remove language: android

* Set language: cpp

* Fix java problem

* Update sdkmanager

* Fix sdkmanger

* next sdkmanager fix

* Remove xenial from android

* revert to sdk-tools-{system}-3859397

* Remove linux cmake install

* Update before-install.sh

* Update .travis.yml

* Simplify install-deps-linux.sh, tested on Ubuntu 16.04 (#19212)

* Simplify install-deps-linux.sh

* Cleanup

* pick: install ninja

* update cocos2d-console submodule

* for metal-support alpha release, we only test cpp

* add HelloCpp into project(Cocos2d-x) for tmp test

* update extenal metal-support-4

* update uniform setting

* [Feature] update BindGroup

* [Feature] empty-test

* [Feature] cpp-test

* [Feature] fix GL compiler error

* [Feature] fix GL crash

* [Feature] empty-test

* [Feature] cpp-tests

* [feature] improve frameRate

* [feature] fix opengl compile error

* [feature] fix opengl compile error

* [BugFix] fix compute maxLocation error

* [Feature] update setting unifrom

* [Feature] fix namespace

* [Feature] remove unneeded code

* [Bugfix] fix project file

* [Feature] update review

* [texture2d] impl texture format support  (#175)

* texture update

* update

* update texture

* commit

* compile on windows

* ddd

* rename

* rename methods

* no crash

* save gl

* save

* save

* rename

* move out pixel format convert functions

* metal crash

* update

* update android

* support gles compressed texture format

* support more compress format

* add more conversion methods

* ss

* save

* update conversion methods

* add PVRTC format support

* reformat

* add marco linux

* fix GL marcro

* pvrtc supported only by ios 8.0+

* remove unused cmake

* revert change

* refactor Texture2D::initWithData

* fix conversion log

* refactor Texture2D::initWithData

* remove some OpenGL constants for PVRTC

* add todo

* fix typo

* AutoTest works on mac/iOS by disable part cases, sync v3 bug fix (#174)

* review cpp-tests, and fix part issues on start auto test

* sync png format fix: Node:Particle3D abnormal texture effects #19204

* fix cpp-tests SpritePolygon crash, wrong png format (#19170)

* fix wrong png convert format from sRGB to Gray

* erase plist index if all frames was erased

* test_A8.png have I8 format, fix it

* [CCSpriteCache] allow re-add plist & add testcase (#19175)

* allow re-add plist & add testcase

* remove comments/rename method/update testcase

* fix isSpriteFramesWithFileLoaded & add testcase

* remove used variable

* remove unused variable

* fix double free issues when js/lua-tests exit on iOS (#19236)

* disable part cases, AutoTest works without crash on mac

* update cocos2dx files json, to test cocos new next

* fix spritecache plist parsing issue (#19269)

* [linux] Fix FileUtils::getContents with folder (#19157)

* fix FileUtils::getContents on linux/mac

* use stat.st_mode

* simplify

* [CCFileUtils] win32 getFileSize (#19176)

* win32 getFileSize

* fix stat

* [cpp test-Android]20:FileUtils/2 change title (#19197)

* sync #19200

* sync #19231

* [android lua] improve performance of lua loader (#19234)

* [lua] improve performance of lua loader

* remove cache fix

* Revert "fix spritecache plist parsing issue (#19269)"

This reverts commit f3a85ece4307a7b90816c34489d1ed2c8fd11baf.

* remove win32 project files ref in template.json

* add metal framework lnk ref into cpp template

* test on iOS, and disable part cases

* alBufferData instead of alBufferDataStatic for small audio file on Apple (#19227)

* changes AudioCache to use alBufferData instead of alBufferDataStatic

(also makes test 19 faster to trigger openal bugs faster)

The original problem: CrashIfClientProvidedBogusAudioBufferList
https://github.com/cocos2d/cocos2d-x/issues/18948
is not happening anymore, but there's still a not very frequent issue
that makes OpenAL crash with a call stack like this.
AudioCache::readDataTask > alBufferData > CleanUpDeadBufferList

It happes more frequently when the device is "cold", which means after
half an hour of not using the device (locked).

I could not find the actual source code for iOS OpenAL, so I used the
macOS versions:
https://opensource.apple.com/source/OpenAL/OpenAL-48.7/Source/OpenAL/oalImp.cpp.auto.html

They seem to use CAGuard.h to make sure the dead buffer list
has no threading issues. I'm worried because the CAGuard code I found
has macos and win32 define but no iOS, so I'm not sure. I guess the
iOS version is different and has the guard.

I could not find a place in the code that's unprotected by the locks
except the InitializeBufferMap() which should not be called more than
once from cocos, and there's a workaround in AudioEngine-impl for it.

I reduced the occurence of the CleanUpDeadBufferList crash by moving
the guard in ~AudioCache to cover the alDeleteBuffers call.

* remove hack method "setTimeout" on audio

* AutoTest works on iOS

* support set ios deployment target for root project

* enable all texture2d cases, since Jiang have fixed

* add CCTextureUtils to xcode project file (#176)

* add leak cases for SpriteFrameCache (#177)

* re-add SpriteFrameCache cases

* update template file json

* Update SpriteFrameCacheTest.cpp

* fix compiling error
2019-01-18 15:08:25 +08:00
Peter Siegmund bac694dc55 fix reorder warning (#18819) 2018-05-14 10:34:56 +08:00
leeda 18a6d8241d update Copyright. might need manual fix later (#18659)
* Copyright use python script updated. might be fix by manual later

* Revert "Copyright use python script updated. might be fix by manual later"

This reverts commit 49e99418e4da1fd02afda448ddeb16210f5e8c71.

* re modify copyright, consider utf-8-sig encoding

* another situation, add Copyright before  "Permission is hereby granted"

* Revert "another situation, add Copyright before  "Permission is hereby granted""

This reverts commit ee82591d32353c7ce2e146fe51ef447433b47571.

* another situation, add Copyright before Permission is hereby granted

* change "Copyright (c) 2016-2016 Chukong Technologies Inc." to " Copyright (c) 2016 Chukong Technologies Inc."

* script modify copyright, consider is cocos copyright or not

* change "Copyright (c) 2017 Chukong Technologies Inc." to "Copyright (c) 2016 Chukong Technologies Inc."

* manual fix, not fix audio related

* change "2016-2016" to "2016"
2018-01-29 16:25:32 +08:00
Felippe Durán 681e9aa752 Fix polygon sprite bug of resetting flip and color information in setSpriteFrame. (#18085) 2017-07-19 11:08:12 +08:00
子龙山人 0b99ba35f2 Fix ui slice issue (#18065)
* add tests to reproduce sprite slice issue

* fix scale9sprite change texture losing slice info

* fix tilemap crash issue
2017-07-17 15:52:01 +08:00
Y-way 7894c5c4a3 Setting new texture for Sprite will reset the program state that is changed (#17938)
In my project:
1.set default texture.
2.set mine shader program
3.set new texture.

then, the sprite will reset my shader program.
2017-06-20 09:02:58 +08:00
Carlos Madrazo a24b40ac47 Allow visit Sprite without camera for render to texture (#17824)
* Allow visit sprite without camera for render to texture

A fix to allow render to texture like this 
'''
        Director::getInstance()->setProjection(Director::Projection::_2D);
        m_renderTarget->beginWithClear(1, 0, 0, 0.2, m_depthClear, 0);
        m_sprite->visit(Director::getInstance()->getRenderer(), Mat4::IDENTITY, 0);
        m_renderTarget->end();
        Director::getInstance()->setProjection(Director::Projection::_3D);
'''

* NULL -> nullptr
2017-05-22 08:58:42 +08:00
CocosRobot d07794052f Update license to 2017 (#17362)
* Typo: CopyRight -> Copyright

* Copyright update: chukong-inc.com -> Chukong Technologies Inc.

* [js files] Copyright update: 2014 -> 2014-2017

* [cpp files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2015 -> 2015-2017

* [js files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2016 -> 2016-2017

* Copyright update: 2013 -> 2013-2017

* Copyright update: 201?-201? -> 201?-2017

* License year fixes.

* Liscene year fix in CCRay.cpp

* Updates license years in CCGLProgramState.h & CCGLProgramStateCache.h
2017-02-14 14:36:57 +08:00
mogemimi 061122514c Fix typo in Sprite (strech -> stretch) (#17241) 2017-01-23 09:25:56 +08:00
mogemimi 8b9c89f6a9 Fix typos in comments and strings (#17201) 2017-01-18 15:41:18 +08:00
Ricardo Quesada 88a1cd73fa improves fix for issue #17119 (v3) (#17188) 2017-01-16 09:30:08 +08:00
Ricardo Quesada 21795b71b4 sprite: doc fixes (#17154) 2017-01-11 05:33:41 -08:00
mogemimi 1d2b73166e Fix typos in docs (#17132) 2017-01-11 09:31:45 +08:00
Ricardo Quesada e100d02dff Sprite fixes: color + polygon (#17135)
* fixes issue #17119

and sanitizes the code a little bit

* more fixes

* fixes issue #17116

* restore xcode "none" sign profile

* code is cleaner

add more documentation in CCSprite.h

* missing assets

* anchor point works with batchnodes again
2017-01-10 15:28:47 +08:00
Ricardo Quesada ff8e622b7a Slice9 Sprite with triangles, not quads (#17105)
* sprites: use triangles instead of quads

uses less memory

* oops, color should be white by default

* works with flipped sprites

* none for xcode
2017-01-05 09:27:13 +08:00
Ricardo Quesada c4a20a032f creator c++ support bug fixes (#17051)
I need these 2 changes applied to v3.14 in order to
support C++ correctly in Creator.

Thanks!
2016-12-21 16:17:32 +08:00
Ricardo Quesada 2e0881e284 Scale9Sprite / Slider / LoadingBar fixes (#16949)
* WIP

* loadingbar issues fixed

* fixes clone in slider

* slider bug fixes

* slider: sets texturesize correclty before seting capsInsets

* sprite: scale9 avoid negativa values

* yeah! works!

* cloneIn -> copyTo

* restore xcode team: none

* fixes issue #16924

* correct issue number

* yeah! fixes issue #16928 and #16930
2016-12-03 07:35:22 -08:00
James Chen 066adfe204 Adds missing Scale9Sprite::initXXX overrided methods after refactoring Scale9 logic. Otherwise, `setupSlice9` will not be invoked. (#16916)
* Adds missing Scale9Sprite::initXXX overrided methods after refactoring Scale9 logic. Otherwise, `setupSlice9` will not be invoked.
Test case is: 1. Node: Scene3D -> Description -> Scale9Sprite display is wrong.

* Some fixes:

* Call Sprite::initWithFile(filename) in Scale9Sprite::initWithFile(filename) rather than Scale9Sprite::initWIthFile(filename, Rect::ZERO). Otherwise content size will be zero which is incorrect.
* setCapInsets in updateCapInset only when it’s in slice mode.
* setCapInsets should reset _insetLeft, _insetTop, _insetRight, _insetBottom member variables.
* Remove _previousCenterRectNormalized, just updateCapInset while switching to SLICE mode.

* Fixes JSTest -> ExtensionTest -> EditBoxTest: no background of editbox.

* Avoids an unused `setCapInsets` invocation in setupSlice9.
2016-11-30 09:26:40 +08:00
Ricardo Quesada fce13ba607 fix: Scale9Sprite test case 18 (#16897) (#16902)
* fix: Scale9Sprite test case 18

Bug calculating rotated frames.
the width was being used instead of the height and vice-versa

* fixes test cases 8 and 9
2016-11-25 09:27:20 +08:00
Ricardo Quesada 81f854e82e fix: Scale9Sprite test case 18 (#16898)
Bug calculating rotated frames.
the width was being used instead of the height and vice-versa
2016-11-24 15:35:57 +08:00
Ricardo Quesada e63a2d0dc2 Scale9Sprite refactor (#16891)
* Squashed commit of the following:

commit 026eee59c9ece7fc59d71fead41104f375f72eb5
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Nov 22 21:45:12 2016 -0800

    yay!

    everything works!

commit a645c99d44f0d7674e6238afae7628d8d2a030b1
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Nov 22 14:55:31 2016 -0800

    more fixes in Scale9Sprite

commit 3a688f4ea70c0abe311232c65ed14a7e9acc7611
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 21 23:06:45 2016 -0800

    rotated sprites

commit 45e2085df3aa4b52236c817f7db7c1f6602c1e95
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 21 17:10:44 2016 -0800

    android patch 9: fixes

    is not 100% backward compatible since the previous version
    had some artifacts. fixed the artifacts. now it renders ok

commit 4655d894387fa40a7e63b074a36bfed20e41d5f9
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 21 16:31:29 2016 -0800

    sprite: correct size for "fake scale9"

commit cb98aba27cc1c82a986268d5b74afb55b6cca2f3
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Nov 18 21:55:51 2016 -0800

    sprite: adds setStrechEnabled for backward compatibility

    and other fixes

commit c0fe67aac54cd62e3846810d56f87133f3a7343b
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Nov 18 18:49:42 2016 -0800

    implemts missing functions in scale9sprite

commit e471ef318725ccabc9eca2c062e285e9ca4f9a81
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Nov 18 18:42:30 2016 -0800

    "batched" works

commit 33124bfb14d1f275d4b0ffca8989975625a8a76d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 16 18:59:38 2016 -0800

    more fixes

commit 149f8206269843af63a1739885c00ed8d94c239c
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 16 18:37:12 2016 -0800

    scale 9 rotated not fixed yet.

    but making progress

commit 27f98275d94ce00c8d5ff0b6f74b5c22723cc3c3
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 16 15:32:57 2016 -0800

    sprite: streching works ok with normal sprites

commit 2519498cac8b77a32dee5bdf1805be56fbda5ed6
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 16 12:12:28 2016 -0800

    somes fixes... still not working

commit 43580d0b4aa976b0200717611a286bf1035c472d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Nov 15 23:15:22 2016 -0800

    more bug fixes related to untrimmed setCenterRect...

    ...in SCale9Sprite

commit 407247616e506afaa0415c58ad7fce38efed0cd9
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Nov 15 22:13:38 2016 -0800

    spritecale9: untrimmed vs. trimmed capInsets

    WIP. there still a few bugs

commit 3d845b2af3500be287fabb04bb6ba0ec04dbb401
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 14 23:11:17 2016 -0800

    started progressbar

commit 0a44b00daf723869b7105689890f29cd53a62608
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 14 17:43:23 2016 -0800

    adds EditBox test

commit 330304bd9b2e762de95c2f27f1ae3ceee83b2fbf
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 9 16:57:08 2016 -0800

    adds elastic to scroll view

commit a06a35f8691ff56a143953c44acd947b519150b6
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 9 15:58:29 2016 -0800

    yay! scrollview works

commit 37748a885c62eca8c00d2c9c11ee103f1d95e71c
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 9 15:33:58 2016 -0800

    yet more scrollview fixes

commit a6e563b497adef7b141ac7c92c844d479b244c59
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 9 14:48:28 2016 -0800

    initial scroll view

commit 4243edd7548e5533ca03c26d5042f8dc5517445a
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Nov 8 17:50:15 2016 -0800

    sanity check in frames.

    missing files

commit 159d88603ad22f3c01761b60bacec98d52b9041d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 7 19:21:00 2016 -0800

    three buttons working

commit 6764cfc7937a1a81d6993d5e32a21f17457b8e0d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 7 18:50:22 2016 -0800

    missing files

commit 11c1fa3812e706a7d34137fe2626f05ab73ee3e6
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 7 18:49:59 2016 -0800

    button works!

commit 26b6de4c28fc973e332dd51fcd763a6249c0b4c2
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 7 18:19:47 2016 -0800

    Scale9: more fixes.

    complies with odd Rect::ZERO behavior

commit ce561268096afe322f25034eeab3508a60027afd
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Nov 7 11:50:42 2016 -0800

    label: setTitleLabel

commit 51b5536cd2af36896002621f75c7310960c3f5e7
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 2 17:41:08 2016 -0700

    UIButton kind of working

commit 7562a49a761ef70c383a99d2addefc63d77e279f
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 2 11:11:42 2016 -0700

    missing resoruces

commit a9890dee5da0104bff6872cc04e8786a6c0a9018
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 2 10:54:55 2016 -0700

    setCenterRect to .cpp file

commit c9c4bb55ed3fc55709eca46c43d1bfe5301c317f
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Nov 2 00:19:51 2016 -0700

    removed unused paramter

commit e47732934cca79c08e6fe96e46ebdf075508e568
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Oct 28 18:19:31 2016 -0700

    flipping works!

commit c9769bacd321aeddf84e1772dd270f12194d2f04
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Oct 28 17:57:53 2016 -0700

    spirte flip fixes... not finished yet

commit 1cbdc8e12cc6d0d2728c06dfabaada001784a178
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Oct 28 09:53:16 2016 -0700

    centerRect changes

commit aeb1b14c00331dabba640f52d79ab0e255fa3407
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Oct 28 09:10:41 2016 -0700

    changes from v3

commit e7a61c4a20d786c2bc1d6f57e33bf3ac95cb6f21
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Oct 26 17:01:15 2016 -0700

    sprite: rotated slice 9 works as expected

commit 91049389426051deb49a9d951364bf60abaf4532
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Oct 26 15:39:54 2016 -0700

    more bug fixes in scale9sprite support

commit 9feb12449078441c439df16dc7bcfb4506c7a226
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Oct 26 13:22:52 2016 -0700

    Android's Patch 9 works as expected

commit 1cf46afe3e7f7f5f714d30779caefc25a9bb1b3b
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Oct 26 10:18:47 2016 -0700

    Sprite: uses capInsets instead of centerRect

    just to share the same API as Scale9Sprite

commit e944fa0248a7eb58012aacb229de1a9b814e0aef
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Oct 25 18:59:42 2016 -0700

    scale9sprite support fixes

commit b08765740d480b6ae1491800161b40d88f458767
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Oct 25 17:38:47 2016 -0700

    more scale9sprite fixes

commit 388a34d93de5e6007a2cecea959c929f26427cab
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Oct 25 17:20:01 2016 -0700

    UI::Scale9Sprite refactoring

    subclass of Sprite... much cleaner!

commit c84ec8ee654f74d4b38be2d0a3d7ffe6adbc6faf
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Oct 24 20:58:36 2016 -0700

    supports tiled sprites

commit d2b18eb47a647b29319488bd53edac9f304acb84
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Oct 24 19:21:57 2016 -0700

    testing tiled sprite

commit b4832ab2facc01cbb624db587ede01fe7acf23e8
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Oct 24 16:53:19 2016 -0700

    using correct top-left coordinates for setCenterRect

commit 29d8de86a71cc597b2338f59f7951a28ee0c93b2
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Oct 24 16:46:13 2016 -0700

    fixes from scale_sprite9 branch

commit ccbe1063bea7db75397ecaf9046aac3dd977a621
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Oct 20 19:01:50 2016 -0700

    updated example

commit 24f7f85d4eba80f8e543810dcbc1a02447900bdc
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Oct 20 18:47:28 2016 -0700

    more fixes in nine slice

commit df3358fae68f2d81baf3a8cbe033a4c400ea50da
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Oct 20 18:22:14 2016 -0700

    anchor point fixes

commit 4ac7409bc72425abb0dc747b956ec346fbd1b2fa
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Oct 20 17:01:48 2016 -0700

    support for slice-9 from creator

commit a3221375d3a9defc2e03df0b1c2da1b36dfdd491
Merge: 73e5389 d7490d9
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Oct 20 14:13:38 2016 -0700

    Merge branch 'sprite_scale9' into creator_cpp_support

commit d7490d94896ad0ce8705dc0695252cee34329b5e
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Oct 13 14:34:52 2016 -0700

    Adds slice9 support for Sprite.

    how to use it:

    // points coords
    sprite->setCenterRect(Rect(x,y,w,h));

    // normalized coords
    sprite->setCenterRectNormalized(Rect(x,y,w,h));
    starts scale9sprite in sprite

    more slice 9 changes

    sprite 9 slice works?

    kind of works

    correct anchor point

    slice 9 works, at least with non-rotated atlases

    streched works ok

    better Y invert code.

    cleaner, compatible with the previous code

    yay, scaling workings...

    need a better api now

    sets scale correctly

    yay! works as expected!

    more fixes and tests

    better test for box

    setContentSize() changes size in non-9-slice mode sprites as well

    setCenterRect() -> setCenterRectNormalized()

    yet another test

    adds setPositionNormalized()

    adds setCenterRect() tests

    remove devel team from xcode

    tests: add one more tests

    fun test!

    improved test

    yet another test for slice 9

commit 73e5389ef719880096067d0f7d0bffd6e1f3cfd1
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Sun Oct 9 18:54:22 2016 -0700

    kind of ProgressBar support

commit 4db5e9e7369e93ceba1d9512ab88c26b843c43d5
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Oct 7 16:23:54 2016 -0700

    new generatred ui files

commit 75aa06f3d39df8c6aa898d5e6810b3cd8015c07b
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Oct 6 10:44:59 2016 -0700

    bette canvas support

commit 89beacac478fc7f58ef930963b6393f3da4a743c
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Oct 5 21:47:11 2016 -0700

    sprites tests

commit 5fe930ad50c2c1b6d868982709c7b659176f9889
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Oct 5 18:35:44 2016 -0700

    more label tests

commit d3f615a097d080d78f2ebd95f3e2388da45f92db
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Wed Oct 5 18:08:24 2016 -0700

    label tests

commit 2a4018922ce8d36117f7092fc324e37cf75fdeab
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Oct 4 21:52:56 2016 -0700

    label fixes

commit 41fafbd023de63e376d014311605f2b156add307
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Oct 4 19:14:58 2016 -0700

    updated test

commit 06919fc28fffbc5a20cd14bdcc2ad2ff997e0da1
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Oct 4 18:50:45 2016 -0700

    creator tests: works

commit 6e362e7cc7f68dc216b569a7f7f90aaa110c0e4a
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Tue Sep 27 23:15:56 2016 -0700

    autogen: new data

commit e78078b2ad84b4e364827a66f1c459de7384a91d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Mon Sep 26 18:18:57 2016 -0700

    fix: initial test for CPP support for Creator

* adds more documentation

* adds more documentation
2016-11-24 09:59:00 +08:00