gtk2/docs/reference/gtk/windows.sgml
Руслан Ижбулатов 26c24328d5 GDK: Add cursor theme support to W32 backend
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
2015-05-20 08:42:24 +00:00

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>