Skip to content

Releases: vczh-libraries/Release

Gaclib 0.9.7.0

31 May 08:34
Compare
Choose a tag to compare

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.
  • 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

11 Apr 06:05
Compare
Choose a tag to compare

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.
  • 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

02 Apr 11:21
Compare
Choose a tag to compare

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.
  • 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 items
    • GuiToolstripGroupContainer: Insert splitters between items
    • GuiToolstripGroup: Insert multiple items in one control, often put inside GuiToolstripGroupContainer
  • Responsive layout:
    • GuiResponsiveViewComposition: Explicitly define views for different size level, with shared item, views should be GuiResponsiveCompositionBase
    • GuiResponsiveGroupComposition: All child GuiResponsiveCompositionBase transform at the same time
    • GuiResponsiveStackComposition: All child GuiResponsiveCompositionBase transform one by one
    • GuiResponsiveFixedComposition: No transformation
    • GuiResponsiveContainerComposition: Automatically tell the target GuiResponsiveCompositionBase how to transform, which is put in ResponsiveTarget 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

11 Feb 10:49
Compare
Choose a tag to compare

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.
  • 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, add RoundRect in ElementShapeType, now other elements have the round border feature
    • Add GuiInnerShadowElement
  • 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

29 Oct 11:09
Compare
Choose a tag to compare

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.
  • 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

28 Oct 14:12
Compare
Choose a tag to compare

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.
  • 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

26 Aug 11:39
Compare
Choose a tag to compare

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.

Gaclib 0.9.1.0

03 Apr 00:35
Compare
Choose a tag to compare

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

02 Feb 13:51
Compare
Choose a tag to compare

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 in GacGenConfig.

# Gaclib 0.8.1.0

13 Dec 13:12
Compare
Choose a tag to compare

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