gfoidl.Gtk4.Extensions
2.2.0
dotnet add package gfoidl.Gtk4.Extensions --version 2.2.0
NuGet\Install-Package gfoidl.Gtk4.Extensions -Version 2.2.0
<PackageReference Include="gfoidl.Gtk4.Extensions" Version="2.2.0" />
<PackageVersion Include="gfoidl.Gtk4.Extensions" Version="2.2.0" />
<PackageReference Include="gfoidl.Gtk4.Extensions" />
paket add gfoidl.Gtk4.Extensions --version 2.2.0
#r "nuget: gfoidl.Gtk4.Extensions, 2.2.0"
#:package gfoidl.Gtk4.Extensions@2.2.0
#addin nuget:?package=gfoidl.Gtk4.Extensions&version=2.2.0
#tool nuget:?package=gfoidl.Gtk4.Extensions&version=2.2.0
Gtk4.Extensions
General
Working with .NET and GTK 4 is done via GirCore.
GirCore has it's own build of cairo, but that cairo-wrapper
- misses some features in the cairo API-surface
- isn't documented
- misses some convenience methods
Thus these extensions package for GTK 4 uses CairoSharp.
MSBuild properties
These properties are optional, and by default (false) they do nothing.
<PropertyGroup>
<GtkWinNativeDir>C:\Program Files\msys64\ucrt64\bin</GtkWinNativeDir>
<GtkWinCopyNativeLibs>false</GtkWinCopyNativeLibs>
</PropertyGroup>
When GtkWinCopyNativeLibs is set to true, then the native binaries are copied from the directory given by GtkWinNativeDir to the output directory.
This is for convenience when you want to package the application.
Extensions
ActionExtensions
Help with registering actions in the form of
public sealed class MainWindow : ApplicationWindow
{
public MainWindow(/* ... */)
{
this.AddAction("saveAsPng", this.SaveAsPng);
}
private void SaveAsPng()
{
// ...
}
}
DrawingAreaExtensions
- setting the DrawingArea.SetDrawFunc for CairoSharp (instead of the GirCore cairo wrapper)
SaveAsPngto save the drawing area as PNG fileSaveAsPngWithFileDialogsimilar to the previous, just with a file dialog to choose the filenameAddContextMenuForFontChooseradds a context menu ("right-click menu") to allow choosing a (Pango) font
DropDownExtensions
OnNotifySelectedregisters a signal the is triggered when the selected properrty is changedSetExpressionset an expression with aFunc<IntPtr, string> propertyAccessor
Gtk4Constants
Provides some constants for GTK 4. See Gtk4Constants for the values.
WindowExtensions
HintAlignToParenttries to dock the windows to a parent on the given side (note: this won't work on Wayland, as there's no such functionality)GetSurfacegets the surface associated with the window
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- gfoidl.CairoSharp.Extensions (>= 2.2.0)
- GirCore.GObject-2.0.Integration (>= 0.7.0-preview.3)
- GirCore.Gtk-4.0 (>= 0.7.0-preview.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.