* Create media controls in onEnter to work around issue with Metal renderer when creating a RenderTexture
* Add support for setting timeline bar height in media player controller
* Use consistent positions for fullscreen enter and exit controls
* Update core/ui/UIMediaPlayer.cpp
* Create media controls on the next update cycle to work around RenderTexture creation issue with Metal renderer backend
* Add event notification for when video player full screen state changes
* Add full screen switching event to normal media player event handler
* Initial work on media controller
* Media player controller for WMF media engine
* Add getDuration and getCurrentTime methods to media engines
* Fix compilation
* Fix Android media timeline issues
* Fix compilation issue
* Fix WinRT compilation issue
* Fix compilation issue
* Add missing header include
* Make it simpler to create a custom media controller
* Ensure the basic media controller widget size is the same size as the media player on initialization
* Add dark media control underlay to give more contrast to the controls
ADd copyright notices
* Removing existing media controller from parent if required
* Adjust for view scaling since embedded resources are created for a scale of 1.
* Scale central media controls if required on content size change
* Remove pointless fast forward and fast reverse buttons
Ensure media controller correctly resizes on full-screen media playback
* Allow enable vlc on windows
* Improve media macro detect
* Add media controls drawn by DrawNode into single texture
Add fullscreen enter and exit controls
setUserInputEnabled and isUserInputEnabled replaced by setMediaControllerEnabled and isMediaControllerEnabled
* Update function calls to new names
* Revert back to setUserInputEnabled and isUserInputEnabled
* Remove embedded circle image and create it with DrawNode
* Change radius of drawn circle to half the total image size
---------
Co-authored-by: halx99 <halx99@live.com>
* When loading csb files, prevent repeated loading of plist files
* Add more feature
* Rename function
* Use isSpriteFramesWithFileLoaded to determine whether the atlas is loaded
* use string_view instead of string
* Update SpriteFrameCache.cpp
* Fix compilation error
* Fix failed assertion and memory leak with event listeners
This solves an issue that was fixed for Cocos2d-x v3.16 and then reverted afterwards for "backwards compatibility".
I don't think we need this backwards compatibility anymore, and the benefits to cleaning up this memory outweigh the potential for some developers to need to refactor their code.
Specifically this also solves an ASSERT that fails when quitting the game on a scene which has nodes with Event Listeners that I experienced without this change, and with the Config.h setting AX_NODE_DEBUG_VERIFY_EVENT_LISTENERS enabled.
* Fixed typo
This fixes a long standing bug from the Cocos2d-x 3.x days that I fixed in our source code for our games with it. I never made a pull request to Cocos2d-x since they stopped development and maintenance, but thought it might be useful for Axmol!
This bug has existed since the Cocos2d-x 3.x days. If you set the global z order of a ClippingNode to anything other than the default value, then the ClippingNode fails to clip anything unless the global z order is also set for the Stencil of that ClippingNode. This change makes the ClippingNode._stencil's global z order to follow the ClippingNode's. (Note: you could still manually set the global z order of the stencil as desired to break the clipping. But now the default behavior works correctly and the way one would expect.)
If a UIWidget gets focus, and then loses focus (but another UIWidget doesn't gain focus when it does so). Then that original UIWidget cannot be re-focused until a different UIWidget gets focus first.
This PR adds borderless windowed mode support to the GLViewImpl class. For backwards compatibility the setWindowed function uses a default parameter of 'false' for borderless.
* Add CC_USE_CULLING Alias to cocos2d.h
Spine runtimes check for CC_USE_CULLING, but Axmol never defines an alias for CC_USE_CULLING to point to the config definition for AX_USE_CULLING. This solves that issue.
* Fix same uniforms in fragment and vertex shaders not working in Metal
* Add missing copyright
* Fix lua bindings for UniformLocation conversion
* Fix uniform mismatch in positionNormalTexture.vert and colorNormalTexture.frag
* Enable ProgramState::setFragmentUniform() only for Metal
* Add support for disabling code sections from build process
* Add support for disabling built-in audio
* No need to add definition here
* Remove extra blank lines
* Add required copyright notice
* Document new options
* Implement new log macros based on fmtlib
* Fix ci
* Fix ci
* Fix android ci
* Fix warnings
* Replace more ax::log by AXLOGX
* Fix ci
* Fix linux build
* Use stack memory for log prefix
* Fix linux build
* Fix warning
* Add ILogOutput support
* Replace old log calls with new log macros
* Fixup
* Fixup
* Fixup
* Update ci msvc to 14.39
* Update Console.h [skip ci]
* Pass log level to ILogOutput
* Add id tag to several RichText elements to allow locating the nodes in RichText
Add font related styling to paragraph tags
* Move functionality out of ListView and into ScrollView to allow scrolling to a specific child node within a ScrollView
* Add function to allow finding protected child node by name
* Example of anchor tags to local RichText content in a ScrollView
* Fix string storage type
* Add paragraph tag support
Add HTML header tags support
Add multi-new line rich text element
Add support for end of tag action
General code clean up
* Remove redundant additions
* Fix compilation issue on platforms other than Windows
* Remove redundant constructors and destructors.
Initialize member variables.
Remove explicit inline specifier since all member class functions are implicitly inlined.
* Remove final specifier on Node::visit() to allow Scene to override it
Scene can now be visited correctly with valid cameras being set for child nodes when rendering outside of normal render loop.
* Add required copyright notice
* Allow HttpClient and Websocket implementations to be excluded from build
* Allow LLHTTP to be excluded from build
* Add descriptions of new options
* Rename options based on current convention of AX_ENABLE_XXX
* Restructure extension folder structure to reduce conflicts with project source files
* Do not include SDFGen headers for Android builds
* Ensure correct paths are included for the relevant targets
* ImGui is not be enabled for WinUWP, tvOS and iOS
* Fix LUA auto binding generator to work with updated extension folder structure
* Fix path and linker issues for yasio when using prebuilt option
Set correct paths to extensions for prebuilt option
* Fix memory leaks when axmol apps exit on non-embed systems
1. DriverBase no destroyInstance
2. Every object inherited from ax::Ref shoud destory before ScriptEngineManager, otherwise will trigger it's reinit and leak
3. QuadCommand always leak isolated indices
4. static singleton should'nt inhert from ax::Ref due to destory it before ScriptEngineManager impossible
5. Make Director don't inherit from ax::Ref due to it also cause ScriptEngineManager re-init, because we destroy ScriptEngineManger in destructor of Director
6. Explicit Director managed by Application and don't delete self at purgeDirector, since it will release at mainLoop and re-init in glView->pollEvents then leak
7. Rename ApplicationProtocol to ApplicationBase
8. Rename purgeDirector since we don't delete director self at it, maye rename to cleanup
9. Change ShaderCache to new/delete singleton, managed by ProgramManager
---------
Co-authored-by: lich426 <lich426@gmail.com>