- C# 93.2%
- Shell 2.4%
- C 1.7%
- PowerShell 1.6%
- Batchfile 0.7%
- Other 0.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Affinity 3.3 merged ReflectedLayoutItemTemplates.xaml into ContextBarItemTemplates.xaml. Its implicit CheckedComboBoxItem style has an empty ControlTemplate, and the merged dictionary is searched before the application's Core.xaml, so LeadingComboItemStyle and CheckedComboBoxItemStyle (BasedOn the implicit style, no template of their own) inherit nothing. The Leading dropdown opens with zero height. Replacing the dictionary entries is not enough, because the context bar's DataTemplates keep the style objects their StaticResource references were bound to. Instead, when a CheckedComboBox applies its template, swap an ItemContainerStyle whose inherited template is empty for a copy BasedOn Core.xaml's style. Styles with a real template are untouched, and the patch does nothing once the XAML is fixed. Affinity 3.2.3 does not have the merge. |
||
| .github | ||
| AffinityBootstrap | ||
| AffinityHook | ||
| AffinityPluginLoader | ||
| docker | ||
| docs | ||
| WineFix | ||
| .gitattributes | ||
| .gitignore | ||
| AffinityPluginLoader.sln | ||
| build.bat | ||
| build.sh | ||
| deploy.sh | ||
| docker-build.sh | ||
| mkdocs.yml | ||
| package-release.ps1 | ||
| package-release.sh | ||
| README.md | ||
Affinity Plugin Loader
A managed code plugin loader & injector hook for Affinity by Canva (Affinity v3).
APL gives you a simple method to load custom code into Affinity and perform custom patches at runtime using the Harmony library. No more patching DLL files on disk.
APL supports Windows and Linux (Wine). MacOS support is not planned at this time.
Tip
📖 Full documentation is available at apl.ncuroe.dev
Quick Start
- Download
affinitypluginloader-vX.X.X-amd64.zipfrom the latest release. - Extract into your Affinity install directory.
- Launch
AffinityHook.exeinstead ofAffinity.exe.
For detailed installation instructions, see the Installation Guide.
Developing Plugins
Plugins extend AffinityPlugin and use Harmony to patch Affinity methods at runtime. See the Creating a Plugin guide for the full walkthrough, including the plugin lifecycle, settings API, and build instructions.
WineFix
WineFix is an APL plugin that fixes Wine-specific Affinity bugs. See WineFix/ for an overview, or the WineFix docs for full details.
Licensing
APL (AffinityHook, AffinityBootstrap, AffinityPluginLoader) is licensed under the MIT License. See the LICENSE file under each project directory.
Warning
WineFix is offered under a different license. See WineFix#Licensing for information.
License Exemption
Canva and its subsidiaries are exempt from MIT licensing and may (at its option) instead license any source code authored for the Affinity Hook, Affinity Bootstrap, and Affinity Plugin Loader projects under the Zero-Clause BSD license.
Credits
Big thanks to the following projects: