Merge master into client-side-decorations

This commit is contained in:
Federico Mena Quintero
2010-06-08 15:30:19 -05:00
1141 changed files with 241466 additions and 303095 deletions

View File

@@ -4,9 +4,7 @@ include $(top_srcdir)/Makefile.decl
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
# require automake 1.4
AUTOMAKE_OPTIONS = 1.7
ACLOCAL_AMFLAGS = -I m4
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
EXTRA_DIST += \
HACKING \
@@ -50,14 +48,10 @@ EXTRA_DIST += \
examples/buttons/info.xpm \
examples/calendar/Makefile \
examples/calendar/calendar.c \
examples/clist/Makefile \
examples/clist/clist.c \
examples/entry/Makefile \
examples/entry/entry.c \
examples/eventbox/Makefile \
examples/eventbox/eventbox.c \
examples/filesel/Makefile \
examples/filesel/filesel.c \
examples/gtkdial/Makefile \
examples/gtkdial/dial_test.c \
examples/gtkdial/gtkdial.c \
@@ -68,11 +62,8 @@ EXTRA_DIST += \
examples/helloworld2/helloworld2.c \
examples/label/Makefile \
examples/label/label.c \
examples/list/Makefile \
examples/list/list.c \
examples/menu/Makefile \
examples/menu/menu.c \
examples/menu/itemfactory.c \
examples/notebook/Makefile \
examples/notebook/notebook.c \
examples/packbox/Makefile \
@@ -102,14 +93,10 @@ EXTRA_DIST += \
examples/statusbar/statusbar.c \
examples/table/Makefile \
examples/table/table.c \
examples/text/Makefile \
examples/text/text.c \
examples/tictactoe/Makefile \
examples/tictactoe/tictactoe.c \
examples/tictactoe/tictactoe.h \
examples/tictactoe/ttt_test.c \
examples/tree/Makefile \
examples/tree/tree.c \
examples/wheelbarrow/Makefile \
examples/wheelbarrow/wheelbarrow.c \
examples/fixed/fixed.c \
@@ -143,37 +130,37 @@ MAINTAINERCLEANFILES = \
GDKTARGET=@gdktarget@
## Copy .pc files to target-specific names
gtk+-$(GDKTARGET)-2.0.pc: gtk+-2.0.pc
rm -f gtk+-$(GDKTARGET)-2.0.pc && \
cp gtk+-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
gtk+-$(GDKTARGET)-3.0.pc: gtk+-3.0.pc
rm -f gtk+-$(GDKTARGET)-3.0.pc && \
cp gtk+-3.0.pc gtk+-$(GDKTARGET)-3.0.pc
gdk-$(GDKTARGET)-2.0.pc: gdk-2.0.pc
rm -f gdk-$(GDKTARGET)-2.0.pc && \
cp gdk-2.0.pc gdk-$(GDKTARGET)-2.0.pc
gdk-$(GDKTARGET)-3.0.pc: gdk-3.0.pc
rm -f gdk-$(GDKTARGET)-3.0.pc && \
cp gdk-3.0.pc gdk-$(GDKTARGET)-3.0.pc
gtk+-$(GDKTARGET)-2.0-uninstalled.pc: gtk+-2.0-uninstalled.pc
rm -f gtk+-$(GDKTARGET)-2.0-uninstalled.pc && \
cp gtk+-2.0-uninstalled.pc gtk+-$(GDKTARGET)-2.0-uninstalled.pc
gtk+-$(GDKTARGET)-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc
rm -f gtk+-$(GDKTARGET)-3.0-uninstalled.pc && \
cp gtk+-3.0-uninstalled.pc gtk+-$(GDKTARGET)-3.0-uninstalled.pc
gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
rm -f gdk-$(GDKTARGET)-2.0-uninstalled.pc && \
cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
gdk-$(GDKTARGET)-3.0-uninstalled.pc: gdk-3.0-uninstalled.pc
rm -f gdk-$(GDKTARGET)-3.0-uninstalled.pc && \
cp gdk-3.0-uninstalled.pc gdk-$(GDKTARGET)-3.0-uninstalled.pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gail.pc
pkgconfig_DATA = gdk-pixbuf-3.0.pc gdk-$(GDKTARGET)-3.0.pc gtk+-$(GDKTARGET)-3.0.pc gail-3.0.pc
if OS_UNIX
pkgconfig_DATA += gtk+-unix-print-2.0.pc
pkgconfig_DATA += gtk+-unix-print-3.0.pc
endif
DISTCLEANFILES = \
gtk+-unix-print-2.0.pc \
gtk+-$(GDKTARGET)-2.0.pc \
gdk-$(GDKTARGET)-2.0.pc \
gail.pc \
gtk+-$(GDKTARGET)-2.0-uninstalled.pc \
gdk-$(GDKTARGET)-2.0-uninstalled.pc \
gail-uninstalled.pc \
gtk+-unix-print-3.0.pc \
gtk+-$(GDKTARGET)-3.0.pc \
gdk-$(GDKTARGET)-3.0.pc \
gail-3.0.pc \
gtk+-$(GDKTARGET)-3.0-uninstalled.pc \
gdk-$(GDKTARGET)-3.0-uninstalled.pc \
gail-3.0-uninstalled.pc \
config.lt
distclean-local:
@@ -195,21 +182,21 @@ ChangeLog:
echo A git checkout and git-log is required to generate this file >> $@); \
fi
## copy the default target for this platform to gdk-2.0.pc and gtk+-2.0.pc
## copy the default target for this platform to gdk-3.0.pc and gtk+-3.0.pc
DEFAULT_GDKTARGET=x11
install-data-hook:
(cd $(DESTDIR)$(pkgconfigdir) && \
test -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc && \
test -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc && \
rm -f gdk-2.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc gdk-2.0.pc && \
rm -f gtk+-2.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc gtk+-2.0.pc) || \
test -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc && \
test -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc && \
rm -f gdk-3.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc gdk-3.0.pc && \
rm -f gtk+-3.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc gtk+-3.0.pc) || \
(cd $(DESTDIR)$(pkgconfigdir) && \
rm -f gdk-2.0.pc && cp -f gdk-$(GDKTARGET)-2.0.pc gdk-2.0.pc && \
rm -f gtk+-2.0.pc && cp -f gtk+-$(GDKTARGET)-2.0.pc gtk+-2.0.pc)
rm -f gdk-3.0.pc && cp -f gdk-$(GDKTARGET)-3.0.pc gdk-3.0.pc && \
rm -f gtk+-3.0.pc && cp -f gtk+-$(GDKTARGET)-3.0.pc gtk+-3.0.pc)
uninstall-local:
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-2.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-2.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-3.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-3.0.pc
dist-hook:
if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
@@ -243,7 +230,11 @@ sanity:
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds --enable-introspection
DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--enable-man \
--disable-rebuilds \
--enable-introspection
GITIGNOREFILES = \
po-properties/Makefile.in.in \

171
NEWS
View File

@@ -1,3 +1,174 @@
Overview of Changes from GTK+ 2.90.1 to 2.90.2
==============================================
* GtkApplication: an application class, based on GApplication. Currently,
this is fairly minimal, but it is good enough already to replace libunique.
Future work:
- Add a way to say "This is my application menubar", which gets
put into all toplevel windows on non-OS-X, and into the top
on OS X
- Support session management
- Maybe support application settings
* Misc new api:
- gtk_window_has_group: determines if a window is part of a window group
- gtk_status_bar_remove_all: removes all messages from a statusbar
* DND on offscreen windows works now
* GtkIconView:
- arrow keynav can now be connected over adjacent icon views
* GtkAssistant:
- gtk_assistant_commits: prevents going back beyond a certain
point in the page sequence, adjust shown buttons appropriately
- It is now officially supported to have a progress page at the
end of the page sequence
* Introspection:
- Many annotation fixes
- gdkx.h api is exported in a separate typelib, GdkX11-3.0
* Cleanups:
- the draw_string function has been removed from GtkStyle
- gdk_get/set_use_xshm have been removed
- Deprecated gdk_color api has been removed
* Documentation related to GTK+ 1.2, etc has been removed. Instead
there is an initial GTK+ 3 porting guide now.
* Bugs fixed:
620509 Progress bar rendering is broken
607628 DnD operation doesn't work when using offscreen.
619838 kill off references to gtk 1.2 in docs/comments
608218 GtkOffscreenWindow causes bad window with GtkEntry
619649 Remove deprecated code from GdkColor
619080 text-inserted events should not be emitted unless text...
620511 Use g_source_set_name for all custom GSources in GTK+
603637 gtk printer dialog does not show remote printer
618271 Add gtk_window_has_group()
617863 Actually expose the X11 funcs through introspection
620244 misprint in the description of the function gtk_widget_list_...
549127 Print error dialog not shown
611709 gseal hides GtkStatusBar->messages but doesn't give anything...
596428 GtkAssistant: Support ending with a progress page
* Translation updates:
Esperanto
Hebrew
Irish
Overview of Changes from GTK+ 2.90.0 to 2.90.1
==============================================
* Printing: The list of locales using US Letter papersize has
been updated to match the CLDR 1.8.1
* The default location for the 'module cache' files (ie the files
produced by gdk-pixbuf-query-loaders and gtk-query-immodules) has
been changed to $libdir/gtk-3.0/3.0.0/{loaders,immodules}.cache.
This should avoid multilib problems with the previous location.
Additionally, the query utilities accept an --update-cache argument
to update the cache file directly, instead of writing to stdout
* gtk_radio_action_join_group: A binding-friendly way to manage
radio actions.
* GtkAdjustment enforces values to the range [lower, upper - page_size]
* GDK has been GSEALed, with the addition of suitable accessors
* The XI2 branch with better support for multiple input devices has
been merged, together with backends for XInput, XInput2, win32 and
Quartz, and corresponding updates to input-device handling code
in GTK.
* A number of orientable widgets are no longer abstract: GtkBox,
GtkButtonBox, GtkPaned, GtkRuler, GtkScale, GtkScrollbar, GtkSeparator.
All of these can now be instantiated and flipped between horizontal
and vertical orientation at runtime. Their H/V subclasses are still
available, as convenience API.
* More deprecated API has been removed
* Bugs fixes:
613132 GtkBoxChild should probably be deprecated
592580 GDK needs sealing
618870 GTK+ uses wrong pkg-config to reveal the CAIRO_PREFIX
616817 Remove code to support deprecated GtkToolbar api
619114 undefined reference to `XkbBell'
617863 Actually expose the X11 funcs through introspection
613302 GtkWidget not emitting the unmap signal
565559 Incorrect leave-notify signals for treeview
533946 GtkHScale does not update correctly
618000 Sync paper size fallbacks with CLDR 1.8.1
614581 Gtk print dialog freezes on start up
551322 configure does not use -lm in jasper (JPEG2000) testing
619474 Fixes for GtkAdjustment for GTK+ 3
555087 Shouldn't the return type of gtk_entry_completion_get_model...
619385 Fix compilation warning: Do not break strict-aliasing rules
596725 Add XInput2 support
* Updated translations
Arabic
Estonian
Galician
Italian
Indonesian
Oriya
Shavian
Overview of Changes from GTK+ 2.20.x to 2.90.0
==============================================
* GtkExtendedLayout: Width-for-height geometry management.
This change is known to currently cause minor problems in
some applications, see
617444 GNU emacs warnings with extended layout GTK+
617556 inkscape toolbars broken with extended layout
* gtk_icon_theme_load_symbolic: Support for 'symbolic' icons
* Applications can indicate their preference for a dark theme
variant by setting GtkSettings::gtk-application-prefer-dark-theme
* GtkTreeModelFilter can be more usefully subclassed
* Tooltip positioning has been changed to make it less likely
that the tooltip covers up the widget that it relates to
* Deprecated functions have been removed (though some more work
remains to be done in GDK)
* This release is parallel installable with GTK+ <= 2.22, by renaming
.pc files, libraries, include paths, module paths, gtkrc files, etc
to include a '3.0' in its name.
* Updated translations:
Basque
Bengali
Bengali India
Catalan
Catalan (Valencian)
Crimean Tatar
Danish
Dutch
Galician
Greek
Indonesian
Kannada
Kazakh
Latvian
Marathi
Norwegian bokmål
Spanish
Thai
Ukrainian
Overview of Changes from GTK+ 2.19.7 to 2.20.0
==============================================

View File

@@ -111,15 +111,11 @@ Release notes for 2.14
to GTK_SENSITIVITY_ON, so that the button is always sensitive or
GTK_SENSITIVITY_OFF to make it insensitive respectively.
* In the early 2.14.x releases, GtkAdjustment was changed to enforce
that values are restricted to the range [lower, upper - page_size].
This has always been the documented behaviour, and the recommended
practice is to set page_size to 0 when using adjustments for simple
scalar values, like in a slider or spin button.
Due to the large number of applications that are affected by this
change, the behaviour has been reverted to the old behaviour in
2.14.3, with an explicit warning that this change will be
reintroduced in 2.90.
* GtkAdjustment now enforces that values are restricted to the
range [lower, upper - page_size]. This has always been the documented
behaviour, and the recommended practice is to set page_size to 0
when using adjustments for simple scalar values, like in a slider
or spin button.
* gdk-pixbuf will use GIO for mime type detection if possible. For
this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS

View File

@@ -19,14 +19,14 @@ if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
-e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
1.4*|1.5*|2.2*)
2.2*)
have_libtool=true
;;
esac
fi
if $have_libtool ; then : ; else
echo
echo "You must have libtool 1.4 installed to compile $PROJECT."
echo "You must have libtool 2.2 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
DIE=1
@@ -54,18 +54,14 @@ if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.10
ACLOCAL=aclocal-1.10
else if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.7
ACLOCAL=aclocal-1.7
else
echo
echo "You must have automake 1.7.x, 1,10.x or 1.11.x installed to compile $PROJECT."
echo "You must have automake 1,10.x or 1.11.x installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
DIE=1
fi
fi
fi
if test "$DIE" -eq 1; then
exit 1

View File

@@ -1,6 +1,6 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST = \
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk+.vsprops \

View File

@@ -31,7 +31,7 @@ copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h&#x0D;&#x0A;
/>
<UserMacro
Name="GtkApiVersion"
Value="2.0"
Value="3.0"
/>
<UserMacro
Name="GtkBinaryVersion"

View File

@@ -1,6 +1,6 @@
# Process this file with autoconf to produce a configure script.
# require autoconf 2.54
AC_PREREQ(2.62)
AC_PREREQ([2.62])
# Making releases:
# GTK_MICRO_VERSION += 1;
@@ -11,15 +11,15 @@ AC_PREREQ(2.62)
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
m4_define([gtk_major_version], [2])
m4_define([gtk_minor_version], [20])
m4_define([gtk_micro_version], [1])
m4_define([gtk_interface_age], [1])
m4_define([gtk_minor_version], [90])
m4_define([gtk_micro_version], [2])
m4_define([gtk_interface_age], [0])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
m4_define([gtk_version],
[gtk_major_version.gtk_minor_version.gtk_micro_version])
# This is the X.Y used in -lgtk-FOO-X.Y
m4_define([gtk_api_version], [2.0])
m4_define([gtk_api_version], [3.0])
# Define a string for the earliest version that this release has
# backwards binary compatibility with for all interfaces a module
@@ -28,10 +28,10 @@ m4_define([gtk_api_version], [2.0])
# for GTK+.
#
#GTK_BINARY_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$LT_CURRENT
m4_define([gtk_binary_version], [2.10.0])
m4_define([gtk_binary_version], [3.0.0])
# required versions of other packages
m4_define([glib_required_version], [2.23.6])
m4_define([glib_required_version], [2.25.8])
m4_define([pango_required_version], [1.20])
m4_define([atk_required_version], [1.29.2])
m4_define([cairo_required_version], [1.6])
@@ -41,15 +41,15 @@ AC_INIT([gtk+], [gtk_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
[gtk+])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_SRCDIR([gdk/gdktypes.h])
AC_CONFIG_MACRO_DIR([m4])
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}
AM_INIT_AUTOMAKE([no-define -Wno-portability dist-bzip2])
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([1.10 no-define -Wno-portability dist-bzip2])
AM_MAINTAINER_MODE([enable])
# Support silent build rules, requires at least automake-1.11. Enable
# by either passing --enable-silent-rules to configure or passing V=0
@@ -58,7 +58,6 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
#
# For each of the libraries we build, we define the following
# substituted variables:
#
# foo_PACKAGES: pkg-config packages this library requires
@@ -100,8 +99,8 @@ LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
AC_SUBST(LT_VERSION_INFO)
AC_SUBST(LT_CURRENT_MINUS_AGE)
m4_define([gail_lt_current],[18])
m4_define([gail_lt_revision],[1])
m4_define([gail_lt_current],[0])
m4_define([gail_lt_revision],[0])
m4_define([gail_lt_age],[0])
m4_define([gail_lt_version_info],[gail_lt_current:gail_lt_revision:gail_lt_age])
m4_define([gail_lt_current_minus_age],[m4_eval(gail_lt_current - gail_lt_age)])
@@ -121,7 +120,15 @@ AC_SUBST(GDK_PIXBUF_MINOR)
AC_SUBST(GDK_PIXBUF_MICRO)
AC_SUBST(GDK_PIXBUF_VERSION)
GETTEXT_PACKAGE=gtk20
# Checks for programs.
AC_PROG_CC
AC_PROG_CC_C_O
AC_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
GETTEXT_PACKAGE=gtk30
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
[The prefix for our gettext translation domains.])
@@ -159,17 +166,12 @@ case $host in
;;
esac
dnl Initialize libtool
AC_PROG_CC
AM_DISABLE_STATIC
dnl
dnl
dnl Check for a working C++ compiler, but do not bail out, if none is found.
dnl We use this for an automated test for C++ header correctness.
dnl
dnl
AC_CHECK_TOOLS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_LANG_PUSH([C++])
AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
@@ -179,7 +181,7 @@ CXXFLAGS="$CXXFLAGS -x objective-c++"
AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" = "yes")
CXXFLAGS="$gtk_save_cxxflags"
AC_LANG_RESTORE
AC_LANG_POP([C++])
if test "$os_win32" = "yes"; then
if test x$enable_static = xyes -o x$enable_static = x; then
@@ -192,11 +194,11 @@ if test "$os_win32" = "yes"; then
enable_shared=yes
fi
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
dnl when using libtool 2.x create libtool early, because it's used in configure
m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
dnl Initialize libtool
LT_PREREQ([2.2.6])
LT_INIT([disable-static win32-dll])
# Create libtool early, because it's used in configure
LT_OUTPUT
# Make sure we use 64-bit versions of various file stuff.
AC_SYS_LARGEFILE
@@ -204,9 +206,6 @@ AC_SYS_LARGEFILE
AM_PROG_AS
AC_PATH_PROG(NM, nm, nm)
dnl Initialize maintainer mode
AM_MAINTAINER_MODE
AC_MSG_CHECKING([for some Win32 platform])
case "$host" in
*-*-mingw*|*-*-cygwin*)
@@ -258,7 +257,7 @@ AC_ARG_ENABLE(rebuilds,
[enable_rebuilds=yes])
AC_ARG_ENABLE(visibility,
[AC_HELP_STRING([--disable-visibility],
[don't use ELF visibility attributes])],,
[do not use ELF visibility attributes])],,
[enable_visibility=yes])
AC_ARG_WITH(xinput,
@@ -287,7 +286,7 @@ AC_SUBST(gtktargetlib)
if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
else
if test "x$enable_debug" = "xno"; then
GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
@@ -305,17 +304,10 @@ fi
AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}",
[Define if debugging is enabled])
# Build time sanity check...
AM_SANITY_CHECK
# Checks for programs.
AC_ISC_POSIX
AM_PROG_CC_STDC
AM_PROG_CC_C_O
AC_PROG_INSTALL
AC_PROG_MAKE_SET
changequote(,)dnl
if test "x$GCC" = "xyes"; then
case " $CFLAGS " in
@@ -337,7 +329,7 @@ if test "x$GCC" = "xyes"; then
fi
changequote([,])dnl
CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES"
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
@@ -374,14 +366,11 @@ if test x"$os_win32" = xyes; then
fi
fi
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
## Initial sanity check, done here so that users get told they
## Initial sanity check, done here so that users get told they
## have the wrong dependencies as early in the process as possible.
## Later on we actually use the cflags/libs from separate pkg-config
## calls. Oh, also the later pkg-config calls don't include
## the version requirements since those make the module lists
## calls. Oh, also the later pkg-config calls don't include
## the version requirements since those make the module lists
## annoying to construct
PKG_CHECK_MODULES(BASE_DEPENDENCIES,
[glib-2.0 >= glib_required_version dnl
@@ -416,7 +405,7 @@ dnl ******************************************************
dnl * See whether to include shared library dependencies *
dnl ******************************************************
AC_ARG_ENABLE(explicit-deps,
AC_ARG_ENABLE(explicit-deps,
[AC_HELP_STRING([--enable-explicit-deps=@<:@yes/no/auto@:>@],
[use explicit dependencies in .pc files [default=auto]])],,
[enable_explicit_deps=auto])
@@ -427,12 +416,12 @@ case $enable_explicit_deps in
export SED
deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
enable_explicit_deps=yes
enable_explicit_deps=yes
else
enable_explicit_deps=no
enable_explicit_deps=no
fi
;;
yes|no)
yes|no)
;;
*) AC_MSG_ERROR([Value given to --enable-explicit-deps must be one of yes, no or auto])
;;
@@ -507,7 +496,7 @@ if test "$gtk_ok" = "yes"; then
AC_DEFINE([HAVE__NL_PAPER_WIDTH], [1],
[Define if _NL_PAPER_WIDTH is available])
fi
# sigsetjmp is a macro on some platforms, so AC_CHECK_FUNCS is not reliable
AC_MSG_CHECKING(for sigsetjmp)
AC_TRY_LINK([#include <setjmp.h>], [
@@ -550,7 +539,7 @@ dnl (End of adapted AM_GLIB_GNU_GETTEXT snippet.)
AM_GLIB_DEFINE_LOCALEDIR(GTK_LOCALEDIR)
dnl The DU4 header files don't provide library prototypes unless
dnl The DU4 header files don't provide library prototypes unless
dnl -std1 is given to the native cc.
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
@@ -614,13 +603,13 @@ AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
#
# Run AM_PATH_GLIB_2_0 to make sure that GLib is installed and working
#
#
GLIB_PACKAGES="gobject-2.0 gmodule-no-export-2.0"
AM_PATH_GLIB_2_0(glib_required_version, :,
AC_MSG_ERROR([
*** GLIB glib_required_version or better is required. The latest version of
*** GLIB glib_required_version or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.]),
gobject gmodule-no-export gthread)
@@ -795,7 +784,7 @@ if test x$enable_modules = xno; then
else
AC_MSG_RESULT(yes)
AC_MSG_CHECKING(whether dynamic modules work)
## for loop is to strip newline
## for loop is to strip newline
tmp=`$PKG_CONFIG --variable=gmodule_supported gmodule-no-export-2.0`
for I in $tmp; do
dynworks=$I
@@ -867,7 +856,7 @@ if test x$os_win32 = xno || test x$enable_gdiplus = xno; then
if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
AC_MSG_ERROR([
*** Checks for TIFF loader failed. You can build without it by passing
*** Checks for TIFF loader failed. You can build without it by passing
*** --without-libtiff to configure but some programs using GTK+ may
*** not work properly])
fi
@@ -893,7 +882,7 @@ if test x$os_win32 = xno || test x$enable_gdiplus = xno; then
AC_MSG_RESULT($jpeg_ok)
if test "$jpeg_ok" = yes; then
LIBJPEG='-ljpeg'
AC_CHECK_LIB(jpeg, jpeg_simple_progression,
AC_CHECK_LIB(jpeg, jpeg_simple_progression,
AC_DEFINE(HAVE_PROGRESSIVE_JPEG, 1,
[Define to 1 is libjpeg supports progressive JPEG]),
AC_MSG_WARN(JPEG library does not support progressive saving.))
@@ -905,7 +894,7 @@ if test x$os_win32 = xno || test x$enable_gdiplus = xno; then
if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
AC_MSG_ERROR([
*** Checks for JPEG loader failed. You can build without it by passing
*** Checks for JPEG loader failed. You can build without it by passing
*** --without-libjpeg to configure but some programs using GTK+ may
*** not work properly])
fi
@@ -946,7 +935,7 @@ dnl Test for libpng
if test x$with_libpng != xno && test -z "$LIBPNG"; then
AC_MSG_ERROR([
*** Checks for PNG loader failed. You can build without it by passing
*** Checks for PNG loader failed. You can build without it by passing
*** --without-libpng to configure but many programs using GTK+ will
*** not work properly. The PNG loader is also needed if you are compiling
*** from CVS.])
@@ -954,12 +943,12 @@ dnl Test for libpng
dnl Test for libjasper
if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then
AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [], -ljpeg)
AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [], -ljpeg -lm)
fi
if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then
AC_MSG_ERROR([
*** Checks for JPEG2000 loader failed. You can build without it by passing
*** Checks for JPEG2000 loader failed. You can build without it by passing
*** --without-libjasper to configure])
fi
@@ -983,7 +972,7 @@ AC_ARG_WITH(included_loaders,
[ --with-included-loaders=LOADER1,LOADER2,...
build the specified loaders into gdk-pixbuf])
if $dynworks; then
if $dynworks; then
:
else
## if the option was specified, leave it; otherwise disable included loaders
@@ -1081,21 +1070,21 @@ if test x$gio_can_sniff = x; then
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <gio/gio.h>
static const gsize data_size = 159;
static const guint8 data[] =
static const guint8 data[] =
{
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00,
0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00,
0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74,
0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8,
0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f,
0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57,
0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08,
0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc,
0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00,
0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00,
0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00,
0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74,
0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8,
0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f,
0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57,
0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08,
0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc,
0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,
0x42, 0x60, 0x82
};
int
@@ -1103,9 +1092,10 @@ if test x$gio_can_sniff = x; then
{
char *content_type;
char *image_png;
content_type = g_content_type_guess (NULL, data, data_size, NULL);
g_type_init ();
content_type = g_content_type_guess (NULL, data, data_size, NULL);
image_png = g_content_type_from_mime_type ("image/png");
return !!strcmp (content_type, image_png);
return !!g_strcmp0 (content_type, image_png);
}]])],
[gio_can_sniff=yes
AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
@@ -1128,7 +1118,7 @@ AC_ARG_WITH(included_immodules,
[ --with-included-immodules=MODULE1,MODULE2,...
build the specified input methods into gtk])
if $dynworks; then
if $dynworks; then
:
else
## if the option was specified, leave it; otherwise disable included immodules
@@ -1221,7 +1211,7 @@ fi
# support.
#
AC_CHECK_HEADER(sys/systeminfo.h,
AC_DEFINE(HAVE_SYS_SYSTEMINFO_H, 1,
AC_DEFINE(HAVE_SYS_SYSTEMINFO_H, 1,
[Define to 1 if sys/systeminfo.h is available]))
AC_CHECK_HEADER(sys/sysinfo.h,
AC_DEFINE(HAVE_SYS_SYSINFO_H, 1,
@@ -1258,10 +1248,10 @@ AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
AC_MSG_CHECKING(for x86 platform)
case $host_cpu in
i386|i486|i586|i686|i786|k6|k7)
use_x86_asm=yes
use_x86_asm=yes
;;
*)
use_x86_asm=no
use_x86_asm=no
esac
AC_MSG_RESULT($use_x86_asm)
@@ -1269,7 +1259,7 @@ use_mmx_asm=no
if test $use_x86_asm = yes; then
save_ac_ext=$ac_ext
ac_ext=S
AC_MSG_CHECKING(compiler support for MMX)
cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
if AC_TRY_EVAL(ac_compile); then
@@ -1307,11 +1297,11 @@ if test $cross_compiling = yes; then
fi
fi
if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
test "x$REBUILD_PNGS" = "x#" ; then
AC_MSG_ERROR([
*** gtkbuiltincache.h is not in the tree, and cannot be built
*** because you don't have libpng, or (when cross-compiling) you
*** because you don't have libpng, or (when cross-compiling) you
*** don't have a prebuilt gtk-update-icon-cache on the build system.])
fi
@@ -1319,7 +1309,7 @@ AC_SUBST(REBUILD_PNGS)
GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0 gio-2.0"
GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
GDK_PIXBUF_EXTRA_CFLAGS=
GDK_PIXBUF_EXTRA_CFLAGS=
GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
@@ -1330,10 +1320,10 @@ GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $
GDK_PIXBUF_XLIB_PACKAGES=
GDK_PIXBUF_XLIB_EXTRA_CFLAGS=
GDK_PIXBUF_XLIB_EXTRA_LIBS=
GDK_EXTRA_LIBS="$GDK_WLIBS"
GDK_EXTRA_CFLAGS=
# GTK+ uses some X calls, so needs to link against X directly
GTK_DEP_PACKAGES_FOR_X=
GTK_DEP_LIBS_FOR_X=
@@ -1358,17 +1348,17 @@ if test "x$gdktarget" = "xx11"; then
X_PACKAGES="$X_PACKAGES x11 xext xrender"
x_libs="`$PKG_CONFIG --libs x11 xext xrender`"
X_CFLAGS="`$PKG_CONFIG --cflags x11 xext xrender`"
# Strip out any .la files that pkg-config might give us (this happens
# with -uninstalled.pc files)
x_libs_for_checks=
for I in $x_libs ; do
case $I in
case $I in
*.la) ;;
*) x_libs_for_checks="$x_libs_for_checks $I" ;;
esac
done
GDK_PIXBUF_XLIB_PACKAGES="x11"
GTK_PACKAGES_FOR_X="x11"
else
@@ -1377,7 +1367,7 @@ if test "x$gdktarget" = "xx11"; then
if test x$no_x = xyes ; then
AC_MSG_ERROR([X development libraries not found])
fi
x_cflags="$X_CFLAGS"
x_libs_for_checks="$X_LIBS -lXext -lXrender -lX11 $X_EXTRA_LIBS"
@@ -1394,7 +1384,7 @@ if test "x$gdktarget" = "xx11"; then
gtk_save_LIBS=$LIBS
LIBS="$x_libs_for_checks $LIBS"
# Sanity check for the X11 and Xext libraries. While everything we need from
# Xext is optional, the chances a system has *none* of these things is so
# small that we just unconditionally require it.
@@ -1426,9 +1416,9 @@ if test "x$gdktarget" = "xx11"; then
# Generic X11R6 check needed for XIM support; we could
# probably use this to replace the above, but we'll
# leave the separate checks for XConvertCase and XInternAtoms
# leave the separate checks for XConvertCase and XInternAtoms
# for clarity
have_x11r6=false
AC_CHECK_FUNC(XAddConnectionWatch,
have_x11r6=true)
@@ -1458,7 +1448,7 @@ if test "x$gdktarget" = "xx11"; then
# X SYNC check
gtk_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $x_cflags"
AC_CHECK_FUNC(XSyncQueryExtension,
[AC_CHECK_HEADER(X11/extensions/sync.h,
AC_DEFINE(HAVE_XSYNC, 1, [Have the SYNC extension library]),
@@ -1473,9 +1463,9 @@ if test "x$gdktarget" = "xx11"; then
AC_CHECK_FUNC(XShmAttach,
:,
# On AIX, it is in XextSam instead
[AC_CHECK_LIB(XextSam, XShmAttach,
[AC_CHECK_LIB(XextSam, XShmAttach,
[GTK_ADD_LIB(x_extra_libs,XextSam)])])
fi
fi
if test "x$enable_shm" = "xyes"; then
# Check for shared memory
@@ -1489,7 +1479,7 @@ if test "x$gdktarget" = "xx11"; then
no_sys_shm=yes)
# Check for the X shared memory extension header file
have_xshm=no
have_xshm=no
AC_MSG_CHECKING(X11/extensions/XShm.h)
if test "x$no_xext_lib" = "xyes"; then
:
@@ -1518,17 +1508,17 @@ if test "x$gdktarget" = "xx11"; then
# Check for Xinerama extension (Solaris impl or Xfree impl)
gtk_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $x_cflags"
# Check for XFree
AC_MSG_CHECKING(for Xinerama support on XFree86)
have_xfree_xinerama=false
if $PKG_CONFIG --exists xinerama ; then
have_xfree_xinerama=true
X_PACKAGES="$X_PACKAGES xinerama"
else
else
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
[GTK_ADD_LIB(x_extra_libs,Xinerama)
have_xfree_xinerama=true], :,
[#include <X11/Xlib.h>])])
@@ -1547,13 +1537,13 @@ if test "x$gdktarget" = "xx11"; then
*-*-solaris*)
# Check for solaris
AC_MSG_CHECKING(for Xinerama support on Solaris)
have_solaris_xinerama=false
AC_CHECK_FUNC(XineramaGetInfo,
[AC_CHECK_HEADER(X11/extensions/xinerama.h,
[have_solaris_xinerama=true], :,
[have_solaris_xinerama=true], :,
[#include <X11/Xlib.h>])])
if $have_solaris_xinerama ; then
AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1,
[Define to 1 if solaris xinerama is available])
@@ -1569,24 +1559,24 @@ if test "x$gdktarget" = "xx11"; then
esac
fi
fi
# set up things for XInput
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
# set up things for XInput
if test "x$with_xinput" != "xno" && $PKG_CONFIG --exists "xi" ; then
AC_DEFINE(XINPUT_XFREE, 1,
[Define to 1 if XFree XInput should be used])
if $PKG_CONFIG --exists xi ; then
X_PACKAGES="$X_PACKAGES xi"
else
GTK_ADD_LIB(x_extra_libs, Xi)
fi
X_PACKAGES="$X_PACKAGES xi"
AC_CHECK_HEADER(X11/extensions/XInput2.h,
have_xinput2=yes; AC_DEFINE(XINPUT_2, 1, [Define to 1 if XInput 2.0 is available]))
else
AC_DEFINE(XINPUT_NONE, 1,
[Define to 1 if no XInput should be used])
fi
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
AM_CONDITIONAL(XINPUT_NONE, test "x$with_xinput" = "xno")
AM_CONDITIONAL(XINPUT_XFREE, test "x$with_xinput" != "xno")
AM_CONDITIONAL(XINPUT_2, test "x$have_xinput2" = "xyes")
# Check for the RANDR extension
if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then
@@ -1594,20 +1584,20 @@ if test "x$gdktarget" = "xx11"; then
X_PACKAGES="$X_PACKAGES xrandr"
fi
# Checks for Xcursor library
if $PKG_CONFIG --exists xcursor ; then
AC_DEFINE(HAVE_XCURSOR, 1, [Have the Xcursor library])
X_PACKAGES="$X_PACKAGES xcursor"
fi
# Checks for XFixes extension
if $PKG_CONFIG --exists xfixes ; then
AC_DEFINE(HAVE_XFIXES, 1, [Have the XFIXES X extension])
X_PACKAGES="$X_PACKAGES xfixes"
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
fi
@@ -1644,6 +1634,7 @@ else
XPACKAGES=
AM_CONDITIONAL(XINPUT_XFREE, false)
AM_CONDITIONAL(XINPUT_2, false)
AM_CONDITIONAL(USE_X11, false)
AM_CONDITIONAL(HAVE_X11R6, false)
fi
@@ -1778,7 +1769,7 @@ if test "x$gdktarget" = "xx11"; then
GTK_PACKAGES="$GTK_PACKAGES pangoft2"
fi
GTK_EXTRA_LIBS=
GTK_EXTRA_CFLAGS=
GTK_EXTRA_CFLAGS=
GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $PANGO_PACKAGES $GTK_PACKAGES_FOR_X $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
@@ -1789,7 +1780,7 @@ fi
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
CAIRO_PREFIX="`$PKG_CONFIG --variable=prefix cairo`"
if test $enable_explicit_deps != yes ; then
GDK_PIXBUF_EXTRA_LIBS=
@@ -1832,7 +1823,7 @@ AC_CHECK_MEMBER([struct sockaddr_un.sun_len],
[#include <sys/types.h>
#include <sys/un.h>]
)
case $struct_sockaddr_un_sun_len in
case $struct_sockaddr_un_sun_len in
true)
AC_DEFINE_UNQUOTED(HAVE_SOCKADDR_UN_SUN_LEN, 1,
[Have the sockaddr_un.sun_len member])
@@ -1877,7 +1868,7 @@ else
if test $CUPS_API_MAJOR -gt 1 -o \
$CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
AC_DEFINE(HAVE_CUPS_API_1_2, 1,
AC_DEFINE(HAVE_CUPS_API_1_2, 1,
[Define to 1 if CUPS 1.2 API is available])
fi
@@ -1942,17 +1933,17 @@ AC_CHECK_HEADER(cairo-pdf.h,,AC_MSG_ERROR([
if test "$os_win32" != "yes"; then
AC_CHECK_HEADER(cairo-ps.h,,AC_MSG_ERROR([
*** Can't find cairo-ps.h. You must build Cairo with the
*** Can't find cairo-ps.h. You must build Cairo with the
*** postscript backend enabled.]))
AC_CHECK_HEADER(cairo-svg.h,,AC_MSG_ERROR([
*** Can't find cairo-svg.h. You must build Cairo with the
*** svg backend enabled.]))
fi
fi
CPPFLAGS="$gtk_save_cppflags"
AC_ARG_ENABLE(test-print-backend,
[AC_HELP_STRING([--enable-test-print-backend],
[build test print backend])],,
@@ -1986,7 +1977,7 @@ fi
# GObject introspection
##################################################
GOBJECT_INTROSPECTION_CHECK([0.6.7])
GOBJECT_INTROSPECTION_CHECK([0.6.14])
##################################################
# Checks for gtk-doc and docbook-tools
@@ -2030,7 +2021,7 @@ AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [
cat > $outfile <<\_______EOF
/* gdkconfig.h
*
* This is a generated file. Please modify `configure.in'
* This is a generated file. Please modify `configure.ac'
*/
#ifndef GDKCONFIG_H
@@ -2109,15 +2100,15 @@ AC_CONFIG_FILES([
config.h.win32
gtk-zip.sh
Makefile
gdk-pixbuf-2.0.pc
gdk-2.0.pc
gtk+-2.0.pc
gtk+-unix-print-2.0.pc
gail.pc
gdk-pixbuf-2.0-uninstalled.pc
gdk-2.0-uninstalled.pc
gtk+-2.0-uninstalled.pc
gail-uninstalled.pc
gdk-pixbuf-3.0.pc
gdk-3.0.pc
gtk+-3.0.pc
gtk+-unix-print-3.0.pc
gail-3.0.pc
gdk-pixbuf-3.0-uninstalled.pc
gdk-3.0-uninstalled.pc
gtk+-3.0-uninstalled.pc
gail-3.0-uninstalled.pc
m4macros/Makefile
po/Makefile.in
po-properties/Makefile.in
@@ -2167,7 +2158,7 @@ modules/engines/Makefile
modules/engines/pixbuf/Makefile
modules/engines/ms-windows/Makefile
modules/engines/ms-windows/Theme/Makefile
modules/engines/ms-windows/Theme/gtk-2.0/Makefile
modules/engines/ms-windows/Theme/gtk-3.0/Makefile
modules/input/Makefile
modules/printbackends/Makefile
modules/printbackends/cups/Makefile
@@ -2178,7 +2169,7 @@ modules/printbackends/test/Makefile
perf/Makefile
contrib/Makefile
contrib/gdk-pixbuf-xlib/Makefile
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-3.0.pc
])
AC_OUTPUT

View File

@@ -4,7 +4,7 @@ if PLATFORM_WIN32
no_undefined = -no-undefined
endif
lib_LTLIBRARIES=libgdk_pixbuf_xlib-2.0.la
lib_LTLIBRARIES=libgdk_pixbuf_xlib-3.0.la
INCLUDES = \
-I$(top_srcdir) -I$(top_builddir) \
@@ -12,31 +12,31 @@ INCLUDES = \
-I$(top_srcdir)/contrib \
$(GDK_PIXBUF_XLIB_DEP_CFLAGS)
libgdk_pixbuf_xlib_2_0_la_LDFLAGS = \
libgdk_pixbuf_xlib_3_0_la_LDFLAGS = \
-export-dynamic \
$(no_undefined) \
-version-info $(LT_VERSION_INFO)
libgdk_pixbuf_xlib_2_0_la_LIBADD = \
libgdk_pixbuf_xlib_3_0_la_LIBADD = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(GDK_PIXBUF_XLIB_DEP_LIBS)
libgdk_pixbuf_xlib_2_0_la_SOURCES = \
libgdk_pixbuf_xlib_3_0_la_SOURCES = \
gdk-pixbuf-xlib-private.h \
gdk-pixbuf-xlib.c \
gdk-pixbuf-xlib-render.c \
gdk-pixbuf-xlib-drawable.c \
gdk-pixbuf-xlibrgb.c
libgdk_pixbuf_xlibincludedir=$(includedir)/gtk-2.0/gdk-pixbuf-xlib
libgdk_pixbuf_xlibincludedir=$(includedir)/gtk-3.0/gdk-pixbuf-xlib
libgdk_pixbuf_xlibinclude_HEADERS = \
gdk-pixbuf-xlib.h \
gdk-pixbuf-xlibrgb.h
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gdk-pixbuf-xlib-2.0.pc
pkgconfig_DATA = gdk-pixbuf-xlib-3.0.pc
EXTRA_DIST += gdk-pixbuf-xlib-2.0.pc.in
EXTRA_DIST += gdk-pixbuf-xlib-3.0.pc.in
-include $(top_srcdir)/git.mk

View File

@@ -6,6 +6,6 @@ includedir=@includedir@
Name: GdkPixbuf Xlib
Description: GdkPixbuf rendering for Xlib
Version: @VERSION@
Requires: gobject-2.0,gmodule-no-export-2.0,gdk-pixbuf-2.0
Requires: gobject-2.0,gmodule-no-export-2.0,gdk-pixbuf-3.0
Libs: -L${libdir} -lgdk_pixbuf_xlib-@GTK_API_VERSION@
Cflags: -I${includedir}

View File

@@ -41,8 +41,8 @@ if CROSS_COMPILING
pixbuf_csource=$(GDK_PIXBUF_CSOURCE)
pixbuf_csource_deps=
else
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource
pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/loaders.cache $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource-3.0
pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource-3.0 $(top_builddir)/gdk-pixbuf/loaders.cache
endif
test-inline-pixbufs.h: $(pixbuf_csource_deps) apple-red.png gnome-foot.png

View File

@@ -1,7 +1,7 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
democodedir=$(datadir)/gtk-2.0/demo
democodedir=$(datadir)/gtk-$(GTK_API_VERSION)/demo
## These should be in the order you want them to appear in the
## demo app, which means alphabetized by demo title, not filename
@@ -65,7 +65,7 @@ LDADDS = \
$(top_builddir)/gtk/$(gtktargetlib) \
$(GTK_DEP_LIBS)
bin_PROGRAMS = gtk-demo
bin_PROGRAMS = gtk3-demo
BUILT_SOURCES = demos.h
@@ -76,15 +76,15 @@ EXTRA_DIST += \
demos.h: @REBUILD@ $(demos) geninclude.pl
(here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
gtk_demo_SOURCES = \
gtk3_demo_SOURCES = \
$(demos) \
demo-common.h \
main.c \
demos.h
gtk_demo_DEPENDENCIES = $(DEPS)
gtk_demo_LDADD = $(LDADDS)
gtk_demo_LDFLAGS = -export-dynamic
gtk3_demo_DEPENDENCIES = $(DEPS)
gtk3_demo_LDADD = $(LDADDS)
gtk3_demo_LDFLAGS = -export-dynamic
IMAGEFILES= alphatest.png \
apple-red.png \
@@ -99,7 +99,7 @@ IMAGEFILES= alphatest.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png \
gtk-logo-rgb.gif
gtk-logo-rgb.gif
democode_DATA = $(demos) $(IMAGEFILES) demo.ui

View File

@@ -19,6 +19,16 @@ activate_action (GtkAction *action)
GtkWidget *dialog;
if (g_str_equal (name, "DarkTheme"))
{
gboolean value = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
"gtk-application-prefer-dark-theme", value,
NULL);
return;
}
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
@@ -212,6 +222,11 @@ static GtkToggleActionEntry toggle_entries[] = {
"Bold", /* tooltip */
G_CALLBACK (activate_action),
TRUE }, /* is_active */
{ "DarkTheme", NULL, /* name, stock id */
"_Prefer Dark Theme", NULL, /* label, accelerator */
"Prefer Dark Theme", /* tooltip */
G_CALLBACK (activate_action),
FALSE }, /* is_active */
};
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
@@ -265,6 +280,7 @@ static const gchar *ui_info =
" <menuitem action='Quit'/>"
" </menu>"
" <menu action='PreferencesMenu'>"
" <menuitem action='DarkTheme'/>"
" <menu action='ColorMenu'>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"

View File

@@ -9,12 +9,35 @@
#include "demo-common.h"
static GtkWidget *assistant = NULL;
static GtkWidget *progress_bar = NULL;
static gboolean
apply_changes_gradually (gpointer data)
{
gdouble fraction;
/* Work, work, work... */
fraction = gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (progress_bar));
fraction += 0.05;
if (fraction < 1.0)
{
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), fraction);
return TRUE;
}
else
{
/* Close automatically once changes are fully applied. */
gtk_widget_destroy (assistant);
return FALSE;
}
}
static void
on_assistant_apply (GtkWidget *widget, gpointer data)
{
/* Apply here changes, this is a fictional
example, so we just do nothing here */
/* Start a timer to simulate changes taking a few seconds to apply. */
g_timeout_add (100, apply_changes_gradually, NULL);
}
static void
@@ -38,6 +61,13 @@ on_assistant_prepare (GtkWidget *widget, GtkWidget *page, gpointer data)
title = g_strdup_printf ("Sample assistant (%d of %d)", current_page + 1, n_pages);
gtk_window_set_title (GTK_WINDOW (widget), title);
g_free (title);
/* The fourth page (counting from zero) is the progress page. The
* user clicked Apply to get here so we tell the assistant to commit,
* which means the changes up to this point are permanent and cannot
* be cancelled or revisited. */
if (current_page == 3)
gtk_assistant_commit (GTK_ASSISTANT (widget));
}
static void
@@ -127,6 +157,26 @@ create_page3 (GtkWidget *assistant)
g_object_unref (pixbuf);
}
static void
create_page4 (GtkWidget *assistant)
{
GtkWidget *page;
page = gtk_alignment_new (0.5, 0.5, 0.5, 0.0);
progress_bar = gtk_progress_bar_new ();
gtk_container_add (GTK_CONTAINER (page), progress_bar);
gtk_widget_show_all (page);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), page);
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, "Applying changes");
/* This prevents the assistant window from being
* closed while we're "busy" applying changes. */
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, FALSE);
}
GtkWidget*
do_assistant (GtkWidget *do_widget)
{
@@ -142,6 +192,7 @@ do_assistant (GtkWidget *do_widget)
create_page1 (assistant);
create_page2 (assistant);
create_page3 (assistant);
create_page4 (assistant);
g_signal_connect (G_OBJECT (assistant), "cancel",
G_CALLBACK (on_assistant_close_cancel), &assistant);

View File

@@ -317,6 +317,7 @@ do_images (GtkWidget *do_widget)
GtkWidget *align;
GtkWidget *button;
GdkPixbuf *pixbuf;
GIcon *gicon;
GError *error = NULL;
char *filename;
@@ -415,6 +416,26 @@ do_images (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (frame), image);
/* Symbolic icon */
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Symbolic themed icon</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
* the window
*/
align = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
gicon = g_themed_icon_new_with_default_fallbacks ("battery-critical-charging-symbolic");
image = gtk_image_new_from_gicon (gicon, GTK_ICON_SIZE_DIALOG);
gtk_container_add (GTK_CONTAINER (frame), image);
/* Progressive */

View File

@@ -29,7 +29,9 @@ enum
COLUMN_SEVERITY,
COLUMN_DESCRIPTION,
COLUMN_PULSE,
COLUMN_ICON,
COLUMN_ACTIVE,
COLUMN_SENSITIVE,
NUM_COLUMNS
};
@@ -92,11 +94,24 @@ create_model (void)
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_UINT,
G_TYPE_STRING,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN);
/* add data to the list store */
for (i = 0; i < G_N_ELEMENTS (data); i++)
{
gchar *icon_name;
gboolean sensitive;
if (i == 1 || i == 3)
icon_name = "battery-critical-charging-symbolic";
else
icon_name = NULL;
if (i == 3)
sensitive = FALSE;
else
sensitive = TRUE;
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
COLUMN_FIXED, data[i].fixed,
@@ -104,7 +119,9 @@ create_model (void)
COLUMN_SEVERITY, data[i].severity,
COLUMN_DESCRIPTION, data[i].description,
COLUMN_PULSE, 0,
COLUMN_ICON, icon_name,
COLUMN_ACTIVE, FALSE,
COLUMN_SENSITIVE, sensitive,
-1);
}
@@ -199,6 +216,19 @@ add_columns (GtkTreeView *treeview)
NULL);
gtk_tree_view_column_set_sort_column_id (column, COLUMN_PULSE);
gtk_tree_view_append_column (treeview, column);
/* column for symbolic icon */
renderer = gtk_cell_renderer_pixbuf_new ();
g_object_set (G_OBJECT (renderer), "follow-state", TRUE, NULL);
column = gtk_tree_view_column_new_with_attributes ("Symbolic icon",
renderer,
"icon-name",
COLUMN_ICON,
"sensitive",
COLUMN_SENSITIVE,
NULL);
gtk_tree_view_column_set_sort_column_id (column, COLUMN_ICON);
gtk_tree_view_append_column (treeview, column);
}
static gboolean

View File

@@ -941,8 +941,8 @@ main (int argc, char **argv)
if (g_file_test ("../../gdk-pixbuf/libpixbufloader-pnm.la",
G_FILE_TEST_EXISTS))
{
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/gtk.immodules", TRUE);
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/loaders.cache", TRUE);
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/immodules.cache", TRUE);
}
/* -- End of hack -- */

View File

@@ -16,5 +16,5 @@ void
pixbuf_init (void)
{
if (file_exists ("../gdk-pixbuf/libpixbufloader-pnm.la"))
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/loaders.cache", TRUE);
}

View File

@@ -29,9 +29,9 @@ Make sure that gtk-doc is the latest released version.
3) In particular, if this is a major, stable, release, verify that
README.in contains the relevant release notes and that the
required versions of dependencies in INSTALL.in are in sync
with configure.in.
with configure.ac.
4) Verify that the version in configure.in has been bumped after the last
4) Verify that the version in configure.ac has been bumped after the last
release. (Note that this is critical, a slip-up here will cause the
soname to change).
@@ -78,7 +78,7 @@ Make sure that gtk-doc is the latest released version.
git push origin refs/tags/2.12.10
13) Bump the version number in configure.in and commit and push this change
13) Bump the version number in configure.ac and commit and push this change
14) Upload the tarball to master.gnome.org and run install-module to transfer
it to download.gnome.org. If you don't have an account on master.gnome.org,

View File

@@ -996,11 +996,11 @@ relevant packages. These are:</para>
or on any GNU mirror.</para>
<para>In order to use the powerful autoconf/automake scheme,
you must create a configure.in which may look like:</para>
you must create a configure.ac which may look like:</para>
<programlisting role="C">
dnl Process this file with autoconf to produce a configure script.
dnl configure.in for a GTK+ based program
dnl configure.ac for a GTK+ based program
AC_INIT(myprg.c)
AM_INIT_AUTOMAKE(mypkgname, 0.0.1)
@@ -1137,8 +1137,7 @@ myapp --display=:1
| | | +GtkCombo
| | | `GtkStatusbar
| | `GtkVBox
| | +GtkColorSelection
| | `GtkGammaCurve
| | `GtkColorSelection
| +GtkButton
| | +GtkOptionMenu
| | `GtkToggleButton
@@ -1160,7 +1159,6 @@ myapp --display=:1
| +GtkToolbar
| `GtkTree
+GtkDrawingArea
| `GtkCurve
+GtkEditable
| +GtkEntry
| | `GtkSpinButton
@@ -1629,11 +1627,7 @@ int main(int argc, char *argv[])
g_signal_connect(G_OBJECT (window), "destroy",
G_CALLBACK(destroy), NULL);
#if (GTK_MAJOR_VERSION == 1) &amp;&amp; (GTK_MINOR_VERSION == 0)
gtk_container_border_width(GTK_CONTAINER (window), 10);
#else
gtk_container_set_border_width(GTK_CONTAINER (window), 10);
#endif
/* add a button to do something useful */
button = gtk_button_new_with_label("Fork me!");
@@ -1898,7 +1892,7 @@ not applied you'll have to use the
function. <literal>gtk_object_class_user_signal_new</literal> allows you
to add a new signal to a predefined GTK+ widget without any
modification of the GTK+ source code. The new signal can be
emited with <literal>gtk_signal_emit</literal> and can be
emited with <literal>g_signal_emit</literal> and can be
handled in the same way as other signals.</para>
<para>Tim Janik posted this code snippet:</para>
@@ -1920,7 +1914,7 @@ gtk_widget_user_action (GtkWidget *widget,
{
g_return_if_fail (GTK_IS_WIDGET (widget));
gtk_signal_emit (GTK_OBJECT (widget), signal_user_action, act_data);
g_signal_emit (widget, signal_user_action, act_data);
}
</programlisting>
@@ -2527,15 +2521,15 @@ using the following expression:</para>
<para>If you don't want the user to be able to modify the
content of this entry, you can use the
gtk_entry_set_editable() function:</para>
gtk_editable_set_editable() function:</para>
<programlisting role="C">
void gtk_entry_set_editable(GtkEntry *entry,
gboolean editable);
void gtk_editable_set_editable (GtkEditable *editable,
gboolean is_editable);
</programlisting>
<para>Set the editable parameter to FALSE to disable typing
<para>Set the is_editable parameter to FALSE to disable typing
into the entry.</para>
</sect1>
@@ -2559,10 +2553,10 @@ into the entry.</para>
signal handler with</para>
<programlisting role="C">
gtk_signal_connect(GTK_COMBO(cb)->entry,
"changed",
GTK_SIGNAL_FUNC(my_cb_change_handler),
NULL);
g_signal_connect(GTK_COMBO(cb)->entry,
"changed",
G_CALLBACK(my_cb_change_handler),
NULL);
</programlisting>
</sect1>
@@ -2629,8 +2623,8 @@ underlined, and the relevant accelerators are created.</para>
gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);
file1 = gtk_menu_item_new_with_label ("");
tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (file1)->child),
_("_File"));
gtk_label_set_use_underline (GTK_LABEL (gtk_bin_get_child (GTK_BIN (file1))),
TRUE);
gtk_widget_add_accelerator (file1, "activate_item", accel_group,
tmp_key, GDK_MOD1_MASK, 0);
gtk_object_set_data (GTK_OBJECT (window1), "file1", file1);
@@ -2643,8 +2637,8 @@ underlined, and the relevant accelerators are created.</para>
gtk_menu_item_set_submenu (GTK_MENU_ITEM (file1), file1_menu);
new1 = gtk_menu_item_new_with_label ("");
tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (new1)->child),
_("_New"));
gtk_label_set_use_underline (GTK_LABEL (gtk_bin_get_child (GTK_BIN (new1))),
TRUE);
gtk_widget_add_accelerator (new1, "activate_item", file1_menu_accels,
tmp_key, 0, 0);
gtk_object_set_data (GTK_OBJECT (window1), "new1", new1);
@@ -2670,9 +2664,9 @@ GtkMenuItem with:</para>
/* do stuff with child */
if (GTK_IS_LABEL (child))
{
gchar *text;
const gchar *text;
gtk_label_get (GTK_LABEL (child), &amp;text);
text = gtk_label_get_text (GTK_LABEL (child));
g_print ("menu item text: %s\n", text);
}
}
@@ -2864,9 +2858,9 @@ be:</para>
<programlisting role="C">
entry = gtk_entry_new();
gtk_signal_connect (GTK_OBJECT(entry), "activate",
GTK_SIGNAL_FUNC(entry_callback),
NULL);
g_signal_connect (entry, "activate",
G_CALLBACK(entry_callback),
NULL);
</programlisting>
</sect1>
@@ -3044,8 +3038,8 @@ main (int argc, char *argv[])
gtk_container_add (GTK_CONTAINER (window), text);
/* connect after everything else */
gtk_signal_connect_after (GTK_OBJECT(text), "button_press_event",
GTK_SIGNAL_FUNC (insert_bar), NULL);
g_signal_connect_after (text, "button_press_event",
G_CALLBACK (insert_bar), NULL);
gtk_widget_show_all(window);
gtk_main();
@@ -3108,7 +3102,7 @@ like this:</para>
gc = gdk_gc_new(widget->window);
/* find proper dimensions for rectangle */
gdk_window_get_size(widget->window, &amp;width, &amp;height);
gdk_drawable_get_size(widget->window, &amp;width, &amp;height);
/* the color we want to use */
color = (GdkColor *)malloc(sizeof(GdkColor));
@@ -3130,7 +3124,7 @@ like this:</para>
* displays. Therefore, this call is required so that GDK and X can
* give us the closest color available in the colormap
*/
gdk_color_alloc(gtk_widget_get_colormap(widget), color);
gdk_colormap_alloc_color(gtk_widget_get_colormap(widget), color, FALSE, TRUE);
/* set the foreground to our color */
gdk_gc_set_foreground(gc, color);

View File

@@ -152,10 +152,10 @@ and the AM_PATH_GTK macro. The program used here is the testinput.c
You should first read the introductory portions of the automake
Manual, if you are not already familiar with it.
Two files are needed, 'configure.in', which is used to build the
Two files are needed, 'configure.ac', which is used to build the
configure script:
==configure.in===
==configure.ac===
dnl Process this file with autoconf to produce a configure script.
AC_INIT(testinput.c)

View File

@@ -197,7 +197,7 @@ GtkOptionMenu looks like this:
/* menu_item->ref_count == 1 and it is flagged as `floating'.
*/
gtk_menu_append (GTK_MENU (menu), menu_item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
/* menu_item->ref_count still == 1, but it is no longer `floating'.
*/

View File

@@ -4,7 +4,7 @@ include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gdk-pixbuf
DOC_MODULE=gdk-pixbuf3
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gdk-pixbuf.sgml
@@ -56,8 +56,8 @@ content_files = \
gdk-pixbuf-rendering.sgml \
gdk-pixbuf.sgml \
porting-from-imlib.sgml \
gdk-pixbuf-csource.xml \
gdk-pixbuf-query-loaders.xml
gdk-pixbuf-csource-3.0.xml \
gdk-pixbuf-query-loaders-3.0.xml
# Images to copy into HTML directory
HTML_IMAGES = composite.png
@@ -79,21 +79,38 @@ EXTRA_DIST += version.xml.in \
########################################################################
man_MANS = \
gdk-pixbuf-csource-3.0.1 \
gdk-pixbuf-query-loaders-3.0.1
if ENABLE_MAN
man_MANS = gdk-pixbuf-csource.1 gdk-pixbuf-query-loaders.1
%.1 : %.xml
.xml.1:
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
BUILT_EXTRA_DIST = $(man_MANS)
dist-local-check-mans-enabled:
if grep "Man generation disabled" $(man_MANS) >/dev/null; then $(RM) $(man_MANS); fi
else
$(man_MANS):
echo Man generation disabled. Creating dummy $@. Configure with --enable-man to enable it.
echo Man generation disabled. Remove this file, configure with --enable-man, and rebuild > $@
dist-local-check-mans-enabled:
echo "*** --enable-man must be used in order to make dist"
false
endif
dist-hook-local: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
MAINTAINERCLEANFILES = $(man_MANS) $(BUILT_SOURCES)
EXTRA_DIST += $(man_MANS)
dist-hook-local: dist-local-check-mans-enabled gtk-docs-clean all-local
gtk-docs-clean: clean
cd $(srcdir) && rm -rf xml html
-include $(top_srcdir)/git.mk

View File

@@ -5,23 +5,23 @@
<refentry id="gdk-pixbuf-csource">
<refmeta>
<refentrytitle>gdk-pixbuf-csource</refentrytitle>
<refentrytitle>gdk-pixbuf-csource-3.0</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gdk-pixbuf-csource</refname>
<refname>gdk-pixbuf-csource-3.0</refname>
<refpurpose>C code generation utility for GdkPixbuf images</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gdk-pixbuf-csource</command>
<command>gdk-pixbuf-csource-3.0</command>
<arg choice="opt">options</arg>
<arg choice="opt">image</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>gdk-pixbuf-csource</command>
<command>gdk-pixbuf-csource-3.0</command>
<arg choice="opt">options</arg>
<arg choice="plain">--build-list</arg>
<arg rep="repeat">
@@ -33,16 +33,16 @@
<refsect1><title>Description</title>
<para>
<command>gdk-pixbuf-csource</command> is a small utility that generates C code
containing images, useful for compiling images directly into programs.
<command>gdk-pixbuf-csource-3.0</command> is a small utility that generates
C code containing images, useful for compiling images directly into programs.
</para>
</refsect1>
<refsect1><title>Invocation</title>
<para>
<command>gdk-pixbuf-csource</command> either takes as input one image file name
to generate code for, or, using the <option>--build-list</option> option, a
list of (<replaceable>name</replaceable>, <replaceable>image</replaceable>)
<command>gdk-pixbuf-csource-3.0</command> either takes as input one image file
name to generate code for, or, using the <option>--build-list</option> option,
a list of (<replaceable>name</replaceable>, <replaceable>image</replaceable>)
pairs to generate code for a list of images into named variables.
</para>
<refsect2><title>Options</title>
@@ -151,7 +151,7 @@ Make warnings fatal (causes the program to abort).
<refsect1><title>See also</title>
<para>
The <structname>GdkPixbuf</structname> documentation, shipped with the
The <structname>GdkPixbuf</structname> documentation, shipped with the
Gtk+ distribution, available from <ulink url="http://www.gtk.org">www.gtk.org</ulink>.
</para>
</refsect1>
@@ -166,11 +166,11 @@ generates pixbufs with suboptimal rowstride in some cases.
<refsect1><title>Author</title>
<para>
<command>gdk-pixbuf-csource</command> was written by Tim Janik
<email>timj@gtk.org</email>.
<command>gdk-pixbuf-csource-3.0</command> was written by Tim Janik
<email>timj@gtk.org</email>.
</para>
<para>
This manual page was provided by Tim Janik <email>timj@gtk.org</email>.
This manual page was provided by Tim Janik <email>timj@gtk.org</email>.
</para>
</refsect1>
</refentry>

View File

@@ -0,0 +1,74 @@
<?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="gdk-pixbuf-query-loaders">
<refmeta>
<refentrytitle>gdk-pixbuf-query-loaders-3.0</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gdk-pixbuf-query-loaders-3.0</refname>
<refpurpose>GdkPixbuf loader registration utility</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gdk-pixbuf-query-loaders-3.0</command>
<arg choice="opt">--update-cache</arg>
<arg choice="opt" rep="repeat">module</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<command>gdk-pixbuf-query-loaders-3.0</command> collects information about
loadable modules for <application>gdk-pixbuf</application> and writes it to
the default cache file location, or to <filename>stdout</filename>.
</para>
<para>
If called without arguments, it looks for modules in the
<application>gdk-pixbuf</application> loader directory.
</para>
<para>
If called with arguments, it looks for the specified modules. The arguments
may be absolute or relative paths.
</para>
<para>
Normally, the output of <command>gdk-pixbuf-queryloaders-3.0</command> is written
to <filename><replaceable>libdir</replaceable>gtk-3.0/3.0.0/loaders.cache</filename>, where <application>gdk-pixbuf</application> looks for it by default. If it is written to some other
location, the environment variable <link linkend="GDK_PIXBUF_MODULE_FILE"><envar>GDK_PIXBUF_MODULE_FILE</envar></link>
can be set to point <application>gdk-pixbuf</application> at the file.
</para>
</refsect1>
<refsect1><title>Options</title>
<variablelist>
<varlistentry>
<term>--update-cache</term>
<listitem><para>Write the output to the default cache location instead of
<filename>stdout</filename></para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1><title>Environment</title>
<para>
The environment variable <envar>GDK_PIXBUF_MODULEDIR</envar> can be used
to specify a different loader directory. The default
<application>gdk-pixbuf</application> loader
directory is <filename><replaceable>libdir</replaceable>/gtk-3.0/<replaceable>version</replaceable>/loaders</filename>.
</para>
</refsect1>
<refsect1><title>Bugs</title>
<para>
None known yet.
</para>
</refsect1>
</refentry>

View File

@@ -1,55 +0,0 @@
<?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="gdk-pixbuf-query-loaders">
<refmeta>
<refentrytitle>gdk-pixbuf-query-loaders</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gdk-pixbuf-query-loaders</refname>
<refpurpose>GdkPixbuf loader registration utility</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gdk-pixbuf-query-loaders</command>
<arg choice="opt" rep="repeat">module</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<command>gdk-pixbuf-query-loaders</command> collects information about loadable
modules for <application>gdk-pixbuf</application> and writes it to <filename>stdout</filename>.
</para>
<para>
If called without arguments, it looks for modules in the
<application>gdk-pixbuf</application> loader directory.
</para>
<para>
If called with arguments, it looks for the specified modules. The arguments
may be absolute or relative paths.
</para>
</refsect1>
<refsect1><title>Environment</title>
<para>
The environment variable <envar>GDK_PIXBUF_MODULEDIR</envar> can be used
to specify a different loader directory. The default <application>gdk-pixbuf</application> loader
directory is <filename><replaceable>libdir</replaceable>/gtk-2.0/<replaceable>version</replaceable>/loaders</filename>.
</para>
</refsect1>
<refsect1><title>Bugs</title>
<para>
None known yet.
</para>
</refsect1>
</refentry>

View File

@@ -104,12 +104,12 @@
<partintro>
<para>
This part presents the tools which are shipped with the
&gdk-pixbuf; library.
&gdk-pixbuf; library.
</para>
</partintro>
<xi:include href="gdk-pixbuf-csource.xml" />
<xi:include href="gdk-pixbuf-query-loaders.xml" />
<xi:include href="gdk-pixbuf-csource-3.0.xml" />
<xi:include href="gdk-pixbuf-query-loaders-3.0.xml" />
</reference>
<index id="api-index-full">

View File

@@ -54,8 +54,6 @@ gdk_pixbuf_error_get_type
<SECTION>
<FILE>refcounting</FILE>
gdk_pixbuf_ref
gdk_pixbuf_unref
GdkPixbufDestroyNotify
</SECTION>
@@ -120,8 +118,6 @@ gdk_pixbuf_fill
GdkPixbufAnimation
GdkPixbufAnimationIter
gdk_pixbuf_animation_new_from_file
gdk_pixbuf_animation_ref
gdk_pixbuf_animation_unref
gdk_pixbuf_animation_get_width
gdk_pixbuf_animation_get_height
gdk_pixbuf_animation_get_iter

View File

@@ -23,6 +23,9 @@ Animated images.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
An opaque struct representing an animation.
@@ -46,23 +49,6 @@ certain position in an animation.
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_ref ##### -->
<para>
</para>
@animation:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_unref ##### -->
<para>
</para>
@animation:
<!-- ##### FUNCTION gdk_pixbuf_animation_get_width ##### -->
<para>

View File

@@ -46,6 +46,9 @@ Creating a pixbuf from image data that is already in memory.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_new ##### -->
<para>

View File

@@ -28,6 +28,9 @@ Loading a pixbuf from a file.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_new_from_file ##### -->
<para>

View File

@@ -21,6 +21,9 @@ to a socket or store it in a database.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_savev ##### -->
<para>

View File

@@ -72,6 +72,9 @@ Application-driven progressive image loading.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkPixbufLoader ##### -->
<para>
The <structname>GdkPixbufLoader</structname> struct contains only private
@@ -114,6 +117,7 @@ fields.
</para>
@void:
@Returns:

View File

@@ -8,12 +8,6 @@
</para>
<!-- ##### SECTION ./tmpl/from-drawables.sgml:See_Also ##### -->
<para>
gdk_image_get().
</para>
<!-- ##### SECTION ./tmpl/from-drawables.sgml:Short_Description ##### -->
Getting parts of a drawable's image data into a pixbuf.
@@ -221,14 +215,6 @@ GnomeCanvasPixbuf
and use that to draw the image onto a drawable.
</para>
<important>
<para>
Since these functions use GdkRGB for rendering, you must
initialize GdkRGB before using any of them. You can do this by
calling gdk_rgb_init() near the beginning of your program.
</para>
</important>
<!-- ##### SECTION ./tmpl/rendering.sgml:See_Also ##### -->
<para>
@@ -567,3 +553,33 @@ End:
</para>
<!-- ##### FUNCTION gdk_pixbuf_animation_ref ##### -->
<para>
</para>
@animation:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_animation_unref ##### -->
<para>
</para>
@animation:
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_unref ##### -->
<para>
</para>
@pixbuf:

View File

@@ -26,6 +26,9 @@ Getting parts of an X drawable's image data into a pixbuf.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_get_from_drawable ##### -->
<para>

View File

@@ -23,6 +23,9 @@ Initializing the &gdk-pixbuf; Xlib library.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_init ##### -->
<para>

View File

@@ -24,6 +24,9 @@ Rendering a pixbuf to an X drawable.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_xlib_render_threshold_alpha ##### -->
<para>

View File

@@ -20,6 +20,9 @@ Rendering RGB buffers to X drawables.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT XlibRgbCmap ##### -->
<para>
FIXME: Describe this.
@@ -198,6 +201,7 @@ displays.
</para>
@void:
@Returns:
@@ -230,6 +234,7 @@ displays.
</para>
@void:
@Returns:
@@ -238,6 +243,7 @@ displays.
</para>
@void:
@Returns:
@@ -246,6 +252,7 @@ displays.
</para>
@void:
@Returns:
@@ -254,6 +261,7 @@ displays.
</para>
@void:
@Returns:
@@ -262,6 +270,7 @@ displays.
</para>
@void:
@Returns:
@@ -270,6 +279,7 @@ displays.
</para>
@void:
@Returns: <!--
Local variables:
mode: sgml

View File

@@ -93,6 +93,9 @@ put_pixel (GdkPixbuf *pixbuf, int x, int y, guchar red, guchar green, guchar blu
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### ENUM GdkPixbufError ##### -->
<para>
An error code in the #GDK_PIXBUF_ERROR domain. Many &gdk-pixbuf;
@@ -127,9 +130,7 @@ information on error domains and error codes.
<!-- ##### ENUM GdkPixbufAlphaMode ##### -->
<para>
These values can be passed to
gdk_pixbuf_render_to_drawable_alpha() to control how the alpha
channel of an image should be handled. This function can create a
This function can create a
bilevel clipping mask (black and white) and use it while painting
the image. In the future, when the X Window System gets an alpha
channel extension, it will be possible to do full alpha

View File

@@ -19,6 +19,9 @@ you're linking against.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### VARIABLE gdk_pixbuf_version ##### -->
<para>
Contains the full version of the &gdk-pixbuf; library as a string.

View File

@@ -22,6 +22,9 @@ into #GdkPixbuf<!-- -->s, use gdk_pixbuf_from_pixdata.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkPixdata ##### -->
<para>

View File

@@ -16,12 +16,12 @@ a #GdkPixbufModuleFillVtableFunc function named
<para>
In order to make format-checking work before actually loading the modules
(which may require dlopening image libraries), modules export their
(which may require dlopening image libraries), modules export their
signatures (and other information) via the <function>fill_info</function>
function. An external utility, <command>gdk-pixbuf-query-loaders</command>,
uses this to create a text file containing a list of all available loaders and
function. An external utility, <command>gdk-pixbuf-query-loaders-3.0</command>,
uses this to create a text file containing a list of all available loaders and
their signatures. This file is then read at runtime by &gdk-pixbuf; to obtain
the list of available loaders and their signatures.
the list of available loaders and their signatures.
</para>
<para>
@@ -30,21 +30,21 @@ Modules may only implement a subset of the functionality available via
<function>fill_vtable</function> function will simply not set the corresponding
function pointers of the #GdkPixbufModule structure. If a module supports
incremental loading (i.e. provides #begin_load, #stop_load and
#load_increment), it doesn't have to implement #load, since &gdk-pixbuf; can
supply a generic #load implementation wrapping the incremental loading.
#load_increment), it doesn't have to implement #load, since &gdk-pixbuf; can
supply a generic #load implementation wrapping the incremental loading.
</para>
<para>
Installing a module is a two-step process:
<itemizedlist>
<listitem><para>copy the module file(s) to the loader directory (normally
<filename><replaceable>libdir</replaceable>/gtk-2.0/<replaceable>version</replaceable>/loaders</filename>,
<filename><replaceable>libdir</replaceable>/gtk-3.0/<replaceable>version</replaceable>/loaders</filename>,
unless overridden by the environment variable
<envar>GDK_PIXBUF_MODULEDIR</envar>)
<envar>GDK_PIXBUF_MODULEDIR</envar>)
</para></listitem>
<listitem><para>call <command>gdk-pixbuf-query-loaders</command> to update the
<listitem><para>call <command>gdk-pixbuf-query-loaders-3.0</command> to update the
module file (normally
<filename><replaceable>sysconfdir</replaceable>/gtk-2.0/gdk-pixbuf.loaders</filename>,
<filename><replaceable>libdir</replaceable>/gtk-3.0/<replaceable>version</replaceable>/loaders.cache</filename>,
unless overridden by the environment variable
<envar>GDK_PIXBUF_MODULE_FILE</envar>)
</para></listitem>
@@ -52,11 +52,11 @@ unless overridden by the environment variable
</para>
<para>
The &gdk-pixbuf; interfaces needed for implementing modules are contained in
The &gdk-pixbuf; interfaces needed for implementing modules are contained in
<filename>gdk-pixbuf-io.h</filename> (and
<filename>gdk-pixbuf-animation.h</filename> if the module supports animations).
They are not covered by the same stability guarantees as the regular
&gdk-pixbuf; API. To underline this fact, they are protected by
They are not covered by the same stability guarantees as the regular
&gdk-pixbuf; API. To underline this fact, they are protected by
<literal>#ifdef GDK_PIXBUF_ENABLE_BACKEND</literal>.
</para>
@@ -68,6 +68,9 @@ They are not covered by the same stability guarantees as the regular
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_set_option ##### -->
<para>
@@ -84,6 +87,7 @@ They are not covered by the same stability guarantees as the regular
</para>
@void:
@Returns:
@@ -184,7 +188,7 @@ use the <function>gdk_pixbuf_format_*</function> functions.
image format.
@flags: a combination of #GdkPixbufFormatFlags.
@disabled: a boolean determining whether the loader is disabled.
@license: a string containing license information, typically set to
@license: a string containing license information, typically set to
shorthands like "GPL", "LGPL", etc.
@Since: 2.2
@@ -204,21 +208,21 @@ operations.
<!-- ##### STRUCT GdkPixbufModulePattern ##### -->
<para>
The signature of a module is a set of prefixes. Prefixes are encoded as
pairs of ordinary strings, where the second string, called the mask, if
not %NULL, must be of the same length as the first one and may contain
' ', '!', 'x', 'z', and 'n' to indicate bytes that must be matched,
not matched, "don't-care"-bytes, zeros and non-zeros.
Each prefix has an associated integer that describes the relevance of
pairs of ordinary strings, where the second string, called the mask, if
not %NULL, must be of the same length as the first one and may contain
' ', '!', 'x', 'z', and 'n' to indicate bytes that must be matched,
not matched, "don't-care"-bytes, zeros and non-zeros.
Each prefix has an associated integer that describes the relevance of
the prefix, with 0 meaning a mismatch and 100 a "perfect match".
</para>
<para>
Starting with &gdk-pixbuf; 2.8, the first byte of the mask may be '*',
indicating an unanchored pattern that matches not only at the beginning,
Starting with &gdk-pixbuf; 2.8, the first byte of the mask may be '*',
indicating an unanchored pattern that matches not only at the beginning,
but also in the middle. Versions prior to 2.8 will interpret the '*'
like an 'x'.
like an 'x'.
</para>
<para>
The signature of a module is stored as an array of
The signature of a module is stored as an array of
#GdkPixbufModulePattern<!-- -->s. The array is terminated by a pattern
where the @prefix is %NULL.
</para>
@@ -230,7 +234,7 @@ GdkPixbufModulePattern *signature[] = {
{ NULL, NULL, 0 }
};
</programlisting>
The example matches e.g. "auud\0" with relevance 100, and "blau" with
The example matches e.g. "auud\0" with relevance 100, and "blau" with
relevance 90.</informalexample>
@prefix: the prefix for this pattern
@@ -241,8 +245,8 @@ relevance 90.</informalexample>
<!-- ##### USER_FUNCTION GdkPixbufModuleFillVtableFunc ##### -->
<para>
Defines the type of the function used to set the vtable of a
#GdkPixbufModule when it is loaded.
Defines the type of the function used to set the vtable of a
#GdkPixbufModule when it is loaded.
</para>
@module: a #GdkPixbufModule.
@@ -251,7 +255,7 @@ Defines the type of the function used to set the vtable of a
<!-- ##### USER_FUNCTION GdkPixbufModuleFillInfoFunc ##### -->
<para>
Defines the type of the function used to fill a
Defines the type of the function used to fill a
#GdkPixbufFormat structure with information about a module.
</para>
@@ -261,19 +265,19 @@ Defines the type of the function used to fill a
<!-- ##### USER_FUNCTION GdkPixbufModuleSizeFunc ##### -->
<para>
Defines the type of the function that gets called once the size
Defines the type of the function that gets called once the size
of the loaded image is known.
</para>
<para>
The function is expected to set @width and @height to the desired
size to which the image should be scaled. If a module has no efficient
size to which the image should be scaled. If a module has no efficient
way to achieve the desired scaling during the loading of the image, it may
either ignore the size request, or only approximate it -- &gdk-pixbuf; will
then perform the required scaling on the completely loaded image.
then perform the required scaling on the completely loaded image.
</para>
<para>
If the function sets @width or @height to zero, the module should interpret
this as a hint that it will be closed soon and shouldn't allocate further
this as a hint that it will be closed soon and shouldn't allocate further
resources. This convention is used to implement gdk_pixbuf_get_file_info()
efficiently.
</para>
@@ -286,11 +290,11 @@ efficiently.
<!-- ##### USER_FUNCTION GdkPixbufModulePreparedFunc ##### -->
<para>
Defines the type of the function that gets called once the initial
Defines the type of the function that gets called once the initial
setup of @pixbuf is done.
</para>
<para>
#GdkPixbufLoader uses a function of this type to emit the
#GdkPixbufLoader uses a function of this type to emit the
"<link linkend="GdkPixbufLoader-area-prepared">area_prepared</link>"
signal.
</para>
@@ -307,7 +311,7 @@ Defines the type of the function that gets called every time a region
of @pixbuf is updated.
</para>
<para>
#GdkPixbufLoader uses a function of this type to emit the
#GdkPixbufLoader uses a function of this type to emit the
"<link linkend="GdkPixbufLoader-area-updated">area_updated</link>"
signal.
</para>
@@ -323,14 +327,14 @@ signal.
<!-- ##### STRUCT GdkPixbufModule ##### -->
<para>
A #GdkPixbufModule contains the necessary functions to load and save
images in a certain file format.
A #GdkPixbufModule contains the necessary functions to load and save
images in a certain file format.
</para>
<para>
A #GdkPixbufModule can be loaded dynamically from a #GModule.
Each loadable module must contain a #GdkPixbufModuleFillVtableFunc function
Each loadable module must contain a #GdkPixbufModuleFillVtableFunc function
named <function>fill_vtable</function>, which will get called when the module
is loaded and must set the function pointers of the #GdkPixbufModule.
is loaded and must set the function pointers of the #GdkPixbufModule.
</para>
@module_name: the name of the module, usually the same as the
@@ -349,8 +353,8 @@ is loaded and must set the function pointers of the #GdkPixbufModule.
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
<para>
Modules supporting animations must derive a type from
#GdkPixbufAnimation, providing suitable implementations of the
Modules supporting animations must derive a type from
#GdkPixbufAnimation, providing suitable implementations of the
virtual functions.
</para>
@@ -362,17 +366,17 @@ virtual functions.
<!-- ##### STRUCT GdkPixbufAnimationIterClass ##### -->
<para>
Modules supporting animations must derive a type from
#GdkPixbufAnimationIter, providing suitable implementations of the
Modules supporting animations must derive a type from
#GdkPixbufAnimationIter, providing suitable implementations of the
virtual functions.
</para>
@parent_class: the parent class
@get_delay_time: returns the time in milliseconds that the current frame
@get_delay_time: returns the time in milliseconds that the current frame
should be shown.
@get_pixbuf: returns the current frame.
@on_currently_loading_frame: returns whether the current frame of @iter is
@on_currently_loading_frame: returns whether the current frame of @iter is
being loaded.
@advance: advances the iterator to @current_time, possibly changing the
@advance: advances the iterator to @current_time, possibly changing the
current frame.

View File

@@ -48,21 +48,7 @@ Functions for reference counting and memory management on pixbufs.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_unref ##### -->
<para>
</para>
@pixbuf:
<!-- ##### SECTION Image ##### -->
<!-- ##### USER_FUNCTION GdkPixbufDestroyNotify ##### -->

View File

@@ -81,6 +81,9 @@ expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### ENUM GdkInterpType ##### -->
<para>
This enumeration describes the different interpolation modes that

View File

@@ -20,6 +20,9 @@ Utility and miscellaneous convenience functions.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_add_alpha ##### -->
<para>

View File

@@ -4,7 +4,7 @@ include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gdk
DOC_MODULE=gdk3
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gdk-docs.sgml

View File

@@ -53,7 +53,7 @@
<xi:include href="xml/threads.xml" />
<xi:include href="xml/input.xml" />
<xi:include href="xml/input_devices.xml" />
<xi:include href="xml/gdkdevicemanager.xml" />
<xi:include href="xml/pango_interaction.xml" />
<xi:include href="xml/cairo_interaction.xml" />
@@ -72,45 +72,9 @@
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-2" role="2.2">
<title>Index of new symbols in 2.2</title>
<xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-4" role="2.4">
<title>Index of new symbols in 2.4</title>
<xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-6" role="2.6">
<title>Index of new symbols in 2.6</title>
<xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-8" role="2.8">
<title>Index of new symbols in 2.8</title>
<xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-10" role="2.10">
<title>Index of new symbols in 2.10</title>
<xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-12" role="2.12">
<title>Index of new symbols in 2.12</title>
<xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-14" role="2.14">
<title>Index of new symbols in 2.14</title>
<xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-16" role="2.16">
<title>Index of new symbols in 2.16</title>
<xi:include href="xml/api-index-2.16.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-18" role="2.18">
<title>Index of new symbols in 2.18</title>
<xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-20" role="2.20">
<title>Index of new symbols in 2.20</title>
<xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include>
<index id="api-index-3-0" role="3.0">
<title>Index of new symbols in 3.0</title>
<xi:include href="xml/api-index-3.0.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>

View File

@@ -10,7 +10,6 @@ gdk_parse_args
gdk_get_display_arg_name
gdk_set_locale
gdk_set_sm_client_id
gdk_exit
gdk_notify_startup_complete
gdk_notify_startup_complete_with_id
@@ -45,10 +44,6 @@ gdk_keyboard_ungrab
<SUBSECTION>
gdk_beep
<SUBSECTION>
gdk_get_use_xshm
gdk_set_use_xshm
<SUBSECTION>
gdk_error_trap_push
gdk_error_trap_pop
@@ -56,6 +51,8 @@ gdk_error_trap_pop
<SUBSECTION>
GDK_WINDOWING_X11
GDK_WINDOWING_WIN32
GDK_WINDOWING_QUARTZ
GDK_WINDOWING_DIRECTFB
<SUBSECTION Standard>
GDK_TYPE_GRAB_STATUS
@@ -80,6 +77,7 @@ gdk_filter_return_get_type
gdk_font_type_get_type
gdk_function_get_type
gdk_gc_values_mask_get_type
gdk_grab_ownership_get_type
gdk_grab_status_get_type
gdk_gravity_get_type
gdk_image_type_get_type
@@ -109,8 +107,7 @@ gdk_window_type_get_type
gdk_window_type_hint_get_type
gdk_wm_decoration_get_type
gdk_wm_function_get_type
gdk_pointer_grab_info_libgtk_only
gdk_keyboard_grab_info_libgtk_only
gdk_device_grab_info_libgtk_only
gdk_add_option_entries_libgtk_only
gdk_pre_parse_libgtk_only
</SECTION>
@@ -125,9 +122,11 @@ gdk_display_get_name
gdk_display_get_n_screens
gdk_display_get_screen
gdk_display_get_default_screen
gdk_display_get_device_manager
gdk_display_pointer_ungrab
gdk_display_keyboard_ungrab
gdk_display_pointer_is_grabbed
gdk_display_device_is_grabbed
gdk_display_beep
gdk_display_sync
gdk_display_flush
@@ -140,10 +139,15 @@ gdk_display_add_client_message_filter
gdk_display_set_double_click_time
gdk_display_set_double_click_distance
gdk_display_get_pointer
gdk_display_get_device_state
gdk_display_get_window_at_pointer
gdk_display_get_window_at_device_position
GdkDisplayPointerHooks
gdk_display_set_pointer_hooks
GdkDisplayDeviceHooks
gdk_display_set_device_hooks
gdk_display_warp_pointer
gdk_display_warp_device
gdk_display_supports_cursor_color
gdk_display_supports_cursor_alpha
gdk_display_get_default_cursor_size
@@ -258,11 +262,7 @@ gdk_pixmap_create_from_xpm
gdk_pixmap_colormap_create_from_xpm
gdk_pixmap_create_from_xpm_d
gdk_pixmap_colormap_create_from_xpm_d
gdk_pixmap_ref
gdk_pixmap_unref
GdkBitmap
gdk_bitmap_ref
gdk_bitmap_unref
<SUBSECTION Standard>
GDK_PIXMAP
@@ -285,13 +285,17 @@ GdkPixmapObjectClass
GdkImage
gdk_image_new
GdkImageType
gdk_image_new_bitmap
gdk_image_get
gdk_image_ref
gdk_image_unref
gdk_image_destroy
gdk_image_get_colormap
gdk_image_set_colormap
gdk_image_get_bits_per_pixel
gdk_image_get_bytes_per_pixel
gdk_image_get_bytes_per_line
gdk_image_get_byte_order
gdk_image_get_depth
gdk_image_get_height
gdk_image_get_image_type
gdk_image_get_visual
gdk_image_get_width
<SUBSECTION>
gdk_image_put_pixel
@@ -314,7 +318,6 @@ gdk_image_get_type
<SECTION>
<TITLE>GdkRGB</TITLE>
<FILE>rgb</FILE>
gdk_rgb_init
<SUBSECTION>
gdk_draw_rgb_image
@@ -331,9 +334,6 @@ gdk_rgb_cmap_free
GdkRgbCmap
<SUBSECTION>
gdk_rgb_gc_set_foreground
gdk_rgb_gc_set_background
gdk_rgb_xpixel_from_rgb
gdk_rgb_find_color
<SUBSECTION>
@@ -341,7 +341,6 @@ gdk_rgb_set_install
gdk_rgb_set_min_colors
gdk_rgb_get_visual
gdk_rgb_get_colormap
gdk_rgb_get_cmap
gdk_rgb_ditherable
gdk_rgb_colormap_ditherable
gdk_rgb_set_verbose
@@ -354,8 +353,6 @@ GDK_TYPE_RGB_DITHER
<TITLE>Pixbufs</TITLE>
<FILE>pixbufs</FILE>
gdk_pixbuf_render_threshold_alpha
gdk_pixbuf_render_to_drawable
gdk_pixbuf_render_to_drawable_alpha
gdk_pixbuf_render_pixmap_and_mask
gdk_pixbuf_render_pixmap_and_mask_for_colormap
gdk_pixbuf_get_from_drawable
@@ -368,27 +365,16 @@ gdk_pixbuf_get_from_image
GdkColor
GdkColormap
gdk_colormap_new
gdk_colormap_ref
gdk_colormap_unref
gdk_colormap_get_system
gdk_colormap_get_system_size
gdk_colormap_change
gdk_colormap_alloc_colors
gdk_colormap_alloc_color
gdk_colormap_free_colors
gdk_colormap_query_color
gdk_colormap_get_visual
gdk_colormap_get_screen
gdk_colors_store
gdk_color_copy
gdk_color_free
gdk_colors_alloc
gdk_colors_free
gdk_color_white
gdk_color_black
gdk_color_parse
gdk_color_alloc
gdk_color_change
gdk_color_equal
gdk_color_hash
gdk_color_to_string
@@ -528,16 +514,12 @@ GdkFunction
gdk_gc_new
gdk_gc_new_with_values
gdk_gc_get_screen
gdk_gc_ref
gdk_gc_unref
gdk_gc_destroy
gdk_gc_set_values
gdk_gc_get_values
gdk_gc_set_foreground
gdk_gc_set_background
gdk_gc_set_rgb_fg_color
gdk_gc_set_rgb_bg_color
gdk_gc_set_font
gdk_gc_set_function
gdk_gc_set_fill
GdkFill
@@ -592,7 +574,14 @@ GdkByteOrder
gdk_query_depths
gdk_query_visual_types
gdk_list_visuals
gdk_visual_get_bits_per_rgb
gdk_visual_get_blue_pixel_details
gdk_visual_get_byte_order
gdk_visual_get_colormap_size
gdk_visual_get_depth
gdk_visual_get_green_pixel_details
gdk_visual_get_red_pixel_details
gdk_visual_get_visual_type
gdk_visual_get_best_depth
gdk_visual_get_best_type
gdk_visual_get_system
@@ -600,8 +589,6 @@ gdk_visual_get_best
gdk_visual_get_best_with_depth
gdk_visual_get_best_with_type
gdk_visual_get_best_with_both
gdk_visual_ref
gdk_visual_unref
gdk_visual_get_screen
<SUBSECTION Standard>
@@ -634,8 +621,6 @@ GdkWindowAttr
GdkWindowAttributesType
gdk_window_new
gdk_window_destroy
gdk_window_ref
gdk_window_unref
gdk_window_get_window_type
gdk_window_at_pointer
gdk_window_show
@@ -644,6 +629,8 @@ gdk_window_hide
gdk_window_is_destroyed
gdk_window_is_visible
gdk_window_is_viewable
gdk_window_is_input_only
gdk_window_is_shaped
gdk_window_get_state
gdk_window_withdraw
gdk_window_iconify
@@ -658,6 +645,7 @@ gdk_window_set_keep_above
gdk_window_set_keep_below
gdk_window_set_opacity
gdk_window_set_composited
gdk_window_get_composited
gdk_window_move
gdk_window_resize
gdk_window_move_resize
@@ -669,7 +657,6 @@ gdk_window_reparent
gdk_window_clear
gdk_window_clear_area
gdk_window_clear_area_e
gdk_window_copy_area
gdk_window_raise
gdk_window_lower
gdk_window_restack
@@ -703,7 +690,9 @@ gdk_window_configure_finished
gdk_window_set_user_data
gdk_window_set_override_redirect
gdk_window_set_accept_focus
gdk_window_get_accept_focus
gdk_window_set_focus_on_map
gdk_window_get_focus_on_map
gdk_window_add_filter
gdk_window_remove_filter
GdkFilterFunc
@@ -718,19 +707,20 @@ gdk_window_input_shape_combine_region
gdk_window_set_child_input_shapes
gdk_window_merge_child_input_shapes
gdk_window_set_static_gravities
gdk_window_set_hints
gdk_window_set_title
gdk_window_set_background
gdk_window_get_background
gdk_window_set_back_pixmap
gdk_window_get_back_pixmap
GDK_PARENT_RELATIVE
gdk_window_set_cursor
gdk_window_get_cursor
gdk_window_set_colormap
gdk_window_get_user_data
gdk_window_get_geometry
gdk_window_set_geometry_hints
gdk_window_set_icon_list
gdk_window_set_modal_hint
gdk_window_get_modal_hint
gdk_window_set_type_hint
gdk_window_get_type_hint
gdk_window_set_skip_taskbar_hint
@@ -739,14 +729,11 @@ gdk_window_set_urgency_hint
gdk_window_get_position
gdk_window_get_root_origin
gdk_window_get_frame_extents
gdk_window_get_size
gdk_window_get_visual
gdk_window_get_colormap
gdk_window_get_type
gdk_window_get_origin
gdk_window_get_deskrelative_origin
gdk_window_get_root_coords
gdk_window_get_pointer
gdk_window_get_device_position
GdkModifierType
gdk_window_get_parent
gdk_window_get_toplevel
@@ -766,9 +753,16 @@ gdk_window_get_decorations
GdkWMDecoration
gdk_window_set_functions
GdkWMFunction
gdk_window_get_toplevels
gdk_get_default_root_window
<SUBSECTION>
gdk_window_get_support_multidevice
gdk_window_set_support_multidevice
gdk_window_get_device_cursor
gdk_window_set_device_cursor
gdk_window_get_device_events
gdk_window_set_device_events
<SUBSECTION>
GdkPointerHooks
gdk_set_pointer_hooks
@@ -780,6 +774,10 @@ gdk_offscreen_window_get_embedder
gdk_window_geometry_changed
gdk_window_redirect_to_drawable
gdk_window_remove_redirection
gdk_window_coords_from_parent
gdk_window_coords_to_parent
gdk_window_get_effective_parent
gdk_window_get_effective_toplevel
<SUBSECTION Standard>
GDK_WINDOW
@@ -806,6 +804,10 @@ gdk_window_object_get_type
gdk_drawable_get_type
GdkWindowObject
GdkWindowObjectClass
GdkWindowImpl
GdkWindowImplIface
GdkWindowRedirect
gdk_window_impl_get_type
gdk_window_freeze_toplevel_updates_libgtk_only
gdk_window_thaw_toplevel_updates_libgtk_only
</SECTION>
@@ -813,9 +815,6 @@ gdk_window_thaw_toplevel_updates_libgtk_only
<SECTION>
<TITLE>Selections</TITLE>
<FILE>selections</FILE>
GdkSelection
GdkSelectionType
GdkTarget
GDK_SELECTION_PRIMARY
GDK_SELECTION_SECONDARY
GDK_SELECTION_CLIPBOARD
@@ -885,7 +884,6 @@ gdk_pango_renderer_set_stipple
gdk_pango_renderer_set_override_color
gdk_pango_context_get
gdk_pango_context_get_for_screen
gdk_pango_context_set_colormap
GdkPangoAttrEmbossed
GdkPangoAttrEmbossColor
GdkPangoAttrStipple
@@ -1038,20 +1036,40 @@ gdk_keymap_get_type
</SECTION>
<SECTION>
<TITLE>Input Devices</TITLE>
<FILE>input_devices</FILE>
<TITLE>GdkDeviceManager</TITLE>
<FILE>gdkdevicemanager</FILE>
GdkDeviceManager
GdkDevice
GdkDeviceType
GdkInputSource
GdkInputMode
GdkDeviceKey
GdkDeviceAxis
GdkAxisUse
gdk_devices_list
GdkGrabOwnership
gdk_enable_multidevice
gdk_device_manager_get_display
gdk_device_manager_list_devices
<SUBSECTION>
gdk_device_get_name
gdk_device_set_source
gdk_device_get_source
gdk_device_set_mode
gdk_device_get_mode
gdk_device_set_key
gdk_device_get_key
gdk_device_set_axis_use
gdk_device_get_core_pointer
gdk_device_get_axis_use
gdk_device_get_associated_device
gdk_device_get_device_type
gdk_device_get_display
gdk_device_get_has_cursor
gdk_device_get_n_axes
<SUBSECTION>
gdk_device_grab
gdk_device_ungrab
<SUBSECTION>
gdk_device_get_state
@@ -1059,16 +1077,30 @@ gdk_device_get_history
gdk_device_free_history
GdkTimeCoord
gdk_device_get_axis
gdk_device_list_axes
gdk_device_get_axis_value
<SUBSECTION>
gdk_input_set_extension_events
GdkExtensionMode
<SUBSECTION>
gdk_devices_list
gdk_device_get_core_pointer
<SUBSECTION Standard>
GDK_TYPE_AXIS_USE
GDK_TYPE_EXTENSION_MODE
GDK_TYPE_INPUT_MODE
GDK_TYPE_INPUT_SOURCE
GDK_TYPE_DEVICE_TYPE
GDK_TYPE_GRAB_OWNERSHIP
GDK_DEVICE_MANAGER
GDK_DEVICE_MANAGER_CLASS
GDK_DEVICE_MANAGER_GET_CLASS
GDK_IS_DEVICE_MANAGER
GDK_IS_DEVICE_MANAGER_CLASS
GDK_TYPE_DEVICE_MANAGER
GDK_DEVICE
GDK_DEVICE_CLASS
GDK_DEVICE_GET_CLASS
@@ -1078,7 +1110,12 @@ GDK_TYPE_DEVICE
<SUBSECTION Private>
GdkDeviceClass
GdkDevicePrivate
GdkDeviceManagerClass
GdkDeviceManagerPrivate
gdk_device_get_type
gdk_device_manager_get_type
gdk_device_type_get_type
GDK_MAX_TIMECOORD_AXES
</SECTION>
@@ -1096,7 +1133,6 @@ GDK_PRIORITY_REDRAW
gdk_events_pending
gdk_event_peek
gdk_event_get
gdk_event_get_graphics_expose
gdk_event_put
gdk_event_new
gdk_event_copy
@@ -1107,6 +1143,9 @@ gdk_event_get_axis
gdk_event_get_coords
gdk_event_get_root_coords
gdk_event_request_motions
gdk_events_get_angle
gdk_events_get_center
gdk_events_get_distance
<SUBSECTION>
gdk_event_handler_set
@@ -1123,6 +1162,8 @@ gdk_get_show_events
gdk_set_show_events
gdk_event_set_screen
gdk_event_get_screen
gdk_event_get_device
gdk_event_set_device
<SUBSECTION>
gdk_setting_get
@@ -1200,7 +1241,6 @@ gdk_cursor_get_display
gdk_cursor_get_image
gdk_cursor_ref
gdk_cursor_unref
gdk_cursor_destroy
<SUBSECTION Standard>
GDK_TYPE_CURSOR_TYPE
@@ -1216,7 +1256,6 @@ gdk_cursor_get_type
gdk_input_add_full
GdkInputCondition
GdkInputFunction
GdkDestroyNotify
gdk_input_add
gdk_input_remove
@@ -1234,18 +1273,22 @@ gdk_drag_context_new
gdk_drag_drop
gdk_drag_find_window
gdk_drag_find_window_for_screen
gdk_drag_context_ref
gdk_drag_begin
gdk_drag_motion
gdk_drop_finish
gdk_drag_get_protocol
gdk_drag_get_protocol_for_display
GdkDragProtocol
gdk_drag_context_unref
GdkDragContext
GdkDragAction
gdk_drag_status
gdk_drag_drop_succeeded
gdk_drag_context_get_action
gdk_drag_context_get_actions
gdk_drag_context_get_suggested_action
gdk_drag_context_list_targets
gdk_drag_context_get_device
gdk_drag_context_set_device
<SUBSECTION Standard>
GDK_DRAG_CONTEXT
@@ -1267,7 +1310,6 @@ gdk_drag_context_get_type
<TITLE>X Window System Interaction</TITLE>
<FILE>x_interaction</FILE>
GDK_ROOT_WINDOW
GDK_ROOT_PARENT
GDK_DISPLAY
GDK_WINDOW_XDISPLAY
GDK_WINDOW_XID
@@ -1293,7 +1335,6 @@ GDK_GC_XGC
GDK_GC_GET_XGC
GDK_WINDOW_XWINDOW
gdkx_visual_get
gdkx_colormap_get
gdk_pixmap_foreign_new
gdk_pixmap_foreign_new_for_display
gdk_pixmap_foreign_new_for_screen
@@ -1359,8 +1400,8 @@ gdk_x11_get_xatom_name_for_display
gdk_display
GDK_HAVE_WCHAR_H
GDK_HAVE_WCTYPE_H
gdk_iswalnum
gdk_iswspace
gdk_x11_pixmap_get_drawable_impl
gdk_x11_window_get_drawable_impl
</SECTION>
<SECTION>

View File

@@ -9,3 +9,5 @@ gdk_pango_renderer_get_type
gdk_pixmap_get_type
gdk_gc_get_type
gdk_keymap_get_type
gdk_device_get_type
gdk_device_manager_get_type

1
docs/reference/gdk/tmpl/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
windows.sgml

View File

@@ -27,6 +27,9 @@ Cairo paths and to use pixbufs as sources for drawing operations.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_cairo_create ##### -->
<para>

View File

@@ -32,10 +32,7 @@ directly.
In previous revisions of this interface, a number
of functions that take a #GdkColormap parameter
were replaced with functions whose names began
with "gdk_colormap_". This process will probably
be extended somewhat in the future -
gdk_color_white(), gdk_color_black(), and
gdk_color_change() will probably become aliases.
with "gdk_colormap_".
</para>
<!-- ##### SECTION See_Also ##### -->
@@ -46,6 +43,9 @@ gdk_color_change() will probably become aliases.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkColor ##### -->
<para>
The #GdkColor structure is used to describe an
@@ -57,20 +57,14 @@ allocated or unallocated color.
@red: The red component of the color. This is
a value between 0 and 65535, with 65535 indicating
full intensitiy.
@green: The blue component of the color.
@blue: The green component of the color.
@green: The green component of the color.
@blue: The blue component of the color.
<!-- ##### STRUCT GdkColormap ##### -->
<para>
The colormap structure contains the following public fields.
</para>
@size: For pseudo-color colormaps, the number of colors
in the colormap.
@colors: An array containing the current values in the
colormap. This can be used to map from pixel values
back to RGB values. This is only meaningful for
pseudo-color colormaps.
<!-- ##### FUNCTION gdk_colormap_new ##### -->
<para>
@@ -81,45 +75,14 @@ The colormap structure contains the following public fields.
@Returns:
<!-- ##### FUNCTION gdk_colormap_ref ##### -->
<para>
</para>
@cmap:
@Returns:
<!-- ##### FUNCTION gdk_colormap_unref ##### -->
<para>
</para>
@cmap:
<!-- ##### FUNCTION gdk_colormap_get_system ##### -->
<para>
</para>
@void:
@Returns:
<!-- ##### FUNCTION gdk_colormap_get_system_size ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_colormap_change ##### -->
<para>
</para>
@colormap:
@ncolors:
<!-- ##### FUNCTION gdk_colormap_alloc_colors ##### -->
<para>
</para>
@@ -180,15 +143,6 @@ The colormap structure contains the following public fields.
@Returns:
<!-- ##### FUNCTION gdk_colors_store ##### -->
<para>
</para>
@colormap:
@colors:
@ncolors:
<!-- ##### FUNCTION gdk_color_copy ##### -->
<para>
</para>
@@ -204,47 +158,6 @@ The colormap structure contains the following public fields.
@color:
<!-- ##### FUNCTION gdk_colors_alloc ##### -->
<para>
</para>
@colormap:
@contiguous:
@planes:
@nplanes:
@pixels:
@npixels:
@Returns:
<!-- ##### FUNCTION gdk_colors_free ##### -->
<para>
</para>
@colormap:
@pixels:
@npixels:
@planes:
<!-- ##### FUNCTION gdk_color_white ##### -->
<para>
</para>
@colormap:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_black ##### -->
<para>
</para>
@colormap:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_parse ##### -->
<para>
</para>
@@ -254,24 +167,6 @@ The colormap structure contains the following public fields.
@Returns:
<!-- ##### FUNCTION gdk_color_alloc ##### -->
<para>
</para>
@colormap:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_change ##### -->
<para>
</para>
@colormap:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_equal ##### -->
<para>
</para>

View File

@@ -31,12 +31,14 @@ gdk_window_set_cursor() or by setting the cursor member of the
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkCursor ##### -->
<para>
A <type>GdkCursor</type> structure represents a cursor.
</para>
@type: the #GdkCursorType of the cursor
<!-- ##### ENUM GdkCursorType ##### -->
<para>
@@ -214,10 +216,3 @@ The standard cursors available.
@cursor:
<!-- ##### MACRO gdk_cursor_destroy ##### -->
<para>
Destroys a cursor, freeing any resources allocated for it.
</para>

View File

@@ -25,6 +25,9 @@ the GTK+ documentation for more information.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
<para>
</para>
@@ -54,6 +57,7 @@ the GTK+ documentation for more information.
<para>
</para>
@void:
@Returns:
@@ -91,13 +95,6 @@ the GTK+ documentation for more information.
@protocol:
<!-- ##### FUNCTION gdk_drag_context_ref ##### -->
<para>
</para>
@context:
<!-- ##### FUNCTION gdk_drag_begin ##### -->
<para>
</para>
@@ -166,13 +163,6 @@ which DND is done.
@GDK_DRAG_PROTO_OLE2: The complex OLE2 DND protocol (not implemented).
@GDK_DRAG_PROTO_LOCAL: Intra-application DND.
<!-- ##### FUNCTION gdk_drag_context_unref ##### -->
<para>
</para>
@context:
<!-- ##### STRUCT GdkDragContext ##### -->
<para>
A <structname>GdkDragContext</structname> holds information about a
@@ -180,16 +170,6 @@ drag in progress. It is used on both source and destination sides.
</para>
@parent_instance: the parent instance
@protocol: the DND protocol which governs this drag.
@is_source: %TRUE if the context is used on the source side.
@source_window: the source of this drag.
@dest_window: the destination window of this drag.
@targets: a list of targets offered by the source.
@actions: a bitmask of actions proposed by the source when
@suggested_action is %GDK_ACTION_ASK.
@suggested_action: the action suggested by the source.
@action: the action chosen by the destination.
@start_time: a timestamp recording the start time of this drag.
<!-- ##### ENUM GdkDragAction ##### -->
<para>
@@ -225,3 +205,57 @@ should do with the dropped data.
@Returns:
<!-- ##### FUNCTION gdk_drag_context_get_action ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_get_actions ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_get_suggested_action ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_list_targets ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_get_device ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_set_device ##### -->
<para>
</para>
@context:
@device:

View File

@@ -34,6 +34,9 @@ gtk_widget_create_pango_layout().
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkDrawable ##### -->
<para>
An opaque structure representing an object that can be

View File

@@ -23,6 +23,9 @@ required events are received. See gtk_widget_set_events().
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### UNION GdkEvent ##### -->
<para>
The #GdkEvent struct contains a union of all of the event structs,
@@ -380,7 +383,7 @@ union, 16-bit data uses the s array, and 32-bit data uses the l array.
<!-- ##### STRUCT GdkEventNoExpose ##### -->
<para>
Generated when the area of a #GdkDrawable being copied, with gdk_draw_drawable()
or gdk_window_copy_area(), was completely available.
, was completely available.
</para>
<para>
FIXME: add more here.

View File

@@ -30,6 +30,9 @@ The structs used for each type of event.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### ENUM GdkEventType ##### -->
<para>
Specifies the type of the event.
@@ -165,6 +168,7 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
<para>
</para>
@void:
@Returns:
@@ -172,6 +176,7 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
<para>
</para>
@void:
@Returns:
@@ -179,14 +184,7 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_event_get_graphics_expose ##### -->
<para>
</para>
@window:
@void:
@Returns:
@@ -280,6 +278,40 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
@event:
<!-- ##### FUNCTION gdk_events_get_angle ##### -->
<para>
</para>
@event1:
@event2:
@angle:
@Returns:
<!-- ##### FUNCTION gdk_events_get_center ##### -->
<para>
</para>
@event1:
@event2:
@x:
@y:
@Returns:
<!-- ##### FUNCTION gdk_events_get_distance ##### -->
<para>
</para>
@event1:
@event2:
@distance:
@Returns:
<!-- ##### FUNCTION gdk_event_handler_set ##### -->
<para>
</para>
@@ -340,6 +372,7 @@ gdk_event_handler_set().
<para>
</para>
@void:
@Returns:
@@ -368,6 +401,24 @@ gdk_event_handler_set().
@Returns:
<!-- ##### FUNCTION gdk_event_get_device ##### -->
<para>
</para>
@event:
@Returns:
<!-- ##### FUNCTION gdk_event_set_device ##### -->
<para>
</para>
@event:
@device:
<!-- ##### FUNCTION gdk_setting_get ##### -->
<para>
</para>

View File

@@ -264,6 +264,9 @@ here).
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkFont ##### -->
<para>
The <structname>GdkFont</structname> structure represents a font or fontset. It

View File

@@ -33,6 +33,9 @@ be set by the latter method.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkGC ##### -->
<para>
The #GdkGC structure represents a graphics context.
@@ -148,33 +151,6 @@ useful. For bitmaps, %GDK_AND and %GDK_OR are also useful.
@Returns:
<!-- ##### FUNCTION gdk_gc_ref ##### -->
<para>
</para>
@gc:
@Returns:
<!-- ##### FUNCTION gdk_gc_unref ##### -->
<para>
</para>
@gc:
<!-- ##### MACRO gdk_gc_destroy ##### -->
<para>
This function is obsolete and should not be used.
</para>
@Deprecated: Use g_object_unref() instead
<!-- # Unused Parameters # -->
@gc: a #GdkGC.
<!-- ##### FUNCTION gdk_gc_set_values ##### -->
<para>
@@ -230,15 +206,6 @@ This function is obsolete and should not be used.
@color:
<!-- ##### FUNCTION gdk_gc_set_font ##### -->
<para>
</para>
@gc:
@font:
<!-- ##### FUNCTION gdk_gc_set_function ##### -->
<para>

View File

@@ -923,6 +923,14 @@ they will be ignored.
</para>
<!-- ##### MACRO gdk_rgb_get_cmap ##### -->
<para>
Gets the colormap set by GdkRGB. This colormap and the corresponding
visual should be used when creating windows that will be drawn in by GdkRGB.
</para>
@Returns: The #GdkColormap set by GdkRGB.
<!-- ##### VARIABLE gdk_screen ##### -->
<para>

View File

@@ -36,6 +36,9 @@ g_object_unref (context);
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### TYPEDEF GdkAppLaunchContext ##### -->
<para>
An opaque structure representing an application launch context.
@@ -47,6 +50,7 @@ An opaque structure representing an application launch context.
</para>
@void:
@Returns:

View File

@@ -31,6 +31,9 @@ Controls the keyboard/mouse pointer grabs and a set of <type>GdkScreen</type>s
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkDisplay ##### -->
<para>
The <structname>GdkDisplay</structname> struct is the GDK representation
@@ -47,6 +50,13 @@ of an X display. All its fields are private and should not be accessed directly.
@gdkdisplay: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GdkDisplay::opened ##### -->
<para>
</para>
@gdkdisplay: the object which received the signal.
<!-- ##### FUNCTION gdk_display_open ##### -->
<para>
@@ -61,6 +71,7 @@ of an X display. All its fields are private and should not be accessed directly.
</para>
@void:
@Returns:
@@ -101,6 +112,15 @@ of an X display. All its fields are private and should not be accessed directly.
@Returns:
<!-- ##### FUNCTION gdk_display_get_device_manager ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_pointer_ungrab ##### -->
<para>
@@ -128,6 +148,16 @@ of an X display. All its fields are private and should not be accessed directly.
@Returns:
<!-- ##### FUNCTION gdk_display_device_is_grabbed ##### -->
<para>
</para>
@display:
@device:
@Returns:
<!-- ##### FUNCTION gdk_display_beep ##### -->
<para>
@@ -237,6 +267,19 @@ of an X display. All its fields are private and should not be accessed directly.
@mask:
<!-- ##### FUNCTION gdk_display_get_device_state ##### -->
<para>
</para>
@display:
@device:
@screen:
@x:
@y:
@mask:
<!-- ##### FUNCTION gdk_display_get_window_at_pointer ##### -->
<para>
@@ -248,6 +291,18 @@ of an X display. All its fields are private and should not be accessed directly.
@Returns:
<!-- ##### FUNCTION gdk_display_get_window_at_device_position ##### -->
<para>
</para>
@display:
@device:
@win_x:
@win_y:
@Returns:
<!-- ##### STRUCT GdkDisplayPointerHooks ##### -->
<para>
A table of pointers to functions for getting quantities related to
@@ -281,6 +336,25 @@ Applications should never have any reason to use this facility
@Returns:
<!-- ##### STRUCT GdkDisplayDeviceHooks ##### -->
<para>
</para>
@get_device_state:
@window_get_device_position:
@window_at_device_position:
<!-- ##### FUNCTION gdk_display_set_device_hooks ##### -->
<para>
</para>
@display:
@new_hooks:
@Returns:
<!-- ##### FUNCTION gdk_display_warp_pointer ##### -->
<para>
@@ -292,6 +366,18 @@ Applications should never have any reason to use this facility
@y:
<!-- ##### FUNCTION gdk_display_warp_device ##### -->
<para>
</para>
@display:
@device:
@screen:
@x:
@y:
<!-- ##### FUNCTION gdk_display_supports_cursor_color ##### -->
<para>

View File

@@ -19,6 +19,9 @@ changes.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkDisplayManager ##### -->
<para>
The <structname>GdkDisplayManager</structname> struct has no interesting
@@ -45,6 +48,7 @@ fields.
</para>
@void:
@Returns:

View File

@@ -25,6 +25,9 @@ form a large screen area.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkScreen ##### -->
<para>
This is a currently just a placeholder typedef for the first argument of
@@ -70,6 +73,7 @@ when GDK gets multihead support.
</para>
@void:
@Returns:

View File

@@ -18,6 +18,9 @@ They allow to simulate some user input.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_test_render_sync ##### -->
<para>

View File

@@ -18,6 +18,9 @@ utility functions.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_init ##### -->
<para>
Initializes the GDK library and connects to the X server.
@@ -70,6 +73,7 @@ by GTK+ applications.
</para>
@void:
@Returns:
@@ -94,6 +98,7 @@ If the locale is not supported by X then it is reset to the standard "C"
locale.
</para>
@void:
@Returns: the resulting locale.
@@ -104,25 +109,12 @@ locale.
@sm_client_id:
<!-- ##### FUNCTION gdk_exit ##### -->
<para>
Exits the application using the <function>exit()</function> system call.
</para>
<para>
This routine is provided mainly for backwards compatibility, since it used to
perform tasks necessary to exit the application cleanly. Those tasks are now
performed in a function which is automatically called on exit (via the use
of g_atexit()).
</para>
@error_code: the error code to pass to the <function>exit()</function> call.
<!-- ##### FUNCTION gdk_notify_startup_complete ##### -->
<para>
</para>
@void:
<!-- ##### FUNCTION gdk_notify_startup_complete_with_id ##### -->
@@ -141,6 +133,7 @@ commandline option, the default value is the program name (determined
with g_get_prgname()) with the first character converted to uppercase.
</para>
@void:
@Returns: the program class.
@@ -160,6 +153,7 @@ Gets the name of the display, which usually comes from the <envar>DISPLAY</envar
environment variable or the <option>--display</option> command line option.
</para>
@void:
@Returns: the name of the display.
@@ -170,12 +164,14 @@ by the server. This is rarely needed by applications. It's main use is for
trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop().
</para>
@void:
<!-- ##### FUNCTION gdk_screen_width ##### -->
<para>
</para>
@void:
@Returns:
@@ -183,6 +179,7 @@ trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop().
<para>
</para>
@void:
@Returns:
@@ -190,6 +187,7 @@ trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop().
<para>
</para>
@void:
@Returns:
@@ -197,6 +195,7 @@ trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop().
<para>
</para>
@void:
@Returns:
@@ -279,6 +278,7 @@ success or the reason for the failure of the grab attempt.
<para>
</para>
@void:
@Returns:
@@ -324,32 +324,7 @@ available.
<para>
</para>
<!-- ##### FUNCTION gdk_get_use_xshm ##### -->
<para>
Returns %TRUE if GDK will attempt to use the MIT-SHM shared memory extension.
</para>
<para>
The shared memory extension is used for #GdkImage, and consequently for
<link linkend="gdk-GdkRGB">GdkRGB</link>.
It enables much faster drawing by communicating with the X server through
SYSV shared memory calls. However, it can only be used if the X client and
server are on the same machine and the server supports it.
</para>
@Returns: %TRUE if use of the MIT shared memory extension will be attempted.
<!-- ##### FUNCTION gdk_set_use_xshm ##### -->
<para>
Sets whether the use of the MIT shared memory extension should be attempted.
This function is mainly for internal use. It is only safe for an application
to set this to %FALSE, since if it is set to %TRUE and the server does not
support the extension it may cause warning messages to be output.
</para>
@use_xshm: %TRUE if use of the MIT shared memory extension should be attempted.
@void:
<!-- ##### FUNCTION gdk_error_trap_push ##### -->
@@ -375,6 +350,7 @@ avoid the X error in any other way.
</programlisting>
</example>
@void:
<!-- ##### FUNCTION gdk_error_trap_pop ##### -->
@@ -382,19 +358,20 @@ avoid the X error in any other way.
Removes the X error trap installed with gdk_error_trap_push().
</para>
@void:
@Returns: the X error code, or 0 if no error occurred.
<!-- ##### MACRO GDK_WINDOWING_X11 ##### -->
<para>
This macro is defined if GDK is configured to use the X backend.
This macro is defined if GDK is configured to use the X11 backend.
</para>
<!-- ##### MACRO GDK_WINDOWING_WIN32 ##### -->
<para>
This macro is defined if GDK is configured to use the Win32 backend.
This macro is defined if GDK is configured to use the win32 backend.
</para>

View File

@@ -12,7 +12,6 @@ It has now been superceded to a large extent by the much more flexible
</para>
<para>
To create an empty #GdkImage use gdk_image_new().
To create a #GdkImage from bitmap data use gdk_image_new_bitmap().
To create an image from part of a #GdkWindow use gdk_drawable_get_image().
</para>
<para>
@@ -25,7 +24,7 @@ the different formats that may be used.
To draw a #GdkImage in a #GdkWindow or #GdkPixmap use gdk_draw_image().
</para>
<para>
To destroy a #GdkImage use gdk_image_destroy().
To destroy a #GdkImage use g_object_unref().
</para>
<!-- ##### SECTION See_Also ##### -->
@@ -58,23 +57,15 @@ displays.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkImage ##### -->
<para>
The #GdkImage struct contains information on the image and the pixel data.
</para>
@parent_instance: the parent instance
@type: the type of the image.
@visual: the visual.
@byte_order: the byte order.
@width: the width of the image in pixels.
@height: the height of the image in pixels.
@depth: the depth of the image, i.e. the number of bits per pixel.
@bpp: the number of bytes per pixel.
@bpl: the number of bytes per line of the image.
@bits_per_pixel: the number of bits per pixel.
@mem: the pixel data.
@colormap: the #GdkColormap associated with the image
<!-- ##### FUNCTION gdk_image_new ##### -->
<para>
@@ -105,55 +96,6 @@ is supported by the server.
@GDK_IMAGE_FASTEST: Specifies that %GDK_IMAGE_SHARED should be tried first,
and if that fails then %GDK_IMAGE_NORMAL will be used.
<!-- ##### FUNCTION gdk_image_new_bitmap ##### -->
<para>
</para>
@visual:
@data:
@width:
@height:
@Returns:
<!-- ##### FUNCTION gdk_image_get ##### -->
<para>
</para>
@drawable:
@x:
@y:
@width:
@height:
@Returns:
<!-- ##### FUNCTION gdk_image_ref ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_unref ##### -->
<para>
</para>
@image:
<!-- ##### MACRO gdk_image_destroy ##### -->
<para>
Destroys a #GdkImage, freeing any resources allocated for it.
</para>
<!-- # Unused Parameters # -->
@image: a #GdkImage.
<!-- ##### FUNCTION gdk_image_get_colormap ##### -->
<para>
@@ -172,6 +114,87 @@ Destroys a #GdkImage, freeing any resources allocated for it.
@colormap:
<!-- ##### FUNCTION gdk_image_get_bits_per_pixel ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_get_bytes_per_pixel ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_get_bytes_per_line ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_get_byte_order ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_get_depth ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_get_height ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_get_image_type ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_get_visual ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_get_width ##### -->
<para>
</para>
@image:
@Returns:
<!-- ##### FUNCTION gdk_image_put_pixel ##### -->
<para>
Sets a pixel in a #GdkImage to a given pixel value.

View File

@@ -34,6 +34,9 @@ callbacks.</para></listitem>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_input_add_full ##### -->
@@ -72,16 +75,6 @@ occurs.
@condition: the triggering condition.
<!-- ##### USER_FUNCTION GdkDestroyNotify ##### -->
<para>
A callback function called when a piece of user data is
no longer being stored by GDK. Will typically free the
structure or object that @data points to.
</para>
@data: the user data.
<!-- ##### FUNCTION gdk_input_add ##### -->

View File

@@ -1,304 +0,0 @@
<!-- ##### SECTION Title ##### -->
Input Devices
<!-- ##### SECTION Short_Description ##### -->
Functions for handling extended input devices
<!-- ##### SECTION Long_Description ##### -->
<para>
In addition to the normal keyboard and mouse input devices, GTK+ also
contains support for <firstterm>extended input devices</firstterm>. In
particular, this support is targeted at graphics tablets. Graphics
tablets typically return sub-pixel positioning information and possibly
information about the pressure and tilt of the stylus. Under
X, the support for extended devices is done through the
<firstterm>XInput</firstterm> extension.
</para>
<para>
Because handling extended input devices may involve considerable
overhead, they need to be turned on for each #GdkWindow
individually using gdk_input_set_extension_events().
(Or, more typically, for GtkWidgets, using gtk_widget_set_extension_events()).
As an additional complication, depending on the support from
the windowing system, its possible that a normal mouse
cursor will not be displayed for a particular extension
device. If an application does not want to deal with displaying
a cursor itself, it can ask only to get extension events
from devices that will display a cursor, by passing the
%GDK_EXTENSION_EVENTS_CURSOR value to
gdk_input_set_extension_events(). Otherwise, the application
must retrieve the device information using gdk_devices_list(),
check the <structfield>has_cursor</structfield> field, and,
if it is %FALSE, draw a cursor itself when it receives
motion events.
</para>
<para>
Each pointing device is assigned a unique integer ID; events from a
particular device can be identified by the
<structfield>deviceid</structfield> field in the event structure. The
events generated by pointer devices have also been extended to contain
<structfield>pressure</structfield>, <structfield>xtilt</structfield>
and <structfield>ytilt</structfield> fields which contain the extended
information reported as additional <firstterm>valuators</firstterm>
from the device. The <structfield>pressure</structfield> field is a
a double value ranging from 0.0 to 1.0, while the tilt fields are
double values ranging from -1.0 to 1.0. (With -1.0 representing the
maximum tilt to the left or up, and 1.0 representing the maximum
tilt to the right or down.)
</para>
<para>
One additional field in each event is the
<structfield>source</structfield> field, which contains an
enumeration value describing the type of device; this currently
can be one of %GDK_SOURCE_MOUSE, %GDK_SOURCE_PEN, %GDK_SOURCE_ERASER,
or %GDK_SOURCE_CURSOR. This field is present to allow simple
applications to (for instance) delete when they detect eraser
devices without having to keep track of complicated per-device
settings.
</para>
<para>
Various aspects of each device may be configured.
The configuration of devices is queried using gdk_devices_list().
Each device must be activated using gdk_device_set_mode(), which
also controls whether the device's range is mapped to the
entire screen or to a single window. The mapping of the valuators of
the device onto the predefined valuator types is set using
gdk_device_set_axis_use(). And the source type for each device
can be set with gdk_device_set_source().
</para>
<para>
Devices may also have associated <firstterm>keys</firstterm>
or macro buttons. Such keys can be globally set to map
into normal X keyboard events. The mapping is set using
gdk_device_set_key().
</para>
<para>
The interfaces in this section will most likely be considerably
modified in the future to accomodate devices that may have different
sets of additional valuators than the pressure <structfield>xtilt</structfield>
and <structfield>ytilt</structfield>.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GdkDevice ##### -->
<para>
A <structname>GdkDevice</structname> structure contains
a detailed description of an extended input device. All
fields are read-only; but you can use gdk_device_set_source(),
gdk_device_set_mode(), gdk_device_set_key() and gdk_device_set_axis_use()
to configure various aspects of the device.
</para>
@parent_instance: the parent instance
@name: the name of this device.
@source: the type of this device.
@mode: the mode of this device
@has_cursor: %TRUE if the pointer follows device motion.
@num_axes: the length of the @axes array.
@axes: an array of #GdkDeviceAxis, describing the axes of this device.
@num_keys: the length of the @keys array.
@keys: an array of #GdkDeviceKey, describing the mapped macro buttons
of this device.
<!-- ##### ENUM GdkInputSource ##### -->
<para>
An enumeration describing the type of an input device
in general terms.
</para>
@GDK_SOURCE_MOUSE: the device is a mouse. (This will be reported for the core
pointer, even if it is something else, such as a trackball.)
@GDK_SOURCE_PEN: the device is a stylus of a graphics tablet or similar device.
@GDK_SOURCE_ERASER: the device is an eraser. Typically, this would be the other end
of a stylus on a graphics tablet.
@GDK_SOURCE_CURSOR: the device is a graphics tablet "puck" or similar device.
<!-- ##### ENUM GdkInputMode ##### -->
<para>
An enumeration that describes the mode of an input device.
</para>
@GDK_MODE_DISABLED: the device is disabled and will not report any events.
@GDK_MODE_SCREEN: the device is enabled. The device's coordinate space
maps to the entire screen.
@GDK_MODE_WINDOW: the device is enabled. The device's coordinate space
is mapped to a single window. The manner in which this window
is chosen is undefined, but it will typically be the same
way in which the focus window for key events is determined.
<!-- ##### STRUCT GdkDeviceKey ##### -->
<para>
The <structname>GdkDeviceKey</structname> structure contains information
about the mapping of one device macro button onto a normal X key event.
It has the following fields:
</para>
@keyval: the keyval to generate when the macro button is pressed.
If this is 0, no keypress will be generated.
@modifiers: the modifiers set for the generated key event.
<!-- ##### STRUCT GdkDeviceAxis ##### -->
<para>
The <structname>GdkDeviceAxis</structname> structure contains information
about the range and mapping of a device axis.
</para>
@use: specifies how the axis is used.
@min: the minimal value that will be reported by this axis.
@max: the maximal value that will be reported by this axis.
<!-- ##### ENUM GdkAxisUse ##### -->
<para>
An enumeration describing the way in which a device
axis (valuator) maps onto the predefined valuator
types that GTK+ understands.
</para>
@GDK_AXIS_IGNORE: the axis is ignored.
@GDK_AXIS_X: the axis is used as the x axis.
@GDK_AXIS_Y: the axis is used as the y axis.
@GDK_AXIS_PRESSURE: the axis is used for pressure information.
@GDK_AXIS_XTILT: the axis is used for x tilt information.
@GDK_AXIS_YTILT: the axis is used for x tilt information.
@GDK_AXIS_WHEEL: the axis is used for wheel information.
@GDK_AXIS_LAST: a constant equal to the numerically highest axis value.
<!-- ##### FUNCTION gdk_devices_list ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_device_set_source ##### -->
<para>
Sets the source type for an input device.
</para>
@device: a #GdkDevice.
@source: the source type.
<!-- ##### FUNCTION gdk_device_set_mode ##### -->
<para>
Sets a the mode of an input device. The mode controls if the
device is active and whether the device's range is mapped to the
entire screen or to a single window.
</para>
@device: a #GdkDevice.
@mode: the input mode.
@Returns: %TRUE if the mode was successfully changed.
<!-- ##### FUNCTION gdk_device_set_key ##### -->
<para>
Specifies the X key event to generate when a macro button of a device
is pressed.
</para>
@device: a #GdkDevice.
@index_: the index of the macro button to set.
@keyval: the keyval to generate.
@modifiers: the modifiers to set.
<!-- ##### FUNCTION gdk_device_set_axis_use ##### -->
<para>
Specifies how an axis of a device is used.
</para>
@device: a #GdkDevice.
@index_: the index of the axis.
@use: specifies how the axis is used.
<!-- ##### FUNCTION gdk_device_get_core_pointer ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_device_get_state ##### -->
@device:
@window:
@axes:
@mask:
<!-- ##### FUNCTION gdk_device_get_history ##### -->
<para>
</para>
@device:
@window:
@start:
@stop:
@events:
@n_events:
@Returns:
<!-- ##### FUNCTION gdk_device_free_history ##### -->
<para>
Frees an array of #GdkTimeCoord that was returned by gdk_device_get_history().
</para>
@events: an array of #GdkTimeCoord.
@n_events: the length of the array.
<!-- ##### STRUCT GdkTimeCoord ##### -->
<para>
The #GdkTimeCoord structure stores a single event in a
motion history. It contains the following fields:
</para>
@time: The timestamp for this event.
@axes: the values of the device's axes.
<!-- ##### FUNCTION gdk_device_get_axis ##### -->
<para>
</para>
@device:
@axes:
@use:
@value:
@Returns:
<!-- ##### FUNCTION gdk_input_set_extension_events ##### -->
<para>
Turns extension events on or off for a particular window,
and specifies the event mask for extension events.
</para>
@window: a #GdkWindow.
@mask: the event mask
@mode: the type of extension events that are desired.
<!-- ##### ENUM GdkExtensionMode ##### -->
<para>
An enumeration used to specify which extension events
are desired for a particular widget.
</para>
@GDK_EXTENSION_EVENTS_NONE: no extension events are desired.
@GDK_EXTENSION_EVENTS_ALL: all extension events are desired.
@GDK_EXTENSION_EVENTS_CURSOR: extension events are desired only if a cursor
will be displayed for the device.

View File

@@ -88,6 +88,9 @@ gdk_keymap_translate_keyboard_state() just to get the keyval.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkKeymap ##### -->
<para>
A <structname>GdkKeymap</structname> defines the translation from keyboard state
@@ -143,6 +146,7 @@ be mapped to a keyval.
</para>
@void:
@Returns:
@@ -234,6 +238,15 @@ Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL.
@Returns:
<!-- ##### FUNCTION gdk_keymap_add_virtual_modifiers ##### -->
<para>
</para>
@keymap:
@state:
<!-- ##### FUNCTION gdk_keymap_map_virtual_modifiers ##### -->
<para>

View File

@@ -132,6 +132,9 @@ g_object_unref (gc);
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkPangoRenderer ##### -->
<para>
@@ -210,6 +213,7 @@ g_object_unref (gc);
</para>
@void:
@Returns:
@@ -222,15 +226,6 @@ g_object_unref (gc);
@Returns:
<!-- ##### FUNCTION gdk_pango_context_set_colormap ##### -->
<para>
</para>
@context:
@colormap:
<!-- ##### STRUCT GdkPangoAttrEmbossed ##### -->
<para>
A Pango text attribute containing a embossed bitmap to be used when

View File

@@ -19,6 +19,9 @@ pixbufs, see the #GdkPixbuf API documentation.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_pixbuf_render_threshold_alpha ##### -->
<para>
@@ -35,44 +38,10 @@ pixbufs, see the #GdkPixbuf API documentation.
@alpha_threshold:
<!-- ##### FUNCTION gdk_pixbuf_render_to_drawable ##### -->
<para>
</para>
@pixbuf:
@drawable:
@gc:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@dither:
@x_dither:
@y_dither:
<!-- ##### FUNCTION gdk_pixbuf_render_to_drawable_alpha ##### -->
<para>
</para>
@pixbuf:
@drawable:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@alpha_mode:
@alpha_threshold:
@dither:
@x_dither:
@y_dither:
<!-- ##### FUNCTION gdk_pixbuf_render_pixmap_and_mask ##### -->
<para>

View File

@@ -21,6 +21,9 @@ pixel can be either on or off).
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkPixmap ##### -->
<para>
An opaque structure representing an offscreen drawable.
@@ -118,21 +121,6 @@ for the new pixmap. Can be %NULL, if the depth is given.
@Returns:
<!-- ##### MACRO gdk_pixmap_ref ##### -->
<para>
Deprecated equivalent of g_object_ref().
</para>
@Returns: @pixmap
<!-- ##### MACRO gdk_pixmap_unref ##### -->
<para>
Deprecated equivalent of g_object_unref().
</para>
<!-- ##### TYPEDEF GdkBitmap ##### -->
<para>
An opaque structure representing an offscreen drawable of depth
@@ -142,18 +130,3 @@ refers generically to any of these types.
</para>
<!-- ##### MACRO gdk_bitmap_ref ##### -->
<para>
Deprecated equivalent of g_object_ref().
</para>
@Returns: @pixmap
<!-- ##### MACRO gdk_bitmap_unref ##### -->
<para>
Deprecated equivalent of g_object_unref().
</para>

View File

@@ -45,6 +45,9 @@ data commonly stored in X window properties.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkAtom ##### -->
<para>
An opaque type representing a string as an index into a table

View File

@@ -36,6 +36,9 @@ It can be intersected to regions by using gdk_region_spans_intersect_foreach().
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkPoint ##### -->
<para>
Defines the x and y coordinates of a point.
@@ -86,6 +89,7 @@ A GdkRegion represents a set of pixels on the screen.
</para>
@void:
@Returns:

View File

@@ -125,12 +125,7 @@ colors.</para></listitem>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### FUNCTION gdk_rgb_init ##### -->
<para>
This function no longer does anything at all. It's completely useless
(and harmless).
</para>
<!-- ##### SECTION Image ##### -->
<!-- ##### FUNCTION gdk_draw_rgb_image ##### -->
@@ -328,37 +323,6 @@ colors. This is used only for gdk_draw_indexed_image().
@colors: The colors, represented as 0xRRGGBB integer values.
@n_colors: The number of colors in the cmap.
<!-- ##### FUNCTION gdk_rgb_gc_set_foreground ##### -->
<para>
Sets the foreground color in @gc to the specified color (or the
closest approximation, in the case of limited visuals).
</para>
@gc: The #GdkGC to modify.
@rgb: The color, represented as a 0xRRGGBB integer value.
<!-- ##### FUNCTION gdk_rgb_gc_set_background ##### -->
<para>
Sets the background color in @gc to the specified color (or the
closest approximation, in the case of limited visuals).
</para>
@gc: The #GdkGC to modify.
@rgb: The color, represented as a 0xRRGGBB integer value.
<!-- ##### FUNCTION gdk_rgb_xpixel_from_rgb ##### -->
<para>
Finds the X pixel closest in color to the @rgb color specified. This
value may be used to set the <structfield>pixel</structfield> field of
a #GdkColor struct.
</para>
@rgb: The color, represented as a 0xRRGGBB integer value.
@Returns: The X pixel value.
<!-- ##### FUNCTION gdk_rgb_find_color ##### -->
<para>
@@ -399,6 +363,7 @@ private colormap.
<para>
</para>
@void:
@Returns:
@@ -407,18 +372,10 @@ private colormap.
</para>
@void:
@Returns:
<!-- ##### MACRO gdk_rgb_get_cmap ##### -->
<para>
Gets the colormap set by GdkRGB. This colormap and the corresponding
visual should be used when creating windows that will be drawn in by GdkRGB.
</para>
@Returns: The #GdkColormap set by GdkRGB.
<!-- ##### FUNCTION gdk_rgb_ditherable ##### -->
<para>
Determines whether the preferred visual is ditherable. This function may be
@@ -427,6 +384,7 @@ dither mode is desired; if the display is not ditherable, it may make
sense to gray out or hide the corresponding UI widget.
</para>
@void:
@Returns: %TRUE if the preferred visual is ditherable.

View File

@@ -50,34 +50,7 @@ to the X Inter-client Communication Conventions Manual
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### TYPEDEF GdkSelection ##### -->
<para>
The #GdkSelection enumeration contains predefined
atom values for several common selections.
</para>
<!-- ##### TYPEDEF GdkSelectionType ##### -->
<para>
The #GdkSelectionType enumeration contains predefined
atom values used to represent the types of data transferred
in response to a request for a target. See the
ICCCM for details about what data should be transferred
for each of these types. Other atoms can be used,
and the recommended practice for GTK+ is to to use mime
types for this purpose. However, supporting these types
may be useful for compatibility with older programs.
</para>
<!-- ##### TYPEDEF GdkTarget ##### -->
<para>
The #GdkTarget enumeration contains predefined atom values which are
used to describe possible targets for a selection. Other atoms can be
used, and the recommended practice for GTK+ is to to use mime types
for this purpose. However, supporting these types may be useful for
compatibility with older programs.
</para>
<!-- ##### SECTION Image ##### -->
<!-- ##### MACRO GDK_SELECTION_PRIMARY ##### -->

View File

@@ -250,6 +250,9 @@ int main (int argc, char *argv[])
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### MACRO GDK_THREADS_ENTER ##### -->
<para>
This macro marks the beginning of a critical section in which GDK and
@@ -275,6 +278,7 @@ begun with #GDK_THREADS_ENTER.
</para>
@void:
<!-- ##### FUNCTION gdk_threads_enter ##### -->
@@ -285,6 +289,7 @@ conditions. Only one thread at a time can be in such a critial
section.
</para>
@void:
<!-- ##### FUNCTION gdk_threads_leave ##### -->
@@ -292,6 +297,7 @@ section.
Leaves a critical region begun with gdk_threads_enter().
</para>
@void:
<!-- ##### VARIABLE gdk_threads_mutex ##### -->

View File

@@ -54,6 +54,9 @@ then %GDK_VISUAL_STATIC_GRAY.
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GdkVisual ##### -->
<para>
The <type>GdkVisual</type> structure contains information about
@@ -75,42 +78,6 @@ pixel_from_rgb (GdkVisual *visual,
</example>
@parent_instance: inherited portion from #GObject
@type: The type of this visual.
@depth: The number of bits per pixel.
@byte_order: The byte-order for this visual.
@colormap_size: The number of entries in the colormap, for
visuals of type %GDK_VISUAL_PSEUDO_COLOR or
%GDK_VISUAL_GRAY_SCALE. For other visual types, it
is the number of possible levels per color component.
If the visual has different numbers of levels for
different components, the value of this field is undefined.
@bits_per_rgb: The number of significant bits per red, green, or blue
when specifying colors for this visual. (For instance, for
gdk_colormap_alloc_color())
@red_mask: A mask giving the bits in a pixel value that
correspond to the red field. Significant only for
%GDK_VISUAL_PSEUDOCOLOR and %GDK_VISUAL_DIRECTCOLOR.
@red_shift: The <structfield>red_shift</structfield> and
<structfield>red_prec</structfield> give an alternate presentation
of the information in <structfield>red_mask</structfield>.
<structfield>red_mask</structfield> is a contiguous sequence
of <structfield>red_prec</structfield> bits starting at bit
number <structfield>red_shift</structfield>. For example,
<xref linkend="rgbmask"/> shows constructing a pixel value
out of three 16 bit color values.
@red_prec: See above.
@green_mask: A mask giving the bits in a pixel value that
correspond to the green field.
@green_shift: The <structfield>green_shift</structfield> and
<structfield>green_prec</structfield> give an alternate presentation
of the information in <structfield>green_mask</structfield>.
@green_prec: See above.
@blue_mask: A mask giving the bits in a pixel value that
correspond to the blue field.
@blue_shift: The <structfield>blue_shift</structfield> and
<structfield>blue_prec</structfield> give an alternate presentation
of the information in <structfield>blue_mask</structfield>.
@blue_prec: See above.
<!-- ##### ENUM GdkVisualType ##### -->
<para>
@@ -171,6 +138,85 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@void:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_bits_per_rgb ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_blue_pixel_details ##### -->
<para>
</para>
@visual:
@mask:
@shift:
@precision:
<!-- ##### FUNCTION gdk_visual_get_byte_order ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_colormap_size ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_depth ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_green_pixel_details ##### -->
<para>
</para>
@visual:
@mask:
@shift:
@precision:
<!-- ##### FUNCTION gdk_visual_get_red_pixel_details ##### -->
<para>
</para>
@visual:
@mask:
@shift:
@precision:
<!-- ##### FUNCTION gdk_visual_get_visual_type ##### -->
<para>
</para>
@visual:
@Returns:
@@ -179,6 +225,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@void:
@Returns:
@@ -187,6 +234,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@void:
@Returns:
@@ -195,6 +243,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@void:
@Returns:
@@ -203,6 +252,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@void:
@Returns:
@@ -234,23 +284,6 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
@Returns:
<!-- ##### MACRO gdk_visual_ref ##### -->
<para>
Deprecated equivalent of g_object_ref().
</para>
@v: a #GdkVisual
@Returns: the same visual
<!-- ##### MACRO gdk_visual_unref ##### -->
<para>
Deprecated equivalent of g_object_unref().
</para>
@v: a #GdkVisual
<!-- ##### FUNCTION gdk_visual_get_screen ##### -->
<para>

File diff suppressed because it is too large Load Diff

View File

@@ -17,6 +17,9 @@ X backend-specific functions
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### MACRO GDK_ROOT_WINDOW ##### -->
<para>
Obtains the Xlib window id of the root window of the current screen.
@@ -24,13 +27,6 @@ Obtains the Xlib window id of the root window of the current screen.
<!-- ##### MACRO GDK_ROOT_PARENT ##### -->
<para>
Obtains the Xlib window id of the root window of the default screen.
</para>
<!-- ##### MACRO GDK_DISPLAY ##### -->
<para>
The current display.
@@ -253,14 +249,6 @@ Another name for GDK_DRAWABLE_XID().
@Returns:
<!-- ##### FUNCTION gdkx_colormap_get ##### -->
<para>
</para>
@xcolormap:
@Returns:
<!-- ##### FUNCTION gdk_pixmap_foreign_new ##### -->
<para>
@@ -657,6 +645,7 @@ Since: 2.2
</para>
@void:
@Returns:
@@ -665,6 +654,7 @@ Since: 2.2
</para>
@void:
@Returns:
@@ -673,6 +663,7 @@ Since: 2.2
</para>
@void:
@Returns:
@@ -681,6 +672,7 @@ Since: 2.2
</para>
@void:
<!-- ##### FUNCTION gdk_x11_image_get_xdisplay ##### -->
@@ -724,6 +716,7 @@ Since: 2.2
</para>
@void:
<!-- ##### FUNCTION gdk_x11_visual_get_xvisual ##### -->

View File

@@ -4,16 +4,13 @@ include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gtk
DOC_MODULE=gtk3
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gtk-docs.sgml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED"
# Extra options to pass to gtkdoc-scangobj
SCANGOBJ_OPTIONS=--type-init-func="gtk_type_init(0)"
SCAN_OPTIONS=--deprecated-guards="GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../gtk
@@ -123,27 +120,12 @@ content_files = \
version.xml \
running.sgml \
building.sgml \
changes-1.2.sgml \
changes-2.0.sgml \
compiling.sgml \
directfb.sgml \
drawing-model.xml \
glossary.xml \
migrating-2to3.xml \
migrating-checklist.sgml \
migrating-ClientSideWindows.sgml \
migrating-GtkAboutDialog.sgml \
migrating-GtkAction.sgml \
migrating-GtkAssistant.sgml \
migrating-GtkBuilder.sgml \
migrating-GtkColorButton.sgml \
migrating-GtkComboBox.sgml \
migrating-GtkEntry-icons.sgml \
migrating-GtkFileChooser.sgml \
migrating-GtkIconView.sgml \
migrating-GtkLabel-links.sgml \
migrating-GtkLinkButton.sgml \
migrating-GtkRecentChooser.sgml \
migrating-GtkTooltip.sgml \
objects_grouped.sgml \
osx.sgml \
question_index.sgml \
@@ -152,14 +134,15 @@ content_files = \
tree_widget.sgml \
windows.sgml \
x11.sgml \
gtk-query-immodules-2.0.xml \
gtk-update-icon-cache.xml \
gtk-builder-convert.xml \
gtk-query-immodules-3.0.xml \
gtk-update-icon-cache-3.0.xml \
gtk-builder-convert-3.0.xml \
visual_index.xml
expand_content_files = \
drawing-model.xml \
glossary.xml \
migrating-2to3.xml \
migrating-checklist.sgml \
migrating-ClientSideWindows.sgml \
migrating-GtkAction.sgml \
@@ -368,21 +351,38 @@ EXTRA_DIST += version.xml.in
########################################################################
man_MANS = \
gtk-query-immodules-3.0.1 \
gtk-update-icon-cache-3.0.1 \
gtk-builder-convert-3.0.1
if ENABLE_MAN
man_MANS = gtk-query-immodules-2.0.1 gtk-update-icon-cache.1 gtk-builder-convert.1
%.1 : %.xml
.xml.1:
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
BUILT_EXTRA_DIST = $(man_MANS)
dist-local-check-mans-enabled:
if grep "Man generation disabled" $(man_MANS) >/dev/null; then $(RM) $(man_MANS); fi
else
$(man_MANS):
echo Man generation disabled. Creating dummy $@. Configure with --enable-man to enable it.
echo Man generation disabled. Remove this file, configure with --enable-man, and rebuild > $@
dist-local-check-mans-enabled:
echo "*** --enable-man must be used in order to make dist"
false
endif
dist-hook-local: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
MAINTAINERCLEANFILES = $(man_MANS) $(BUILT_SOURCES)
EXTRA_DIST += $(man_MANS)
dist-hook-local: dist-local-check-mans-enabled gtk-docs-clean all-local
gtk-docs-clean: clean
cd $(srcdir) && rm -rf xml html
-include $(top_srcdir)/git.mk

View File

@@ -49,12 +49,12 @@ How to compile GTK+ itself
of the tools are already included in the source packages. But
it's useful to know a bit about how packages that use these
tools work. A source package is distributed as a
<literal>tar.gz</literal> or <literal>tar.bz2</literal> file
<literal>tar.gz</literal> or <literal>tar.bz2</literal> file
which you unpack into a directory full of the source files as follows:
</para>
<programlisting>
tar xvfz gtk+-2.0.0.tar.gz
tar xvfj gtk+-2.0.0.tar.bz2
tar xvfz gtk+-3.0.0.tar.gz
tar xvfj gtk+-3.0.0.tar.bz2
</programlisting>
<para>
In the toplevel of the directory that is created, there will be
@@ -103,7 +103,7 @@ How to compile GTK+ itself
a search path that <command>pkg-config</command> (see below)
uses when looking for for file describing how to compile
programs using different libraries. If you were installing GTK+
and it's dependencies into <filename>/opt/gtk</filename>, you
and it's dependencies into <filename>/opt/gtk</filename>, you
might want to set these variables as:
</para>
<programlisting>
@@ -137,30 +137,26 @@ How to compile GTK+ itself
</para>
<itemizedlist>
<listitem>
<para>
<ulink
url="http://www.freedesktop.org/software/pkgconfig">pkg-config</ulink>
is a tool for tracking the compilation flags needed for
libraries that are used by the GTK+ libraries. (For each
library, a small <literal>.pc</literal> text file is installed
in a standard location that contains the compilation flags
needed for that library along with version number information.)
The version of <command>pkg-config</command> needed to build
GTK+ is mirrored in the <filename>dependencies</filename> directory
on the <ulink url="ftp://ftp.gtk.org/pub/gtk/">GTK+ FTP
site.</ulink>
</para>
<para>
<ulink
url="http://pkg-config.freedesktop.org">pkg-config</ulink>
is a tool for tracking the compilation flags needed for
libraries that are used by the GTK+ libraries. (For each
library, a small <literal>.pc</literal> text file is installed
in a standard location that contains the compilation flags
needed for that library along with version number information.)
</para>
</listitem>
<listitem>
<para>
The GTK+ makefiles will mostly work with different versions
of <command>make</command>, however, there tends to be
a few incompatibilities, so the GTK+ team recommends
installing <ulink url="http://www.gnu.org/software/make">GNU
make</ulink> if you don't already have it on your system
and using it. (It may be called <command>gmake</command>
rather than <command>make</command>.)
</para>
<para>
The GTK+ makefiles will mostly work with different versions
of <command>make</command>, however, there tends to be
a few incompatibilities, so the GTK+ team recommends
installing <ulink url="http://www.gnu.org/software/make">GNU
make</ulink> if you don't already have it on your system
and using it. (It may be called <command>gmake</command>
rather than <command>make</command>.)
</para>
</listitem>
</itemizedlist>
<para>
@@ -170,106 +166,105 @@ How to compile GTK+ itself
</para>
<itemizedlist>
<listitem>
<para>
The GLib library provides core non-graphical functionality
such as high level data types, Unicode manipulation, and
an object and type system to C programs. It is available
from the <ulink url="ftp://ftp.gtk.org/pub/glib/">GTK+
FTP site.</ulink>
</para>
<para>
The GLib library provides core non-graphical functionality
such as high level data types, Unicode manipulation, and
an object and type system to C programs. It is available
from the <ulink url="ftp://ftp.gtk.org/pub/glib/">GTK+
FTP site.</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.pango.org">Pango</ulink> is a library
for internationalized text handling. It is available from
the <ulink url="ftp://ftp.gtk.org/pub/pango/">GTK+ FTP
site.</ulink>.
</para>
<para>
<ulink url="http://www.pango.org">Pango</ulink> is a library
for internationalized text handling. It is available from
the <ulink url="ftp://ftp.gtk.org/pub/pango/">GTK+ FTP
site.</ulink>.
</para>
</listitem>
<listitem>
<para>
ATK is the Accessibility Toolkit. It provides a set of generic
interfaces allowing accessibility technologies such as
screen readers to interact with a graphical user interface.
It is available from the <ulink
url="ftp://ftp.gtk.org/pub/atk/">GTK+ FTP site.</ulink>
</para>
<para>
ATK is the Accessibility Toolkit. It provides a set of generic
interfaces allowing accessibility technologies such as
screen readers to interact with a graphical user interface.
It is available from the <ulink
url="ftp://ftp.gtk.org/pub/atk/">GTK+ FTP site.</ulink>
</para>
</listitem>
<listitem>
<para>
The <ulink url="http://www.gnu.org/software/libiconv/">GNU
libiconv library</ulink> is needed to build GLib if your
system doesn't have the <function>iconv()</function>
function for doing conversion between character
encodings. Most modern systems should have
<function>iconv()</function>.
</para>
<para>
The <ulink url="http://www.gnu.org/software/libiconv/">GNU
libiconv library</ulink> is needed to build GLib if your
system doesn't have the <function>iconv()</function>
function for doing conversion between character
encodings. Most modern systems should have
<function>iconv()</function>.
</para>
</listitem>
<listitem>
<para>
The libintl library from the <ulink
url="http://www.gnu.org/software/gettext/">GNU gettext
package</ulink> is needed if your system doesn't have the
<function>gettext()</function> functionality for handling
message translation databases.
</para>
<para>
The libintl library from the <ulink
url="http://www.gnu.org/software/gettext/">GNU gettext
package</ulink> is needed if your system doesn't have the
<function>gettext()</function> functionality for handling
message translation databases.
</para>
</listitem>
<listitem>
<para>
The <ulink
url="ftp://ftp.uu.net/graphics/jpeg/">JPEG</ulink>,
<ulink url="http://www.libpng.org">PNG</ulink>, and
<ulink url="http://www.libtiff.org">TIFF</ulink> image
loading libraries are needed to compile GTK+. You probably
already have these libraries installed, but if not, the
versions you need are available in the
<para>
The <ulink url="http://en.wikipedia.org/wiki/Libjpeg">JPEG</ulink>,
<ulink url="http://www.libpng.org">PNG</ulink>, and
<ulink url="http://www.libtiff.org">TIFF</ulink> image
loading libraries are needed to compile GTK+. You probably
already have these libraries installed, but if not, the
versions you need are available in the
<filename>dependencies</filename> directory on the the
<ulink url="ftp://ftp.gtk.org/pub/gtk/v2.6/dependencies/">GTK+
FTP site.</ulink>. (Before installing these libraries
from source, you should check if your operating system
vendor has prebuilt packages of these libraries that you
don't have installed.)
</para>
<ulink url="ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/">GTK+
FTP site.</ulink>. (Before installing these libraries
from source, you should check if your operating system
vendor has prebuilt packages of these libraries that you
don't have installed.)
</para>
</listitem>
<listitem>
<para>
The libraries from the X window system are needed to build
Pango and GTK+. You should already have these installed on
your system, but it's possible that you'll need to install
the development environment for these libraries that your
operating system vendor provides.
</para>
<para>
The libraries from the X window system are needed to build
Pango and GTK+. You should already have these installed on
your system, but it's possible that you'll need to install
the development environment for these libraries that your
operating system vendor provides.
</para>
</listitem>
<listitem>
<para>
The <ulink url="http://www.fontconfig.org">fontconfig</ulink>
library provides Pango with a standard way of locating
fonts and matching them against font names.
</para>
<para>
The <ulink url="http://www.fontconfig.org">fontconfig</ulink>
library provides Pango with a standard way of locating
fonts and matching them against font names.
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.cairographics.org">Cairo</ulink>
<para>
<ulink url="http://www.cairographics.org">Cairo</ulink>
is a graphics library that supports vector graphics and image
compositing. Both Pango and GTK+ use cairo for much of their
drawing.
</para>
</listitem>
<listitem>
<para>
<ulink url="http://live.gnome.org/GObjectIntrospection">gobject-introspection</ulink>
<para>
<ulink url="http://live.gnome.org/GObjectIntrospection">gobject-introspection</ulink>
is a framework for making introspection data available to
language bindings.
</para>
</listitem>
<listitem>
<para>
The <ulink url="http://www.freedesktop.org/wiki/Software/shared-mime-info">shared-mime-info</ulink>
package is not a hard dependency of GTK+, but it contains definitions
for mime types that are used by GIO and, indirectly, by GTK+.
gdk-pixbuf will use GIO for mime type detection if possible. For this
to work, shared-mime-info needs to be installed and
<envar>XDG_DATA_DIRS</envar> set accordingly at configure time.
The <ulink url="http://www.freedesktop.org/wiki/Software/shared-mime-info">shared-mime-info</ulink>
package is not a hard dependency of GTK+, but it contains definitions
for mime types that are used by GIO and, indirectly, by GTK+.
gdk-pixbuf will use GIO for mime type detection if possible. For this
to work, shared-mime-info needs to be installed and
<envar>XDG_DATA_DIRS</envar> set accordingly at configure time.
Otherwise, gdk-pixbuf falls back to its built-in mime type detection.
</para>
</listitem>
@@ -281,7 +276,7 @@ How to compile GTK+ itself
First make sure that you have the necessary external
dependencies installed: <command>pkg-config</command>, GNU make,
the JPEG, PNG, and TIFF libraries, FreeType, and, if necessary,
libiconv and libintl. To get detailed information about building
libiconv and libintl. To get detailed information about building
these packages, see the documentation provided with the
individual packages.
On a Linux system, it's quite likely you'll have all of these
@@ -294,7 +289,7 @@ How to compile GTK+ itself
<literal>make install</literal> mentioned above. If you're
lucky, this will all go smoothly, and you'll be ready to
<link linkend="gtk-compiling">start compiling your own GTK+
applications</link>. You can test your GTK+ installation
applications</link>. You can test your GTK+ installation
by running the <command>gtk-demo</command> program that
GTK+ installs.
</para>
@@ -315,123 +310,127 @@ How to compile GTK+ itself
<title>Extra Configuration Options</title>
<para>
In addition to the normal options, the
<command>configure</command> script for the GTK+ library
supports a number of additional arguments. (Command line
arguments for the other GTK+ libraries are described in
the documentation distributed with the those libraries.)
In addition to the normal options, the
<command>configure</command> script for the GTK+ library
supports a number of additional arguments. (Command line
arguments for the other GTK+ libraries are described in
the documentation distributed with the those libraries.)
<cmdsynopsis>
<command>configure</command>
<cmdsynopsis>
<command>configure</command>
<group>
<arg>--disable-modules</arg>
<arg>--enable-modules</arg>
</group>
<group>
<arg>--with-included-loaders==LOADER1,LOADER2,...</arg>
</group>
<group>
<arg>--with-included-immodules=MODULE1,MODULE2,...</arg>
</group>
<group>
<arg>--enable-debug=[no|minimum|yes]</arg>
</group>
<group>
<arg>--disable-visibility</arg>
<arg>--enable-visibility</arg>
</group>
<arg>--disable-modules</arg>
<arg>--enable-modules</arg>
</group>
<group>
<arg>--disable-shm</arg>
<arg>--enable-shm</arg>
</group>
<arg>--with-included-loaders==LOADER1,LOADER2,...</arg>
</group>
<group>
<arg>--disable-xim</arg>
<arg>--enable-xim</arg>
</group>
<arg>--with-included-immodules=MODULE1,MODULE2,...</arg>
</group>
<group>
<arg>--disable-xim-inst</arg>
<arg>--enable-xim-inst</arg>
</group>
<arg>--enable-debug=[no|minimum|yes]</arg>
</group>
<group>
<arg>--disable-xkb</arg>
<arg>--enable-xkb</arg>
</group>
<arg>--disable-visibility</arg>
<arg>--enable-visibility</arg>
</group>
<group>
<arg>--disable-xinerama</arg>
<arg>--enable-xinerama</arg>
</group>
<group>
<arg>--disable-gtk-doc</arg>
<arg>--enable-gtk-doc</arg>
</group>
<group>
<arg>--disable-cups</arg>
<arg>--enable-cups</arg>
</group>
<arg>--disable-shm</arg>
<arg>--enable-shm</arg>
</group>
<group>
<arg>--disable-xim</arg>
<arg>--enable-xim</arg>
</group>
<group>
<arg>--disable-xim-inst</arg>
<arg>--enable-xim-inst</arg>
</group>
<group>
<arg>--disable-xkb</arg>
<arg>--enable-xkb</arg>
</group>
<group>
<arg>--disable-xinerama</arg>
<arg>--enable-xinerama</arg>
</group>
<group>
<arg>--disable-gtk-doc</arg>
<arg>--enable-gtk-doc</arg>
</group>
<group>
<arg>--disable-cups</arg>
<arg>--enable-cups</arg>
</group>
<group>
<arg>--disable-papi</arg>
<arg>--enable-papi</arg>
</group>
<group>
<arg>--with-xinput=[no|yes]</arg>
</group>
<group>
<arg>--with-gdktarget=[x11|win32|quartz|directfb]</arg>
</group>
<group>
<arg>--disable-introspection</arg>
<arg>--with-gdktarget=[x11|win32|quartz|directfb]</arg>
</group>
</cmdsynopsis>
<group>
<arg>--disable-introspection</arg>
</group>
</cmdsynopsis>
</para>
<formalpara>
<title><systemitem>--disable-modules</systemitem> and
<systemitem>--enable-modules</systemitem></title>
<title><systemitem>--disable-modules</systemitem> and
<systemitem>--enable-modules</systemitem></title>
<para>
Normally GTK+ will try to build the GdkPixbuf image file
format loaders as little shared libraries that are loaded on
demand. The <systemitem>--disable-modules</systemitem>
argument indicates that they should all be built statically
into the GTK+ library instead. This is useful for
people who need to produce statically-linked binaries. If
neither <systemitem>--disable-modules</systemitem> nor
<systemitem>--enable-modules</systemitem> is specified, then
the <command>configure</command> script will try to
auto-detect whether shared modules work on your system.
</para>
<para>
Normally GTK+ will try to build the GdkPixbuf image file
format loaders as little shared libraries that are loaded on
demand. The <systemitem>--disable-modules</systemitem>
argument indicates that they should all be built statically
into the GTK+ library instead. This is useful for
people who need to produce statically-linked binaries. If
neither <systemitem>--disable-modules</systemitem> nor
<systemitem>--enable-modules</systemitem> is specified, then
the <command>configure</command> script will try to
auto-detect whether shared modules work on your system.
</para>
</formalpara>
<formalpara>
<title><systemitem>--with-included-loaders</systemitem></title>
<title><systemitem>--with-included-loaders</systemitem></title>
<para>
<para>
This option allows you to specify which image loaders you
want to include; for example, you might include only the PNG
loader to create a smaller GdkPixbuf binary.
</para>
</para>
</formalpara>
<formalpara>
<title><systemitem>--with-included-immodules</systemitem></title>
<title><systemitem>--with-included-immodules</systemitem></title>
<para>
<para>
This option allows you to specify which input method modules you
want to include.
</para>
want to include.
</para>
</formalpara>
<formalpara>
<title><systemitem>--enable-debug</systemitem></title>
<para>
Turns on various amounts of debugging support. Setting this to 'no'
disables g_assert(), g_return_if_fail(), g_return_val_if_fail() and
Turns on various amounts of debugging support. Setting this to 'no'
disables g_assert(), g_return_if_fail(), g_return_val_if_fail() and
all cast checks between different object types. Setting it to 'minimum'
disables only cast checks. Setting it to 'yes' enables
<link linkend="GTK-Debug-Options">runtime debugging</link>.
disables only cast checks. Setting it to 'yes' enables
<link linkend="GTK-Debug-Options">runtime debugging</link>.
The default is 'minimum'.
Note that 'no' is fast, but dangerous as it tends to destabilize
even mostly bug-free software by changing the effect of many bugs
from simple warnings into fatal crashes. Thus
<option>--enable-debug=no</option> should <emphasis>not</emphasis>
Note that 'no' is fast, but dangerous as it tends to destabilize
even mostly bug-free software by changing the effect of many bugs
from simple warnings into fatal crashes. Thus
<option>--enable-debug=no</option> should <emphasis>not</emphasis>
be used for stable releases of GTK+.
</para>
</formalpara>
@@ -443,7 +442,7 @@ How to compile GTK+ itself
The option <systemitem>--disable-visibility</systemitem>
turns off the use of ELF visibility attributes for linking
optimizations. This makes sense while changing GTK+ itself,
since the way in which GTK+ uses visibility attributes
since the way in which GTK+ uses visibility attributes
forces a full rebuild of all source files for any header
modification.
</para>
@@ -453,33 +452,33 @@ How to compile GTK+ itself
<title><systemitem>--enable-explicit-deps</systemitem> and
<systemitem>--disable-explicit-deps</systemitem></title>
<para>
If <systemitem>--enable-explicit-deps</systemitem> is
specified then GTK+ will write the full set of libraries
that GTK+ depends upon into its <literal>.pc</literal> files to be used when
programs depending on GTK+ are linked. Otherwise, GTK+
only will include the GTK+ libraries themselves, and
will depend on system library dependency facilities to
bring in the other libraries.
By default GTK+ will disable explicit dependencies unless
it detects that they are needed on the system. (If you
specify <systemitem>--enable-static</systemitem> to force
building of static libraries, then explicit dependencies
will be written since library dependencies don't work
for static libraries.) Specifying
<systemitem>--enable-explicit-deps</systemitem> or
<systemitem>--enable-static</systemitem> can cause
compatibility
problems when libraries that GTK+ depends upon change
their versions, and should be avoided if possible.
If <systemitem>--enable-explicit-deps</systemitem> is
specified then GTK+ will write the full set of libraries
that GTK+ depends upon into its <literal>.pc</literal> files to be used when
programs depending on GTK+ are linked. Otherwise, GTK+
only will include the GTK+ libraries themselves, and
will depend on system library dependency facilities to
bring in the other libraries.
By default GTK+ will disable explicit dependencies unless
it detects that they are needed on the system. (If you
specify <systemitem>--enable-static</systemitem> to force
building of static libraries, then explicit dependencies
will be written since library dependencies don't work
for static libraries.) Specifying
<systemitem>--enable-explicit-deps</systemitem> or
<systemitem>--enable-static</systemitem> can cause
compatibility
problems when libraries that GTK+ depends upon change
their versions, and should be avoided if possible.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-shm</systemitem> and
<systemitem>--enable-shm</systemitem></title>
<para>
These options can be used to control whether GTK+ will use shared
These options can be used to control whether GTK+ will use shared
memory to communicate with the X server when possible.
The default is 'yes'.
</para>
@@ -488,44 +487,44 @@ How to compile GTK+ itself
<formalpara>
<title><systemitem>--disable-xim</systemitem> and
<systemitem>--enable-xim</systemitem></title>
<para>
These options can be used to control whether GTK+ will
These options can be used to control whether GTK+ will
be compiled with support for XIM. (The X Input Method
extension, used for Japanese input.) The default is yes.
extension, used for Japanese input.) The default is yes.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-xim-inst</systemitem> and
<systemitem>--enable-xim-inst</systemitem></title>
<para>
These options determine whether GTK+ will use the
XIM instantiate callback.
These options determine whether GTK+ will use the
XIM instantiate callback.
The default is 'yes', unless the host system is Solaris,
where <function>XRegisterIMInstantiateCallback()</function>
seems to cause a segfault.
where <function>XRegisterIMInstantiateCallback()</function>
seems to cause a segfault.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-xkb</systemitem> and
<systemitem>--enable-xkb</systemitem></title>
<para>
By default the <command>configure</command> script will try
to auto-detect whether the XKB extension is supported by
By default the <command>configure</command> script will try
to auto-detect whether the XKB extension is supported by
the X libraries GTK+ is linked with.
These options can be used to explicitly control whether
GTK+ will support the XKB extension.
GTK+ will support the XKB extension.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-xinerama</systemitem> and
<systemitem>--enable-xinerama</systemitem></title>
<para>
By default the <command>configure</command> script will try
to link against the Xinerama libraries if they are found.
@@ -535,29 +534,29 @@ How to compile GTK+ itself
</formalpara>
<formalpara>
<title><systemitem>--disable-gtk-doc</systemitem> and
<systemitem>--enable-gtk-doc</systemitem></title>
<title><systemitem>--disable-gtk-doc</systemitem> and
<systemitem>--enable-gtk-doc</systemitem></title>
<para>
The <application>gtk-doc</application> package is
used to generate the reference documentation included
with GTK+. By default support for <application>gtk-doc</application>
is disabled because it requires various extra dependencies
to be installed. If you have
<application>gtk-doc</application> installed and
are modifying GTK+, you may want to enable
<application>gtk-doc</application> support by passing
in <systemitem>--enable-gtk-doc</systemitem>. If not
enabled, pre-generated HTML files distributed with GTK+
will be installed.
</para>
<para>
The <application>gtk-doc</application> package is
used to generate the reference documentation included
with GTK+. By default support for <application>gtk-doc</application>
is disabled because it requires various extra dependencies
to be installed. If you have
<application>gtk-doc</application> installed and
are modifying GTK+, you may want to enable
<application>gtk-doc</application> support by passing
in <systemitem>--enable-gtk-doc</systemitem>. If not
enabled, pre-generated HTML files distributed with GTK+
will be installed.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-cups</systemitem> and
<systemitem>--enable-cups</systemitem></title>
<title><systemitem>--disable-cups</systemitem> and
<systemitem>--enable-cups</systemitem></title>
<para>
<para>
By default the <command>configure</command> script will try
to build the cups print backend if the cups libraries are found.
These options can be used to explicitly control whether
@@ -565,30 +564,41 @@ How to compile GTK+ itself
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-papi</systemitem> and
<systemitem>--enable-papi</systemitem></title>
<para>
By default the <command>configure</command> script will try
to build the papi print backend if the papi libraries are found.
These options can be used to explicitly control whether
the papi print backend should be built.
</para>
</formalpara>
<formalpara>
<title><systemitem>--with-xinput</systemitem></title>
<para>
Controls whether GTK+ is built with support for the XInput
extension. The XInput extension provides an interface
to extended input devices such as graphics tablets.
When this support is compiled in, specially written
GTK+ programs can get access to subpixel positions,
multiple simultaneous input devices, and extra "axes"
provided by the device such as pressure and tilt
information. This is only known to work well on XFree86
systems, though other systems do have this extension.
Controls whether GTK+ is built with support for the XInput
or XInput2 extension. These extensions provide an extended
interface to input devices such as graphics tablets.
When this support is compiled in, specially written
GTK+ programs can get access to subpixel positions,
multiple simultaneous input devices, and extra "axes"
provided by the device such as pressure and tilt
information.
</para>
</formalpara>
<formalpara>
<title><systemitem>--with-gdktarget</systemitem></title>
<title><systemitem>--with-gdktarget</systemitem></title>
<para>
Toggles between the supported backends for GDK.
<para>
Toggles between the supported backends for GDK.
The default is x11, unless the platform is Windows, in which
case the default is win32. Other supported backends are
case the default is win32. Other supported backends are
the quartz backend for OS X, and the DirectFB backend
for the Linux framebuffer.
</para>
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-introspection</systemitem></title>

View File

@@ -1,464 +0,0 @@
<?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-changes-1-2" revision="1 Jan 2002">
<refmeta>
<refentrytitle>Changes from 1.0 to 1.2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>Changes from 1.0 to 1.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Changes from 1.0 to 1.2</refname>
<refpurpose>
Incompatible changes made between version 1.0 and version 1.2
</refpurpose>
</refnamediv>
<refsect1>
<title>Incompatible changes from 1.0 to 1.2</title>
<itemizedlist>
<listitem>
<para>
<structname>GtkAcceleratorTable</structname> has been replaced with
<structname>GtkAccelGroup</structname>.
</para>
</listitem>
<listitem>
<para>
<structname>GtkMenuFactory</structname> has been replaced with
<structname>GtkItemFactory</structname>, although
a version of <structname>GtkMenuFactory</structname> is currently still
provided to ease the migration phase.
</para>
</listitem>
<listitem>
<para>
The <structname>GtkTypeInfo</structname> structures used in the
<function>gtk_*_type_init()</function> functions have
changed a bit, the old format:
<programlisting>
GtkTypeInfo bin_info =
{
"GtkBin",
sizeof (GtkBin),
sizeof (GtkBinClass),
(GtkClassInitFunc) gtk_bin_class_init,
(GtkObjectInitFunc) gtk_bin_init,
(GtkArgSetFunc) NULL,
(GtkArgGetFunc) NULL,
};
</programlisting>
needs to be converted to:
<programlisting>
static const GtkTypeInfo bin_info =
{
"GtkBin",
sizeof (GtkBin),
sizeof (GtkBinClass),
(GtkClassInitFunc) gtk_bin_class_init,
(GtkObjectInitFunc) gtk_bin_init,
/* reserved_1 */ NULL,
/* reserved_2 */ NULL,
(GtkClassInitFunc) NULL,
};
</programlisting>
the <function>GtkArgSetFunc</function> and <function>GtkArgGetFunc</function>
functions are not supported from the type system anymore, and you should make
sure that your code only fills in these fields with <literal>NULL</literal>
and doesn't use the deprecated function typedefs
<literal>(GtkArgSetFunc)</literal> and <literal>(GtkArgGetFunc)</literal>
anymore.
</para>
</listitem>
<listitem>
<para>
A number of GTK+ functions were renamed. For compatibility,
<filename>gtkcompat.h</filename> #define's the old 1.0.x function names in
terms of the new names. To assure your GTK+ program doesn't rely on outdated
function variants, compile your program with
<option>-DGTK_DISABLE_COMPAT_H</option> to disable
the compatibility aliases.
Here is the list of the old names and replacements:
<informaltable>
<tgroup cols="2">
<thead>
<row><entry>Old</entry><entry>Replacement</entry></row>
</thead>
<tbody>
<row><entry><function>gtk_accel_label_accelerator_width</function></entry><entry><function>gtk_accel_label_get_accel_width</function></entry></row>
<row><entry><function>gtk_check_menu_item_set_state</function></entry><entry><function>gtk_check_menu_item_set_active</function></entry></row>
<row><entry><function>gtk_container_border_width</function></entry><entry><function>gtk_container_set_border_width</function></entry></row>
<row><entry><function>gtk_label_set</function></entry><entry><function>gtk_label_set_text</function></entry></row>
<row><entry><function>gtk_notebook_current_page</function></entry><entry><function>gtk_notebook_get_current_page</function></entry></row>
<row><entry><function>gtk_packer_configure</function></entry><entry><function>gtk_packer_set_child_packing</function></entry></row>
<row><entry><function>gtk_paned_gutter_size</function></entry><entry><function>gtk_paned_set_gutter_size</function></entry></row>
<row><entry><function>gtk_paned_handle_size</function></entry><entry><function>gtk_paned_set_handle_size</function></entry></row>
<row><entry><function>gtk_scale_value_width</function></entry><entry><function>gtk_scale_get_value_width</function></entry></row>
<row><entry><function>gtk_style_apply_default_pixmap</function></entry><entry><function>gtk_style_apply_default_background</function></entry></row>
<row><entry><function>gtk_toggle_button_set_state</function></entry><entry><function>gtk_toggle_button_set_active</function></entry></row>
<row><entry><function>gtk_window_position</function></entry><entry><function>gtk_window_set_position</function></entry></row>
</tbody>
</tgroup>
</informaltable>
Note that <function>gtk_style_apply_default_background()</function> has an
additional argument, <literal>set_bg</literal>. This parameter should be
<literal>FALSE</literal> if the background is being set for a
<literal>NO_WINDOW</literal> widget, otherwise <literal>TRUE</literal>.
</para>
</listitem>
<listitem>
<para>
During the development phase of the 1.1.x line of GTK+ certain functions
were deprecated and later removed. Functions affected are:
<informaltable>
<tgroup cols="2">
<thead>
<row><entry>Removed</entry><entry>Replacement</entry></row>
</thead>
<tbody>
<row><entry><function>gtk_clist_set_border</function></entry><entry><function>gtk_clist_set_shadow_type</function></entry></row>
<row><entry><function>gtk_container_block_resize</function></entry><entry><function>gtk_container_set_resize_mode</function></entry></row>
<row><entry><function>gtk_container_unblock_resize</function></entry><entry><function>gtk_container_set_resize_mode</function></entry></row>
<row><entry><function>gtk_container_need_resize</function></entry><entry><function>gtk_container_check_resize</function></entry></row>
<row><entry><function>gtk_ctree_show_stub</function></entry><entry><function>gtk_ctree_set_show_stub</function></entry></row>
<row><entry><function>gtk_ctree_set_reorderable</function></entry><entry><function>gtk_clist_set_reorderable</function></entry></row>
<row><entry><function>gtk_ctree_set_use_drag_icons</function></entry><entry><function>gtk_clist_set_use_drag_icons</function></entry></row>
<row><entry><function>gtk_entry_adjust_scroll</function></entry><entry><function>-</function></entry></row>
<row><entry><function>gtk_object_class_add_user_signal</function></entry><entry><function>gtk_object_class_user_signal_new</function></entry></row>
<row><entry><function>gtk_preview_put_row</function></entry><entry><function>gtk_preview_put</function></entry></row>
<row><entry><function>gtk_progress_bar_construct</function></entry><entry><function>gtk_progress_set_adjustment</function></entry></row>
<row><entry><function>gtk_scrolled_window_construct</function></entry><entry><function>gtk_scrolled_window_set_{h|v}adjustment</function></entry></row>
<row><entry><function>gtk_spin_button_construct</function></entry><entry><function>gtk_spin_button_configure</function></entry></row>
<row><entry><function>gtk_widget_thaw_accelerators</function></entry><entry><function>gtk_widget_unlock_accelerators</function></entry></row>
<row><entry><function>gtk_widget_freeze_accelerators</function></entry><entry><function>gtk_widget_lock_accelerators</function></entry></row>
</tbody>
</tgroup>
</informaltable>
Note that <function>gtk_entry_adjust_scroll()</function> is no longer needed
as <structname>GtkEntry</structname> should automatically keep the scroll
adjusted properly.
</para>
</listitem>
<listitem>
<para>
Additionally, all <function>gtk_*_interp()</function> functions were removed.
<function>gtk_*_full()</function> versions were provided as of GTK+ 1.0 and
should be used instead.
</para>
</listitem>
<listitem>
<para>
<structname>GtkButton</structname> has been changed to derive from
<structname>GtkBin</structname>.
To access a button's child, use <literal>GTK_BIN (button)-&gt;child</literal>,
instead of the old <literal>GTK_BUTTON (button)-&gt;child</literal>.
</para>
</listitem>
<listitem>
<para>
The selection API has been slightly modified:
<function>gtk_selection_add_handler()</function> and
<function>gtk_selection_add_handler_full()</function>
have been removed. To supply the selection, one now registers
the targets one is interested in with:
<programlisting>
void gtk_selection_add_target (GtkWidget *widget,
GdkAtom selection,
GdkAtom target,
guint info);
</programlisting>
or:
<programlisting>
void gtk_selection_add_targets (GtkWidget *widget,
GdkAtom selection,
GtkTargetEntry *targets,
guint ntargets);
</programlisting>
When a request for a selection is received, the new "selection_get"
signal will be called:
<programlisting>
void "selection_get" (GtkWidget *widget,
GtkSelectionData *selection_data,
guint info,
guint time);
</programlisting>
A "time" parameter has also been added to the "selection_received"
signal.
<programlisting>
void "selection_received" (GtkWidget *widget,
GtkSelectionData *selection_data,
guint time);
</programlisting>
</para>
</listitem>
<listitem>
<para>
The old drag and drop API has been completely removed and replaced.
See the reference documentation for details on the new API.
</para>
</listitem>
<listitem>
<para>
Support for Themes has been added. In general, this does
not affect application code, however, a few new rules should
be observed:
<itemizedlist>
<listitem>
<para>To set a shape for a window, you must use
<function>gtk_widget_shape_combine_mask()</function> instead of
<function>gdk_window_shape_combine_mask()</function>, or the shape will be
reset when switching themes.
</para>
</listitem>
<listitem>
<para>It is no longer permissable to draw directly on an arbitrary
widget, or to set an arbitrary widget's background pixmap.
If you need to do that, use a <structname>GtkDrawingArea</structname> or
(for a toplevel) a <structname>GtkWindow</structname> where
<function>gtk_widget_set_app_paintable()</function>
has been called.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
The <structname>GtkScrolledWindow</structname> widget no longer creates a
<structname>GtkViewport</structname> automatically. Instead, it has been
generalized to accept any "self-scrolling" widget.
</para>
<para>
The self-scrolling widgets in the GTK+ core are
<structname>GtkViewport</structname>,
<structname>GtkCList</structname>, <structname>GtkCTree</structname>,
<structname>GtkText</structname>, and <structname>GtkLayout</structname>.
All of these widgets can be added to a scrolled window as normal children with
<function>gtk_container_add()</function> and scrollbars will be set up
automatically.
</para>
<para>
To add scrollbars to a non self-scrolling widget, (such as a
<structname>GtkList</structname>),
first add it to a viewport, then add the viewport to a scrolled window.
The scrolled window code provides a convenience function to do this:
<programlisting>
void gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrollwin,
GtkWidget *child);
</programlisting>
This does exactly what it says - it creates a viewport, adds the child
widget to it, then adds the viewport to the scrolled window.
</para>
<para>
The scrollbars have been removed from the <structname>GtkCList</structname>
and <structname>GtkCTree</structname>, because they are now scrolled by simply
adding them to a scrolled window. The scrollbar policy is set on the scrolled
window with <function>gtk_scrolled_window_set_policy()</function> and not on
the child widgets (e.g. <structname>GtkCList</structname>'s
<function>gtk_clist_set_policy()</function> was removed).
</para>
</listitem>
<listitem>
<para>
The "main loop" of GTK+ has been moved to GLib. This should not
affect existing programs, since compatibility functions have
been provided. However, you may want to consider migrating
your code to use the GLib main loop directly.
</para>
</listitem>
<listitem>
<para>
the <literal>GTK_BASIC</literal> flag was removed, and with it the corresponding
macro and function <function>GTK_WIDGET_BASIC()</function> and
<function>gtk_widget_basic()</function>.
</para>
</listitem>
<listitem>
<para>
All freeze/thaw methods are now recursive - that is, if you
freeze a widget n times, you must also thaw it n times.
Therefore, if you have code like:
<informalexample><programlisting>
gboolean frozen;
frozen = GTK_CLIST_FROZEN (clist);
gtk_clist_freeze (clist);
[...]
if (!frozen)
gtk_clist_thaw (clist);
</programlisting></informalexample>
it will not work anymore. It must be, simply:
<informalexample><programlisting>
gtk_clist_freeze (clist);
[...]
gtk_clist_thaw (clist);
</programlisting></informalexample>
</para>
</listitem>
<listitem>
<para>
The thread safety in GTK+ 1.2 is slightly different than
that which appeared in early versions in the 1.1
development track. The main difference is that it relies on
the thread primitives in GLib, and on the thread-safe
GLib main loop.
</para>
<para>
This means:
<itemizedlist>
<listitem>
<para>You must call <function>g_thread_init()</function> before
executing any other GTK+ or GDK functions in a threaded GTK+ program.
</para>
</listitem>
<listitem>
<para>Idles, timeouts, and input functions are executed outside
of the main GTK+ lock. So, if you need to call GTK+
inside of such a callback, you must surround the callback
with a <function>gdk_threads_enter()</function>/<function>gdk_threads_leave()</function>
pair.
</para>
<para>However, signals are still executed within the main
GTK+ lock.
</para>
<para>In particular, this means, if you are writing widgets
that might be used in threaded programs, you <emphasis>must</emphasis>
surround timeouts and idle functions in this matter.
</para>
<para>As always, you must also surround any calls to GTK+
not made within a signal handler with a
<function>gdk_threads_enter()</function>/<function>gdk_threads_leave()</function>
pair.
</para>
</listitem>
<listitem>
<para>There is no longer a special <option>--with-threads</option>
<command>configure</command> option for GTK+. To use threads in a GTK+
program, you must:
<orderedlist>
<listitem>
<para>If you want to use the native thread implementation,
make sure GLib found this in configuration, otherwise,
call you must provide a thread implementation to
<function>g_thread_init()</function>.
</para>
</listitem>
<listitem>
<para>Link with the libraries returned by
<command>gtk-config --libs gthread</command>
and use the cflags from
<command>gtk-config --cflags gthread</command>.
You can get these <envar>CFLAGS</envar> and <envar>LIBS</envar> by
passing <literal>gthread</literal> as the fourth parameter to the
<literal>AM_PATH_GTK</literal> <application>automake</application>
macro.
</para>
</listitem>
</orderedlist>
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
Prior to GTK+ 1.2, there were two conflicting interpretations
of <literal>widget->requisition</literal>. It was either taken to be
the size that the widget requested, or that size modified by calls to
<function>gtk_widget_set_usize()</function>. In GTK+ 1.2,
it is always interpreted the first way.
</para>
<para>
Container widgets are affected in two ways by this:
<orderedlist>
<listitem>
<para>Container widgets should not pass
<literal>widget->requisition</literal> as the second parameter to
<function>gtk_widget_size_request()</function>.
Instead they should call it like:
<programlisting>
GtkRequisition child_requisition;
gtk_widget_size_request (widget, &amp;child_requisition);
</programlisting>
</para>
</listitem>
<listitem>
<para>Container widgets should not access
<literal>child->requisition</literal> directly. Either they should use
the values returned by <function>gtk_widget_size_request()</function>,
or they should call the new function:
<programlisting>
void gtk_widget_get_child_requisition (GtkWidget *widget,
GtkRequisition *requisition);
</programlisting>
which returns the requisition of the given widget, modified
by calls to <function>gtk_widget_set_usize()</function>.
</para>
</listitem>
</orderedlist>
</para>
</listitem>
</itemizedlist>
</refsect1>
</refentry>

File diff suppressed because it is too large Load Diff

View File

@@ -20,51 +20,58 @@ How to compile your GTK+ application
<title>Compiling GTK+ Applications on UNIX</title>
<para>
To compile a GTK+ application, you need to tell the compiler where to
To compile a GTK+ application, you need to tell the compiler where to
find the GTK+ header files and libraries. This is done with the
<literal>pkg-config</literal> utility.
</para>
<para>
The following interactive shell session demonstrates how
<literal>pkg-config</literal> is used (the actual output on
<literal>pkg-config</literal> is used (the actual output on
your system may be different):
<programlisting>
$ pkg-config --cflags gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/atk-1.0
$ pkg-config --libs gtk+-2.0
-L/usr/lib -L/usr/X11R6/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lXi -lgdk_pixbuf-2.0 -lm -lpangox -lpangoxft -lXft -lXrender -lXext -lX11 -lfreetype -lpango -latk -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
$ pkg-config --cflags gtk+-3.0
-pthread -I/usr/include/gtk-3.0 -I/usr/lib64/gtk-3.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
$ pkg-config --libs gtk+-3.0
-pthread -lgtk-x11-3.0 -lgdk-x11-3.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-3.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
</programlisting>
</para>
<para>
The simplest way to compile a program is to use the "backticks"
feature of the shell. If you enclose a command in backticks
(<emphasis>not single quotes</emphasis>), then its output will be
substituted into the command line before execution. So to compile
substituted into the command line before execution. So to compile
a GTK+ Hello, World, you would type the following:
<programlisting>
$ cc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello
$ cc `pkg-config --cflags --libs gtk+-3.0` hello.c -o hello
</programlisting>
</para>
<para>
If you want to make sure that your program doesn't use any deprecated
If you want to make sure that your program doesn't use any deprecated
functions, you can define the preprocessor symbol GTK_DISABLE_DEPRECATED
by using the command line option <literal>-DGTK_DISABLE_DEPRECATED=1</literal>.
There are similar symbols GDK_DISABLE_DEPRECATED,
There are similar symbols GDK_DISABLE_DEPRECATED,
GDK_PIXBUF_DISABLE_DEPRECATED and G_DISABLE_DEPRECATED for GDK, GdkPixbuf and
GLib.
GLib.
</para>
<para>
If you want to make sure that your program doesn't use any functions which
If you want to make sure that your program doesn't use any functions which
may be problematic in a multihead setting, you can define the preprocessor
symbol GDK_MULTIHEAD_SAFE by using the command line option
symbol GDK_MULTIHEAD_SAFE by using the command line option
<literal>-DGTK_MULTIHEAD_SAFE=1</literal>.
</para>
<para>
Similarly, if you want to make sure that your program doesn't use any
functions which may be problematic in a multidevice setting, you can
define the preprocessor symbol GDK_MULTIDEVICE_SAFE by using the command
line option <literal>-DGTK_MULTIDEVICE_SAFE=1</literal>.
</para>
<para>
The recommended way of using GTK+ has always been to only include the
toplevel headers <filename>gtk.h</filename>, <filename>gdk.h</filename>,
toplevel headers <filename>gtk.h</filename>, <filename>gdk.h</filename>,
<filename>gdk-pixbuf.h</filename>.
If you want to make sure that your program follows this recommended
practise, you can define the preprocessor symbols GTK_DISABLE_SINGLE_INCLUDES

View File

@@ -232,7 +232,7 @@
<para>
Widgets that don't own the GdkWindow on which they draw are
called <glossterm linkend="no-window">no-window widgets</glossterm>.
This can be tested with the GTK_WIDGET_NO_WINDOW() macro. Normally,
This can be tested with the gtk_widget_get_has_window() function. Normally,
these widgets draw on their parent's GdkWindow.
</para>

View File

@@ -1,18 +1,18 @@
<refentry id="gtk-builder-convert">
<refmeta>
<refentrytitle>gtk-builder-convert</refentrytitle>
<refentrytitle>gtk-builder-convert-3.0</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gtk-builder-convert</refname>
<refname>gtk-builder-convert-3.0</refname>
<refpurpose>Glade file conversion utility</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gtk-builder-convert</command>
<command>gtk-builder-convert-3.0</command>
<arg choice="opt">--skip-windows</arg>
<arg choice="opt">--root <replaceable>name</replaceable></arg>
<arg choice="req">input</arg>
@@ -21,7 +21,7 @@
</refsynopsisdiv>
<refsect1><title>Description</title>
<para><command>gtk-builder-convert</command> converts glade files
<para><command>gtk-builder-convert-3.0</command> converts glade files
into XML files which can be loaded with GtkBuilder.
</para>
<para>

View File

@@ -41,11 +41,33 @@ string utilities, file utilities, a main loop abstraction, and so on.
</para></listitem>
</varlistentry>
<varlistentry>
<term>GObject</term>
<listitem><para>A library that provides a type system, a collection of
fundamental types including an object type, a signal system.
</para></listitem>
</varlistentry>
<varlistentry>
<term>GIO</term>
<listitem><para>A modern, easy-to-use VFS API including abstractions for
files, drives, volumes, stream IO, as well as network programming and
DBus communication.
</para></listitem>
</varlistentry>
<varlistentry>
<term>cairo</term>
<listitem><para>Cairo is a 2D graphics library with support for multiple
output devices.
</para></listitem>
</varlistentry>
<varlistentry>
<term>Pango</term>
<listitem><para>
Pango is a library for internationalized text handling. It centers
around the #PangoLayout object, representing a paragraph of text.
around the #PangoLayout object, representing a paragraph of text.
Pango provides the engine for #GtkTextView, #GtkLabel, #GtkEntry, and
other widgets that display text.
</para></listitem>
@@ -67,7 +89,7 @@ framework.
<term>GdkPixbuf</term>
<listitem><para>
This is a small library which allows you to create #GdkPixbuf
("pixel buffer") objects from image data or image files.
("pixel buffer") objects from image data or image files.
Use a #GdkPixbuf in combination with #GtkImage to display images.
</para></listitem>
</varlistentry>
@@ -84,7 +106,7 @@ on X11, Windows, and the Linux framebuffer device.
<varlistentry>
<term>GTK+</term>
<listitem><para>
The GTK+ library itself contains <firstterm>widgets</firstterm>,
The GTK+ library itself contains <firstterm>widgets</firstterm>,
that is, GUI components such as #GtkButton or #GtkTextView.
</para></listitem>
</varlistentry>
@@ -122,7 +144,6 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkstyle.xml" />
<xi:include href="xml/gtkselection.xml" />
<xi:include href="xml/gtkfeatures.xml" />
<xi:include href="xml/gtksignal.xml" />
<xi:include href="xml/gtktypeutils.xml" />
<xi:include href="xml/gtktesting.xml" />
<xi:include href="xml/filesystem.xml" />
@@ -181,6 +202,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkentry.xml" />
<xi:include href="xml/gtkentrybuffer.xml" />
<xi:include href="xml/gtkentrycompletion.xml" />
<xi:include href="xml/gtkscale.xml" />
<xi:include href="xml/gtkhscale.xml" />
<xi:include href="xml/gtkvscale.xml" />
<xi:include href="xml/gtkspinbutton.xml" />
@@ -275,18 +297,20 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkfontbutton.xml" />
<xi:include href="xml/gtkfontsel.xml" />
<xi:include href="xml/gtkfontseldlg.xml" />
<xi:include href="xml/gtkinputdialog.xml" />
</chapter>
<chapter id="LayoutContainers">
<title>Layout Containers</title>
<xi:include href="xml/gtkalignment.xml" />
<xi:include href="xml/gtkaspectframe.xml" />
<xi:include href="xml/gtkbox.xml" />
<xi:include href="xml/gtkhbox.xml" />
<xi:include href="xml/gtkvbox.xml" />
<xi:include href="xml/gtkbbox.xml" />
<xi:include href="xml/gtkhbbox.xml" />
<xi:include href="xml/gtkvbbox.xml" />
<xi:include href="xml/gtkfixed.xml" />
<xi:include href="xml/gtkpaned.xml" />
<xi:include href="xml/gtkhpaned.xml" />
<xi:include href="xml/gtkvpaned.xml" />
<xi:include href="xml/gtklayout.xml" />
@@ -294,17 +318,20 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtktable.xml" />
<xi:include href="xml/gtkexpander.xml" />
<xi:include href="xml/gtkorientable.xml" />
<xi:include href="xml/gtkextendedlayout.xml" />
</chapter>
<chapter id="Ornaments">
<title>Ornaments</title>
<xi:include href="xml/gtkframe.xml" />
<xi:include href="xml/gtkseparator.xml" />
<xi:include href="xml/gtkhseparator.xml" />
<xi:include href="xml/gtkvseparator.xml" />
</chapter>
<chapter id="ScrollingWidgets">
<title>Scrolling</title>
<xi:include href="xml/gtkscrollbar.xml" />
<xi:include href="xml/gtkhscrollbar.xml" />
<xi:include href="xml/gtkvscrollbar.xml" />
<xi:include href="xml/gtkscrolledwindow.xml" />
@@ -342,18 +369,12 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<chapter id="AbstractObjects">
<title>Abstract Base Classes</title>
<xi:include href="xml/gtkbin.xml" />
<xi:include href="xml/gtkbox.xml" />
<xi:include href="xml/gtkbbox.xml" />
<xi:include href="xml/gtkcontainer.xml" />
<xi:include href="xml/gtkitem.xml" />
<xi:include href="xml/gtkmenushell.xml" />
<xi:include href="xml/gtkmisc.xml" />
<xi:include href="xml/gtkobject.xml" />
<xi:include href="xml/gtkpaned.xml" />
<xi:include href="xml/gtkrange.xml" />
<xi:include href="xml/gtkscale.xml" />
<xi:include href="xml/gtkscrollbar.xml" />
<xi:include href="xml/gtkseparator.xml" />
<xi:include href="xml/gtkwidget.xml" />
<xi:include href="xml/gtkimcontext.xml" />
</chapter>
@@ -366,8 +387,6 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<chapter id="SpecialObjects">
<title>Special-purpose features</title>
<xi:include href="xml/gtkcurve.xml" />
<xi:include href="xml/gtkgamma.xml" />
<xi:include href="xml/gtkruler.xml" />
<xi:include href="xml/gtkhruler.xml" />
<xi:include href="xml/gtkvruler.xml" />
@@ -389,25 +408,9 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkbuilder.xml" />
</chapter>
<chapter id="DeprecatedObjects">
<title>Deprecated</title>
<xi:include href="xml/gtkclist.xml" />
<xi:include href="xml/gtkctree.xml" />
<xi:include href="xml/gtkcombo.xml" />
<xi:include href="xml/gtkfilesel.xml" />
<xi:include href="xml/gtkitemfactory.xml" />
<xi:include href="xml/gtklist.xml" />
<xi:include href="xml/gtklistitem.xml" />
<xi:include href="xml/gtkoldeditable.xml" />
<xi:include href="xml/gtkoptionmenu.xml" />
<xi:include href="xml/gtkpixmap.xml" />
<xi:include href="xml/gtkpreview.xml" />
<xi:include href="xml/gtkprogress.xml" />
<xi:include href="xml/gtktext.xml" />
<xi:include href="xml/gtktooltips.xml" />
<xi:include href="xml/gtktipsquery.xml" />
<xi:include href="xml/gtktree.xml" />
<xi:include href="xml/gtktreeitem.xml" />
<chapter id="Application">
<title>Application support</title>
<xi:include href="xml/gtkapplication.xml" />
</chapter>
</part>
@@ -416,8 +419,8 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<partintro>
<para>
This part describes what you need to change in programs use
older versions of GTK+ so that they can use the new features.
This part describes what you need to change in programs use
older versions of GTK+ so that they can use the new features.
It also mentions how to convert applications using widgets
found in the libgnomeui library to use their counterparts
in GTK+.
@@ -425,29 +428,14 @@ that is, GUI components such as #GtkButton or #GtkTextView.
</partintro>
<xi:include href="xml/migrating-checklist.sgml" />
<xi:include href="changes-1.2.sgml" />
<xi:include href="changes-2.0.sgml" />
<xi:include href="xml/migrating-GtkFileChooser.sgml" />
<xi:include href="xml/migrating-GtkAction.sgml" />
<xi:include href="xml/migrating-GtkComboBox.sgml" />
<xi:include href="xml/migrating-GtkIconView.sgml" />
<xi:include href="xml/migrating-GtkAboutDialog.sgml" />
<xi:include href="xml/migrating-GtkColorButton.sgml" />
<xi:include href="xml/migrating-GtkAssistant.sgml" />
<xi:include href="xml/migrating-GtkRecentChooser.sgml" />
<xi:include href="xml/migrating-GtkLinkButton.sgml" />
<xi:include href="xml/migrating-GtkBuilder.sgml" />
<xi:include href="xml/migrating-GtkTooltip.sgml" />
<xi:include href="xml/migrating-GtkEntry-icons.sgml" />
<xi:include href="xml/migrating-GtkLabel-links.sgml" />
<xi:include href="xml/migrating-ClientSideWindows.sgml" />
<xi:include href="migrating-2to3.xml" />
</part>
<part>
<title>GTK+ Tools</title>
<xi:include href="gtk-query-immodules-2.0.xml" />
<xi:include href="gtk-update-icon-cache.xml" />
<xi:include href="gtk-builder-convert.xml" />
<xi:include href="gtk-query-immodules-3.0.xml" />
<xi:include href="gtk-update-icon-cache-3.0.xml" />
<xi:include href="gtk-builder-convert-3.0.xml" />
</part>
<xi:include href="glossary.xml" />
@@ -460,45 +448,9 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-2" role="2.2">
<title>Index of new symbols in 2.2</title>
<xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-4" role="2.4">
<title>Index of new symbols in 2.4</title>
<xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-6" role="2.6">
<title>Index of new symbols in 2.6</title>
<xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-8" role="2.8">
<title>Index of new symbols in 2.8</title>
<xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-10" role="2.10">
<title>Index of new symbols in 2.10</title>
<xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-12" role="2.12">
<title>Index of new symbols in 2.12</title>
<xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-14" role="2.14">
<title>Index of new symbols in 2.14</title>
<xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-16" role="2.16">
<title>Index of new symbols in 2.16</title>
<xi:include href="xml/api-index-2.16.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-18" role="2.18">
<title>Index of new symbols in 2.18</title>
<xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-20" role="2.20">
<title>Index of new symbols in 2.20</title>
<xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include>
<index id="api-index-3-0" role="3.0">
<title>Index of new symbols in 3.0</title>
<xi:include href="xml/api-index-3.0.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>

View File

@@ -1,15 +0,0 @@
# These are manually-edited to override or add declarations to those scanned
# from the GTK header files.
# GtkAllocation is the same as GtkRectangle
<STRUCT>
<NAME>GtkAllocation</NAME>
struct GtkAllocation
{
gint x;
gint y;
gint width;
gint height;
};
</STRUCT>

View File

@@ -1,54 +0,0 @@
<?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-query-immodules-2.0">
<refmeta>
<refentrytitle>gtk-query-immodules-2.0</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gtk-query-immodules-2.0</refname>
<refpurpose>Input method module registration utility</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gtk-query-immodules-2.0</command>
<arg choice="opt" rep="repeat">module</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<command>gtk-query-immodules-2.0</command> collects information about loadable
input method modules for GTK+ and writes it to <filename>stdout</filename>.
</para>
<para>
If called without arguments, it looks for modules in the GTK+ input method
module path.
</para>
<para>
If called with arguments, it looks for the specified modules. The arguments
may be absolute or relative paths.
</para>
</refsect1>
<refsect1><title>Environment</title>
<para>
The environment variable <link linkend="GTK_PATH"><envar>GTK_PATH</envar></link> can
be used to prepend directories to the input method module path.
</para>
</refsect1>
<refsect1><title>Bugs</title>
<para>
None known yet.
</para>
</refsect1>
</refentry>

View File

@@ -0,0 +1,72 @@
<?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-query-immodules">
<refmeta>
<refentrytitle>gtk-query-immodules-3.0</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gtk-query-immodules-3.0</refname>
<refpurpose>Input method module registration utility</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gtk-query-immodules-3.0</command>
<arg choice="opt">--update-cache</arg>
<arg choice="opt" rep="repeat">module</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<command>gtk-query-immodules-3.0</command> collects information about loadable
input method modules for GTK+ and writes it to the default cache file
location, or to <filename>stdout</filename>.
</para>
<para>
If called without arguments, it looks for modules in the GTK+ input method
module path.
</para>
<para>
If called with arguments, it looks for the specified modules. The arguments
may be absolute or relative paths.
</para>
<para>
Normally, the output of <command>gtk-query-immodules-3.0</command> is written
to <filename><replaceable>libdir</replaceable>gtk-3.0/3.0.0/immodules.cache</filename>, where GTK+ looks for it by default. If it is written to some other
location, the environment variable <link linkend="GTK_IM_MODULE_FILE"><envar>GTK_IM_MODULE_FILE</envar></link>
can be set to point GTK+ at the file.
</para>
</refsect1>
<refsect1><title>Options</title>
<variablelist>
<varlistentry>
<term>--update-cache</term>
<listitem><para>Write the output to the default cache location instead of
<filename>stdout</filename></para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1><title>Environment</title>
<para>
The environment variable <link linkend="GTK_PATH"><envar>GTK_PATH</envar></link>
can be used to prepend directories to the input method module path.
</para>
</refsect1>
<refsect1><title>Bugs</title>
<para>
None known yet.
</para>
</refsect1>
</refentry>

View File

@@ -5,18 +5,18 @@
<refentry id="gtk-update-icon-cache">
<refmeta>
<refentrytitle>gtk-update-icon-cache</refentrytitle>
<refentrytitle>gtk-update-icon-cache-3.0</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gtk-update-icon-cache</refname>
<refname>gtk-update-icon-cache-3.0</refname>
<refpurpose>Icon theme caching utility</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gtk-update-icon-cache</command>
<command>gtk-update-icon-cache-3.0</command>
<arg choice="opt">--force</arg>
<arg choice="opt">--ignore-theme-index</arg>
<arg choice="opt">--index-only</arg>
@@ -28,20 +28,22 @@
</refsynopsisdiv>
<refsect1><title>Description</title>
<para><command>gtk-update-icon-cache</command> creates mmap()able cache files for
icon themes.
<para>
<command>gtk-update-icon-cache-3.0</command> creates mmap()able cache
files for icon themes.
</para>
<para>
It expects to be given the path to a icon theme directory containing an
<filename>index.theme</filename>, e.g. <filename>/usr/share/icons/hicolor</filename>,
and writes a <filename>icon-theme.cache</filename> containing cached information
about the icons in the directory tree below the given directory.
It expects to be given the path to a icon theme directory containing an
<filename>index.theme</filename>, e.g. <filename>/usr/share/icons/hicolor</filename>,
and writes a <filename>icon-theme.cache</filename> containing cached
information about the icons in the directory tree below the given directory.
</para>
<para>
GTK+ can use the cache files created by <command>gtk-update-icon-cache</command>
to avoid a lot of system call and disk seek overhead when the application starts.
Since the format of the cache files allows them to be mmap()ed shared between
multiple applications, the overall memory consumption is reduced as well.
GTK+ can use the cache files created by <command>gtk-update-icon-cache-3.0</command>
to avoid a lot of system call and disk seek overhead when the application
starts. Since the format of the cache files allows them to be mmap()ed
shared between multiple applications, the overall memory consumption is
reduced as well.
</para>
</refsect1>
@@ -50,17 +52,17 @@ multiple applications, the overall memory consumption is reduced as well.
<varlistentry>
<term>--force</term>
<term>-f</term>
<listitem><para>Overwrite an existing cache file even if it appears to be
<listitem><para>Overwrite an existing cache file even if it appears to be
uptodate.</para></listitem>
</varlistentry>
<varlistentry>
<term>--ignore-theme-index</term>
<term>-t</term>
<listitem><para>Don't check for the existence of 'index.theme' in the icon theme
directory. Without this option, <command>gtk-update-icon-cache</command> refuses
to create an icon cache in a directory which does not appear to be the toplevel
directory of an icon theme.
<listitem><para>Don't check for the existence of 'index.theme' in the icon
theme directory. Without this option, <command>gtk-update-icon-cache-3.0</command>
refuses to create an icon cache in a directory which does not appear to
be the toplevel directory of an icon theme.
</para></listitem>
</varlistentry>
@@ -74,15 +76,15 @@ multiple applications, the overall memory consumption is reduced as well.
<varlistentry>
<term>--source</term>
<term>-c</term>
<listitem><para>Output a C header file declaring a constant
<replaceable>name</replaceable> with the contents of the icon
<listitem><para>Output a C header file declaring a constant
<replaceable>name</replaceable> with the contents of the icon
cache.</para></listitem>
</varlistentry>
<varlistentry>
<term>--quiet</term>
<term>-q</term>
<listitem><para>Turn off verbose output.
<listitem><para>Turn off verbose output.
</para></listitem>
</varlistentry>

View File

@@ -11,6 +11,7 @@ gtk_action_group_get_type
gtk_activatable_get_type
gtk_adjustment_get_type
gtk_alignment_get_type
gtk_application_get_type
gtk_arrow_get_type
gtk_aspect_frame_get_type
gtk_assistant_get_type
@@ -36,16 +37,12 @@ gtk_cell_view_get_type
gtk_check_button_get_type
gtk_check_menu_item_get_type
gtk_clipboard_get_type
gtk_clist_get_type
gtk_color_button_get_type
gtk_color_selection_dialog_get_type
gtk_color_selection_get_type
gtk_combo_box_entry_get_type
gtk_combo_box_get_type
gtk_combo_get_type
gtk_container_get_type
gtk_ctree_get_type
gtk_curve_get_type
gtk_dialog_get_type
gtk_drawing_area_get_type
gtk_editable_get_type
@@ -54,18 +51,17 @@ gtk_entry_completion_get_type
gtk_entry_get_type
gtk_event_box_get_type
gtk_expander_get_type
gtk_extended_layout_get_type
gtk_file_chooser_button_get_type
gtk_file_chooser_dialog_get_type
gtk_file_chooser_get_type
gtk_file_chooser_widget_get_type
gtk_file_filter_get_type
gtk_file_selection_get_type
gtk_fixed_get_type
gtk_font_button_get_type
gtk_font_selection_dialog_get_type
gtk_font_selection_get_type
gtk_frame_get_type
gtk_gamma_curve_get_type
gtk_handle_box_get_type
gtk_hbox_get_type
gtk_hbutton_box_get_type
@@ -84,15 +80,11 @@ gtk_im_context_get_type
gtk_im_context_simple_get_type
gtk_im_multicontext_get_type
gtk_info_bar_get_type
gtk_input_dialog_get_type
gtk_invisible_get_type
gtk_item_factory_get_type
gtk_item_get_type
gtk_label_get_type
gtk_layout_get_type
gtk_link_button_get_type
gtk_list_get_type
gtk_list_item_get_type
gtk_list_store_get_type
gtk_menu_bar_get_type
gtk_menu_get_type
@@ -105,16 +97,12 @@ gtk_mount_operation_get_type
gtk_notebook_get_type
gtk_object_get_type
gtk_offscreen_window_get_type
gtk_old_editable_get_type
gtk_option_menu_get_type
gtk_orientable_get_type
gtk_page_setup_get_type
gtk_page_setup_unix_dialog_get_type
gtk_paned_get_type
gtk_paper_size_get_type
gtk_pixmap_get_type
gtk_plug_get_type
gtk_preview_get_type
gtk_printer_get_type
gtk_print_context_get_type
gtk_print_job_get_type
@@ -156,13 +144,11 @@ gtk_table_get_type
gtk_tearoff_menu_item_get_type
gtk_text_buffer_get_type
gtk_text_child_anchor_get_type
gtk_text_get_type
gtk_text_iter_get_type
gtk_text_mark_get_type
gtk_text_tag_get_type
gtk_text_tag_table_get_type
gtk_text_view_get_type
gtk_tips_query_get_type
gtk_toggle_action_get_type
gtk_toggle_button_get_type
gtk_toggle_tool_button_get_type
@@ -171,11 +157,8 @@ gtk_tool_button_get_type
gtk_tool_item_get_type
gtk_tool_item_group_get_type
gtk_tool_palette_get_type
gtk_tooltips_get_type
gtk_tree_drag_dest_get_type
gtk_tree_drag_source_get_type
gtk_tree_get_type
gtk_tree_item_get_type
gtk_tree_model_filter_get_type
gtk_tree_model_get_type
gtk_tree_model_sort_get_type

View File

@@ -0,0 +1,80 @@
<?xml version="1.0"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<chapter id="gtk-migrating-2-to-3">
<title>Migrating from GTK+ 2.x to GTK+ 3</title>
<para>
There are a number of steps that you can take to prepare your GTK+ 2.x
application for the switch to GTK+ 3.
</para>
<section>
<title>Only single includes</title>
<para>
Make sure your program only include the toplevel headers:
<programlisting>
make CFLAGS+="-DG_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
</programlisting>
</para>
</section>
<section>
<title>Do not use deprecated symbols</title>
<para>
Make sure your program doesn't use any functions that have been
deprecated in GTK+ 2.x:
<programlisting>
make CFLAGS+="-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
</programlisting>
</para>
</section>
<section>
<title>Use accessor functions instead direct access</title>
<para>
GTK+ 3 removes many implementation details and struct members from
its public headers. To ensure that your application does not have problems
with this, you define the preprocessor symbol GSEAL_ENABLE. This will
make the compiler catch all uses of direct access to struct fields so that
you can go through them one by one and replace them with a call to an
accessor function instead.
<programlisting>
make CFLAGS+="-DGSEAL_ENABLE"
</programlisting>
</para>
</section>
<section>
<title>GTK+ Modules</title>
<para>
Some software packages install loadable GTK+ modules such as theme engines,
gdk-pixbuf loaders or input methods. Since GTK+ 3 is parallel-installable
with GTK+ 2.x, the two GTK+ versions have separate locations for their
loadable modules. The location for GTK+ 2.x is
<filename><replaceable>libdir</replaceable>/gtk-2.0</filename>
(and its subdirectories), for GTK+ 3 the location is
<filename><replaceable>libdir</replaceable>/gtk-3.0</filename>
(and its subdirectories).
</para>
<para>
For some kinds of modules, namely input methods and pixbuf loaders,
GTK+ keeps a cache file with extra information about the modules.
For GTK+ 2.x, these cache files are located in
<filename><replaceable>sysconfdir</replaceable>/gtk-2.0</filename>.
For GTK+ 3, they have been moved to
<filename><replaceable>libdir</replaceable>/gtk-3.0/3.0.0/</filename>.
The commands that create these cache files have been renamed with a -3
suffix to make them parallel-installable.
</para>
<para>
Note that GTK+ modules often link against libgtk, libgdk-pixbuf, etc.
If that is the case for your module, you have to be careful to link the
GTK+ 2.x version of your module against the 2.x version of the libraries,
and the GTK+ 3 version against hte 3.x versions. Loading a module linked
against libgtk 2.x into an application using GTK+ 3 will lead to
unhappiness and must be avoided.
</para>
</section>
</chapter>

View File

@@ -19,15 +19,15 @@
<formalpara>
<title>Why</title>
<para>
By handling this signal, you let widgets have
context-sensitive menus that can be invoked with the standard
key bindings.
By handling this signal, you let widgets have
context-sensitive menus that can be invoked with the standard
key bindings.
</para>
</formalpara>
<para>
The #GtkWidget::popup-menu signal instructs the widget for which
it is emitted to create a context-sensitive popup menu. By default,
The #GtkWidget::popup-menu signal instructs the widget for which
it is emitted to create a context-sensitive popup menu. By default,
the <link linkend="gtk-bindings">key binding mechanism</link> is set to
emit this signal when the
<keycombo><keycap>Shift</keycap><keycap>F10</keycap></keycombo>
@@ -39,14 +39,14 @@
<orderedlist>
<listitem>
<para>
Write a function to create and show a popup menu. This
function needs to know the button number and the event's
time to pass them to gtk_menu_popup(). You can implement
such a function like this:
</para>
<para>
Write a function to create and show a popup menu. This
function needs to know the button number and the event's
time to pass them to gtk_menu_popup(). You can implement
such a function like this:
</para>
<programlisting id="do_popup_menu">
<programlisting id="do_popup_menu">
static void
do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
{
@@ -54,7 +54,7 @@ do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
int button, event_time;
menu = gtk_menu_new (<!-- -->);
g_signal_connect (menu, "deactivate",
g_signal_connect (menu, "deactivate",
G_CALLBACK (gtk_widget_destroy), NULL);
/* ... add menu items ... */
@@ -71,19 +71,19 @@ do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
}
gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL);
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
button, event_time);
}
</programlisting>
</programlisting>
</listitem>
<listitem>
<para>
In your #GtkWidget::button-press-event handler, call this function
<para>
In your #GtkWidget::button-press-event handler, call this function
when you need to pop up a menu:
</para>
</para>
<programlisting>
<programlisting>
static gboolean
my_widget_button_press_event_handler (GtkWidget *widget, GdkEventButton *event)
{
@@ -96,52 +96,52 @@ my_widget_button_press_event_handler (GtkWidget *widget, GdkEventButton *event)
return FALSE;
}
</programlisting>
</programlisting>
</listitem>
<listitem>
<para>
Implement a handler for the #GtkWidget::popup-menu signal:
</para>
<para>
Implement a handler for the #GtkWidget::popup-menu signal:
</para>
<programlisting>
<programlisting>
static gboolean
my_widget_popup_menu_handler (GtkWidget *widget)
{
do_popup_menu (widget, NULL);
return TRUE;
}
</programlisting>
</programlisting>
</listitem>
</orderedlist>
<note>
<para>
If you do not pass a positioning function to gtk_menu_popup(),
it will show the menu at the mouse position by default. This
is what you usually want when the menu is shown as a result of
pressing a mouse button. However, if you press the
<keycombo><keycap>Shift</keycap><keycap>F10</keycap></keycombo>
or <keycap>Menu</keycap> keys while the widget is focused, the
mouse cursor may not be near the widget at all. In the <link
linkend="do_popup_menu">example above</link>, you may want to
provide your own <link
linkend="GtkMenuPositionFunc">menu-positioning function</link>
in the case where the <parameter>event</parameter> is
%NULL. This function should compute the desired position for
a menu when it is invoked through the keyboard. For example,
#GtkEntry aligns the top edge of its popup menu with the bottom
If you do not pass a positioning function to gtk_menu_popup(),
it will show the menu at the mouse position by default. This
is what you usually want when the menu is shown as a result of
pressing a mouse button. However, if you press the
<keycombo><keycap>Shift</keycap><keycap>F10</keycap></keycombo>
or <keycap>Menu</keycap> keys while the widget is focused, the
mouse cursor may not be near the widget at all. In the <link
linkend="do_popup_menu">example above</link>, you may want to
provide your own <link
linkend="GtkMenuPositionFunc">menu-positioning function</link>
in the case where the <parameter>event</parameter> is
%NULL. This function should compute the desired position for
a menu when it is invoked through the keyboard. For example,
#GtkEntry aligns the top edge of its popup menu with the bottom
edge of the entry.
</para>
</note>
<note>
<para>
For the standard key bindings to work, your widget must be
able to take the keyboard focus. In general, widgets should
be fully usable through the keyboard and not just the mouse.
The very first step of this is to ensure that your widget
turns on the %GTK_CAN_FOCUS <link linkend="gtkwidgetflags">flag</link>.
For the standard key bindings to work, your widget must be
able to take the keyboard focus. In general, widgets should
be fully usable through the keyboard and not just the mouse.
The very first step of this is to ensure that your widget
turns on the %GTK_CAN_FOCUS <link linkend="gtkwidgetflags">flag</link>.
</para>
</note>
</section>
@@ -152,23 +152,21 @@ my_widget_popup_menu_handler (GtkWidget *widget)
<formalpara>
<title>Why</title>
<para>
The <structfield>region</structfield> field of
<structname>GdkEventExpose</structname> allows you to redraw
less than the traditional
<structfield>GdkEventRegion.area</structfield>.
The <structfield>region</structfield> field of
<structname>GdkEventExpose</structname> allows you to redraw
less than the traditional <structfield>GdkEventRegion.area</structfield>.
</para>
</formalpara>
<para>
In GTK+ 1.x, the <structname>GdkEventExpose</structname>
In early GTK+ versions, the <structname>GdkEventExpose</structname>
structure only had an <structfield>area</structfield> field to
let you determine the region that you needed to redraw. In GTK+
2.x, this field exists for compatibility and as a simple
interface. However, there is also a
<structfield>region</structfield> field which contains a
fine-grained region. The <structfield>area</structfield> field
is simply the bounding rectangle of the
<structfield>region</structfield>.
let you determine the region that you needed to redraw. In current
GTK+, this field still exists for compatibility and as a simple
interface. However, there is also a <structfield>region</structfield>
field which contains a fine-grained region. The
<structfield>area</structfield> field is simply the bounding rectangle
of the <structfield>region</structfield>.
</para>
<para>
@@ -183,7 +181,7 @@ my_widget_popup_menu_handler (GtkWidget *widget)
<para>
Regions have an internal representation that is accessible as a
list of rectangles. To turn the
list of rectangles. To turn the
<structfield>GdkEventExpose.region</structfield> field into such
a list, use gdk_region_get_rectangles():
</para>
@@ -200,7 +198,7 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
for (i = 0; i &lt; n_rects; i++)
{
/* Repaint rectangle: (rects[i].x, rects[i].y),
/* Repaint rectangle: (rects[i].x, rects[i].y),
* (rects[i].width, rects[i].height)
*/
}
@@ -218,9 +216,9 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
<formalpara>
<title>Why</title>
<para>
With gtk_accelerator_get_default_mod_mask() you can test for
modifier keys reliably; this way your key event handlers will
work correctly even if <keycap>NumLock</keycap> or
With gtk_accelerator_get_default_mod_mask() you can test for
modifier keys reliably; this way your key event handlers will
work correctly even if <keycap>NumLock</keycap> or
<keycap>CapsLock</keycap> are activated.
</para>
</formalpara>
@@ -230,8 +228,8 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
<structfield>state</structfield> field is a bit mask which
indicates the modifier state at the time the key was pressed.
Modifiers are keys like <keycap>Control</keycap> and
<keycap>NumLock</keycap>. When implementing a
#GtkWidget::key-press-event handler, you should use
<keycap>NumLock</keycap>. When implementing a
#GtkWidget::key-press-event handler, you should use
gtk_accelerator_get_default_mod_mask() to
test against modifier keys. This function returns a bit mask
which encompasses all the modifiers which the user may be
@@ -289,17 +287,16 @@ my_widget_key_press_event_handler (GtkWidget *widget, GdkEventKey *event)
<formalpara>
<title>Why</title>
<para>
Named icons automatically adapt to theme changes, giving your
Named icons automatically adapt to theme changes, giving your
application a much more integrated appearance.
</para>
</formalpara>
<para>
Since GTK+ 2.6, named icons can be used for window icons (see
gtk_window_set_icon_name()) and images (see gtk_image_set_icon_name()).
In GTK+ 2.8, you can also use named icons for drag-and-drop (see
gtk_drag_source_set_icon_name()) and in treeview cells (see the
#GtkCellRendererPixbuf:icon-name property).
Named icons can be used for window icons (see gtk_window_set_icon_name())
and images (see gtk_image_set_icon_name()). You can also use named icons
for drag-and-drop (see gtk_drag_source_set_icon_name()) and in treeview
cells (see the #GtkCellRendererPixbuf:icon-name property).
</para>
</section>
</chapter>

View File

@@ -84,8 +84,6 @@
<link linkend="GtkImage">GtkImage</link>
<link linkend="GtkPixmap">GtkPixmap</link>
<link linkend="GtkPreview">GtkPreview</link>
<link linkend="GtkCurve">GtkCurve</link>
<link linkend="GtkGammaCurve">GtkGammaCurve</link>
<emphasis>Misc. Widgets</emphasis>
<link linkend="GtkArrow">GtkArrow</link>

View File

@@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gtk-question-index" revision="1 Jan 2002">
<refentry id="gtk-question-index">
<refmeta>
<refentrytitle>Common Questions</refentrytitle>
<manvolnum>3</manvolnum>
@@ -63,19 +63,14 @@ See the <link linkend="gtk-resources">documentation on this topic</link>.
<qandaentry>
<question><para>How do I port from one GTK+
<question><para>How do I port from one GTK+
version to another?</para></question>
<answer>
<para>
See the <link linkend="gtk-changes-2-0">list of incompatible changes
from 1.2 to 2.0</link>. Also, the <ulink
url="http://developer.gnome.org/dotplan/porting/">GNOME 2.0 porting
guide</ulink> on <ulink
url="http://developer.gnome.org">http://developer.gnome.org</ulink>
has some more detailed discussion of porting from 1.2 to 2.0.
You may also find useful information in the documentation for
See <xref linkend="gtk-migrating-2-to-3"/>.
You may also find useful information in the documentation for
specific widgets and functions.
</para>

Some files were not shown because too many files have changed in this diff Show More