Releases: vczh-libraries/Release
Gaclib 0.9.7.0
Gaclib 0.9.7.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
- $ReturnAndExit for GuiAnimationCoroutine
- Inheritable xml-authored windows and custom controls if there is no
<ref.Parameter>
. This contraint will be removed in the future. - Ribbon
- RibbonTab
- RibbonTabPage
- RibbonGroup
- RibbonButtons
- RibbonGalleryList
Updated Demos:
- GacUI_Controls\DocumentEditor: Demonstrates ribbons and inheritable custom controls.
Known issues
- There are some layout issues in ribbons, See TODO.md for details and tracking progress. Expect them to be fixed in the next release.
Gaclib 0.9.6.0
Gaclib 0.9.6.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
- Localized string
New Demos:
- GacUI_Controls\Localization: Switching between languages and displaying localized text.
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
Gaclib 0.9.4.0
Gaclib 0.9.4.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
- Update all project files to VS 2017
- Add StateMachine feature to Workflow script
- Refactored element classes:
- Remove
GuiRoundBorderElement
, addRoundRect
inElementShapeType
, now other elements have the round border feature - Add
GuiInnerShadowElement
- Remove
- Add animation API
- Gradient animation can be defined using XML and custom Workflow/C++ types
- New coroutine operators
IGuiAnimation^
return value
New Demos:
- GacUI_Controls\CalculatorAndStateMachine
- GacUI_Controls\Animation
Gaclib 0.9.3.1
Gaclib 0.9.3.1
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
- Fix found issues in the previous release 0.9.3.0
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.
Gaclib 0.9.2.0
Gaclib 0.9.2.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
- 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.bat 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
- GacGen.bat will generate architecture-independent code
- New demo
- GacUI_Controls\DataGrid: Bind to the data grid control
- GacUI_Controls\ListControls: Binding to list controls
- GacUI_Controls\DocumentEditor: Using rich text control
- Remove Win7 / Win8 skins
- Temporary add DarkSkin as the default skin for tutorials
- Files are put in
Import\Skins\DarkSkin
, you must link them if you want this skin - You will need to call
vl::presentation::theme::RegisterTheme
to set a default skin before creating any controls. Read WinMain.cpp for details.
- Files are put in
Gaclib 0.9.1.0
Gaclib 0.9.1.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
- Tools
- GacGen.exe GacUI resource compiler and C++ code generator
- ParserGen.exe General LR parser to C++ code generator
- 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
- GacGen.exe reports accurate XML error position while compiling a resource
- Workflow script supports $Enumerable($Yield, $Join) and $Async($Await)
- New demo: GacUI_Controls*ProgressAndAsync*: Making your own async functions
- Updated demo: GacUI_Controls*AddressBook*: Calling existing async functions
Gaclib 0.9.0.0
Gaclib 0.9.0.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
- Tools
- GacGen.exe GacUI resource compiler and C++ code generator
- ParserGen.exe General LR parser to C++ code generator
- 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
- USING XML DOES NOT REQUIRE REFLECTION ANYMORE!:
- Reduces 90% executable size
- Generate the whole Xml to C++ instead of just some wrappers which run byte code in the binary resource
env.ItemType
is required if you want to use bindable list controls (see Controls/AddressBook tutorial for details)- The format of
GacGenConfig
in the Xml resource file is changed, see tutorials for details. - This version of GacGen.exe is not compatible with the last one. If you want to upgrade, you should save all your code first, and then run GacGen.exe, and then carefully move your manual written code. Now in the generated code (if you don't say
ref.CodeBehind="false"
), you are only allowed to add code in event handler functions. For any other code, you should write them in your own files, and correctly set the NormalInclude inGacGenConfig
.
- USING XML DOES NOT REQUIRE REFLECTION ANYMORE!:
# Gaclib 0.8.1.0
Gaclib 0.8.1.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
- Tools
- GacGen.exe GacUI resource compiler and C++ code generator
- ParserGen.exe General LR parser to C++ code generator
- 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
- BREAKING CHANGES: Now normal structs and enums are not serializable.
- Struct (serialization):
- Old: Font="fontFamilies:{Segoe UI}"
- New: Font="fontFamilies:'Segoe UI'"
- Struct (syntax):
- Old: Font-bind="fontFamilies:$(myFont) size:$(mySizeAsString)"
- New: Font-bind="{fontFamilies:myFont size:(cast int mySizeAsString)} of FontProperties"
- Enum (serialization): No change in XML resource, but the mechanism is updated.
- Enum (syntax):
- Old:
cast (Button::ControlState) "Pressed"
- New:
Button::ControlState::Pressed
- Old:
- Struct (serialization):
- BREAKING CHANGES: Now normal structs and enums are not serializable.