forked from AuroraMiddleware/gtk
26c24328d5
Load themed cursors from the same places they are loaded on freedesktop systems, but use W32 API functions to do so (works for .cur/.ani cursors instead of X cursors). Refactor the code for cursor handling. Prefer loading cursors by name. Do not load actual cursors when loading the theme. Find the files and remember the arguments/calls for loading them instead. Keeping HCURSOR instance in the hashmap would result in multiple GdkCursors using the same HCURSOR. Given that we use DestroyCursor() to off them, this would cause problems (at the very least - DestroyCursor() would fail). Store GdkCursor instances in a cache. Update cached cursors when theme changes. Recognize "system" theme as a special (and default) case. When it is set, prefer system cursors and fall back to Adwaita cursors and (as a last resort) built-in X cursors. Otherwise prefer theme cursors and fall back to system and X cursors. Force GTK to use "left_ptr" cursor when no cursor is set. Using NULL makes it use the system default "arrow", which is not the intended behaviour when a non-system theme is selected. Ignore cursor size setting and query the OS for the required cursor size, as Windows (almost) does not allow setting cursors of arbitrary size. https://bugzilla.gnome.org/show_bug.cgi?id=749287
146 lines
3.6 KiB
XML
146 lines
3.6 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
|
|
]>
|
|
<refentry id="gtk-windows">
|
|
<refmeta>
|
|
<refentrytitle>Using GTK+ on Windows</refentrytitle>
|
|
<manvolnum>3</manvolnum>
|
|
<refmiscinfo>GTK Library</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>Using GTK+ on Windows</refname>
|
|
<refpurpose>
|
|
Windows-specific aspects of using GTK+
|
|
</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1>
|
|
<title>Using GTK+ on Windows</title>
|
|
|
|
<para>
|
|
The Windows port of GTK+ is an implementation of GDK (and therefore GTK+)
|
|
on top of the Win32 API. When compiling GTK+ on Windows, this backend is
|
|
the default.
|
|
</para>
|
|
|
|
<refsect2 id="win32-cmdline">
|
|
<title>Windows-specific commandline options</title>
|
|
|
|
<para>
|
|
The Windows GDK backend can be influenced with some
|
|
additional command line arguments.
|
|
</para>
|
|
|
|
<formalpara>
|
|
<title><systemitem>--sync</systemitem></title>
|
|
|
|
<para>
|
|
Don't batch GDI requests. This might be a marginally useful option for
|
|
debugging.
|
|
</para>
|
|
</formalpara>
|
|
|
|
<formalpara>
|
|
<title><systemitem>--no-wintab</systemitem>,
|
|
<systemitem>--ignore-wintab</systemitem></title>
|
|
|
|
<para>
|
|
Don't use the Wintab API for tablet support.
|
|
</para>
|
|
</formalpara>
|
|
|
|
<formalpara>
|
|
<title><systemitem>--use-wintab</systemitem></title>
|
|
|
|
<para>
|
|
Use the Wintab API for tablet support. This is the default.
|
|
</para>
|
|
</formalpara>
|
|
|
|
<formalpara>
|
|
<title><systemitem>--max-colors <replaceable>number</replaceable></systemitem></title>
|
|
|
|
<para>
|
|
In 256 color mode, restrict the size of the color palette to
|
|
the specified number of colors. This option is obsolete.
|
|
</para>
|
|
</formalpara>
|
|
|
|
</refsect2>
|
|
|
|
<refsect2 id="win32-envar">
|
|
<title>Windows-specific environment variables</title>
|
|
|
|
<para>
|
|
The Win32 GDK backend can be influenced with some
|
|
additional environment variables.
|
|
</para>
|
|
|
|
<formalpara>
|
|
<title><envar>GDK_IGNORE_WINTAB</envar></title>
|
|
|
|
<para>
|
|
If this variable is set, GTK+ doesn't use
|
|
the Wintab API for tablet support.
|
|
</para>
|
|
</formalpara>
|
|
|
|
<formalpara>
|
|
<title><envar>GDK_USE_WINTAB</envar></title>
|
|
|
|
<para>
|
|
If this variable is set, GTK+ uses the Wintab API for
|
|
tablet support. This is the default.
|
|
</para>
|
|
</formalpara>
|
|
|
|
<formalpara>
|
|
<title><envar>GDK_WIN32_MAX_COLORS</envar></title>
|
|
|
|
<para>
|
|
Specifies the size of the color palette used
|
|
in 256 color mode.
|
|
</para>
|
|
</formalpara>
|
|
|
|
</refsect2>
|
|
|
|
<refsect2 id="win32-cursors">
|
|
<title>Windows-specific handling of cursors</title>
|
|
|
|
<para>
|
|
By default the "system" cursor theme is used. This makes GTK prefer cursors
|
|
that Windows currently uses, falling back to Adwaita cursors and (as the last
|
|
resort) built-in X cursors.
|
|
</para>
|
|
<para>
|
|
When any other cursor theme is used, GTK will prefer cursors from that theme,
|
|
falling back to Windows cursors and built-in X cursors.
|
|
</para>
|
|
<para>
|
|
Theme can be changed by setting <literal>gtk-cursor-theme-name</literal> GTK+ setting. Users can override GTK+ settings in the <filename>settings.ini</filename> file or at runtime in the GTK+ Inspector.
|
|
</para>
|
|
<para>
|
|
Themes are loaded from normal Windows variants of the XDG locations:
|
|
<filename>%HOME%/icons/THEME/cursors</filename>,
|
|
<filename>%APPDATA%/icons/THEME/cursors</filename>,
|
|
<filename>RUNTIME_PREFIX/share/icons/THEME/cursors</filename>.
|
|
</para>
|
|
<para>
|
|
The <literal>gtk-cursor-theme-size</literal> setting is ignored, GTK will use the cursor size that Windows tells it to use.
|
|
</para>
|
|
|
|
</refsect2>
|
|
|
|
<para>
|
|
More information about GTK+ on Windows, including detailed build
|
|
instructions, binary downloads, etc, can be found
|
|
<ulink url="https://wiki.gnome.org/Projects/GTK+/Win32">online</ulink>.
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
</refentry>
|