Gaclib 0.9.5.0
Gaclib 0.9.5.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
- GacUI_Windows Demo how to interact with native Windows OS features.
Improvements
- New menu features:
GuiToolstripCollection
: Hide spaces of invisible itemsGuiToolstripGroupContainer
: Insert splitters between itemsGuiToolstripGroup
: Insert multiple items in one control, often put insideGuiToolstripGroupContainer
- Responsive layout:
GuiResponsiveViewComposition
: Explicitly define views for different size level, with shared item, views should beGuiResponsiveCompositionBase
GuiResponsiveGroupComposition
: All childGuiResponsiveCompositionBase
transform at the same timeGuiResponsiveStackComposition
: All childGuiResponsiveCompositionBase
transform one by oneGuiResponsiveFixedComposition
: No transformationGuiResponsiveContainerComposition
: Automatically tell the targetGuiResponsiveCompositionBase
how to transform, which is put inResponsiveTarget
property
- Add
Context
property in both control and control template. They are connected. This property is designed for adding custom properties to controls for the need of control templates, like adding state images to buttons.
Updated Demos:
- GacUI_Controls\TextEditor: New menu features
New Demos:
- GacUI_Windows\Direct2DClock: Draw a moving clock using Direct2D API
- GacUI_Layout\Responsive1: Demo how different types of responsive layout algorithm works
- GacUI_Layout\Responsive2: An example of responsive layout