Do you know that feeling, when you've been trying to implement a feature for a long time but you couldn't for a varierty of reasons (complexity, cross platform issues, lack of lower level API, etc), and then you suddenly realise, years later, that you can now do it ?
Well that's what happened a few weeks ago, when I realized that nowadays all platforms Gideros target are supporting C++11. And with C++11 comes a lovely feature: Lambda-expressions. Of course we knew them already in lua (they are closures), but they are relatively new in the C++ world. And thanks to those lambda, writing continuation functions for multithread/deferred/async processing is much much easier.
So that's it, a long awaited feature is finally availble in Gideros 2021.9: the ability to asynchronously load textures
. Internally Gideros will do all the heavy stuff in a side thread, not blocking the main rendering thread, and trigger a callback when the Texture is ready to be used. This allows smoother animated loading screens.
Another great thing available in this new version: multi font and even images in TextField.
This was made possible by three changes:
- a new TexturePackFont object that allows to turn a TexturePack into a font, usable by TextField
- a change in CompositeFont, that allows individual fonts to be named
- a new escape code in TextField: "\e[font=name]" that allows you to select which font to use for a chunk of text inside a TextField, if a CompositeFont is used.
You can then build a CompositeFont with several fonts (normal, bold, fancy, texturepackfont) and render all of them in a single TextField. Associated with Gideros powerful text layout options this ease things a lot!
Full list of changes:New features
[core] Add Texture.loadAsync() call
[core] Add TexturePack.loadAsync() call
[core/font] Allow multiple fonts in a single TextField
[core/font] Allow to turn TexturePacks into FontsImprovements
[core] Support grayscale render targets
[core] Add TexturePack:getRegionsNames()
[tools] Associate .tproj and .GApp extensions so that they open the required tool
[plugin/camera] Add a setOrientation() Call (iOS, Android)
[plugin/share] Allow setting of photo library usage (iOS)
[export/html] Update to latest emscripten (2.0.27)
[export/html] Support APPLICATION_SUSPEND/APPLICATION_RESUMEFixes
[core] Fix rendering 3D in render target
[player] Allow setting FPS from lua
[player] Fix Open project and Restart project menu actions
Download it from here:http://giderosmobile.com/download
Don't hesitate to donate while downloading to support Gideros, or anytime using the 'DONATE' link at the top of the forum page.