Gaclib 0.9.3.0
Gaclib 0.9.3.0
GPU Accelerated C++ User Interface/Script Engine (Apache License 2.0 with extra conditions)
Website for this project: http://www.gaclib.net/
This repository contains the latest release for the GacUI project, including packed library source codes, development tools, demos and documents. Complete source code can be accessed in https://github.com/vczh-libraries .
Here is a simple description to the code
- Import Gaclib source code
- Skins Predefined control templates. You will need to call
vl::presentation::theme::RegisterTheme
to set a default skin before creating any controls. Read WinMain.cpp for details.
- Skins Predefined control templates. You will need to call
- Tools
- GacGen32.exe / GacGen64.exe GacUI resource compiler and C++ code generator for x86 and x64
- CppMerge.exe Merge GacUI generated code for x86 and x64 to architecture-independent code
- ParserGen.exe General LR parser to C++ code generator
- GacGen.ps1 Do everything for you if you don't want to understand build steps
- Tutorial Sample code
- Lib Static library projects for all tutorials
- GacUI_HelloWorlds Different ways to create a GacUI hello world project
- GacUI_Layout Demo how to use GacUI layout
- GacUI_Controls Demo how to use GacUI controls
- GacUI_ControlTemplate Demo how to create control templates (skin) for GacUI controls
- GacUI_Xml Demo how to author GacUI XML resource file
Improvements
- Updated tool chain
- All bat files are replaced by PowerShell scripts.
- Controls now have a ControlTemplate property that can be updated in runtime.
- Moved all the logic away from template classes. Now template classes are only a bindable object.
vl::presentation::templates::GuiCommon*
are provided for helping to create some templates that should looks similar between all the skins, like scroll views or scroll bars.
Known issues
- GuiScrollContainer's scroll bars cannot hide very quickly
- One of the AddressBook tutorial windows has wrong initial size.