Compare commits
47 Commits
applicatio
...
2.21.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2788322135 | ||
|
|
7cfdf8fa32 | ||
|
|
4451536712 | ||
|
|
fcf0edb6c1 | ||
|
|
39f3d5e182 | ||
|
|
97015c226f | ||
|
|
fe22d4a402 | ||
|
|
6abc512298 | ||
|
|
5cededa0aa | ||
|
|
cb8c076321 | ||
|
|
3e16fd9967 | ||
|
|
84e9c08a40 | ||
|
|
e89187fc87 | ||
|
|
b0359fb944 | ||
|
|
cfb988ab38 | ||
|
|
c4b1bbf3e2 | ||
|
|
4acc2716cb | ||
|
|
6c7dc26935 | ||
|
|
863853ec5f | ||
|
|
fd20ac0751 | ||
|
|
15037df282 | ||
|
|
2aa560865e | ||
|
|
45a83fdbeb | ||
|
|
821dd33918 | ||
|
|
dde9cf2882 | ||
|
|
5616bdc3dc | ||
|
|
43091232a2 | ||
|
|
239cfddc97 | ||
|
|
ef2dc17256 | ||
|
|
60d1ac5539 | ||
|
|
c81abfae02 | ||
|
|
a184432baf | ||
|
|
8cd4c387f0 | ||
|
|
96986af5b4 | ||
|
|
02d8976176 | ||
|
|
c05ec8d783 | ||
|
|
42664a22cf | ||
|
|
7d61c9fff5 | ||
|
|
7df52ebdd4 | ||
|
|
f2f0ae89ae | ||
|
|
bec4cfc758 | ||
|
|
1fb1f6a7b1 | ||
|
|
0e7f5332d3 | ||
|
|
489657f305 | ||
|
|
fc35cd9bfe | ||
|
|
501098e946 | ||
|
|
bd873014ca |
16
INSTALL.in
16
INSTALL.in
@@ -3,12 +3,22 @@ Prerequisites
|
||||
|
||||
GTK+ requires the following packages:
|
||||
|
||||
- The GLib, Pango, GdkPixbuf, ATK and cairo libraries, available at
|
||||
the same location as GTK+. GTK+ @GTK_VERSION@ requires at least
|
||||
GLib 2.23.6, Pango 1.20, GdkPixbuf 2.21.0 ATK 1.29.2 and cairo 1.6.0.
|
||||
- The GLib, Pango, ATK and cairo libraries, available at the same
|
||||
location as GTK+. GTK+ @GTK_VERSION@ requires at least GLib 2.23.6,
|
||||
Pango 1.20, ATK 1.29.2 and cairo 1.6.0.
|
||||
|
||||
- gobject-introspection 0.6.7 or newer.
|
||||
|
||||
- The TIFF, PNG, and JPEG image loading libraries. You most
|
||||
likely have these installed on your system already. If not
|
||||
these libraries are available from:
|
||||
|
||||
http://www.libtiff.org/
|
||||
http://www.libpng.org/
|
||||
http://www.ijg.org/
|
||||
|
||||
libtiff must be version 3.6.0 or higher.
|
||||
|
||||
Simple install procedure
|
||||
========================
|
||||
|
||||
|
||||
83
Makefile.am
83
Makefile.am
@@ -1,10 +1,12 @@
|
||||
## Makefile.am for GTK+
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
SRC_SUBDIRS = gdk gtk modules demos tests perf
|
||||
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
|
||||
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
||||
# require automake 1.4
|
||||
AUTOMAKE_OPTIONS = 1.7
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
EXTRA_DIST += \
|
||||
HACKING \
|
||||
@@ -48,10 +50,14 @@ 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 \
|
||||
@@ -62,8 +68,11 @@ 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 \
|
||||
@@ -93,10 +102,14 @@ 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 \
|
||||
@@ -130,37 +143,37 @@ MAINTAINERCLEANFILES = \
|
||||
GDKTARGET=@gdktarget@
|
||||
|
||||
## Copy .pc files to target-specific names
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = gdk-$(GDKTARGET)-3.0.pc gtk+-$(GDKTARGET)-3.0.pc gail-3.0.pc
|
||||
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gail.pc
|
||||
|
||||
if OS_UNIX
|
||||
pkgconfig_DATA += gtk+-unix-print-3.0.pc
|
||||
pkgconfig_DATA += gtk+-unix-print-2.0.pc
|
||||
endif
|
||||
|
||||
DISTCLEANFILES = \
|
||||
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 \
|
||||
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 \
|
||||
config.lt
|
||||
|
||||
distclean-local:
|
||||
@@ -182,21 +195,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-3.0.pc and gtk+-3.0.pc
|
||||
## copy the default target for this platform to gdk-2.0.pc and gtk+-2.0.pc
|
||||
DEFAULT_GDKTARGET=x11
|
||||
install-data-hook:
|
||||
(cd $(DESTDIR)$(pkgconfigdir) && \
|
||||
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) || \
|
||||
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) || \
|
||||
(cd $(DESTDIR)$(pkgconfigdir) && \
|
||||
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)
|
||||
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)
|
||||
|
||||
uninstall-local:
|
||||
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-3.0.pc
|
||||
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-3.0.pc
|
||||
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-2.0.pc
|
||||
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-2.0.pc
|
||||
|
||||
dist-hook:
|
||||
if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
|
||||
@@ -230,11 +243,7 @@ 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 \
|
||||
|
||||
349
NEWS
349
NEWS
@@ -1,308 +1,76 @@
|
||||
Overview of Changes from GTK+ 2.90.4 to 2.90.5
|
||||
Overview of Changes from GTK+ 2.21.0 to 2.21.1
|
||||
==============================================
|
||||
|
||||
* Support NOCONFIGURE in autogen.sh to avoid running configure
|
||||
|
||||
* The cairo dependency has been bumped to 1.9.10
|
||||
|
||||
* Drop aliasing hacks instead use -Bsymbolic-funtions.
|
||||
* GDK has been sealed, with the addition of suitable accessors
|
||||
|
||||
* Bugs:
|
||||
589904 Certain drawing in some widgets does not pass on...
|
||||
610346 Confusion between GtkWindow:allow-grow and GtkWindow:resizable
|
||||
613284 Replace GdkRegion with cairo_region_t
|
||||
617386 Migrate API docs from templates to source files (GtkButton)
|
||||
617389 Migrate API docs from templates to source files (GtkCalendar)
|
||||
617392 Migrate API docs from templates to source files (GtkCellEditable)
|
||||
621414 Can't select file on file browser popup after choosing to sort...
|
||||
622677 Remove GdkWindowObject public structure
|
||||
623239 also show num-lock warning
|
||||
623307 Annotate gdk_display_manager_list_displays return value
|
||||
623389 [iconview] Fix segfault when using rubberband selection
|
||||
623476 [windows] gdk fails to compile
|
||||
623520 gtk+ 3 fails to build from outside git source tree
|
||||
623845 Use -Bsymbolic
|
||||
461618 use GSlice for gtkrequisition
|
||||
|
||||
* Deprecations and cleanups:
|
||||
- GdkRegion has been removed, and region-using code has been ported
|
||||
to cairo_region_t and cairo_rectangle_int_t.
|
||||
- The deprecated GdkFont has been removed, together with vestigial
|
||||
uses in GTK+, including the GdkFontSel::font property and a GdkFont
|
||||
member in GtkStyle.
|
||||
- The GdkWindowObject structure has been removed from public headers.
|
||||
- The GdkWindow::allow-grow and ::allow-shrink properties have been removed.
|
||||
|
||||
* Quartz:
|
||||
- Misc fixed to clipping and color handling
|
||||
- Update the DND code for GdkDevice changes
|
||||
|
||||
* Translation updates:
|
||||
Breton
|
||||
Czech
|
||||
Estonian
|
||||
Galician
|
||||
Hebrew
|
||||
Kazakh
|
||||
Norwegian bokmål
|
||||
Slovenian
|
||||
Simplified Chinese
|
||||
Spanish
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.90.3 to 2.90.4
|
||||
==============================================
|
||||
|
||||
* GSEAL is now enabled by default
|
||||
|
||||
* gdk-pixbuf has been moved into a separate module
|
||||
|
||||
* The GtkExtendedLayout interface has been renamed to
|
||||
GtkSizeRequest
|
||||
|
||||
* gtk_init warns if it detects GTK2.x and GTK3 being used
|
||||
in the same process
|
||||
|
||||
* Misc new API:
|
||||
gtk_accessible_set_widget
|
||||
gtk_message_dialog_get_message_area
|
||||
gtk_font_selection_dialog_get_font_selection
|
||||
gtk_window_group_get_current_grab
|
||||
gtk_table_get_size
|
||||
gtk_button_get_event_window
|
||||
gdk_device_manager_get_client_pointer
|
||||
gdk_image_get_pixels
|
||||
|
||||
* Bugs fixed:
|
||||
522756 gnome-appearance-properties crashed with SIGSEGV...
|
||||
620832 make _gtk_window_group_get_current_grab() public
|
||||
621250 Missing accessors for GtkRange has_stepper_X
|
||||
621685 Add gdk_device_manager_get_client_pointer() ...
|
||||
621690 Enable per-device events on gtk_widget_realize()
|
||||
621927 Bug in gtk/Makefile.in: affects gtktypefuncs.c
|
||||
622011 Don't handle "connecting-to-device" state reason
|
||||
622581 [GSEAL] GtkButton has no accessor for event_window
|
||||
622765 Duplicate symbols in Gdk on OSX
|
||||
622827 test/testapplication.c doesn't build in quartz
|
||||
|
||||
* Translation updates:
|
||||
Arabic
|
||||
Armenian
|
||||
Galician
|
||||
Slovenian
|
||||
Spanish
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.90.2 to 2.90.3
|
||||
==============================================
|
||||
|
||||
* GtkProgress has been removed. It was entirely deprecated for
|
||||
a long time
|
||||
|
||||
* GtkApplication has been updated to match the GApplication API
|
||||
as of GLib 2.25.9
|
||||
|
||||
* XI2:
|
||||
- Device grabs now take precedence over GTK+ grabs
|
||||
- Various other bug fixes
|
||||
|
||||
* Extended Layout:
|
||||
- Prevent negative allocations (as seen in emacs and gedit)
|
||||
|
||||
* Win32: XP theming is back !
|
||||
|
||||
* Misc new API:
|
||||
- Add an accessor for GtkViewport->view_window
|
||||
- Add an accessor for GdkDragContext->source_window
|
||||
- gtk_icon_theme_load_symbolic_for_style a variant of
|
||||
gtk_icon_theme_load_symbolic taking a GtkStyle
|
||||
|
||||
* Introspection:
|
||||
- Misc annotation fixes
|
||||
|
||||
* Cleanups:
|
||||
- GTK_OBJECT_FLAGS and GtkObjectFlags have been depreated
|
||||
|
||||
* Bugs fixed:
|
||||
620618 get rid of GtkProgress
|
||||
615666 GTK_OBJECT_FLAGS() should be deprecated
|
||||
617444 GNU emacs warnings with extended layout GTK+
|
||||
621631 Non-consistent style in GtkUIManager docs
|
||||
621136 GtkCalendar: Some functions always return TRUE
|
||||
621003 GtkApplication] Update for GApplication API changes
|
||||
621683 gtk_menu_attach_to_widget() should emit an "attach-widget"...
|
||||
621479 typo in GTK docs on library.gnome.org
|
||||
621081 GtkViewport missing accessor for view_window.
|
||||
620440 Combo-boxes loose focus
|
||||
621775 Space symbol missed in Resources chapter
|
||||
621578 Symbolic color cut-and-paste mess
|
||||
621111 gtk_init_with_args()'s GOptionEntry argument should be const
|
||||
602289 gdk_spawn_on_screen(_with_pipes) uses gint for pid
|
||||
|
||||
* Updated translations:
|
||||
Galician
|
||||
Norwegian bokmål
|
||||
Spanish
|
||||
|
||||
|
||||
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
|
||||
607628 DnD operation doesn't work when using offscreen.
|
||||
565559 Incorrect leave-notify signals for treeview
|
||||
533946 GtkHScale does not update correctly
|
||||
618000 Sync paper size fallbacks with CLDR 1.8.1
|
||||
618162 Description of GdkColor
|
||||
614581 Gtk print dialog freezes on start up
|
||||
533946 GtkHScale does not update correctly
|
||||
618271 Add gtk_window_has_group()
|
||||
618000 Sync paper size fallbacks with CLDR 1.8.1
|
||||
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.
|
||||
619114 undefined reference to `XkbBell'
|
||||
618093 typo in gtkprintoperation.c, "selecion" should be "selection"
|
||||
|
||||
* Updated translations:
|
||||
Italian
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.20.0 to 2.21.0
|
||||
==============================================
|
||||
|
||||
* Support tracker 0.8 and 0.9 in the filechooser search code
|
||||
|
||||
* New API:
|
||||
- add API to convert coords between parent and child windows
|
||||
- add gdk_window_get_effective_parent() and
|
||||
gdk_window_get_effective_toplevel() which are offscreen aware
|
||||
- add gtk_widget_send_focus_change
|
||||
- add accessors for GtkTextView adjustments
|
||||
- add API to reset the im context in GtkTextView and GtkEntry
|
||||
|
||||
* Bug fixes:
|
||||
614513 Func to substitute GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_GRAB)?
|
||||
614510 Needed func for GTK_WIDGET_SET_FLAGS (widget, TOPLEVEL) ?
|
||||
614515 Func to substitute GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_DEFAULT)?
|
||||
163251 GtkTextView derivatives need some way to set the need_im_reset flag.
|
||||
69872 GTK_WIDGET_SET_FLAGS should be deprecated
|
||||
615028 gdk/x11/gdkdnd-x11.c missing Xutil.h
|
||||
615128 gdk monitor order does not seem to be correct
|
||||
616565 Fix a typo in the offscreen windows docs
|
||||
616118 please expand documentation for gdk_event_free()
|
||||
615000 gtk_builder_value_from_string_type() returns FALSE without..
|
||||
580889 table cells do not implement action interface
|
||||
616053 GtkTextView lacks accessors for hadjustment and vadjustment
|
||||
613988 Compile error on DirectFB backend due to missing of gdk_...
|
||||
614894 Add heuristic for pre XRandR 1.3 drivers
|
||||
560147 GtkBuilder docs should say what GErrors they throw
|
||||
615999 Gail doesn't send state-changed events for ATK_STATE_ENABLED
|
||||
613974 GtkToolItemGroup devides by 0 when allocating space for...
|
||||
614540 configure wants gio-unix on all platform
|
||||
557689 In 'select folder' action, filechooser doesn't work when...
|
||||
615853 BadMatch when pressing keyboard volume keys while pointer...
|
||||
613887 Misprint in the description of the function gtk_cell_view_...
|
||||
615162 Fix tooltips on offscreen widgets
|
||||
616851 assertion `GTK_IS_MISC (misc)' failed
|
||||
607839 libpixbufloader-png.so not in library list
|
||||
605186 Use G_DEFINE_INTERFACE macro
|
||||
402349 FileChooser's default directory is not "active"
|
||||
missing break statement in gtk_tool_item_group_set_property
|
||||
missing default events in GtkToolItemGroup
|
||||
fix a filechooser crash when removing files
|
||||
|
||||
* Translation updates:
|
||||
Basque
|
||||
Bengali
|
||||
Bengali India
|
||||
Catalan
|
||||
Catalan (Valencian)
|
||||
Crimean Tatar
|
||||
Danish
|
||||
Dutch
|
||||
Galician
|
||||
Greek
|
||||
Indonesian
|
||||
@@ -310,12 +78,9 @@ Overview of Changes from GTK+ 2.20.x to 2.90.0
|
||||
Kazakh
|
||||
Latvian
|
||||
Marathi
|
||||
Norwegian bokmål
|
||||
Spanish
|
||||
Thai
|
||||
Ukrainian
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.19.7 to 2.20.0
|
||||
==============================================
|
||||
|
||||
|
||||
14
README.in
14
README.in
@@ -111,11 +111,15 @@ 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.
|
||||
|
||||
* 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.
|
||||
* 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.
|
||||
|
||||
* 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
|
||||
|
||||
19
autogen.sh
19
autogen.sh
@@ -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
|
||||
2.2*)
|
||||
1.4*|1.5*|2.2*)
|
||||
have_libtool=true
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if $have_libtool ; then : ; else
|
||||
echo
|
||||
echo "You must have libtool 2.2 installed to compile $PROJECT."
|
||||
echo "You must have libtool 1.4 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,14 +54,18 @@ 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,10.x or 1.11.x installed to compile $PROJECT."
|
||||
echo "You must have automake 1.7.x, 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
|
||||
@@ -72,12 +76,7 @@ test $TEST_TYPE $FILE || {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# NOCONFIGURE is used by gnome-common; support both
|
||||
if ! test -z "$AUTOGEN_SUBDIR_MODE"; then
|
||||
NOCONFIGURE=1
|
||||
fi
|
||||
|
||||
if test -z "$NOCONFIGURE"; then
|
||||
if test -z "$AUTOGEN_SUBDIR_MODE"; then
|
||||
if test -z "$*"; then
|
||||
echo "I am going to run ./configure with no arguments - if you wish "
|
||||
echo "to pass any to it, please specify them on the $0 command line."
|
||||
@@ -121,7 +120,7 @@ $AUTOMAKE --add-missing || exit $?
|
||||
autoconf || exit $?
|
||||
cd $ORIGDIR || exit $?
|
||||
|
||||
if test -z "$NOCONFIGURE"; then
|
||||
if test -z "$AUTOGEN_SUBDIR_MODE"; then
|
||||
$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
|
||||
|
||||
echo
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
EXTRA_DIST += \
|
||||
EXTRA_DIST = \
|
||||
README.txt \
|
||||
gtk+.sln \
|
||||
gtk+.vsprops \
|
||||
|
||||
@@ -31,7 +31,7 @@ copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h

|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkApiVersion"
|
||||
Value="3.0"
|
||||
Value="2.0"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="GtkBinaryVersion"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
8
contrib/Makefile.am
Normal file
8
contrib/Makefile.am
Normal file
@@ -0,0 +1,8 @@
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
SUBDIRS =
|
||||
if USE_X11
|
||||
SUBDIRS += gdk-pixbuf-xlib
|
||||
endif
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
354
contrib/gdk-pixbuf-xlib/ChangeLog
Normal file
354
contrib/gdk-pixbuf-xlib/ChangeLog
Normal file
@@ -0,0 +1,354 @@
|
||||
=== ChangeLog discontinued ===
|
||||
|
||||
With the move to git, GTK+ is switching from a ChangeLog file
|
||||
to relying on commit messages to provide change history. Please
|
||||
see README.commits for guidance on the expected message format.
|
||||
|
||||
2009-03-13 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.16.0 ===
|
||||
|
||||
2009-03-02 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.15.5 ===
|
||||
|
||||
2009-02-17 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.15.4 ===
|
||||
|
||||
2009-02-02 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.15.3 ===
|
||||
|
||||
2009-01-27 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.15.2 ===
|
||||
|
||||
2009-01-23 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.15.1 ===
|
||||
|
||||
2009-01-01 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.15.0 ===
|
||||
|
||||
2008-09-17 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.14.2 ===
|
||||
|
||||
2008-09-04 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.14.1 ===
|
||||
|
||||
2008-09-04 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.14.0 ===
|
||||
|
||||
2008-08-18 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* ==== Released 2.13.7 ===
|
||||
|
||||
2008-08-05 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.13.6 ===
|
||||
|
||||
2008-07-21 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.13.5 ===
|
||||
|
||||
2008-07-05 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.13.4 ===
|
||||
|
||||
2008-06-13 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.13.3 ===
|
||||
|
||||
2008-06-03 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.13.2 ===
|
||||
|
||||
2008-05-29 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.13.1 ===
|
||||
|
||||
2008-05-26 Michael Natterer <mitch@imendio.com>
|
||||
|
||||
* gdk-pixbuf-xlib.h
|
||||
* gdk-pixbuf-xlibrgb.h: use G_BEGIN/END_DECLS.
|
||||
|
||||
2008-02-16 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.13.0 ===
|
||||
|
||||
2007-10-16 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.12.1 ===
|
||||
|
||||
2007-09-13 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.12.0 ===
|
||||
|
||||
2007-07-21 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.6 ===
|
||||
|
||||
2007-07-02 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.5 ===
|
||||
|
||||
2007-06-19 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.4 ===
|
||||
|
||||
2007-06-15 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.3 ===
|
||||
|
||||
2007-06-06 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.2 ===
|
||||
|
||||
2007-06-04 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.1 ===
|
||||
|
||||
2007-05-24 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.0 ===
|
||||
|
||||
2006-10-08 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk-pixbuf-xlib.c: Apply a cleanup patch by
|
||||
Kjartan Maraas (#341812)
|
||||
|
||||
2006-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.10.2 ===
|
||||
|
||||
2006-07-23 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.10.1 ===
|
||||
|
||||
2006-07-02 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.10.0 ===
|
||||
|
||||
2006-06-21 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.9.4 ===
|
||||
|
||||
2006-06-12 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.9.3 ===
|
||||
|
||||
2006-06-05 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.9.2 ===
|
||||
|
||||
2006-05-16 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.9.1 ====
|
||||
|
||||
2006-05-04 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.9.0 ===
|
||||
|
||||
2005-11-17 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk-pixbuf-xlib-drawable.c:
|
||||
* gdk-pixbuf-xlibrgb.c: const correctness fixes
|
||||
found by Arjan van de Ven and gcc.
|
||||
|
||||
2005-10-05 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk-pixbuf-xlib-2.0.pc.in (Requires): Require
|
||||
gmodule-no-export-2.0 instead of gmodule-2.0
|
||||
|
||||
2005-08-24 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.8.2 ===
|
||||
|
||||
* === Released 2.8.1 ===
|
||||
|
||||
2005-08-13 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.8.0 ===
|
||||
|
||||
2005-08-02 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.7.5 ===
|
||||
|
||||
2005-07-22 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.7.4 ===
|
||||
|
||||
2005-07-15 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.7.3 ===
|
||||
|
||||
2005-07-08 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.7.2 ===
|
||||
|
||||
2005-07-01 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.7.1 ===
|
||||
|
||||
2005-06-20 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.7.0 ===
|
||||
|
||||
2005-01-08 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.6.1 ===
|
||||
|
||||
2004-12-16 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.6.0 ===
|
||||
|
||||
2004-12-02 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.5.6 ===
|
||||
|
||||
2004-11-12 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.5.5 ===
|
||||
|
||||
2004-10-27 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.5.4 ===
|
||||
|
||||
2004-09-19 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.5.3 ===
|
||||
|
||||
2004-08-25 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.5.2 ===
|
||||
|
||||
2004-08-01 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.5.1 ===
|
||||
|
||||
Tue Jul 20 23:26:10 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk-pixbuf-xlibrgb.c: Include config.h first. (#148034)
|
||||
|
||||
Sun Jul 18 20:17:41 2004 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* === released 2.5.0 ==
|
||||
|
||||
Tue Mar 9 09:33:54 2004 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* === Released 2.3.6 ===
|
||||
|
||||
Wed Mar 3 15:50:28 2004 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* Makefile.am (libgdk_pixbuf_xlib_2_0_la_LIBADD): Add
|
||||
a shared library dependency on libgdk-pixbuf (#124687)
|
||||
|
||||
Tue Feb 24 14:45:03 2004 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* === Released 2.3.3 ===
|
||||
|
||||
Fri Feb 13 10:32:09 2004 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* gdk-pixbuf-xlibrgb.h: Remove a couple of unneeded
|
||||
#includes. Isn't unsupported code fun?
|
||||
(133833, Gregory Merchan)
|
||||
|
||||
Tue Oct 7 23:30:00 2003 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gdk-pixbuf-xlib.h: Add C++ guards. (123955, Harring Figueiredo)
|
||||
|
||||
2002-08-06 jacob berkman <jacob@ximian.com>
|
||||
|
||||
* Makefile.am (lib_LTLIBRARIES): link against xlibs
|
||||
|
||||
2002-01-25 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
Merge from gdk-pixbuf stable.
|
||||
|
||||
* gdk-pixbuf-xlib-drawable.c (rgb565msb): Fixed the endianness
|
||||
conversion --- swap the individual 16 bit values instead of taking
|
||||
everying as a 32 bit value.
|
||||
(rgb565lsb): Likewise.
|
||||
(rgb555lsb): Likewise.
|
||||
(rgb555msb): Likewise.
|
||||
|
||||
2001-11-26 Akira TAGOH <tagoh@redhat.com>
|
||||
|
||||
* Makefile.am (libgdk_pixbuf_xlib_1_3_la_LDFLAGS):
|
||||
Added -version-info.
|
||||
|
||||
2001-05-19 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* gdk-pixbuf-xlibrgb.c: docs
|
||||
|
||||
2001-06-04 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* gdk-pixbuf-xlibrgb.c (xlib_rgb_init): remove C++ comment,
|
||||
reported by Dan McNichol
|
||||
|
||||
Mon Jan 8 11:41:41 2001 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
* Makefile.am (INCLUDES): Add @x_cflags@ (#36310)
|
||||
|
||||
2001-01-02 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* gdk-pixbuf-xlib-2.0.pc.in (Description): fix up description a bit.
|
||||
|
||||
2000-10-06 Havoc Pennington <hp@redhat.com>
|
||||
|
||||
* gdk-pixbuf-xlib.c: Put display/screen here, instead of in
|
||||
the main gdk-pixbuf library as it was in 1.0; since the io-xpm
|
||||
loader doesn't use these variables anymore it should be OK
|
||||
|
||||
2000-09-26 Federico Mena Quintero <federico@helixcode.com>
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-xlib-drawable.c
|
||||
(gdk_pixbuf_xlib_get_from_drawable): Do not use
|
||||
gdk_screen_{width,height}(). Thanks to John Harper for pointing
|
||||
this out.
|
||||
|
||||
2000-08-26 Federico Mena Quintero <federico@helixcode.com>
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-xlibrgb.c: Added API reference docs.
|
||||
|
||||
2000-08-25 Federico Mena Quintero <federico@helixcode.com>
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-xlib-drawable.c (handle_x_error): Return
|
||||
0.
|
||||
(xlib_window_is_viewable): Return FALSE in the last case.
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-xlib-render.c: Updated the inline docs.
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-xlib.c: Added API docs.
|
||||
|
||||
2000-08-25 John Harper <john@dcs.warwick.ac.uk>
|
||||
|
||||
Work to create an Xlib version of gdk-pixbuf (with the Xlib
|
||||
port of GdkRGB for rendering):
|
||||
|
||||
* configure.in: check for X libraries, set and substitute
|
||||
GDK_PIXBUF_XLIB_{LIBDIR,INCLUDEDIR,LIBS} variables
|
||||
|
||||
* gdk_pixbuf_xlibConf.sh.in: new file -- gnome-config details
|
||||
for the gdk-pixbuf-xlib library
|
||||
* Makefile.am: build and install gdk_pixbuf_xlibConf.sh
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-xlib-render.c,
|
||||
gdk-pixbuf/gdk-pixbuf-xlib.c, gdk-pixbuf/gdk-pixbuf-xlib.h,
|
||||
gdk-pixbuf/gdk-pixbuf-xlib-private.h,
|
||||
gdk-pixbuf/gdk-pixbuf-xlib-drawable.c: new files, ported the
|
||||
GDK dependent parts of gdk-pixbuf to use Xlib. Functions that
|
||||
were called gdk_pixbuf_FOO are now gdk_pixbuf_xlib_FOO
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-xlibrgb.c,
|
||||
gdk-pixbuf/gdk-pixbuf-xlibrgb.h: added Chris Blizzard's Xlib
|
||||
port of GdkRGB (from Mozilla CVS)
|
||||
|
||||
* gdk-pixbuf/Makefile.am: build a library libgdk_pixbuf_xlib.la
|
||||
including the non-GDK dependent objects from libgdk_pixbuf.la
|
||||
plus the Xlib ports and xlibrgb
|
||||
42
contrib/gdk-pixbuf-xlib/Makefile.am
Normal file
42
contrib/gdk-pixbuf-xlib/Makefile.am
Normal file
@@ -0,0 +1,42 @@
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
if PLATFORM_WIN32
|
||||
no_undefined = -no-undefined
|
||||
endif
|
||||
|
||||
lib_LTLIBRARIES=libgdk_pixbuf_xlib-2.0.la
|
||||
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir) -I$(top_builddir) \
|
||||
-I$(top_srcdir)/gdk-pixbuf \
|
||||
-I$(top_srcdir)/contrib \
|
||||
$(GDK_PIXBUF_XLIB_DEP_CFLAGS)
|
||||
|
||||
libgdk_pixbuf_xlib_2_0_la_LDFLAGS = \
|
||||
-export-dynamic \
|
||||
$(no_undefined) \
|
||||
-version-info $(LT_VERSION_INFO)
|
||||
|
||||
libgdk_pixbuf_xlib_2_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 = \
|
||||
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_xlibinclude_HEADERS = \
|
||||
gdk-pixbuf-xlib.h \
|
||||
gdk-pixbuf-xlibrgb.h
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = gdk-pixbuf-xlib-2.0.pc
|
||||
|
||||
EXTRA_DIST += gdk-pixbuf-xlib-2.0.pc.in
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
11
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc.in
Normal file
11
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-2.0.pc.in
Normal file
@@ -0,0 +1,11 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
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
|
||||
Libs: -L${libdir} -lgdk_pixbuf_xlib-@GTK_API_VERSION@
|
||||
Cflags: -I${includedir}
|
||||
1338
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-drawable.c
Normal file
1338
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-drawable.c
Normal file
File diff suppressed because it is too large
Load Diff
30
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-private.h
Normal file
30
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-private.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/* GdkPixbuf library - Xlib header file
|
||||
*
|
||||
* Authors: John Harper <john@dcs.warwick.ac.uk>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef GDK_PIXBUF_XLIB_PRIVATE_H
|
||||
#define GDK_PIXBUF_XLIB_PRIVATE_H
|
||||
|
||||
#include "gdk-pixbuf-xlib.h"
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
extern Display *gdk_pixbuf_dpy;
|
||||
extern int gdk_pixbuf_screen;
|
||||
|
||||
#endif
|
||||
398
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-render.c
Normal file
398
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib-render.c
Normal file
@@ -0,0 +1,398 @@
|
||||
/* GdkPixbuf library - Rendering functions
|
||||
*
|
||||
* Copyright (C) 1999 The Free Software Foundation
|
||||
*
|
||||
* Author: Federico Mena-Quintero <federico@gimp.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* Trivially ported to Xlib(RGB) by John Harper. */
|
||||
|
||||
#include "config.h"
|
||||
#include "gdk-pixbuf-private.h"
|
||||
#include "gdk-pixbuf-xlib-private.h"
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* gdk_pixbuf_xlib_render_threshold_alpha:
|
||||
* @pixbuf: A pixbuf.
|
||||
* @bitmap: Bitmap where the bilevel mask will be painted to.
|
||||
* @src_x: Source X coordinate.
|
||||
* @src_y: source Y coordinate.
|
||||
* @dest_x: Destination X coordinate.
|
||||
* @dest_y: Destination Y coordinate.
|
||||
* @width: Width of region to threshold.
|
||||
* @height: Height of region to threshold.
|
||||
* @alpha_threshold: Opacity values below this will be painted as zero; all
|
||||
* other values will be painted as one.
|
||||
*
|
||||
* Takes the opacity values in a rectangular portion of a pixbuf and thresholds
|
||||
* them to produce a bi-level alpha mask that can be used as a clipping mask for
|
||||
* a drawable.
|
||||
*
|
||||
**/
|
||||
void
|
||||
gdk_pixbuf_xlib_render_threshold_alpha (GdkPixbuf *pixbuf, Pixmap bitmap,
|
||||
int src_x, int src_y,
|
||||
int dest_x, int dest_y,
|
||||
int width, int height,
|
||||
int alpha_threshold)
|
||||
{
|
||||
GC gc;
|
||||
XColor color;
|
||||
int x, y;
|
||||
guchar *p;
|
||||
int start, start_status;
|
||||
int status;
|
||||
XGCValues gcv;
|
||||
|
||||
g_return_if_fail (pixbuf != NULL);
|
||||
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
|
||||
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
|
||||
g_return_if_fail (pixbuf->bits_per_sample == 8);
|
||||
|
||||
g_return_if_fail (bitmap != 0);
|
||||
g_return_if_fail (width >= 0 && height >= 0);
|
||||
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
|
||||
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
|
||||
|
||||
g_return_if_fail (alpha_threshold >= 0 && alpha_threshold <= 255);
|
||||
|
||||
if (width == 0 || height == 0)
|
||||
return;
|
||||
|
||||
gc = XCreateGC (gdk_pixbuf_dpy, bitmap, 0, &gcv);
|
||||
|
||||
if (!pixbuf->has_alpha) {
|
||||
color.pixel = (alpha_threshold == 255) ? 0 : 1;
|
||||
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
|
||||
XFillRectangle (gdk_pixbuf_dpy, bitmap, gc,
|
||||
dest_x, dest_y, width, height);
|
||||
XFreeGC (gdk_pixbuf_dpy, gc);
|
||||
return;
|
||||
}
|
||||
|
||||
color.pixel = 0;
|
||||
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
|
||||
XFillRectangle (gdk_pixbuf_dpy, bitmap, gc,
|
||||
dest_x, dest_y, width, height);
|
||||
|
||||
color.pixel = 1;
|
||||
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
|
||||
|
||||
for (y = 0; y < height; y++) {
|
||||
p = (pixbuf->pixels + (y + src_y) * pixbuf->rowstride + src_x * pixbuf->n_channels
|
||||
+ pixbuf->n_channels - 1);
|
||||
|
||||
start = 0;
|
||||
start_status = *p < alpha_threshold;
|
||||
|
||||
for (x = 0; x < width; x++) {
|
||||
status = *p < alpha_threshold;
|
||||
|
||||
if (status != start_status) {
|
||||
if (!start_status)
|
||||
XDrawLine (gdk_pixbuf_dpy, bitmap, gc,
|
||||
start + dest_x, y + dest_y,
|
||||
x - 1 + dest_x, y + dest_y);
|
||||
|
||||
start = x;
|
||||
start_status = status;
|
||||
}
|
||||
|
||||
p += pixbuf->n_channels;
|
||||
}
|
||||
|
||||
if (!start_status)
|
||||
XDrawLine (gdk_pixbuf_dpy, bitmap, gc,
|
||||
start + dest_x, y + dest_y,
|
||||
x - 1 + dest_x, y + dest_y);
|
||||
}
|
||||
|
||||
XFreeGC (gdk_pixbuf_dpy, gc);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Creates a buffer by stripping the alpha channel of a pixbuf */
|
||||
static guchar *
|
||||
remove_alpha (GdkPixbuf *pixbuf, int x, int y, int width, int height, int *rowstride)
|
||||
{
|
||||
guchar *buf;
|
||||
int xx, yy;
|
||||
guchar *src, *dest;
|
||||
|
||||
g_assert (pixbuf->n_channels == 4);
|
||||
g_assert (pixbuf->has_alpha);
|
||||
g_assert (width > 0 && height > 0);
|
||||
g_assert (x >= 0 && x + width <= pixbuf->width);
|
||||
g_assert (y >= 0 && y + height <= pixbuf->height);
|
||||
|
||||
*rowstride = 4 * ((width * 3 + 3) / 4);
|
||||
|
||||
buf = g_new (guchar, *rowstride * height);
|
||||
|
||||
for (yy = 0; yy < height; yy++) {
|
||||
src = pixbuf->pixels + pixbuf->rowstride * (yy + y) + x * pixbuf->n_channels;
|
||||
dest = buf + *rowstride * yy;
|
||||
|
||||
for (xx = 0; xx < width; xx++) {
|
||||
*dest++ = *src++;
|
||||
*dest++ = *src++;
|
||||
*dest++ = *src++;
|
||||
src++;
|
||||
}
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_pixbuf_xlib_render_to_drawable:
|
||||
* @pixbuf: A pixbuf.
|
||||
* @drawable: Destination drawable.
|
||||
* @gc: GC used for rendering.
|
||||
* @src_x: Source X coordinate within pixbuf.
|
||||
* @src_y: Source Y coordinate within pixbuf.
|
||||
* @dest_x: Destination X coordinate within drawable.
|
||||
* @dest_y: Destination Y coordinate within drawable.
|
||||
* @width: Width of region to render, in pixels.
|
||||
* @height: Height of region to render, in pixels.
|
||||
* @dither: Dithering mode for XlibRGB.
|
||||
* @x_dither: X offset for dither.
|
||||
* @y_dither: Y offset for dither.
|
||||
*
|
||||
* Renders a rectangular portion of a pixbuf to a drawable while using the
|
||||
* specified GC. This is done using XlibRGB, so the specified drawable must
|
||||
* have the XlibRGB visual and colormap. Note that this function will ignore
|
||||
* the opacity information for images with an alpha channel; the GC must already
|
||||
* have the clipping mask set if you want transparent regions to show through.
|
||||
*
|
||||
* For an explanation of dither offsets, see the XlibRGB documentation. In
|
||||
* brief, the dither offset is important when re-rendering partial regions of an
|
||||
* image to a rendered version of the full image, or for when the offsets to a
|
||||
* base position change, as in scrolling. The dither matrix has to be shifted
|
||||
* for consistent visual results. If you do not have any of these cases, the
|
||||
* dither offsets can be both zero.
|
||||
**/
|
||||
void
|
||||
gdk_pixbuf_xlib_render_to_drawable (GdkPixbuf *pixbuf,
|
||||
Drawable drawable, GC gc,
|
||||
int src_x, int src_y,
|
||||
int dest_x, int dest_y,
|
||||
int width, int height,
|
||||
XlibRgbDither dither,
|
||||
int x_dither, int y_dither)
|
||||
{
|
||||
guchar *buf;
|
||||
int rowstride;
|
||||
|
||||
g_return_if_fail (pixbuf != NULL);
|
||||
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
|
||||
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
|
||||
g_return_if_fail (pixbuf->bits_per_sample == 8);
|
||||
|
||||
g_return_if_fail (drawable != 0);
|
||||
g_return_if_fail (gc != 0);
|
||||
|
||||
g_return_if_fail (width >= 0 && height >= 0);
|
||||
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
|
||||
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
|
||||
|
||||
if (width == 0 || height == 0)
|
||||
return;
|
||||
|
||||
/* This will have to be modified once we support other image types.
|
||||
* Also, GdkRGB does not have gdk_draw_rgb_32_image_dithalign(), so we
|
||||
* have to pack the buffer first. Sigh.
|
||||
*/
|
||||
|
||||
if (pixbuf->has_alpha)
|
||||
buf = remove_alpha (pixbuf, src_x, src_y, width, height, &rowstride);
|
||||
else {
|
||||
buf = pixbuf->pixels + src_y * pixbuf->rowstride + src_x * 3;
|
||||
rowstride = pixbuf->rowstride;
|
||||
}
|
||||
|
||||
xlib_draw_rgb_image_dithalign (drawable, gc,
|
||||
dest_x, dest_y,
|
||||
width, height,
|
||||
dither,
|
||||
buf, rowstride,
|
||||
x_dither, y_dither);
|
||||
|
||||
if (pixbuf->has_alpha)
|
||||
g_free (buf);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* gdk_pixbuf_xlib_render_to_drawable_alpha:
|
||||
* @pixbuf: A pixbuf.
|
||||
* @drawable: Destination drawable.
|
||||
* @src_x: Source X coordinate within pixbuf.
|
||||
* @src_y: Source Y coordinates within pixbuf.
|
||||
* @dest_x: Destination X coordinate within drawable.
|
||||
* @dest_y: Destination Y coordinate within drawable.
|
||||
* @width: Width of region to render, in pixels.
|
||||
* @height: Height of region to render, in pixels.
|
||||
* @alpha_mode: If the image does not have opacity information, this is ignored.
|
||||
* Otherwise, specifies how to handle transparency when rendering.
|
||||
* @alpha_threshold: If the image does have opacity information and @alpha_mode
|
||||
* is GDK_PIXBUF_ALPHA_BILEVEL, specifies the threshold value for opacity
|
||||
* values.
|
||||
* @dither: Dithering mode for XlibRGB.
|
||||
* @x_dither: X offset for dither.
|
||||
* @y_dither: Y offset for dither.
|
||||
*
|
||||
* Renders a rectangular portion of a pixbuf to a drawable. This is done using
|
||||
* XlibRGB, so the specified drawable must have the XlibRGB visual and colormap.
|
||||
*
|
||||
* When used with #GDK_PIXBUF_ALPHA_BILEVEL, this function has to create a bitmap
|
||||
* out of the thresholded alpha channel of the image and, it has to set this
|
||||
* bitmap as the clipping mask for the GC used for drawing. This can be a
|
||||
* significant performance penalty depending on the size and the complexity of
|
||||
* the alpha channel of the image. If performance is crucial, consider handling
|
||||
* the alpha channel yourself (possibly by caching it in your application) and
|
||||
* using gdk_pixbuf_xlib_render_to_drawable() or GdkRGB directly instead.
|
||||
**/
|
||||
void
|
||||
gdk_pixbuf_xlib_render_to_drawable_alpha (GdkPixbuf *pixbuf, Drawable drawable,
|
||||
int src_x, int src_y,
|
||||
int dest_x, int dest_y,
|
||||
int width, int height,
|
||||
GdkPixbufAlphaMode alpha_mode,
|
||||
int alpha_threshold,
|
||||
XlibRgbDither dither,
|
||||
int x_dither, int y_dither)
|
||||
{
|
||||
Pixmap bitmap = 0;
|
||||
GC gc;
|
||||
XGCValues gcv;
|
||||
|
||||
g_return_if_fail (pixbuf != NULL);
|
||||
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
|
||||
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
|
||||
g_return_if_fail (pixbuf->bits_per_sample == 8);
|
||||
|
||||
g_return_if_fail (drawable != 0);
|
||||
g_return_if_fail (width >= 0 && height >= 0);
|
||||
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
|
||||
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
|
||||
|
||||
if (width == 0 || height == 0)
|
||||
return;
|
||||
|
||||
gc = XCreateGC (gdk_pixbuf_dpy, drawable, 0, &gcv);
|
||||
|
||||
if (pixbuf->has_alpha) {
|
||||
/* Right now we only support GDK_PIXBUF_ALPHA_BILEVEL, so we
|
||||
* unconditionally create the clipping mask.
|
||||
*/
|
||||
|
||||
bitmap = XCreatePixmap (gdk_pixbuf_dpy,
|
||||
RootWindow (gdk_pixbuf_dpy,
|
||||
gdk_pixbuf_screen),
|
||||
width, height, 1);
|
||||
gdk_pixbuf_xlib_render_threshold_alpha (pixbuf, bitmap,
|
||||
src_x, src_y,
|
||||
0, 0,
|
||||
width, height,
|
||||
alpha_threshold);
|
||||
|
||||
XSetClipMask (gdk_pixbuf_dpy, gc, bitmap);
|
||||
XSetClipOrigin (gdk_pixbuf_dpy, gc, dest_x, dest_y);
|
||||
}
|
||||
|
||||
gdk_pixbuf_xlib_render_to_drawable (pixbuf, drawable, gc,
|
||||
src_x, src_y,
|
||||
dest_x, dest_y,
|
||||
width, height,
|
||||
dither,
|
||||
x_dither, y_dither);
|
||||
|
||||
if (bitmap)
|
||||
XFreePixmap (gdk_pixbuf_dpy, bitmap);
|
||||
|
||||
XFreeGC (gdk_pixbuf_dpy, gc);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_pixbuf_xlib_render_pixmap_and_mask:
|
||||
* @pixbuf: A pixbuf.
|
||||
* @pixmap_return: Return value for the created pixmap.
|
||||
* @mask_return: Return value for the created mask.
|
||||
* @alpha_threshold: Threshold value for opacity values.
|
||||
*
|
||||
* Creates a pixmap and a mask bitmap which are returned in the @pixmap_return
|
||||
* and @mask_return arguments, respectively, and renders a pixbuf and its
|
||||
* corresponding tresholded alpha mask to them. This is merely a convenience
|
||||
* function; applications that need to render pixbufs with dither offsets or to
|
||||
* given drawables should use gdk_pixbuf_xlib_render_to_drawable_alpha() or
|
||||
* gdk_pixbuf_xlib_render_to_drawable(), and
|
||||
* gdk_pixbuf_xlib_render_threshold_alpha().
|
||||
*
|
||||
* If the pixbuf does not have an alpha channel, then *@mask_return will be set
|
||||
* to None.
|
||||
**/
|
||||
void
|
||||
gdk_pixbuf_xlib_render_pixmap_and_mask (GdkPixbuf *pixbuf,
|
||||
Pixmap *pixmap_return,
|
||||
Pixmap *mask_return,
|
||||
int alpha_threshold)
|
||||
{
|
||||
g_return_if_fail (pixbuf != NULL);
|
||||
|
||||
if (pixmap_return) {
|
||||
GC gc;
|
||||
XGCValues gcv;
|
||||
|
||||
*pixmap_return = XCreatePixmap (gdk_pixbuf_dpy,
|
||||
RootWindow (gdk_pixbuf_dpy,
|
||||
gdk_pixbuf_screen),
|
||||
pixbuf->width,
|
||||
pixbuf->height,
|
||||
xlib_rgb_get_depth ());
|
||||
gc = XCreateGC (gdk_pixbuf_dpy, *pixmap_return, 0, &gcv);
|
||||
gdk_pixbuf_xlib_render_to_drawable (pixbuf, *pixmap_return, gc,
|
||||
0, 0, 0, 0,
|
||||
pixbuf->width,
|
||||
pixbuf->height,
|
||||
XLIB_RGB_DITHER_NORMAL,
|
||||
0, 0);
|
||||
XFreeGC (gdk_pixbuf_dpy, gc);
|
||||
}
|
||||
|
||||
if (mask_return) {
|
||||
if (pixbuf->has_alpha) {
|
||||
*mask_return = XCreatePixmap (gdk_pixbuf_dpy,
|
||||
RootWindow (gdk_pixbuf_dpy,
|
||||
gdk_pixbuf_screen),
|
||||
pixbuf->width,
|
||||
pixbuf->height, 1);
|
||||
gdk_pixbuf_xlib_render_threshold_alpha (pixbuf,
|
||||
*mask_return,
|
||||
0, 0, 0, 0,
|
||||
pixbuf->width,
|
||||
pixbuf->height,
|
||||
alpha_threshold);
|
||||
} else
|
||||
*mask_return = 0;
|
||||
}
|
||||
}
|
||||
63
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib.c
Normal file
63
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib.c
Normal file
@@ -0,0 +1,63 @@
|
||||
/* GdkPixbuf library - Initialization functions
|
||||
*
|
||||
* Author: John Harper <john@dcs.warwick.ac.uk>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <gdk-pixbuf/gdk-pixbuf-private.h>
|
||||
#include "gdk-pixbuf-xlib-private.h"
|
||||
|
||||
Display *gdk_pixbuf_dpy = NULL;
|
||||
int gdk_pixbuf_screen = -1;
|
||||
|
||||
/**
|
||||
* gdk_pixbuf_xlib_init:
|
||||
* @display: X display to use.
|
||||
* @screen_num: Screen number.
|
||||
*
|
||||
* Initializes the gdk-pixbuf Xlib machinery by calling xlib_rgb_init(). This
|
||||
* function should be called near the beginning of your program, or before using
|
||||
* any of the gdk-pixbuf-xlib functions.
|
||||
**/
|
||||
void
|
||||
gdk_pixbuf_xlib_init (Display *display, int screen_num)
|
||||
{
|
||||
xlib_rgb_init (display, ScreenOfDisplay (display, screen_num));
|
||||
gdk_pixbuf_dpy = display;
|
||||
gdk_pixbuf_screen = screen_num;
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_pixbuf_xlib_init_with_depth:
|
||||
* @display: X display to use.
|
||||
* @screen_num: Screen number.
|
||||
* @prefDepth: Preferred depth for XlibRGB.
|
||||
*
|
||||
* Similar to gdk_pixbuf_xlib_init(), but also lets you specify the preferred
|
||||
* depth for XlibRGB if you do not want it to use the default depth it picks.
|
||||
**/
|
||||
void
|
||||
gdk_pixbuf_xlib_init_with_depth (Display *display,
|
||||
int screen_num, int prefDepth)
|
||||
{
|
||||
xlib_rgb_init_with_depth (display, ScreenOfDisplay (display, screen_num),
|
||||
prefDepth);
|
||||
gdk_pixbuf_dpy = display;
|
||||
gdk_pixbuf_screen = screen_num;
|
||||
}
|
||||
87
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib.h
Normal file
87
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlib.h
Normal file
@@ -0,0 +1,87 @@
|
||||
/* GdkPixbuf library - Xlib header file
|
||||
*
|
||||
* Authors: John Harper <john@dcs.warwick.ac.uk>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef GDK_PIXBUF_XLIB_H
|
||||
#define GDK_PIXBUF_XLIB_H
|
||||
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
|
||||
|
||||
|
||||
/* init */
|
||||
|
||||
void gdk_pixbuf_xlib_init (Display *display, int screen_num);
|
||||
|
||||
void gdk_pixbuf_xlib_init_with_depth (Display *display, int screen_num,
|
||||
int prefDepth);
|
||||
|
||||
|
||||
|
||||
/* render */
|
||||
|
||||
void gdk_pixbuf_xlib_render_threshold_alpha (GdkPixbuf *pixbuf, Pixmap bitmap,
|
||||
int src_x, int src_y,
|
||||
int dest_x, int dest_y,
|
||||
int width, int height,
|
||||
int alpha_threshold);
|
||||
|
||||
void gdk_pixbuf_xlib_render_to_drawable (GdkPixbuf *pixbuf,
|
||||
Drawable drawable, GC gc,
|
||||
int src_x, int src_y,
|
||||
int dest_x, int dest_y,
|
||||
int width, int height,
|
||||
XlibRgbDither dither,
|
||||
int x_dither, int y_dither);
|
||||
|
||||
|
||||
void gdk_pixbuf_xlib_render_to_drawable_alpha (GdkPixbuf *pixbuf,
|
||||
Drawable drawable,
|
||||
int src_x, int src_y,
|
||||
int dest_x, int dest_y,
|
||||
int width, int height,
|
||||
GdkPixbufAlphaMode alpha_mode,
|
||||
int alpha_threshold,
|
||||
XlibRgbDither dither,
|
||||
int x_dither, int y_dither);
|
||||
|
||||
void gdk_pixbuf_xlib_render_pixmap_and_mask (GdkPixbuf *pixbuf,
|
||||
Pixmap *pixmap_return,
|
||||
Pixmap *mask_return,
|
||||
int alpha_threshold);
|
||||
|
||||
|
||||
|
||||
/* drawable */
|
||||
|
||||
GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable (GdkPixbuf *dest,
|
||||
Drawable src,
|
||||
Colormap cmap, Visual *visual,
|
||||
int src_x, int src_y,
|
||||
int dest_x, int dest_y,
|
||||
int width, int height);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* GDK_PIXBUF_XLIB_H */
|
||||
3724
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.c
Normal file
3724
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.c
Normal file
File diff suppressed because it is too large
Load Diff
188
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h
Normal file
188
contrib/gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h
Normal file
@@ -0,0 +1,188 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "MPL"); you may not use this file except in
|
||||
* compliance with the MPL. You may obtain a copy of the MPL at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the MPL is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
|
||||
* for the specific language governing rights and limitations under the
|
||||
* MPL.
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the
|
||||
* terms of the GNU Library General Public License (the "LGPL"), in
|
||||
* which case the provisions of the LGPL are applicable instead of
|
||||
* those above. If you wish to allow use of your version of this file
|
||||
* only under the terms of the LGPL and not to allow others to use
|
||||
* your version of this file under the MPL, indicate your decision by
|
||||
* deleting the provisions above and replace them with the notice and
|
||||
* other provisions required by the LGPL. If you do not delete the
|
||||
* provisions above, a recipient may use your version of this file
|
||||
* under either the MPL or the LGPL.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This code is derived from GdkRgb.
|
||||
* For more information on GdkRgb, see http://www.levien.com/gdkrgb/
|
||||
* Raph Levien <raph@acm.org>
|
||||
*/
|
||||
|
||||
/* Ported by Christopher Blizzard to Xlib. With permission from the
|
||||
* original authors of this file, the contents of this file are also
|
||||
* redistributable under the terms of the Mozilla Public license. For
|
||||
* information about the Mozilla Public License, please see the
|
||||
* license information at http://www.mozilla.org/MPL/
|
||||
*/
|
||||
|
||||
/* This code is copyright the following authors:
|
||||
* Raph Levien <raph@acm.org>
|
||||
* Manish Singh <manish@gtk.org>
|
||||
* Tim Janik <timj@gtk.org>
|
||||
* Peter Mattis <petm@xcf.berkeley.edu>
|
||||
* Spencer Kimball <spencer@xcf.berkeley.edu>
|
||||
* Josh MacDonald <jmacd@xcf.berkeley.edu>
|
||||
* Christopher Blizzard <blizzard@redhat.com>
|
||||
* Owen Taylor <otaylor@redhat.com>
|
||||
* Shawn T. Amundson <amundson@gtk.org>
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __XLIB_RGB_H__
|
||||
#define __XLIB_RGB_H__
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
|
||||
typedef struct _XlibRgbCmap XlibRgbCmap;
|
||||
|
||||
struct _XlibRgbCmap {
|
||||
unsigned int colors[256];
|
||||
unsigned char lut[256]; /* for 8-bit modes */
|
||||
};
|
||||
|
||||
void
|
||||
xlib_rgb_init (Display *display, Screen *screen);
|
||||
void
|
||||
xlib_rgb_init_with_depth (Display *display, Screen *screen, int prefDepth);
|
||||
|
||||
unsigned long
|
||||
xlib_rgb_xpixel_from_rgb (guint32 rgb);
|
||||
|
||||
void
|
||||
xlib_rgb_gc_set_foreground (GC gc, guint32 rgb);
|
||||
|
||||
void
|
||||
xlib_rgb_gc_set_background (GC gc, guint32 rgb);
|
||||
|
||||
typedef enum
|
||||
{
|
||||
XLIB_RGB_DITHER_NONE,
|
||||
XLIB_RGB_DITHER_NORMAL,
|
||||
XLIB_RGB_DITHER_MAX
|
||||
} XlibRgbDither;
|
||||
|
||||
void
|
||||
xlib_draw_rgb_image (Drawable drawable,
|
||||
GC gc,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
XlibRgbDither dith,
|
||||
unsigned char *rgb_buf,
|
||||
int rowstride);
|
||||
|
||||
void
|
||||
xlib_draw_rgb_image_dithalign (Drawable drawable,
|
||||
GC gc,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
XlibRgbDither dith,
|
||||
unsigned char *rgb_buf,
|
||||
int rowstride,
|
||||
int xdith,
|
||||
int ydith);
|
||||
|
||||
void
|
||||
xlib_draw_rgb_32_image (Drawable drawable,
|
||||
GC gc,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
XlibRgbDither dith,
|
||||
unsigned char *buf,
|
||||
int rowstride);
|
||||
|
||||
void
|
||||
xlib_draw_gray_image (Drawable drawable,
|
||||
GC gc,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
XlibRgbDither dith,
|
||||
unsigned char *buf,
|
||||
int rowstride);
|
||||
|
||||
XlibRgbCmap *
|
||||
xlib_rgb_cmap_new (guint32 *colors, int n_colors);
|
||||
|
||||
void
|
||||
xlib_rgb_cmap_free (XlibRgbCmap *cmap);
|
||||
|
||||
void
|
||||
xlib_draw_indexed_image (Drawable drawable,
|
||||
GC gc,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
XlibRgbDither dith,
|
||||
unsigned char *buf,
|
||||
int rowstride,
|
||||
XlibRgbCmap *cmap);
|
||||
|
||||
/* Below are some functions which are primarily useful for debugging
|
||||
and experimentation. */
|
||||
Bool
|
||||
xlib_rgb_ditherable (void);
|
||||
|
||||
void
|
||||
xlib_rgb_set_verbose (Bool verbose);
|
||||
|
||||
/* experimental colormap stuff */
|
||||
void
|
||||
xlib_rgb_set_install (Bool install);
|
||||
|
||||
void
|
||||
xlib_rgb_set_min_colors (int min_colors);
|
||||
|
||||
Colormap
|
||||
xlib_rgb_get_cmap (void);
|
||||
|
||||
Visual *
|
||||
xlib_rgb_get_visual (void);
|
||||
|
||||
XVisualInfo *
|
||||
xlib_rgb_get_visual_info (void);
|
||||
|
||||
int
|
||||
xlib_rgb_get_depth (void);
|
||||
|
||||
Display *
|
||||
xlib_rgb_get_display (void);
|
||||
|
||||
Screen *
|
||||
xlib_rgb_get_screen (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __XLIB_RGB_H__ */
|
||||
@@ -12,10 +12,12 @@ INCLUDES = \
|
||||
$(GTK_DEP_CFLAGS)
|
||||
|
||||
DEPS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib)
|
||||
|
||||
LDADDS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||
$(GTK_DEP_LIBS) \
|
||||
@@ -30,11 +32,21 @@ noinst_PROGRAMS = \
|
||||
pixbuf-demo
|
||||
|
||||
# Need to build test-inline-pixbufs.h for testpixbuf
|
||||
if HAVE_PNG
|
||||
noinst_PROGRAMS += testpixbuf
|
||||
BUILT_SOURCES = test-inline-pixbufs.h
|
||||
endif
|
||||
|
||||
test-inline-pixbufs.h: apple-red.png gnome-foot.png
|
||||
$(GDK_PIXBUF_CSOURCE) --raw --build-list \
|
||||
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
|
||||
endif
|
||||
|
||||
test-inline-pixbufs.h: $(pixbuf_csource_deps) apple-red.png gnome-foot.png
|
||||
$(pixbuf_csource) --raw --build-list \
|
||||
apple_red $(srcdir)/apple-red.png \
|
||||
gnome_foot $(srcdir)/gnome-foot.png \
|
||||
> test-inline-pixbufs.h \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
## Makefile.am for gtk+/demos
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
democodedir=$(datadir)/gtk-$(GTK_API_VERSION)/demo
|
||||
democodedir=$(datadir)/gtk-2.0/demo
|
||||
|
||||
## These should be in the order you want them to appear in the
|
||||
## demo app, which means alphabetized by demo title, not filename
|
||||
@@ -55,16 +55,17 @@ INCLUDES = \
|
||||
$(GTK_DEP_CFLAGS)
|
||||
|
||||
DEPS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib)
|
||||
|
||||
LDADDS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||
$(GTK_DEP_LIBS) \
|
||||
-lm
|
||||
$(GTK_DEP_LIBS)
|
||||
|
||||
bin_PROGRAMS = gtk3-demo
|
||||
bin_PROGRAMS = gtk-demo
|
||||
|
||||
BUILT_SOURCES = demos.h
|
||||
|
||||
@@ -75,15 +76,15 @@ EXTRA_DIST += \
|
||||
demos.h: @REBUILD@ $(demos) geninclude.pl
|
||||
(here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
|
||||
|
||||
gtk3_demo_SOURCES = \
|
||||
gtk_demo_SOURCES = \
|
||||
$(demos) \
|
||||
demo-common.h \
|
||||
main.c \
|
||||
demos.h
|
||||
|
||||
gtk3_demo_DEPENDENCIES = $(DEPS)
|
||||
gtk3_demo_LDADD = $(LDADDS)
|
||||
gtk3_demo_LDFLAGS = -export-dynamic
|
||||
gtk_demo_DEPENDENCIES = $(DEPS)
|
||||
gtk_demo_LDADD = $(LDADDS)
|
||||
gtk_demo_LDFLAGS = -export-dynamic
|
||||
|
||||
IMAGEFILES= alphatest.png \
|
||||
apple-red.png \
|
||||
@@ -98,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
|
||||
|
||||
|
||||
@@ -19,16 +19,6 @@ 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,
|
||||
@@ -222,11 +212,6 @@ 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);
|
||||
|
||||
@@ -280,7 +265,6 @@ static const gchar *ui_info =
|
||||
" <menuitem action='Quit'/>"
|
||||
" </menu>"
|
||||
" <menu action='PreferencesMenu'>"
|
||||
" <menuitem action='DarkTheme'/>"
|
||||
" <menu action='ColorMenu'>"
|
||||
" <menuitem action='Red'/>"
|
||||
" <menuitem action='Green'/>"
|
||||
|
||||
@@ -9,35 +9,12 @@
|
||||
#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)
|
||||
{
|
||||
/* Start a timer to simulate changes taking a few seconds to apply. */
|
||||
g_timeout_add (100, apply_changes_gradually, NULL);
|
||||
/* Apply here changes, this is a fictional
|
||||
example, so we just do nothing here */
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -61,13 +38,6 @@ 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
|
||||
@@ -157,26 +127,6 @@ 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)
|
||||
{
|
||||
@@ -192,7 +142,6 @@ 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);
|
||||
|
||||
@@ -229,7 +229,6 @@ static void
|
||||
open_display_cb (GtkWidget *button,
|
||||
ChangeDisplayInfo *info)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *dialog;
|
||||
GtkWidget *display_entry;
|
||||
GtkWidget *dialog_label;
|
||||
@@ -249,13 +248,11 @@ open_display_cb (GtkWidget *button,
|
||||
dialog_label =
|
||||
gtk_label_new ("Please enter the name of\nthe new display\n");
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (content_area), dialog_label);
|
||||
gtk_container_add (GTK_CONTAINER (content_area), display_entry);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), dialog_label);
|
||||
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), display_entry);
|
||||
|
||||
gtk_widget_grab_focus (display_entry);
|
||||
gtk_widget_show_all (gtk_bin_get_child (GTK_BIN (dialog)));
|
||||
gtk_widget_show_all (GTK_BIN (dialog)->child);
|
||||
|
||||
while (!result)
|
||||
{
|
||||
@@ -602,7 +599,6 @@ do_changedisplay (GtkWidget *do_widget)
|
||||
|
||||
if (!info)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *frame;
|
||||
|
||||
@@ -622,11 +618,11 @@ do_changedisplay (GtkWidget *do_widget)
|
||||
g_signal_connect (info->window, "destroy",
|
||||
G_CALLBACK (destroy_cb), &info);
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (info->window));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (info->window)->vbox), vbox,
|
||||
TRUE, TRUE, 0);
|
||||
|
||||
frame = create_display_frame (info);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
|
||||
|
||||
@@ -41,15 +41,13 @@ change_color_callback (GtkWidget *button,
|
||||
{
|
||||
GtkWidget *dialog;
|
||||
GtkColorSelection *colorsel;
|
||||
GtkColorSelectionDialog *selection_dialog;
|
||||
gint response;
|
||||
|
||||
dialog = gtk_color_selection_dialog_new ("Changing color");
|
||||
|
||||
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window));
|
||||
|
||||
selection_dialog = GTK_COLOR_SELECTION_DIALOG (dialog);
|
||||
colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog));
|
||||
|
||||
colorsel = GTK_COLOR_SELECTION (GTK_COLOR_SELECTION_DIALOG (dialog)->colorsel);
|
||||
|
||||
gtk_color_selection_set_previous_color (colorsel, &color);
|
||||
gtk_color_selection_set_current_color (colorsel, &color);
|
||||
|
||||
@@ -435,7 +435,7 @@ do_combobox (GtkWidget *do_widget)
|
||||
entry = g_object_new (TYPE_MASK_ENTRY, NULL);
|
||||
MASK_ENTRY (entry)->mask = "^([0-9]*|One|Two|2\302\275|Three)$";
|
||||
|
||||
gtk_container_remove (GTK_CONTAINER (combo), gtk_bin_get_child (GTK_BIN (combo)));
|
||||
gtk_container_remove (GTK_CONTAINER (combo), GTK_BIN (combo)->child);
|
||||
gtk_container_add (GTK_CONTAINER (combo), entry);
|
||||
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ static void
|
||||
interactive_dialog_clicked (GtkButton *button,
|
||||
gpointer user_data)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *dialog;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *stock;
|
||||
@@ -52,11 +51,9 @@ interactive_dialog_clicked (GtkButton *button,
|
||||
GTK_RESPONSE_CANCEL,
|
||||
NULL);
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 8);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0);
|
||||
|
||||
stock = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), stock, FALSE, FALSE, 0);
|
||||
|
||||
@@ -11,7 +11,6 @@ static GtkWidget *window = NULL;
|
||||
GtkWidget *
|
||||
do_entry_buffer (GtkWidget *do_widget)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *label;
|
||||
GtkWidget *entry;
|
||||
@@ -32,10 +31,8 @@ do_entry_buffer (GtkWidget *do_widget)
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
|
||||
|
||||
label = gtk_label_new (NULL);
|
||||
|
||||
@@ -37,7 +37,6 @@ create_completion_model (void)
|
||||
GtkWidget *
|
||||
do_entry_completion (GtkWidget *do_widget)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *label;
|
||||
GtkWidget *entry;
|
||||
@@ -59,10 +58,8 @@ do_entry_completion (GtkWidget *do_widget)
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
|
||||
|
||||
label = gtk_label_new (NULL);
|
||||
|
||||
@@ -13,7 +13,6 @@ static GtkWidget *window = NULL;
|
||||
GtkWidget *
|
||||
do_expander (GtkWidget *do_widget)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *label;
|
||||
GtkWidget *expander;
|
||||
@@ -33,10 +32,8 @@ do_expander (GtkWidget *do_widget)
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
|
||||
|
||||
label = gtk_label_new ("Expander demo. Click on the triangle for details.");
|
||||
|
||||
@@ -317,7 +317,6 @@ do_images (GtkWidget *do_widget)
|
||||
GtkWidget *align;
|
||||
GtkWidget *button;
|
||||
GdkPixbuf *pixbuf;
|
||||
GIcon *gicon;
|
||||
GError *error = NULL;
|
||||
char *filename;
|
||||
|
||||
@@ -416,26 +415,6 @@ 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 */
|
||||
|
||||
|
||||
@@ -29,9 +29,7 @@ enum
|
||||
COLUMN_SEVERITY,
|
||||
COLUMN_DESCRIPTION,
|
||||
COLUMN_PULSE,
|
||||
COLUMN_ICON,
|
||||
COLUMN_ACTIVE,
|
||||
COLUMN_SENSITIVE,
|
||||
NUM_COLUMNS
|
||||
};
|
||||
|
||||
@@ -94,24 +92,11 @@ 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,
|
||||
@@ -119,9 +104,7 @@ 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);
|
||||
}
|
||||
|
||||
@@ -216,19 +199,6 @@ 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
|
||||
|
||||
@@ -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/loaders.cache", TRUE);
|
||||
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/immodules.cache", TRUE);
|
||||
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
|
||||
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/gtk.immodules", TRUE);
|
||||
}
|
||||
/* -- End of hack -- */
|
||||
|
||||
|
||||
@@ -226,12 +226,12 @@ gtk_rotated_bin_realize (GtkWidget *widget)
|
||||
GtkRotatedBin *bin = GTK_ROTATED_BIN (widget);
|
||||
GdkWindowAttr attributes;
|
||||
gint attributes_mask;
|
||||
guint border_width;
|
||||
gint border_width;
|
||||
GtkRequisition child_requisition;
|
||||
|
||||
gtk_widget_set_realized (widget, TRUE);
|
||||
|
||||
border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
|
||||
border_width = GTK_CONTAINER (widget)->border_width;
|
||||
|
||||
attributes.x = widget->allocation.x + border_width;
|
||||
attributes.y = widget->allocation.y + border_width;
|
||||
@@ -378,7 +378,6 @@ gtk_rotated_bin_size_request (GtkWidget *widget,
|
||||
GtkRequisition child_requisition;
|
||||
double s, c;
|
||||
double w, h;
|
||||
guint border_width;
|
||||
|
||||
child_requisition.width = 0;
|
||||
child_requisition.height = 0;
|
||||
@@ -391,9 +390,8 @@ gtk_rotated_bin_size_request (GtkWidget *widget,
|
||||
w = c * child_requisition.width + s * child_requisition.height;
|
||||
h = s * child_requisition.width + c * child_requisition.height;
|
||||
|
||||
border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
|
||||
requisition->width = border_width * 2 + w;
|
||||
requisition->height = border_width * 2 + h;
|
||||
requisition->width = GTK_CONTAINER (widget)->border_width * 2 + w;
|
||||
requisition->height = GTK_CONTAINER (widget)->border_width * 2 + h;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -401,13 +399,13 @@ gtk_rotated_bin_size_allocate (GtkWidget *widget,
|
||||
GtkAllocation *allocation)
|
||||
{
|
||||
GtkRotatedBin *bin = GTK_ROTATED_BIN (widget);
|
||||
guint border_width;
|
||||
gint border_width;
|
||||
gint w, h;
|
||||
gdouble s, c;
|
||||
|
||||
widget->allocation = *allocation;
|
||||
|
||||
border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
|
||||
border_width = GTK_CONTAINER (widget)->border_width;
|
||||
|
||||
w = allocation->width - border_width * 2;
|
||||
h = allocation->height - border_width * 2;
|
||||
|
||||
@@ -164,12 +164,12 @@ gtk_mirror_bin_realize (GtkWidget *widget)
|
||||
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
|
||||
GdkWindowAttr attributes;
|
||||
gint attributes_mask;
|
||||
guint border_width;
|
||||
gint border_width;
|
||||
GtkRequisition child_requisition;
|
||||
|
||||
gtk_widget_set_realized (widget, TRUE);
|
||||
|
||||
border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
|
||||
border_width = GTK_CONTAINER (widget)->border_width;
|
||||
|
||||
attributes.x = widget->allocation.x + border_width;
|
||||
attributes.y = widget->allocation.y + border_width;
|
||||
@@ -302,7 +302,6 @@ gtk_mirror_bin_size_request (GtkWidget *widget,
|
||||
{
|
||||
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
|
||||
GtkRequisition child_requisition;
|
||||
guint border_width;
|
||||
|
||||
child_requisition.width = 0;
|
||||
child_requisition.height = 0;
|
||||
@@ -310,9 +309,8 @@ gtk_mirror_bin_size_request (GtkWidget *widget,
|
||||
if (bin->child && gtk_widget_get_visible (bin->child))
|
||||
gtk_widget_size_request (bin->child, &child_requisition);
|
||||
|
||||
border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
|
||||
requisition->width = border_width * 2 + child_requisition.width + 10;
|
||||
requisition->height = border_width * 2 + child_requisition.height * 2 + 10;
|
||||
requisition->width = GTK_CONTAINER (widget)->border_width * 2 + child_requisition.width + 10;
|
||||
requisition->height = GTK_CONTAINER (widget)->border_width * 2 + child_requisition.height * 2 + 10;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -320,12 +318,11 @@ gtk_mirror_bin_size_allocate (GtkWidget *widget,
|
||||
GtkAllocation *allocation)
|
||||
{
|
||||
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
|
||||
gint border_width;
|
||||
gint w, h;
|
||||
guint border_width;
|
||||
|
||||
widget->allocation = *allocation;
|
||||
|
||||
border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
|
||||
border_width = GTK_CONTAINER (widget)->border_width;
|
||||
|
||||
w = allocation->width - border_width * 2;
|
||||
h = allocation->height - border_width * 2;
|
||||
|
||||
@@ -18,13 +18,11 @@ toggle_resize (GtkWidget *widget,
|
||||
GtkWidget *child)
|
||||
{
|
||||
GtkPaned *paned = GTK_PANED (child->parent);
|
||||
gboolean is_child1 = (child == gtk_paned_get_child1 (paned));
|
||||
gboolean is_child1 = (child == paned->child1);
|
||||
gboolean resize, shrink;
|
||||
|
||||
gtk_container_child_get (GTK_CONTAINER (paned), child,
|
||||
"resize", &resize,
|
||||
"shrink", &shrink,
|
||||
NULL);
|
||||
resize = is_child1 ? paned->child1_resize : paned->child2_resize;
|
||||
shrink = is_child1 ? paned->child1_shrink : paned->child2_shrink;
|
||||
|
||||
g_object_ref (child);
|
||||
gtk_container_remove (GTK_CONTAINER (child->parent), child);
|
||||
@@ -40,13 +38,11 @@ toggle_shrink (GtkWidget *widget,
|
||||
GtkWidget *child)
|
||||
{
|
||||
GtkPaned *paned = GTK_PANED (child->parent);
|
||||
gboolean is_child1 = (child == gtk_paned_get_child1 (paned));
|
||||
gboolean is_child1 = (child == paned->child1);
|
||||
gboolean resize, shrink;
|
||||
|
||||
gtk_container_child_get (GTK_CONTAINER (paned), child,
|
||||
"resize", &resize,
|
||||
"shrink", &shrink,
|
||||
NULL);
|
||||
resize = is_child1 ? paned->child1_resize : paned->child2_resize;
|
||||
shrink = is_child1 ? paned->child1_shrink : paned->child2_shrink;
|
||||
|
||||
g_object_ref (child);
|
||||
gtk_container_remove (GTK_CONTAINER (child->parent), child);
|
||||
@@ -63,15 +59,11 @@ create_pane_options (GtkPaned *paned,
|
||||
const gchar *label1,
|
||||
const gchar *label2)
|
||||
{
|
||||
GtkWidget *child1, *child2;
|
||||
GtkWidget *frame;
|
||||
GtkWidget *table;
|
||||
GtkWidget *label;
|
||||
GtkWidget *check_button;
|
||||
|
||||
child1 = gtk_paned_get_child1 (paned);
|
||||
child2 = gtk_paned_get_child2 (paned);
|
||||
|
||||
|
||||
frame = gtk_frame_new (frame_label);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (frame), 4);
|
||||
|
||||
@@ -86,16 +78,16 @@ create_pane_options (GtkPaned *paned,
|
||||
gtk_table_attach_defaults (GTK_TABLE (table), check_button,
|
||||
0, 1, 1, 2);
|
||||
g_signal_connect (check_button, "toggled",
|
||||
G_CALLBACK (toggle_resize), child1);
|
||||
|
||||
G_CALLBACK (toggle_resize), paned->child1);
|
||||
|
||||
check_button = gtk_check_button_new_with_mnemonic ("_Shrink");
|
||||
gtk_table_attach_defaults (GTK_TABLE (table), check_button,
|
||||
0, 1, 2, 3);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
|
||||
TRUE);
|
||||
g_signal_connect (check_button, "toggled",
|
||||
G_CALLBACK (toggle_shrink), child1);
|
||||
|
||||
G_CALLBACK (toggle_shrink), paned->child1);
|
||||
|
||||
label = gtk_label_new (label2);
|
||||
gtk_table_attach_defaults (GTK_TABLE (table), label,
|
||||
1, 2, 0, 1);
|
||||
@@ -106,15 +98,15 @@ create_pane_options (GtkPaned *paned,
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
|
||||
TRUE);
|
||||
g_signal_connect (check_button, "toggled",
|
||||
G_CALLBACK (toggle_resize), child2);
|
||||
|
||||
G_CALLBACK (toggle_resize), paned->child2);
|
||||
|
||||
check_button = gtk_check_button_new_with_mnemonic ("_Shrink");
|
||||
gtk_table_attach_defaults (GTK_TABLE (table), check_button,
|
||||
1, 2, 2, 3);
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
|
||||
TRUE);
|
||||
g_signal_connect (check_button, "toggled",
|
||||
G_CALLBACK (toggle_shrink), child2);
|
||||
G_CALLBACK (toggle_shrink), paned->child2);
|
||||
|
||||
return frame;
|
||||
}
|
||||
|
||||
@@ -241,7 +241,6 @@ entry_populate_popup (GtkEntry *entry,
|
||||
GtkWidget *
|
||||
do_search_entry (GtkWidget *do_widget)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *label;
|
||||
@@ -264,10 +263,8 @@ do_search_entry (GtkWidget *do_widget)
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (search_entry_destroyed), &window);
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
|
||||
|
||||
label = gtk_label_new (NULL);
|
||||
|
||||
@@ -82,7 +82,6 @@ toggle_grouping (GtkToggleButton *check_button,
|
||||
GtkWidget *
|
||||
do_sizegroup (GtkWidget *do_widget)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *table;
|
||||
GtkWidget *frame;
|
||||
GtkWidget *vbox;
|
||||
@@ -116,10 +115,8 @@ do_sizegroup (GtkWidget *do_widget)
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
|
||||
|
||||
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||
|
||||
@@ -27,7 +27,6 @@ on_stop_clicked (GtkButton *button, gpointer user_data)
|
||||
GtkWidget *
|
||||
do_spinner (GtkWidget *do_widget)
|
||||
{
|
||||
GtkWidget *content_area;
|
||||
GtkWidget *vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *button;
|
||||
@@ -48,10 +47,8 @@ do_spinner (GtkWidget *do_widget)
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 5);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
|
||||
|
||||
/* Sensitive */
|
||||
|
||||
@@ -16,5 +16,5 @@ void
|
||||
pixbuf_init (void)
|
||||
{
|
||||
if (file_exists ("../gdk-pixbuf/libpixbufloader-pnm.la"))
|
||||
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/loaders.cache", TRUE);
|
||||
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
|
||||
}
|
||||
|
||||
@@ -26,21 +26,16 @@ Make sure that gtk-doc is the latest released version.
|
||||
committers, etc. Anybody who is mentioned in ChangeLog gets
|
||||
credits, but only real names, not email addresses or nicknames.
|
||||
|
||||
3) Update the pot files and commit the changes:
|
||||
|
||||
make -C po gtk30.pot
|
||||
make -C po-properties gtk30-properties.pot
|
||||
|
||||
4) In particular, if this is a major, stable, release, verify that
|
||||
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.ac.
|
||||
with configure.in.
|
||||
|
||||
5) Verify that the version in configure.ac has been bumped after the last
|
||||
4) Verify that the version in configure.in has been bumped after the last
|
||||
release. (Note that this is critical, a slip-up here will cause the
|
||||
soname to change).
|
||||
|
||||
6) Make sure that make check is happy (If you don't do it here, make distcheck
|
||||
5) Make sure that make check is happy (If you don't do it here, make distcheck
|
||||
will also catch it, but it is kind of disheartening to see make distcheck
|
||||
fail due to an extraneous symbol after watching it build the docs for an
|
||||
hour...).
|
||||
@@ -54,7 +49,7 @@ Make sure that gtk-doc is the latest released version.
|
||||
using a function from a different library, which is not yet allowed
|
||||
by the filter in pltcheck.sh
|
||||
|
||||
7) If this is a devel release, make sure that the docs for new symbols
|
||||
6) If this is a devel release, make sure that the docs for new symbols
|
||||
are in good shape. Look at the -unused.txt files and add stuff found
|
||||
there to the corresponding -sections.txt file. Look at the
|
||||
-undocumented.txt files and see if there is anything in there that
|
||||
@@ -63,12 +58,12 @@ Make sure that gtk-doc is the latest released version.
|
||||
Since: tags, and that there is an index in the main -docs.sgml for
|
||||
the next stable version.
|
||||
|
||||
8) make distcheck
|
||||
7) make distcheck
|
||||
|
||||
9) Fix broken stuff found by 8), commit changes: git commit -a, repeat.
|
||||
8) Fix broken stuff found by 7), repeat
|
||||
|
||||
10) Once distcheck succeeds, verify that the tree is clean: git diff should
|
||||
come up empty.
|
||||
9) Commit all changes: git commit -a. You will have a bunch of po file
|
||||
changes, NEWS and maybe some doc changes too
|
||||
|
||||
10) Now you've got the tarball. Check that the tarball size looks
|
||||
reasonable compared to previous releases. If the size goes down
|
||||
@@ -83,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.ac and commit and push this change
|
||||
13) Bump the version number in configure.in 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,
|
||||
|
||||
@@ -17,8 +17,6 @@ pdf:
|
||||
(cd $(srcdir); db2pdf gtk-faq.sgml); \
|
||||
fi
|
||||
|
||||
all-local: html
|
||||
|
||||
dist-hook: html
|
||||
cp -Rp $(srcdir)/html $(distdir)
|
||||
else
|
||||
|
||||
@@ -789,7 +789,7 @@ disgrace to the widget set will gladly be included.</para>
|
||||
<para>The new widgets that get added to GTK+ are generally either
|
||||
replacements for existing widgets that are no longer
|
||||
deemed to be adequate, or have been developed externally to GTK+ but
|
||||
have been widely tested.</para>
|
||||
have been widely tested.
|
||||
|
||||
<para>Before you spend months of your valuable time implementing your
|
||||
revolutionary widget, it is highly recommended that you get some
|
||||
@@ -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.ac which may look like:</para>
|
||||
you must create a configure.in which may look like:</para>
|
||||
|
||||
<programlisting role="C">
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl configure.ac for a GTK+ based program
|
||||
dnl configure.in for a GTK+ based program
|
||||
|
||||
AC_INIT(myprg.c)
|
||||
AM_INIT_AUTOMAKE(mypkgname, 0.0.1)
|
||||
@@ -1137,7 +1137,8 @@ myapp --display=:1
|
||||
| | | +GtkCombo
|
||||
| | | `GtkStatusbar
|
||||
| | `GtkVBox
|
||||
| | `GtkColorSelection
|
||||
| | +GtkColorSelection
|
||||
| | `GtkGammaCurve
|
||||
| +GtkButton
|
||||
| | +GtkOptionMenu
|
||||
| | `GtkToggleButton
|
||||
@@ -1159,6 +1160,7 @@ myapp --display=:1
|
||||
| +GtkToolbar
|
||||
| `GtkTree
|
||||
+GtkDrawingArea
|
||||
| `GtkCurve
|
||||
+GtkEditable
|
||||
| +GtkEntry
|
||||
| | `GtkSpinButton
|
||||
@@ -1627,7 +1629,11 @@ int main(int argc, char *argv[])
|
||||
g_signal_connect(G_OBJECT (window), "destroy",
|
||||
G_CALLBACK(destroy), NULL);
|
||||
|
||||
#if (GTK_MAJOR_VERSION == 1) && (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!");
|
||||
@@ -1892,7 +1898,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>g_signal_emit</literal> and can be
|
||||
emited with <literal>gtk_signal_emit</literal> and can be
|
||||
handled in the same way as other signals.</para>
|
||||
|
||||
<para>Tim Janik posted this code snippet:</para>
|
||||
@@ -1914,7 +1920,7 @@ gtk_widget_user_action (GtkWidget *widget,
|
||||
{
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
|
||||
g_signal_emit (widget, signal_user_action, act_data);
|
||||
gtk_signal_emit (GTK_OBJECT (widget), signal_user_action, act_data);
|
||||
}
|
||||
</programlisting>
|
||||
|
||||
@@ -2521,15 +2527,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_editable_set_editable() function:</para>
|
||||
gtk_entry_set_editable() function:</para>
|
||||
|
||||
|
||||
<programlisting role="C">
|
||||
void gtk_editable_set_editable (GtkEditable *editable,
|
||||
gboolean is_editable);
|
||||
void gtk_entry_set_editable(GtkEntry *entry,
|
||||
gboolean editable);
|
||||
</programlisting>
|
||||
|
||||
<para>Set the is_editable parameter to FALSE to disable typing
|
||||
<para>Set the editable parameter to FALSE to disable typing
|
||||
into the entry.</para>
|
||||
</sect1>
|
||||
|
||||
@@ -2553,10 +2559,10 @@ into the entry.</para>
|
||||
signal handler with</para>
|
||||
|
||||
<programlisting role="C">
|
||||
g_signal_connect(GTK_COMBO(cb)->entry,
|
||||
"changed",
|
||||
G_CALLBACK(my_cb_change_handler),
|
||||
NULL);
|
||||
gtk_signal_connect(GTK_COMBO(cb)->entry,
|
||||
"changed",
|
||||
GTK_SIGNAL_FUNC(my_cb_change_handler),
|
||||
NULL);
|
||||
</programlisting>
|
||||
|
||||
</sect1>
|
||||
@@ -2623,8 +2629,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 ("");
|
||||
gtk_label_set_use_underline (GTK_LABEL (gtk_bin_get_child (GTK_BIN (file1))),
|
||||
TRUE);
|
||||
tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (file1)->child),
|
||||
_("_File"));
|
||||
gtk_widget_add_accelerator (file1, "activate_item", accel_group,
|
||||
tmp_key, GDK_MOD1_MASK, 0);
|
||||
gtk_object_set_data (GTK_OBJECT (window1), "file1", file1);
|
||||
@@ -2637,8 +2643,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 ("");
|
||||
gtk_label_set_use_underline (GTK_LABEL (gtk_bin_get_child (GTK_BIN (new1))),
|
||||
TRUE);
|
||||
tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (new1)->child),
|
||||
_("_New"));
|
||||
gtk_widget_add_accelerator (new1, "activate_item", file1_menu_accels,
|
||||
tmp_key, 0, 0);
|
||||
gtk_object_set_data (GTK_OBJECT (window1), "new1", new1);
|
||||
@@ -2664,9 +2670,9 @@ GtkMenuItem with:</para>
|
||||
/* do stuff with child */
|
||||
if (GTK_IS_LABEL (child))
|
||||
{
|
||||
const gchar *text;
|
||||
gchar *text;
|
||||
|
||||
text = gtk_label_get_text (GTK_LABEL (child));
|
||||
gtk_label_get (GTK_LABEL (child), &text);
|
||||
g_print ("menu item text: %s\n", text);
|
||||
}
|
||||
}
|
||||
@@ -2858,9 +2864,9 @@ be:</para>
|
||||
|
||||
<programlisting role="C">
|
||||
entry = gtk_entry_new();
|
||||
g_signal_connect (entry, "activate",
|
||||
G_CALLBACK(entry_callback),
|
||||
NULL);
|
||||
gtk_signal_connect (GTK_OBJECT(entry), "activate",
|
||||
GTK_SIGNAL_FUNC(entry_callback),
|
||||
NULL);
|
||||
</programlisting>
|
||||
|
||||
</sect1>
|
||||
@@ -3038,8 +3044,8 @@ main (int argc, char *argv[])
|
||||
gtk_container_add (GTK_CONTAINER (window), text);
|
||||
|
||||
/* connect after everything else */
|
||||
g_signal_connect_after (text, "button_press_event",
|
||||
G_CALLBACK (insert_bar), NULL);
|
||||
gtk_signal_connect_after (GTK_OBJECT(text), "button_press_event",
|
||||
GTK_SIGNAL_FUNC (insert_bar), NULL);
|
||||
|
||||
gtk_widget_show_all(window);
|
||||
gtk_main();
|
||||
@@ -3102,7 +3108,7 @@ like this:</para>
|
||||
gc = gdk_gc_new(widget->window);
|
||||
|
||||
/* find proper dimensions for rectangle */
|
||||
gdk_drawable_get_size(widget->window, &width, &height);
|
||||
gdk_window_get_size(widget->window, &width, &height);
|
||||
|
||||
/* the color we want to use */
|
||||
color = (GdkColor *)malloc(sizeof(GdkColor));
|
||||
@@ -3124,7 +3130,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_colormap_alloc_color(gtk_widget_get_colormap(widget), color, FALSE, TRUE);
|
||||
gdk_color_alloc(gtk_widget_get_colormap(widget), color);
|
||||
|
||||
/* set the foreground to our color */
|
||||
gdk_gc_set_foreground(gc, color);
|
||||
|
||||
@@ -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.ac', which is used to build the
|
||||
Two files are needed, 'configure.in', which is used to build the
|
||||
configure script:
|
||||
|
||||
==configure.ac===
|
||||
==configure.in===
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT(testinput.c)
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ GtkOptionMenu looks like this:
|
||||
/* menu_item->ref_count == 1 and it is flagged as `floating'.
|
||||
*/
|
||||
|
||||
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
|
||||
gtk_menu_append (GTK_MENU (menu), menu_item);
|
||||
/* menu_item->ref_count still == 1, but it is no longer `floating'.
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
SUBDIRS = gdk gtk libgail-util
|
||||
SUBDIRS = gdk-pixbuf gdk gtk libgail-util
|
||||
|
||||
GITIGNOREFILES = */*.1
|
||||
|
||||
|
||||
99
docs/reference/gdk-pixbuf/Makefile.am
Normal file
99
docs/reference/gdk-pixbuf/Makefile.am
Normal file
@@ -0,0 +1,99 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
|
||||
# The name of the module.
|
||||
DOC_MODULE=gdk-pixbuf
|
||||
|
||||
# The top-level SGML file.
|
||||
DOC_MAIN_SGML_FILE=gdk-pixbuf.sgml
|
||||
|
||||
# Extra options to supply to gtkdoc-scan
|
||||
SCAN_OPTIONS=--source-dir=../../../contrib/gdk-pixbuf-xlib --deprecated-guards="GDK_PIXBUF_ENABLE_BROKEN|GDK_PIXBUF_DISABLE_DEPRECATED"
|
||||
|
||||
# The directory containing the source code. Relative to $(srcdir)
|
||||
DOC_SOURCE_DIR=../../../gdk-pixbuf
|
||||
|
||||
# Used for dependencies
|
||||
HFILE_GLOB=$(top_srcdir)/gdk-pixbuf/*.h $(top_srcdir)/contrib/gdk-pixbuf-xlib/*.h
|
||||
CFILE_GLOB=$(top_srcdir)/gdk-pixbuf/*.c $(top_srcdir)/contrib/gdk-pixbuf-xlib/*.c
|
||||
|
||||
# Header files to ignore when scanning
|
||||
IGNORE_HFILES= \
|
||||
pixops \
|
||||
gdk-pixbuf-alias.h \
|
||||
gdk-pixbuf-marshal.h \
|
||||
gdk-pixbuf-xlib-private.h \
|
||||
gdk-pixbuf-i18n.h \
|
||||
gdk-pixbuf-private.h \
|
||||
io-gif-animation.h \
|
||||
io-ani-animation.h \
|
||||
xpm-color-table.h \
|
||||
test-images.h
|
||||
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_builddir)/gdk \
|
||||
$(GTK_DEBUG_FLAGS) \
|
||||
$(GTK_DEP_CFLAGS)
|
||||
|
||||
GTKDOC_LIBS = \
|
||||
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
|
||||
$(top_builddir)/gdk/$(gdktargetlib) \
|
||||
$(top_builddir)/gtk/$(gtktargetlib) \
|
||||
$(GTK_DEP_LIBS)
|
||||
|
||||
|
||||
# Extra options to supply to gtkdoc-mkdb
|
||||
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml --name-space=gdk_pixbuf
|
||||
|
||||
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
|
||||
content_files = \
|
||||
version.xml \
|
||||
gdk-pixbuf-from-drawables.sgml \
|
||||
gdk-pixbuf-rendering.sgml \
|
||||
gdk-pixbuf.sgml \
|
||||
porting-from-imlib.sgml \
|
||||
gdk-pixbuf-csource.xml \
|
||||
gdk-pixbuf-query-loaders.xml
|
||||
|
||||
# Images to copy into HTML directory
|
||||
HTML_IMAGES = composite.png
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS= --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib
|
||||
|
||||
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
# Other files to distribute
|
||||
EXTRA_DIST += version.xml.in \
|
||||
composite.png \
|
||||
composite.dia \
|
||||
apple-red-1a.png \
|
||||
apple-red-2c.png \
|
||||
gnome-gmush-1.png
|
||||
|
||||
########################################################################
|
||||
|
||||
if ENABLE_MAN
|
||||
|
||||
man_MANS = gdk-pixbuf-csource.1 gdk-pixbuf-query-loaders.1
|
||||
|
||||
%.1 : %.xml
|
||||
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
|
||||
|
||||
BUILT_EXTRA_DIST = $(man_MANS)
|
||||
|
||||
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
|
||||
|
||||
-include $(top_srcdir)/git.mk
|
||||
BIN
docs/reference/gdk-pixbuf/apple-red-1a.png
Normal file
BIN
docs/reference/gdk-pixbuf/apple-red-1a.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
BIN
docs/reference/gdk-pixbuf/apple-red-2c.png
Normal file
BIN
docs/reference/gdk-pixbuf/apple-red-2c.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
docs/reference/gdk-pixbuf/composite.dia
Normal file
BIN
docs/reference/gdk-pixbuf/composite.dia
Normal file
Binary file not shown.
BIN
docs/reference/gdk-pixbuf/composite.png
Normal file
BIN
docs/reference/gdk-pixbuf/composite.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 104 KiB |
177
docs/reference/gdk-pixbuf/gdk-pixbuf-csource.xml
Normal file
177
docs/reference/gdk-pixbuf/gdk-pixbuf-csource.xml
Normal file
@@ -0,0 +1,177 @@
|
||||
<?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-csource">
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle>gdk-pixbuf-csource</refentrytitle>
|
||||
<manvolnum>1</manvolnum>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>gdk-pixbuf-csource</refname>
|
||||
<refpurpose>C code generation utility for GdkPixbuf images</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis>
|
||||
<command>gdk-pixbuf-csource</command>
|
||||
<arg choice="opt">options</arg>
|
||||
<arg choice="opt">image</arg>
|
||||
</cmdsynopsis>
|
||||
<cmdsynopsis>
|
||||
<command>gdk-pixbuf-csource</command>
|
||||
<arg choice="opt">options</arg>
|
||||
<arg choice="plain">--build-list</arg>
|
||||
<arg rep="repeat">
|
||||
<arg>name</arg>
|
||||
<arg>image</arg>
|
||||
</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<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.
|
||||
</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>)
|
||||
pairs to generate code for a list of images into named variables.
|
||||
</para>
|
||||
<refsect2><title>Options</title>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--stream</option></term>
|
||||
<listitem><para>
|
||||
Generate pixbuf data stream (a single string containing a serialized
|
||||
<structname>GdkPixdata</structname> structure in network byte order).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--struct</option></term>
|
||||
<listitem><para>
|
||||
Generate GdkPixdata structure (needs the <structname>GdkPixdata</structname>
|
||||
structure definition from <filename>gdk-pixdata.h</filename>).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--macros</option></term>
|
||||
<listitem><para>
|
||||
Generate *_ROWSTRIDE, *_WIDTH, *_HEIGHT, *_BYTES_PER_PIXEL and
|
||||
*_RLE_PIXEL_DATA or *_PIXEL_DATA macro definitions for the image.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--rle</option></term>
|
||||
<listitem><para>
|
||||
Enables run-length encoding for the generated pixel data (default).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--raw</option></term>
|
||||
<listitem><para>
|
||||
Disables run-length encoding for the generated pixel data.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--extern</option></term>
|
||||
<listitem><para>
|
||||
Generate extern symbols.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--static</option></term>
|
||||
<listitem><para>
|
||||
Generate static symbols (default).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--decoder</option></term>
|
||||
<listitem><para>
|
||||
Provide a *_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp) macro definition
|
||||
to decode run-length encoded image data.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--name=identifier</option></term>
|
||||
<listitem><para>
|
||||
Specifies the identifier name (prefix) for the generated variables or
|
||||
macros (useful only if <option>--build-list</option> was not specified).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--build-list</option></term>
|
||||
<listitem><para>
|
||||
Enables (<replaceable>name</replaceable>, <replaceable>image</replaceable>)
|
||||
pair parsing mode.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-h</option>, <option>--help</option></term>
|
||||
<listitem><para>
|
||||
Print brief help and exit.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-v</option>, <option>--version</option></term>
|
||||
<listitem><para>
|
||||
Print version and exit.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--g-fatal-warnings</option></term>
|
||||
<listitem><para>
|
||||
Make warnings fatal (causes the program to abort).
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</refsect2>
|
||||
</refsect1>
|
||||
|
||||
<refsect1><title>See also</title>
|
||||
<para>
|
||||
The <structname>GdkPixbuf</structname> documentation, shipped with the
|
||||
Gtk+ distribution, available from <ulink url="http://www.gtk.org">www.gtk.org</ulink>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1><title>Bugs</title>
|
||||
<para>
|
||||
The runlength encoder gets out of sync with the pixel boundaries, since
|
||||
it includes the rowstride padding in the encoded stream. Furthermore, it
|
||||
generates pixbufs with suboptimal rowstride in some cases.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1><title>Author</title>
|
||||
<para>
|
||||
<command>gdk-pixbuf-csource</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>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
29
docs/reference/gdk-pixbuf/gdk-pixbuf-from-drawables.sgml
Normal file
29
docs/reference/gdk-pixbuf/gdk-pixbuf-from-drawables.sgml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?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-gdk-pixbuf-from-drawables">
|
||||
<refmeta>
|
||||
<refentrytitle>Drawables to Pixbufs</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
<refmiscinfo>GDK-PIXBUF Library</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>Drawables to Pixbufs</refname><refpurpose>Getting parts of a GDK drawable's image data into a pixbuf.</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
<para>
|
||||
The functions to take the image data from a GDK drawable and dump it
|
||||
into a pixbuf are contained in GDK, see the
|
||||
<link linkend="gdk-Pixbufs">Pixbufs</link> section of the GDK
|
||||
documentation.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
|
||||
|
||||
</refentry>
|
||||
55
docs/reference/gdk-pixbuf/gdk-pixbuf-query-loaders.xml
Normal file
55
docs/reference/gdk-pixbuf/gdk-pixbuf-query-loaders.xml
Normal file
@@ -0,0 +1,55 @@
|
||||
<?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>
|
||||
|
||||
|
||||
32
docs/reference/gdk-pixbuf/gdk-pixbuf-rendering.sgml
Normal file
32
docs/reference/gdk-pixbuf/gdk-pixbuf-rendering.sgml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?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-gdk-pixbuf-rendering">
|
||||
<refmeta>
|
||||
<refentrytitle>Rendering</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
<refmiscinfo>GDK-PIXBUF Library</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname>Rendering</refname><refpurpose>Rendering a pixbuf to a GDK drawable.</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
|
||||
<refsect1>
|
||||
<title>Description</title>
|
||||
<para>
|
||||
The functions to render pixbufs to GDK drawables are contained in
|
||||
GDK, see the <link linkend="gdk-Pixbufs">Pixbufs</link> section
|
||||
of the GDK documentation.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
|
||||
|
||||
</refentry>
|
||||
|
||||
|
||||
|
||||
302
docs/reference/gdk-pixbuf/gdk-pixbuf-sections.txt
Normal file
302
docs/reference/gdk-pixbuf/gdk-pixbuf-sections.txt
Normal file
@@ -0,0 +1,302 @@
|
||||
<INCLUDE>gdk-pixbuf/gdk-pixbuf.h</INCLUDE>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>Versioning</TITLE>
|
||||
<FILE>initialization_versions</FILE>
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_pixbuf_version
|
||||
gdk_pixbuf_major_version
|
||||
gdk_pixbuf_minor_version
|
||||
gdk_pixbuf_micro_version
|
||||
GDK_PIXBUF_VERSION
|
||||
GDK_PIXBUF_MAJOR
|
||||
GDK_PIXBUF_MINOR
|
||||
GDK_PIXBUF_MICRO
|
||||
|
||||
<SUBSECTION Private>
|
||||
GDK_PIXBUF_VAR
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdk-pixbuf</FILE>
|
||||
GdkPixbufError
|
||||
GDK_PIXBUF_ERROR
|
||||
GdkColorspace
|
||||
GdkPixbufAlphaMode
|
||||
GdkPixbuf
|
||||
gdk_pixbuf_get_colorspace
|
||||
gdk_pixbuf_get_n_channels
|
||||
gdk_pixbuf_get_has_alpha
|
||||
gdk_pixbuf_get_bits_per_sample
|
||||
gdk_pixbuf_get_pixels
|
||||
gdk_pixbuf_get_width
|
||||
gdk_pixbuf_get_height
|
||||
gdk_pixbuf_get_rowstride
|
||||
gdk_pixbuf_get_option
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_PIXBUF_ERROR
|
||||
GDK_TYPE_COLORSPACE
|
||||
GDK_TYPE_PIXBUF_ALPHA_MODE
|
||||
GDK_PIXBUF
|
||||
GDK_TYPE_PIXBUF
|
||||
GDK_IS_PIXBUF
|
||||
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_pixbuf_get_type
|
||||
gdk_pixbuf_error_quark
|
||||
gdk_colorspace_get_type
|
||||
gdk_pixbuf_alpha_mode_get_type
|
||||
gdk_pixbuf_error_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>refcounting</FILE>
|
||||
gdk_pixbuf_ref
|
||||
gdk_pixbuf_unref
|
||||
GdkPixbufDestroyNotify
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>file-loading</FILE>
|
||||
gdk_pixbuf_new_from_file
|
||||
gdk_pixbuf_new_from_file_at_size
|
||||
gdk_pixbuf_new_from_file_at_scale
|
||||
gdk_pixbuf_get_file_info
|
||||
gdk_pixbuf_new_from_stream
|
||||
gdk_pixbuf_new_from_stream_at_scale
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>file-saving</FILE>
|
||||
gdk_pixbuf_savev
|
||||
gdk_pixbuf_save
|
||||
GdkPixbufSaveFunc
|
||||
gdk_pixbuf_save_to_callback
|
||||
gdk_pixbuf_save_to_callbackv
|
||||
gdk_pixbuf_save_to_buffer
|
||||
gdk_pixbuf_save_to_bufferv
|
||||
gdk_pixbuf_save_to_stream
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>creating</FILE>
|
||||
gdk_pixbuf_new
|
||||
gdk_pixbuf_new_from_data
|
||||
gdk_pixbuf_new_from_xpm_data
|
||||
gdk_pixbuf_new_from_inline
|
||||
gdk_pixbuf_new_subpixbuf
|
||||
gdk_pixbuf_copy
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<INCLUDE>gdk-pixbuf/gdk-pixdata.h</INCLUDE>
|
||||
<FILE>inline</FILE>
|
||||
GdkPixdata
|
||||
GdkPixdataType
|
||||
GdkPixdataDumpType
|
||||
GDK_PIXBUF_MAGIC_NUMBER
|
||||
GDK_PIXDATA_HEADER_LENGTH
|
||||
gdk_pixdata_from_pixbuf
|
||||
gdk_pixbuf_from_pixdata
|
||||
gdk_pixdata_serialize
|
||||
gdk_pixdata_deserialize
|
||||
gdk_pixdata_to_csource
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>util</FILE>
|
||||
gdk_pixbuf_add_alpha
|
||||
gdk_pixbuf_copy_area
|
||||
gdk_pixbuf_saturate_and_pixelate
|
||||
gdk_pixbuf_apply_embedded_orientation
|
||||
gdk_pixbuf_fill
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>animation</FILE>
|
||||
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
|
||||
gdk_pixbuf_animation_is_static_image
|
||||
gdk_pixbuf_animation_get_static_image
|
||||
gdk_pixbuf_animation_iter_advance
|
||||
gdk_pixbuf_animation_iter_get_delay_time
|
||||
gdk_pixbuf_animation_iter_on_currently_loading_frame
|
||||
gdk_pixbuf_animation_iter_get_pixbuf
|
||||
|
||||
<SUBSECTION>
|
||||
GdkPixbufSimpleAnim
|
||||
gdk_pixbuf_simple_anim_new
|
||||
gdk_pixbuf_simple_anim_add_frame
|
||||
gdk_pixbuf_simple_anim_set_loop
|
||||
gdk_pixbuf_simple_anim_get_loop
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_PIXBUF_ANIMATION
|
||||
GDK_TYPE_PIXBUF_ANIMATION
|
||||
GDK_IS_PIXBUF_ANIMATION
|
||||
GDK_IS_PIXBUF_ANIMATION_ITER
|
||||
GDK_PIXBUF_ANIMATION_ITER
|
||||
GDK_TYPE_PIXBUF_ANIMATION_ITER
|
||||
|
||||
GDK_PIXBUF_SIMPLE_ANIM_GET_CLASS
|
||||
GDK_IS_PIXBUF_SIMPLE_ANIM
|
||||
GDK_PIXBUF_SIMPLE_ANIM_CLASS
|
||||
GDK_IS_PIXBUF_SIMPLE_ANIM_CLASS
|
||||
GDK_TYPE_PIXBUF_SIMPLE_ANIM
|
||||
GDK_PIXBUF_SIMPLE_ANIM
|
||||
GDK_TYPE_PIXBUF_SCALED_ANIM
|
||||
GDK_TYPE_PIXBUF_SCALED_ANIM_ITER
|
||||
<SUBSECTION Private>
|
||||
gdk_pixbuf_non_anim_new
|
||||
|
||||
gdk_pixbuf_animation_get_type
|
||||
gdk_pixbuf_animation_iter_get_type
|
||||
|
||||
gdk_pixbuf_simple_anim_get_type
|
||||
gdk_pixbuf_simple_anim_iter_get_type
|
||||
GdkPixbufSimpleAnimClass
|
||||
gdk_pixbuf_scaled_anim_get_type
|
||||
gdk_pixbuf_scaled_anim_iter_get_type
|
||||
GdkPixbufScaledAnimClass
|
||||
GdkPixbufScaledAnim
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>scaling</FILE>
|
||||
GdkInterpType
|
||||
gdk_pixbuf_scale_simple
|
||||
gdk_pixbuf_scale
|
||||
gdk_pixbuf_composite_color_simple
|
||||
gdk_pixbuf_composite
|
||||
gdk_pixbuf_composite_color
|
||||
GdkPixbufRotation
|
||||
gdk_pixbuf_rotate_simple
|
||||
gdk_pixbuf_flip
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_INTERP_TYPE
|
||||
GDK_TYPE_PIXBUF_ROTATION
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_interp_type_get_type
|
||||
gdk_pixbuf_rotation_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdk-pixbuf-loader</FILE>
|
||||
<TITLE>GdkPixbufLoader</TITLE>
|
||||
GdkPixbufLoader
|
||||
gdk_pixbuf_loader_new
|
||||
gdk_pixbuf_loader_new_with_type
|
||||
gdk_pixbuf_loader_new_with_mime_type
|
||||
gdk_pixbuf_loader_get_format
|
||||
gdk_pixbuf_loader_write
|
||||
gdk_pixbuf_loader_set_size
|
||||
gdk_pixbuf_loader_get_pixbuf
|
||||
gdk_pixbuf_loader_get_animation
|
||||
gdk_pixbuf_loader_close
|
||||
<SUBSECTION Standard>
|
||||
GDK_PIXBUF_LOADER
|
||||
GDK_PIXBUF_LOADER_GET_CLASS
|
||||
GDK_TYPE_PIXBUF_LOADER
|
||||
GDK_IS_PIXBUF_LOADER
|
||||
GDK_PIXBUF_LOADER_CLASS
|
||||
GDK_IS_PIXBUF_LOADER_CLASS
|
||||
<SUBSECTION Private>
|
||||
GdkPixbufLoaderClass
|
||||
gdk_pixbuf_loader_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>Module Interface</TITLE>
|
||||
<FILE>module_interface</FILE>
|
||||
gdk_pixbuf_set_option
|
||||
gdk_pixbuf_get_formats
|
||||
gdk_pixbuf_format_get_name
|
||||
gdk_pixbuf_format_get_description
|
||||
gdk_pixbuf_format_get_mime_types
|
||||
gdk_pixbuf_format_get_extensions
|
||||
gdk_pixbuf_format_is_writable
|
||||
gdk_pixbuf_format_is_scalable
|
||||
gdk_pixbuf_format_is_disabled
|
||||
gdk_pixbuf_format_set_disabled
|
||||
gdk_pixbuf_format_get_license
|
||||
GdkPixbufFormat
|
||||
GdkPixbufFormatFlags
|
||||
GdkPixbufModulePattern
|
||||
GdkPixbufModuleFillVtableFunc
|
||||
GdkPixbufModuleFillInfoFunc
|
||||
GdkPixbufModuleSizeFunc
|
||||
GdkPixbufModulePreparedFunc
|
||||
GdkPixbufModuleUpdatedFunc
|
||||
GdkPixbufModule
|
||||
|
||||
<SUBSECTION Animation>
|
||||
GdkPixbufAnimationClass
|
||||
GdkPixbufAnimationIterClass
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_PIXBUF_ANIMATION_GET_CLASS
|
||||
GDK_IS_PIXBUF_ANIMATION_ITER_CLASS
|
||||
GDK_PIXBUF_ANIMATION_ITER_CLASS
|
||||
GDK_IS_PIXBUF_ANIMATION_CLASS
|
||||
GDK_PIXBUF_ANIMATION_ITER_GET_CLASS
|
||||
GDK_PIXBUF_ANIMATION_CLASS
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdk-pixbuf-xlib-init</FILE>
|
||||
gdk_pixbuf_xlib_init
|
||||
gdk_pixbuf_xlib_init_with_depth
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdk-pixbuf-xlib-rendering</FILE>
|
||||
gdk_pixbuf_xlib_render_threshold_alpha
|
||||
gdk_pixbuf_xlib_render_to_drawable
|
||||
gdk_pixbuf_xlib_render_to_drawable_alpha
|
||||
gdk_pixbuf_xlib_render_pixmap_and_mask
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdk-pixbuf-xlib-from-drawables</FILE>
|
||||
gdk_pixbuf_xlib_get_from_drawable
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gdk-pixbuf-xlib-rgb</FILE>
|
||||
XlibRgbCmap
|
||||
XlibRgbDither
|
||||
xlib_rgb_init
|
||||
xlib_rgb_init_with_depth
|
||||
xlib_rgb_xpixel_from_rgb
|
||||
xlib_rgb_gc_set_foreground
|
||||
xlib_rgb_gc_set_background
|
||||
xlib_draw_rgb_image
|
||||
xlib_draw_rgb_image_dithalign
|
||||
xlib_draw_rgb_32_image
|
||||
xlib_draw_gray_image
|
||||
xlib_rgb_cmap_new
|
||||
xlib_rgb_cmap_free
|
||||
xlib_draw_indexed_image
|
||||
xlib_rgb_ditherable
|
||||
xlib_rgb_set_verbose
|
||||
xlib_rgb_set_install
|
||||
xlib_rgb_set_min_colors
|
||||
xlib_rgb_get_cmap
|
||||
xlib_rgb_get_visual
|
||||
xlib_rgb_get_visual_info
|
||||
xlib_rgb_get_depth
|
||||
xlib_rgb_get_display
|
||||
xlib_rgb_get_screen
|
||||
</SECTION>
|
||||
|
||||
192
docs/reference/gdk-pixbuf/gdk-pixbuf.sgml
Normal file
192
docs/reference/gdk-pixbuf/gdk-pixbuf.sgml
Normal file
@@ -0,0 +1,192 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
|
||||
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
|
||||
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
|
||||
<!ENTITY Imlib "<application>Imlib</application>">
|
||||
]>
|
||||
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
|
||||
<bookinfo>
|
||||
<title>GDK-PixBuf Reference Manual</title>
|
||||
<releaseinfo>
|
||||
Version &version;
|
||||
The latest version of this documentation can be found on-line at
|
||||
<ulink role="online-location" url="http://library.gnome.org/devel/gdk-pixbuf/unstable/">http://library.gnome.org/devel/gdk-pixbuf/unstable/</ulink>.
|
||||
</releaseinfo>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Federico</firstname>
|
||||
<surname>Mena Quintero</surname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>federico@gimp.org</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<copyright>
|
||||
<year>2000</year>
|
||||
<holder>The Free Software Foundation</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice>
|
||||
<para>
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the <citetitle>GNU Free
|
||||
Documentation License</citetitle>, Version 1.1 or any later
|
||||
version published by the Free Software Foundation with no
|
||||
Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts. You may obtain a copy of the <citetitle>GNU Free
|
||||
Documentation License</citetitle> from the Free Software
|
||||
Foundation by visiting <ulink type="http"
|
||||
url="http://www.fsf.org">their Web site</ulink> or by writing
|
||||
to:
|
||||
|
||||
<address>
|
||||
The Free Software Foundation, Inc.,
|
||||
<street>59 Temple Place</street> - Suite 330,
|
||||
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
|
||||
<country>USA</country>
|
||||
</address>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Many of the names used by companies to distinguish their
|
||||
products and services are claimed as trademarks. Where those
|
||||
names appear in any GNOME documentation, and those trademarks
|
||||
are made aware to the members of the GNOME Documentation
|
||||
Project, the names have been printed in caps or initial caps.
|
||||
</para>
|
||||
</legalnotice>
|
||||
</bookinfo>
|
||||
|
||||
<reference>
|
||||
<title>API Reference</title>
|
||||
|
||||
<partintro>
|
||||
<para>
|
||||
This part presents the class and function reference for the
|
||||
&gdk-pixbuf; library. Classes are described together with
|
||||
their methods; individual functions are grouped by functional
|
||||
group.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
<xi:include href="xml/initialization_versions.xml" />
|
||||
|
||||
<xi:include href="xml/gdk-pixbuf.xml" />
|
||||
<xi:include href="xml/refcounting.xml" />
|
||||
<xi:include href="xml/file-loading.xml" />
|
||||
<xi:include href="xml/file-saving.xml" />
|
||||
<xi:include href="xml/creating.xml" />
|
||||
<xi:include href="xml/inline.xml" />
|
||||
<xi:include href="xml/scaling.xml" />
|
||||
<xi:include href="gdk-pixbuf-rendering.sgml" />
|
||||
<xi:include href="gdk-pixbuf-from-drawables.sgml" />
|
||||
<xi:include href="xml/util.xml" />
|
||||
<xi:include href="xml/animation.xml" />
|
||||
|
||||
<xi:include href="xml/gdk-pixbuf-loader.xml" />
|
||||
<xi:include href="xml/module_interface.xml" />
|
||||
|
||||
<xi:include href="xml/gdk-pixbuf-xlib-init.xml" />
|
||||
<xi:include href="xml/gdk-pixbuf-xlib-rendering.xml" />
|
||||
<xi:include href="xml/gdk-pixbuf-xlib-from-drawables.xml" />
|
||||
<xi:include href="xml/gdk-pixbuf-xlib-rgb.xml" />
|
||||
</reference>
|
||||
|
||||
<reference>
|
||||
<title>Tools Reference</title>
|
||||
|
||||
<partintro>
|
||||
<para>
|
||||
This part presents the tools which are shipped with the
|
||||
&gdk-pixbuf; library.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
<xi:include href="gdk-pixbuf-csource.xml" />
|
||||
<xi:include href="gdk-pixbuf-query-loaders.xml" />
|
||||
</reference>
|
||||
|
||||
<index id="api-index-full">
|
||||
<title>Index of all symbols</title>
|
||||
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
<index id="api-index-deprecated" role="deprecated">
|
||||
<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>
|
||||
|
||||
<xi:include href="porting-from-imlib.sgml" />
|
||||
|
||||
<!-- License -->
|
||||
|
||||
<appendix id="license">
|
||||
<title>License</title>
|
||||
|
||||
<para>
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the <citetitle>GNU Library General
|
||||
Public License</citetitle> as published by the Free Software
|
||||
Foundation; either version 2 of the License, or (at your option)
|
||||
any later version.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
<citetitle>GNU Library General Public License</citetitle> for
|
||||
more details.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You may obtain a copy of the <citetitle>GNU Library General
|
||||
Public License</citetitle> from the Free Software Foundation by
|
||||
visiting <ulink type="http" url="http://www.fsf.org">their Web
|
||||
site</ulink> or by writing to:
|
||||
|
||||
<address>
|
||||
Free Software Foundation, Inc.
|
||||
<street>59 Temple Place</street> - Suite 330
|
||||
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
|
||||
<country>USA</country>
|
||||
</address>
|
||||
</para>
|
||||
</appendix>
|
||||
|
||||
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
|
||||
|
||||
</book>
|
||||
8
docs/reference/gdk-pixbuf/gdk-pixbuf.types
Normal file
8
docs/reference/gdk-pixbuf/gdk-pixbuf.types
Normal file
@@ -0,0 +1,8 @@
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
|
||||
gdk_pixbuf_get_type
|
||||
gdk_pixbuf_loader_get_type
|
||||
gdk_pixbuf_animation_get_type
|
||||
gdk_pixbuf_animation_iter_get_type
|
||||
gdk_pixbuf_simple_anim_get_type
|
||||
|
||||
BIN
docs/reference/gdk-pixbuf/gnome-gmush-1.png
Normal file
BIN
docs/reference/gdk-pixbuf/gnome-gmush-1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
358
docs/reference/gdk-pixbuf/porting-from-imlib.sgml
Normal file
358
docs/reference/gdk-pixbuf/porting-from-imlib.sgml
Normal file
@@ -0,0 +1,358 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
|
||||
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
|
||||
<!ENTITY Imlib "<application>Imlib</application>">
|
||||
]>
|
||||
<appendix>
|
||||
<title>Porting applications from &Imlib; to &gdk-pixbuf;</title>
|
||||
|
||||
<para>
|
||||
This appendix contains the basic steps needed to port an
|
||||
application that uses the &Imlib; library to use &gdk-pixbuf;
|
||||
instead.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
This appendix refers to version 1 of the &Imlib; library; this
|
||||
discussion is not relevant to Imlib 2. Also, we discuss the
|
||||
gdk_imlib API instead of the Xlib-based API.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<!-- Introduction -->
|
||||
|
||||
<sect1>
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>
|
||||
Prior to the GNOME 1.2 platform, the &Imlib; library was the
|
||||
preferred way of loading and rendering images in GNOME
|
||||
applications. Unfortunately, &Imlib; has important design
|
||||
limitations that make it hard to write efficient and highly
|
||||
modular applications.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The &gdk-pixbuf; library was designed as a solution to
|
||||
&Imlib;'s shortcomings. It provides a simple, orthogonal API
|
||||
and convenience functions for the most common operations. In
|
||||
addition, it supports full transparency information for
|
||||
images, or alpha channel. More importantly, it has
|
||||
well-defined semantics for memory management through the use
|
||||
of reference counting; &Imlib; has an intractably complex
|
||||
memory management mechanism and cache that will make your head
|
||||
spin.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<!-- Differences between Imlib and gdk-pixbuf -->
|
||||
|
||||
<sect1>
|
||||
<title>Differences between &Imlib; and &gdk-pixbuf;</title>
|
||||
|
||||
<para>
|
||||
Generally, applications that use &Imlib; do not have to be
|
||||
changed extensively to use &gdk-pixbuf;; its simple and
|
||||
flexible API makes things easy. This section describes the
|
||||
differences between &Imlib; and &gdk-pixbuf;; you should take
|
||||
these into account when modifying your applications to use
|
||||
&gdk-pixbuf;.
|
||||
</para>
|
||||
|
||||
<!-- Initialization -->
|
||||
|
||||
<sect2>
|
||||
<title>Initialization</title>
|
||||
|
||||
<para>
|
||||
The &gdk-pixbuf; library does not need to be initialized.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
In GNOME applications you normally don't need to
|
||||
initialize &Imlib;, as <function>gnome_init()</function>
|
||||
calls <function>gdk_imlib_init()</function> automatically.
|
||||
</para>
|
||||
</note>
|
||||
</sect2>
|
||||
|
||||
<!-- Memory management -->
|
||||
|
||||
<sect2>
|
||||
<title>Memory management</title>
|
||||
|
||||
<para>
|
||||
The &gdk-pixbuf; library provides a simple, well-defined
|
||||
memory management mechanism for images in the form of
|
||||
reference counting. This makes it very convenient to use
|
||||
for large-scale applications that need to share images
|
||||
between different parts of the program. In stark contrast,
|
||||
&Imlib; has a terribly complex mechanism of an image and
|
||||
pixmap cache which makes it very hard for applications to
|
||||
share image structures between different parts of the
|
||||
program. Unfortunately this mechanism makes things very
|
||||
prone to memory leaks and tricky bugs.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The basic principle in &gdk-pixbuf; is that when you obtain
|
||||
a new <link linkend="GdkPixbuf">GdkPixbuf</link> structure,
|
||||
it is created with an initial reference count of 1. When
|
||||
another part of the program wants to keep a reference to the
|
||||
pixbuf, it should call <function>g_object_ref()</function>;
|
||||
this will increase the reference count by 1. When some part
|
||||
of the program does not need to keep a reference to a pixbuf
|
||||
anymore and wants to release the pixbuf, it should call
|
||||
<function>g_object_unref()</function>; this will decrease
|
||||
the reference count by 1. When the reference count drops to
|
||||
zero, the pixbuf gets destroyed or
|
||||
<emphasis>finalized</emphasis> and its memory is freed.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For applications that need to implement a cache of loaded
|
||||
images, &gdk-pixbuf; provides a way to hook to the last
|
||||
unreference operation of a pixbuf; instead of finalizing the
|
||||
pixbuf, the user-installed hook can decide to keep it around
|
||||
in a cache instead.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Finally, &gdk-pixbuf; does not provide a cache of rendered
|
||||
pixmaps. This is unnecessary for most applications, since
|
||||
the scaling and rendering functions are quite fast and
|
||||
applications may need to use subtly different values each
|
||||
time they call these functions, for example, to take into
|
||||
account dithering and zooming offsets.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Most applications will simply need to call
|
||||
<function>g_object_ref()</function> when they want to keep
|
||||
an extra reference to a pixbuf, and then
|
||||
<function>g_object_unref()</function> when they are done
|
||||
with it.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<!-- The Rendering Process -->
|
||||
|
||||
<sect2>
|
||||
<title>The Rendering Process</title>
|
||||
|
||||
<para>
|
||||
The &gdk-pixbuf; library has the policy of always rendering
|
||||
pixbufs to GDK drawables you provide; it will not create
|
||||
them for you. This is in general more flexible than
|
||||
&Imlib;'s policy of always creating a pixmap and making you
|
||||
use that instead.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The disadvantage of always having a pixmap created for you
|
||||
is that it wastes memory in the X server if you intend to
|
||||
copy that rendered data onto another drawable, for example,
|
||||
the final destination window or a temporary pixmap for
|
||||
drawing. This is the most common case, unfortunately, so
|
||||
the &Imlib; policy introduces unnecessary copying.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Also, &Imlib; can only render pixmaps that are the whole
|
||||
size of the source image; you cannot render just a subset
|
||||
region of the image. This is inconvenient for applications
|
||||
that need to render small portions at a time, such as
|
||||
applications that do scrolling. Since the whole image must
|
||||
be rendered at a time, this can lead to performance and
|
||||
memory usage problems.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The &gdk-pixbuf; library lets you render any rectangular
|
||||
region from an image onto any drawable that you provide.
|
||||
This lets the application have fine control the way images
|
||||
are rendered.
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<!-- Converting Applications to gdk-pixbuf -->
|
||||
|
||||
<sect1>
|
||||
<title>Converting Applications to &gdk-pixbuf;</title>
|
||||
|
||||
<para>
|
||||
This sections describes the actual changes you need to make in
|
||||
an &Imlib; program to make it use &gdk-pixbuf; instead.
|
||||
</para>
|
||||
|
||||
<!-- Image loading and creation -->
|
||||
|
||||
<sect2>
|
||||
<title>Image loading and creation</title>
|
||||
|
||||
<para>
|
||||
The &gdk-pixbuf; library can load image files synchronously
|
||||
(i.e. with a single function call), create images from RGB
|
||||
data in memory, and as a convenience, it can also create
|
||||
images from inline XPM data.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To load an image file in a single function call, simply use
|
||||
<function>gdk_pixbuf_new_from_file()</function>. Note that
|
||||
this will make the program block until the whole file has
|
||||
been read. This function effectively replaces
|
||||
<function>gdk_imlib_load_image()</function>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you have RGB data in memory, you can use
|
||||
<function>gdk_pixbuf_new_from_data()</function> to create a
|
||||
pixbuf out of it; this is a replacement for
|
||||
<function>gdk_imlib_create_image_from_data()</function>.
|
||||
&gdk-pixbuf; does not copy the image data; it is up to you
|
||||
to define the ownership policy by providing a destroy
|
||||
notification function that will be called when the image
|
||||
data needs to be freed. The function you provide can then
|
||||
free the data or do something else, as appropriate.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
As a convenience, you can use the
|
||||
<function>gdk_pixbuf_new_from_xpm_data()</function> function
|
||||
to create a pixbuf out of inline XPM data that was compiled
|
||||
into your C program. This is a replacement for
|
||||
<function>gdk_imlib_create_image_from_xpm_data()</function>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
After you have created a pixbuf, you can manipulate it in
|
||||
any way you please and then finally call
|
||||
<function>g_object_unref()</function> when you are done
|
||||
with it. This can be thought of as a replacement for
|
||||
<function>gdk_imlib_destroy_image()</function> but with much
|
||||
cleaner semantics.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<!-- Rendering Images -->
|
||||
|
||||
<sect2>
|
||||
<title>Rendering Images</title>
|
||||
|
||||
<para>
|
||||
Applications that use &Imlib; must first call
|
||||
<function>gdk_imlib_render()</function> to render the whole
|
||||
image data onto a pixmap that &Imlib; creates. Then they
|
||||
must copy that pixmap's data into the final destination for
|
||||
the image.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In contrast, &gdk-pixbuf; provides convenience functions to
|
||||
render arbitrary rectangular regions of an image onto a
|
||||
drawable that your application provides. You can use
|
||||
<function>gdk_draw_pixbuf()</function> to do this; having
|
||||
your application provide the destination drawable and
|
||||
specify an arbitrary region means your application has
|
||||
complete control over the way images are rendered.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
As a convenience, &gdk-pixbuf; also provides the
|
||||
<function>gdk_pixbuf_render_pixmap_and_mask()</function>
|
||||
function; this will create new pixmap and mask drawables for
|
||||
a whole pixbuf and render the image data onto them. Only
|
||||
trivially simple applications should find a use for this
|
||||
function, since usually you want finer control of how things
|
||||
are rendered.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<!-- Scaling Images -->
|
||||
|
||||
<sect2>
|
||||
<title>Scaling Images</title>
|
||||
|
||||
<para>
|
||||
&Imlib; lets you render scaled image data at the time you
|
||||
call <function>gdk_imlib_render()</function>. Again, this
|
||||
unfortunately scales and renders the whole image onto a new
|
||||
pixmap.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
&gdk-pixbuf; provides a number of functions that do scaling
|
||||
of arbitrary regions of a source pixbuf onto a destination
|
||||
one. These functions can also perform compositing
|
||||
operations against the data in the destination pixbuf or
|
||||
against a solid color or a colored checkerboard.
|
||||
<footnote>
|
||||
<para>
|
||||
You can use a colored checkerboard as the background for
|
||||
compositing when you want to provide a visual indication
|
||||
that the image has partially opaque areas. This is
|
||||
normally used in image editing and viewing programs.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Compositing against a single solid color is actually a
|
||||
special case of a checkerboard; it simply uses checks of
|
||||
the same color.
|
||||
</para>
|
||||
</footnote>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Very simple applications may find it sufficient to use
|
||||
<function>gdk_pixbuf_scale_simple()</function> or
|
||||
<function>gdk_pixbuf_composite_color_simple()</function>.
|
||||
These functions scale the whole source image at a time and
|
||||
create a new pixbuf with the result.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
More sophisticated applications will need to use
|
||||
<function>gdk_pixbuf_scale()</function>,
|
||||
<function>gdk_pixbuf_composite()</function>, or
|
||||
<function>gdk_pixbuf_composite_color()</function> instead.
|
||||
These functions let you scale and composite an arbitrary
|
||||
region of the source pixbuf onto a destination pixbuf that
|
||||
you provide.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<!-- Getting Image Data from a Drawable -->
|
||||
|
||||
<sect2>
|
||||
<title>Getting Image Data from a Drawable</title>
|
||||
|
||||
<para>
|
||||
&Imlib; lets you create an image by fetching a drawable's
|
||||
contents from the X server and converting those into RGB
|
||||
data. This is done with the
|
||||
<function>gdk_imlib_create_image_from_drawable()</function>
|
||||
function.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
&gdk-pixbuf; provides the
|
||||
<function>gdk_pixbuf_get_from_drawable()</function> function
|
||||
instead. It lets you specify a destination pixbuf instead
|
||||
of always creating a new one for you.
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</appendix>
|
||||
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("gdk-pixbuf.sgml" "book" "book" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
200
docs/reference/gdk-pixbuf/tmpl/animation.sgml
Normal file
200
docs/reference/gdk-pixbuf/tmpl/animation.sgml
Normal file
@@ -0,0 +1,200 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Animations
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Animated images.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The &gdk-pixbuf; library provides a simple mechanism to load and represent
|
||||
animations. An animation is conceptually a series of frames to be displayed
|
||||
over time. Each frame is the same size. The animation may not be represented
|
||||
as a series of frames internally; for example, it may be stored as a
|
||||
sprite and instructions for moving the sprite around a background. To display
|
||||
an animation you don't need to understand its representation, however; you just
|
||||
ask &gdk-pixbuf; what should be displayed at a given point in time.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GdkPixbufLoader
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
|
||||
<para>
|
||||
An opaque struct representing an animation.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufAnimationIter ##### -->
|
||||
<para>
|
||||
An opaque struct representing an iterator which points to a
|
||||
certain position in an animation.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_new_from_file ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@filename:
|
||||
@error:
|
||||
@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>
|
||||
|
||||
</para>
|
||||
|
||||
@animation:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_get_height ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@animation:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_get_iter ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@animation:
|
||||
@start_time:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_is_static_image ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@animation:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_get_static_image ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@animation:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_iter_advance ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@iter:
|
||||
@current_time:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_iter_get_delay_time ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@iter:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_iter_on_currently_loading_frame ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@iter:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_animation_iter_get_pixbuf ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@iter:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufSimpleAnim ##### -->
|
||||
<para>
|
||||
An opaque struct representing a simple animation.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GdkPixbufSimpleAnim:loop ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@width:
|
||||
@height:
|
||||
@rate:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_add_frame ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@animation:
|
||||
@pixbuf:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_set_loop ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@animation:
|
||||
@loop:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_simple_anim_get_loop ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@animation:
|
||||
@Returns:
|
||||
|
||||
|
||||
129
docs/reference/gdk-pixbuf/tmpl/creating.sgml
Normal file
129
docs/reference/gdk-pixbuf/tmpl/creating.sgml
Normal file
@@ -0,0 +1,129 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Image Data in Memory
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Creating a pixbuf from image data that is already in memory.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The most basic way to create a pixbuf is to wrap an existing pixel
|
||||
buffer with a #GdkPixbuf structure. You can use the
|
||||
gdk_pixbuf_new_from_data() function to do this You need to specify
|
||||
the destroy notification function that will be called when the
|
||||
data buffer needs to be freed; this will happen when a #GdkPixbuf
|
||||
is finalized by the reference counting functions If you have a
|
||||
chunk of static data compiled into your application, you can pass
|
||||
in %NULL as the destroy notification function so that the data
|
||||
will not be freed.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The gdk_pixbuf_new() function can be used as a convenience to
|
||||
create a pixbuf with an empty buffer. This is equivalent to
|
||||
allocating a data buffer using <function>malloc()</function> and
|
||||
then wrapping it with gdk_pixbuf_new_from_data(). The gdk_pixbuf_new()
|
||||
function will compute an optimal rowstride so that rendering can be
|
||||
performed with an efficient algorithm.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
As a special case, you can use the gdk_pixbuf_new_from_xpm_data()
|
||||
function to create a pixbuf from inline XPM image data.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
You can also copy an existing pixbuf with the gdk_pixbuf_copy()
|
||||
function. This is not the same as just doing a g_object_ref()
|
||||
on the old pixbuf; the copy function will actually duplicate the
|
||||
pixel data in memory and create a new #GdkPixbuf structure for it.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
gdk_pixbuf_finalize().
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@colorspace:
|
||||
@has_alpha:
|
||||
@bits_per_sample:
|
||||
@width:
|
||||
@height:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_from_data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@data:
|
||||
@colorspace:
|
||||
@has_alpha:
|
||||
@bits_per_sample:
|
||||
@width:
|
||||
@height:
|
||||
@rowstride:
|
||||
@destroy_fn:
|
||||
@destroy_fn_data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_from_xpm_data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_from_inline ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@data_length:
|
||||
@data:
|
||||
@copy_pixels:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_subpixbuf ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src_pixbuf:
|
||||
@src_x:
|
||||
@src_y:
|
||||
@width:
|
||||
@height:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_copy ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns: <!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
109
docs/reference/gdk-pixbuf/tmpl/file-loading.sgml
Normal file
109
docs/reference/gdk-pixbuf/tmpl/file-loading.sgml
Normal file
@@ -0,0 +1,109 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
File Loading
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Loading a pixbuf from a file.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The &gdk-pixbuf; library provides a simple mechanism for loading
|
||||
an image from a file in synchronous fashion. This means that the
|
||||
library takes control of the application while the file is being
|
||||
loaded; from the user's point of view, the application will block
|
||||
until the image is done loading.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This interface can be used by applications in which blocking is
|
||||
acceptable while an image is being loaded. It can also be used to
|
||||
load small images in general. Applications that need progressive
|
||||
loading can use the #GdkPixbufLoader functionality instead.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GdkPixbufLoader.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_from_file ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@filename:
|
||||
@error:
|
||||
@Returns: <!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_from_file_at_size ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@filename:
|
||||
@width:
|
||||
@height:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_from_file_at_scale ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@filename:
|
||||
@width:
|
||||
@height:
|
||||
@preserve_aspect_ratio:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_file_info ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@filename:
|
||||
@width:
|
||||
@height:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_from_stream ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@stream:
|
||||
@cancellable:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_new_from_stream_at_scale ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@stream:
|
||||
@width:
|
||||
@height:
|
||||
@preserve_aspect_ratio:
|
||||
@cancellable:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
143
docs/reference/gdk-pixbuf/tmpl/file-saving.sgml
Normal file
143
docs/reference/gdk-pixbuf/tmpl/file-saving.sgml
Normal file
@@ -0,0 +1,143 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
File saving
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Saving a pixbuf to a file.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
These functions allow to save a #GdkPixbuf in a number of
|
||||
file formats. The formatted data can be written to a file
|
||||
or to a memory buffer. &gdk-pixbuf; can also call a user-defined
|
||||
callback on the data, which allows to e.g. write the image
|
||||
to a socket or store it in a database.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_savev ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@filename:
|
||||
@type:
|
||||
@option_keys:
|
||||
@option_values:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_save ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@filename:
|
||||
@type:
|
||||
@error:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufSaveFunc ##### -->
|
||||
<para>
|
||||
Specifies the type of the function passed to
|
||||
gdk_pixbuf_save_to_callback(). It is called once for each block of
|
||||
bytes that is "written" by gdk_pixbuf_save_to_callback(). If
|
||||
successful it should return %TRUE. If an error occurs it should set
|
||||
@error and return %FALSE, in which case gdk_pixbuf_save_to_callback()
|
||||
will fail with the same error.
|
||||
</para>
|
||||
|
||||
@buf: bytes to be written.
|
||||
@count: number of bytes in @buf.
|
||||
@error: A location to return an error.
|
||||
@data: user data passed to gdk_pixbuf_save_to_callback().
|
||||
@Returns: %TRUE if successful, %FALSE (with @error set) if failed.
|
||||
@Since: 2.4
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_save_to_callback ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@save_func:
|
||||
@user_data:
|
||||
@type:
|
||||
@error:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_save_to_callbackv ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@save_func:
|
||||
@user_data:
|
||||
@type:
|
||||
@option_keys:
|
||||
@option_values:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_save_to_buffer ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@buffer:
|
||||
@buffer_size:
|
||||
@type:
|
||||
@error:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_save_to_bufferv ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@buffer:
|
||||
@buffer_size:
|
||||
@type:
|
||||
@option_keys:
|
||||
@option_values:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_save_to_stream ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@stream:
|
||||
@type:
|
||||
@cancellable:
|
||||
@error:
|
||||
@Varargs:
|
||||
@Returns:
|
||||
|
||||
|
||||
209
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml
Normal file
209
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-loader.sgml
Normal file
@@ -0,0 +1,209 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
GdkPixbufLoader
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Application-driven progressive image loading.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
#GdkPixbufLoader provides a way for applications to drive the
|
||||
process of loading an image, by letting them send the image data
|
||||
directly to the loader instead of having the loader read the data
|
||||
from a file. Applications can use this functionality instead of
|
||||
gdk_pixbuf_new_from_file() or gdk_pixbuf_animation_new_from_file()
|
||||
when they need to parse image data in
|
||||
small chunks. For example, it should be used when reading an
|
||||
image from a (potentially) slow network connection, or when
|
||||
loading an extremely large file.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To use #GdkPixbufLoader to load an image, just create a new one,
|
||||
and call gdk_pixbuf_loader_write() to send the data to it. When
|
||||
done, gdk_pixbuf_loader_close() should be called to end the stream
|
||||
and finalize everything. The loader will emit three important
|
||||
signals throughout the process. The first, "<link
|
||||
linkend="GdkPixbufLoader-size-prepared">size_prepared</link>",
|
||||
will be called as soon as the image has enough information to
|
||||
determine the size of the image to be used. If you want to scale
|
||||
the image while loading it, you can call gdk_pixbuf_loader_set_size()
|
||||
in response to this signal.
|
||||
</para>
|
||||
|
||||
<para>The second signal, "<link
|
||||
linkend="GdkPixbufLoader-area-prepared">area_prepared</link>",
|
||||
will be called as soon as the pixbuf of the desired has been
|
||||
allocated. You can obtain it by calling gdk_pixbuf_loader_get_pixbuf().
|
||||
If you want to use it, simply ref it.
|
||||
In addition, no actual information will be passed in yet, so the
|
||||
pixbuf can be safely filled with any temporary graphics (or an
|
||||
initial color) as needed. You can also call
|
||||
gdk_pixbuf_loader_get_pixbuf() later and get the same pixbuf.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The last signal, "<link
|
||||
linkend="GdkPixbufLoader-area-updated">area_updated</link>" gets
|
||||
called every time a region is updated. This way you can update a
|
||||
partially completed image. Note that you do not know anything
|
||||
about the completeness of an image from the area updated. For
|
||||
example, in an interlaced image, you need to make several passes
|
||||
before the image is done loading.
|
||||
</para>
|
||||
|
||||
<refsect2>
|
||||
<title>Loading an animation</title>
|
||||
|
||||
<para>
|
||||
Loading an animation is almost as easy as loading an
|
||||
image. Once the first "<link
|
||||
linkend="GdkPixbufLoader-area-prepared">area_prepared</link>" signal
|
||||
has been emitted, you can call gdk_pixbuf_loader_get_animation()
|
||||
to get the #GdkPixbufAnimation struct and gdk_pixbuf_animation_get_iter()
|
||||
to get an #GdkPixbufAnimationIter for displaying it.
|
||||
</para>
|
||||
</refsect2>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
gdk_pixbuf_new_from_file(), gdk_pixbuf_animation_new_from_file()
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufLoader ##### -->
|
||||
<para>
|
||||
The <structname>GdkPixbufLoader</structname> struct contains only private
|
||||
fields.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GdkPixbufLoader::area-prepared ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@gdkpixbufloader:
|
||||
|
||||
<!-- ##### SIGNAL GdkPixbufLoader::area-updated ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@gdkpixbufloader:
|
||||
@arg1:
|
||||
@arg2:
|
||||
@arg3:
|
||||
@arg4:
|
||||
|
||||
<!-- ##### SIGNAL GdkPixbufLoader::closed ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@gdkpixbufloader:
|
||||
|
||||
<!-- ##### SIGNAL GdkPixbufLoader::size-prepared ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@gdkpixbufloader:
|
||||
@arg1:
|
||||
@arg2:
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_new_with_type ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@image_type:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_new_with_mime_type ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@mime_type:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_get_format ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@loader:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_write ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@loader:
|
||||
@buf:
|
||||
@count:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_set_size ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@loader:
|
||||
@width:
|
||||
@height:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_get_pixbuf ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@loader:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_get_animation ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@loader:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_loader_close ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@loader:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
569
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-unused.sgml
Normal file
569
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-unused.sgml
Normal file
@@ -0,0 +1,569 @@
|
||||
<!-- ##### SECTION ./tmpl/from-drawables.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
The functions in this section allow you to take the image data
|
||||
from a GDK drawable and dump it into a #GdkPixbuf. This can be
|
||||
used for screenshots and other special effects. Note that these
|
||||
operations can be expensive, since the image data has to be
|
||||
transferred from the X server to the client program and converted.
|
||||
</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.
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/from-drawables.sgml:Title ##### -->
|
||||
Drawables to Pixbufs
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gnome-canvas-pixbuf.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
This canvas item displays #GdkPixbuf images. It handles full
|
||||
affine transformations in both GDK and antialiased modes, and also
|
||||
supports the <ulink url="http://www.w3.org">W3C</ulink>'s <ulink
|
||||
url="http://www.w3.org/Graphics/SVG/">SVG</ulink>-like scaling and
|
||||
translation semantics for absolute pixel values.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
#GdkPixbuf structures may be shared among different pixbuf canvas
|
||||
items; the pixbuf item uses #GdkPixbuf's reference counting
|
||||
functions for this.
|
||||
</para>
|
||||
|
||||
<refsect2>
|
||||
<title>Custom Scaling and Translation</title>
|
||||
|
||||
<para>
|
||||
In addition to the normal affine transformations supported by
|
||||
canvas items, the #GnomeCanvasPixbuf item supports independent
|
||||
object arguments for scaling and translation. This is useful
|
||||
for explicitly setting a size to which the pixbuf's image will
|
||||
be scaled, and for specifying translation offsets that take
|
||||
place in the item's local coordinate system.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
By default, the pixbuf canvas item will attain the size in units
|
||||
of the #GdkPixbuf it contains. If a #GnomeCanvasPixbuf is
|
||||
configured to use a #GdkPixbuf that has a size of 300 by 200
|
||||
pixels, then the pixbuf item will automatically obtain a size of
|
||||
300 by 200 units in the item's local coordinate system. If the
|
||||
item is transformed with a scaling transformation of (0.5, 2.0),
|
||||
then the final image size will be of 150 by 400 pixels.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To set custom width and height values, you must set the <link
|
||||
linkend="GnomeCanvasPixbuf--width-set">width_set</link> or <link
|
||||
linkend="GnomeCanvasPixbuf--height-set">height_set</link>
|
||||
arguments to %TRUE, and then set the <link
|
||||
linkend="GnomeCanvasPixbuf--width">width</link> or <link
|
||||
linkend="GnomeCanvasPixbuf--height">height</link> arguments to
|
||||
the desired values. The former two arguments control whether
|
||||
the latter two are used when computing the final image's size;
|
||||
they are both %FALSE by default so that the pixbuf item will
|
||||
attain a size in units equal to the size in pixels of the
|
||||
#GdkPixbuf that the item contains.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The custom translation offsets are controlled by the <link
|
||||
linkend="GnomeCanvasPixbuf--x">x</link> and <link
|
||||
linkend="GnomeCanvasPixbuf--y">y</link> arguments. The logical
|
||||
upper-left vertex of the image will be translated by the
|
||||
specified distance, aligned with the item's local coordinate
|
||||
system.
|
||||
</para>
|
||||
</refsect2>
|
||||
|
||||
<refsect2>
|
||||
<title>Absolute Pixel Scaling and Translation</title>
|
||||
|
||||
<para>
|
||||
The <ulink url="http://www.w3.org/Graphics/SVG/">Scalable Vector
|
||||
Graphics</ulink> specification (SVG) of the <ulink
|
||||
url="http://www.w3.org">World Wide Web Consortium</ulink> also
|
||||
allows images to be translated and scaled by absolute pixel
|
||||
values that are independent of an item's normal affine
|
||||
transformation.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Normally, the pixbuf item's translation and scaling arguments
|
||||
are interpreted in units, so they will be modified by the item's
|
||||
affine transformation. The <link
|
||||
linkend="GnomeCanvasPixbuf--width-in-pixels">width_in_pixels</link>,
|
||||
<link
|
||||
linkend="GnomeCanvasPixbuf--height-in-pixels">height_in_pixels</link>,
|
||||
<link
|
||||
linkend="GnomeCanvasPixbuf--x-in-pixels">x_in_pixels</link>, and
|
||||
<link
|
||||
linkend="GnomeCanvasPixbuf--y-in-pixels">y_in_pixels</link>
|
||||
object arguments can be used to modify this behavior. If one of
|
||||
these arguments is %TRUE, then the corresponding scaling or
|
||||
translation value will not be affected lengthwise by the pixbuf
|
||||
item's affine transformation.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For example, consider a pixbuf item whose size is (300, 200).
|
||||
If the item is modified with a scaling transformation of (0.5,
|
||||
2.0) but the <link
|
||||
linkend="GnomeCanvasPixbuf--width-in-pixels">width_in_pixels</link>
|
||||
is set to %TRUE, then the item will appear to be (300, 400)
|
||||
pixels in size. This means that in this case the item's affine
|
||||
transformation only applies to the height value, while the width
|
||||
value is kept in absolute pixels.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Likewise, consider a pixbuf item whose (<link
|
||||
linkend="GnomeCanvasPixbuf--x">x</link>, <link
|
||||
linkend="GnomeCanvasPixbuf--y">y</link>) arguments are set to
|
||||
(30, 40). If the item is then modified by the same scaling
|
||||
transformation of (0.5, 2.0) but the <link
|
||||
linkend="GnomeCanvasPixbuf--y-in-pixels">y_in_pixels</link>
|
||||
argument is set to %TRUE, then the image's upper-left corner
|
||||
will appear to be at position (15, 40). In this case, the
|
||||
affine transformation is applied only to the x offset, while the
|
||||
y offset is kept in absolute pixels.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In short, these arguments control whether a particular dimension
|
||||
of a pixbuf item is scaled or not in the normal way by the
|
||||
item's affine transformation.
|
||||
</para>
|
||||
</refsect2>
|
||||
|
||||
<refsect2>
|
||||
<title>Resource Management</title>
|
||||
|
||||
<para>
|
||||
When you set the #GdkPixbuf structure that a #GnomeCanvasPixbuf
|
||||
item will use by setting the <link
|
||||
linkend="GnomeCanvasPixbuf--pixbuf">pixbuf</link> argument, a
|
||||
reference count will be added to that #GdkPixbuf structure.
|
||||
When the pixbuf item no longer needs the #GdkPixbuf structure,
|
||||
such as when the item is destroyed or when a new pixbuf
|
||||
structure is passed to it, then the old #GdkPixbuf structure
|
||||
will be automatically unreferenced.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This means that if an application just needs to load a pixbuf
|
||||
image and set it into a pixbuf canvas item, it can do the
|
||||
following to ‘forget’ about the pixbuf structure:
|
||||
|
||||
<programlisting>
|
||||
GdkPixbuf *pixbuf;
|
||||
GnomeCanvasItem *item;
|
||||
|
||||
pixbuf = gdk_pixbuf_new_from_file ("foo.png");
|
||||
g_assert (pixbuf != NULL);
|
||||
|
||||
item = gnome_canvas_item_new (gnome_canvas_root (my_canvas),
|
||||
gnome_canvas_pixbuf_get_type (),
|
||||
"pixbuf", pixbuf,
|
||||
NULL);
|
||||
gdk_pixbuf_unref (pixbuf);
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
After this happens, the reference count of the pixbuf structure
|
||||
will be 1: the gdk_pixbuf_new_from_file() function creates it
|
||||
with a reference count of 1, then setting the <link
|
||||
linkend="GnomeCanvasPixbuf--pixbuf">pixbuf</link> argument of
|
||||
the #GnomeCanvasPixbuf item increases it to 2, and then it is
|
||||
decremented to 1 by the call to gdk_pixbuf_unref(). When the
|
||||
canvas item is destroyed, it will automatically unreference the
|
||||
pixbuf structure again, causing its reference count to drop to
|
||||
zero and thus be freed.
|
||||
</para>
|
||||
</refsect2>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gnome-canvas-pixbuf.sgml:See_Also ##### -->
|
||||
<para>
|
||||
#GnomeCanvas, #GdkPixbuf
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gnome-canvas-pixbuf.sgml:Short_Description ##### -->
|
||||
Canvas item to display #GdkPixbuf images.
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gnome-canvas-pixbuf.sgml:Title ##### -->
|
||||
GnomeCanvasPixbuf
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/rendering.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
The &gdk-pixbuf; library provides several convenience functions to
|
||||
render pixbufs to GDK drawables. It uses the GdkRGB to render the
|
||||
image data.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
At this point there is not a standard alpha channel extension for
|
||||
the X Window System, so it is not possible to use full opacity
|
||||
information when painting images to arbitrary drawables. The
|
||||
&gdk-pixbuf; convenience functions will threshold the opacity
|
||||
information to create a bi-level clipping mask (black and white),
|
||||
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>
|
||||
GdkRGB
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/rendering.sgml:Short_Description ##### -->
|
||||
Rendering a pixbuf to a GDK drawable.
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/rendering.sgml:Title ##### -->
|
||||
Rendering
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-from-drawables.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
The functions in this section allow you to take the image data
|
||||
from an X drawable and dump it into a #GdkPixbuf. This can be
|
||||
used for screenshots and other special effects. Note that these
|
||||
operations can be expensive, since the image data has to be
|
||||
transferred from the X server to the client program and converted.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These functions are analogous to those for the Gdk version of
|
||||
&gdk-pixbuf;.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-from-drawables.sgml:See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-from-drawables.sgml:Short_Description ##### -->
|
||||
Getting parts of an X drawable's image data into a pixbuf.
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-from-drawables.sgml:Title ##### -->
|
||||
X Drawables to Pixbufs
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-init.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
In addition to the normal Gdk-specific functions, the &gdk-pixbuf;
|
||||
package provides a small library that lets Xlib-only applications
|
||||
use #GdkPixbuf structures and render them to X drawables. The
|
||||
functions in this section are used to initialize the &gdk-pixbuf;
|
||||
Xlib library. This library must be initialized near the beginning
|
||||
or the program or before calling any of the other &gdk-pixbuf;
|
||||
Xlib functions; it cannot be initialized automatically since
|
||||
Xlib-only applications do not call gdk_rgb_init() like GNOME
|
||||
applications do.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-init.sgml:See_Also ##### -->
|
||||
<para>
|
||||
XlibRGB
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-init.sgml:Short_Description ##### -->
|
||||
Initializing the &gdk-pixbuf; Xlib library.
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-init.sgml:Title ##### -->
|
||||
&gdk-pixbuf; Xlib initialization
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-rendering.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
The &gdk-pixbuf; Xlib library provides several convenience
|
||||
functions to render pixbufs to X drawables. It uses XlibRGB to
|
||||
render the image data.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These functions are analogous to those for the Gdk version of
|
||||
&gdk-pixbuf;.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-rendering.sgml:See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-rendering.sgml:Short_Description ##### -->
|
||||
Rendering a pixbuf to an X drawable.
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-rendering.sgml:Title ##### -->
|
||||
Xlib Rendering
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-rgb.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
The XlibRGB set of functions is a port of the GdkRGB library to
|
||||
use plain Xlib and X drawables. You can use these functions to
|
||||
render RGB buffers into drawables very quickly with high-quality
|
||||
dithering.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-rgb.sgml:See_Also ##### -->
|
||||
<para>
|
||||
GdkRGB
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-rgb.sgml:Short_Description ##### -->
|
||||
Functions for rendering RGB buffers to X drawables.
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/xlib-rgb.sgml:Title ##### -->
|
||||
XlibRGB
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_PIXBUF_LOADER ##### -->
|
||||
<para>
|
||||
Casts a #GtkObject to a #GdkPixbufLoader.
|
||||
</para>
|
||||
|
||||
@obj: A GTK+ object.
|
||||
|
||||
<!-- ##### MACRO GNOME_CANVAS_PIXBUF ##### -->
|
||||
<para>
|
||||
Casts a #GtkOjbect to a #GnomeCanvasPixbuf.
|
||||
</para>
|
||||
|
||||
@obj: A GTK+ object.
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufFrame ##### -->
|
||||
<para>
|
||||
This object describes an individual frame of an animation.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkPixbufFrameAction ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GDK_PIXBUF_FRAME_RETAIN:
|
||||
@GDK_PIXBUF_FRAME_DISPOSE:
|
||||
@GDK_PIXBUF_FRAME_REVERT:
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufLastUnref ##### -->
|
||||
<para>
|
||||
A function of this type can be used to override the default
|
||||
operation when a pixbuf loses its last reference, i.e. when
|
||||
gdk_pixbuf_unref() is called on a #GdkPixbuf structure that has a
|
||||
reference count of 1. This function should determine whether to
|
||||
finalize the pixbuf by calling gdk_pixbuf_finalize(), or whether
|
||||
to just resume normal execution. The last unref handler for a
|
||||
#GdkPixbuf can be set using the
|
||||
gdk_pixbuf_set_last_unref_handler() function. By default, pixbufs
|
||||
will be finalized automatically if no last unref handler has been
|
||||
defined.
|
||||
</para>
|
||||
|
||||
@pixbuf: The pixbuf that is losing its last reference.
|
||||
@data: User closure data.
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:height ##### -->
|
||||
<para>
|
||||
Indicates the height the pixbuf will be scaled to. This argument
|
||||
will only be used if the <link
|
||||
linkend="GnomeCanvasPixbuf--height-set">height_set</link> argument
|
||||
is %TRUE. Works in the same way as the <link
|
||||
linkend="GnomeCanvasPixbuf--width">width</link> argument.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:height-in-pixels ##### -->
|
||||
<para>
|
||||
Works in the same way as the <link
|
||||
linkend="GnomeCanvasPixbuf--width-in-pixels">width_in_pixels</link>
|
||||
argument. The default is %FALSE.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:height-pixels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:height-set ##### -->
|
||||
<para>
|
||||
Determines whether the <link
|
||||
linkend="GnomeCanvasPixbuf--height">height</link> argument is
|
||||
taken into account when scaling the pixbuf item. Works in the
|
||||
same way as the <link
|
||||
linkend="GnomeCanvasPixbuf--width-set">width_set</link> argument.
|
||||
The default is %FALSE.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:pixbuf ##### -->
|
||||
<para>
|
||||
Contains a pointer to a #GdkPixbuf structure that will be used by
|
||||
the pixbuf canvas item as an image source. When a pixbuf is set
|
||||
its reference count is incremented; if the pixbuf item kept a
|
||||
pointer to another #GdkPixbuf structure, the reference count of
|
||||
this structure will be decremented. Also, the GdkPixbuf's
|
||||
reference count will automatically be decremented when the
|
||||
#GnomeCanvasPixbuf item is destroyed. When a pixbuf is queried, a
|
||||
reference count will not be added to the return value; you must do
|
||||
this yourself if you intend to keep the pixbuf structure around.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:width ##### -->
|
||||
<para>
|
||||
Indicates the width the pixbuf will be scaled to. This argument
|
||||
will only be used if the <link
|
||||
linkend="GnomeCanvasPixbuf--width-set">width_set</link> argument
|
||||
is %TRUE. If the <link
|
||||
linkend="GnomeCanvasPixbuf--width-in-pixels">width_in_pixels</link>
|
||||
argument is %FALSE, the width will be taken to be in canvas units,
|
||||
and thus will be scaled along with the canvas item's affine
|
||||
transformation. If width_in_pixels is %TRUE, the width will be
|
||||
taken to be in pixels, and will visually remain a constant size
|
||||
even if the item's affine transformation changes.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:width-in-pixels ##### -->
|
||||
<para>
|
||||
If this argument is %TRUE, then the width of the pixbuf will be
|
||||
considered to be in pixels, that is, it will not be visually
|
||||
scaled even if the item's affine transformation changes. If this
|
||||
is %FALSE, then the width of the pixbuf will be considered to be
|
||||
in canvas units, and so will be scaled normally by affine
|
||||
transformations. The default is %FALSE.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:width-pixels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:width-set ##### -->
|
||||
<para>
|
||||
Determines whether the <link
|
||||
linkend="GnomeCanvasPixbuf--width">width</link> argument is taken
|
||||
into account when scaling the pixbuf item. If this argument is
|
||||
%FALSE, then the width value of the pixbuf will be used instead.
|
||||
This argument is %FALSE by default.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:x ##### -->
|
||||
<para>
|
||||
Indicates the horizontal translation offset of the pixbuf item's
|
||||
image. This offset may not actually appear horizontal, since it
|
||||
will be affected by the item's affine transformation. The default
|
||||
is 0.0.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:x-in-pixels ##### -->
|
||||
<para>
|
||||
If this argument is %TRUE, the pixbuf's translation with respect
|
||||
to its logical origin in item-relative coordinates will be in
|
||||
pixels, that is, the visible offset will not change even if the
|
||||
item's affine transformation changes. If it is %FALSE, the
|
||||
pixbuf's translation will be taken to be in canvas units, and thus
|
||||
will change along with the item's affine transformation. The
|
||||
default is %FALSE.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:x-pixels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:x-set ##### -->
|
||||
<para>
|
||||
Determines whether the <link
|
||||
linkend="GnomeCanvasPixbuf--x">x</link> argument is used to
|
||||
translate the pixbuf from its logical origin in item-relative
|
||||
coordinates.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:y ##### -->
|
||||
<para>
|
||||
Indicates the vertical translation offset of the pixbuf item's
|
||||
image. Works in the same way as the <link
|
||||
linkend="GnomeCanvasPixbuf--x">x</link> argument. The default is
|
||||
0.0.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:y-in-pixels ##### -->
|
||||
<para>
|
||||
Works in the same way as the <link
|
||||
linkend="GnomeCanvasPixbuf--x-in-pixels">x_in_pixels</link>
|
||||
argument, but controls whether the <link
|
||||
linkend="GnomeCanvasPixbuf--y">y</link> translation offset is
|
||||
scaled or not. The default is %FALSE.
|
||||
</para>
|
||||
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:y-pixels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GnomeCanvasPixbuf:y-set ##### -->
|
||||
<para>
|
||||
Determines whether the <link
|
||||
linkend="GnomeCanvasPixbuf--y">y</link> argument is used to
|
||||
translate the pixbuf from its logical origin in item-relative
|
||||
coordinates. Works in the same way as the <link
|
||||
linkend="GnomeCanvasPixbuf--x-set">x_set</link> argument. The
|
||||
default is %FALSE.
|
||||
</para>
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
X Drawables to Pixbufs
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Getting parts of an X drawable's image data into a pixbuf.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The functions in this section allow you to take the image data
|
||||
from an X drawable and dump it into a #GdkPixbuf. This can be
|
||||
used for screenshots and other special effects. Note that these
|
||||
operations can be expensive, since the image data has to be
|
||||
transferred from the X server to the client program and converted.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These functions are analogous to those for the GDK version of
|
||||
&gdk-pixbuf;.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_xlib_get_from_drawable ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@dest:
|
||||
@src:
|
||||
@cmap:
|
||||
@visual:
|
||||
@src_x:
|
||||
@src_y:
|
||||
@dest_x:
|
||||
@dest_y:
|
||||
@width:
|
||||
@height:
|
||||
@Returns: <!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
52
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-xlib-init.sgml
Normal file
52
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-xlib-init.sgml
Normal file
@@ -0,0 +1,52 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
&gdk-pixbuf; Xlib initialization
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Initializing the &gdk-pixbuf; Xlib library.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
In addition to the normal Gdk-specific functions, the &gdk-pixbuf;
|
||||
package provides a small library that lets Xlib-only applications
|
||||
use #GdkPixbuf structures and render them to X drawables. The
|
||||
functions in this section are used to initialize the &gdk-pixbuf;
|
||||
Xlib library. This library must be initialized near the beginning
|
||||
of the program or before calling any of the other &gdk-pixbuf;
|
||||
Xlib functions.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
XlibRGB
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_xlib_init ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@screen_num:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_xlib_init_with_depth ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@screen_num:
|
||||
@prefDepth: <!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
100
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-xlib-rendering.sgml
Normal file
100
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-xlib-rendering.sgml
Normal file
@@ -0,0 +1,100 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Xlib Rendering
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Rendering a pixbuf to an X drawable.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The &gdk-pixbuf; Xlib library provides several convenience
|
||||
functions to render pixbufs to X drawables. It uses XlibRGB to
|
||||
render the image data.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
These functions are analogous to those for the GDK version of
|
||||
&gdk-pixbuf;.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_xlib_render_threshold_alpha ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@bitmap:
|
||||
@src_x:
|
||||
@src_y:
|
||||
@dest_x:
|
||||
@dest_y:
|
||||
@width:
|
||||
@height:
|
||||
@alpha_threshold:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_xlib_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_xlib_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_xlib_render_pixmap_and_mask ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@pixmap_return:
|
||||
@mask_return:
|
||||
@alpha_threshold: <!--
|
||||
Local variables:
|
||||
Kode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
290
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-xlib-rgb.sgml
Normal file
290
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf-xlib-rgb.sgml
Normal file
@@ -0,0 +1,290 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
XlibRGB
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Rendering RGB buffers to X drawables.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The XlibRGB set of functions is a port of the #GdkRGB library to
|
||||
use plain Xlib and X drawables. You can use these functions to
|
||||
render RGB buffers into drawables very quickly with high-quality
|
||||
dithering.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
GdkRGB
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT XlibRgbCmap ##### -->
|
||||
<para>
|
||||
FIXME: Describe this.
|
||||
</para>
|
||||
|
||||
@colors: FIXME.
|
||||
@lut: FIXME.
|
||||
|
||||
<!-- ##### ENUM XlibRgbDither ##### -->
|
||||
<para>
|
||||
These values are used to specify which dithering method should be
|
||||
used. <symbol>XLIB_RGB_DITHER_NONE</symbol> will use no dithering
|
||||
and simply map the colors in an RGB buffer to the closest colors
|
||||
that the display can provide.
|
||||
<symbol>XLIB_RGB_DITHER_NORMAL</symbol> will provide dithering
|
||||
only on pseudocolor displays.
|
||||
<symbol>XLIB_RGB_DITHER_MAX</symbol> will provide dithering on
|
||||
pseudocolor and 16-bit truecolor or “high color”
|
||||
displays.
|
||||
</para>
|
||||
|
||||
@XLIB_RGB_DITHER_NONE: Specifies no dithering.
|
||||
@XLIB_RGB_DITHER_NORMAL: Specifies dithering only on pseudocolor
|
||||
displays.
|
||||
@XLIB_RGB_DITHER_MAX: Specifies dithering on high color displays.
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_init ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@screen:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_init_with_depth ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@screen:
|
||||
@prefDepth:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_xpixel_from_rgb ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@rgb:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_gc_set_foreground ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gc:
|
||||
@rgb:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_gc_set_background ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gc:
|
||||
@rgb:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_draw_rgb_image ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
@dith:
|
||||
@rgb_buf:
|
||||
@rowstride:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_draw_rgb_image_dithalign ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
@dith:
|
||||
@rgb_buf:
|
||||
@rowstride:
|
||||
@xdith:
|
||||
@ydith:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_draw_rgb_32_image ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
@dith:
|
||||
@buf:
|
||||
@rowstride:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_draw_gray_image ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
@dith:
|
||||
@buf:
|
||||
@rowstride:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_cmap_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@colors:
|
||||
@n_colors:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_cmap_free ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@cmap:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_draw_indexed_image ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
@dith:
|
||||
@buf:
|
||||
@rowstride:
|
||||
@cmap:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_ditherable ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_set_verbose ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@verbose:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_set_install ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@install:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_set_min_colors ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@min_colors:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_get_cmap ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_get_visual ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_get_visual_info ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_get_depth ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_get_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION xlib_rgb_get_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns: <!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
294
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf.sgml
Normal file
294
docs/reference/gdk-pixbuf/tmpl/gdk-pixbuf.sgml
Normal file
@@ -0,0 +1,294 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
The GdkPixbuf Structure
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Information that describes an image.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
|
||||
<para>
|
||||
The <structname>GdkPixbuf</structname> structure contains
|
||||
information that describes an image in memory.
|
||||
</para>
|
||||
|
||||
<section id="image-data">
|
||||
<title>Image Data</title>
|
||||
|
||||
<para>
|
||||
Image data in a pixbuf is stored in memory in uncompressed,
|
||||
packed format. Rows in the image are stored top to bottom, and
|
||||
in each row pixels are stored from left to right. There may be
|
||||
padding at the end of a row. The "rowstride" value of a pixbuf,
|
||||
as returned by gdk_pixbuf_get_rowstride(), indicates the number
|
||||
of bytes between rows.
|
||||
</para>
|
||||
|
||||
<example id="put-pixel">
|
||||
<title>put_pixel(<!-- -->) example</title>
|
||||
|
||||
<para>
|
||||
The following code illustrates a simple put_pixel(<!-- -->)
|
||||
function for RGB pixbufs with 8 bits per channel with an alpha
|
||||
channel. It is not included in the gdk-pixbuf library for
|
||||
performance reasons; rather than making several function calls
|
||||
for each pixel, your own code can take shortcuts.
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
static void
|
||||
put_pixel (GdkPixbuf *pixbuf, int x, int y, guchar red, guchar green, guchar blue, guchar alpha)
|
||||
{
|
||||
int width, height, rowstride, n_channels;
|
||||
guchar *pixels, *p;
|
||||
|
||||
n_channels = gdk_pixbuf_get_n_channels (pixbuf);
|
||||
|
||||
g_assert (gdk_pixbuf_get_colorspace (pixbuf) == GDK_COLORSPACE_RGB);
|
||||
g_assert (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8);
|
||||
g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
|
||||
g_assert (n_channels == 4);
|
||||
|
||||
width = gdk_pixbuf_get_width (pixbuf);
|
||||
height = gdk_pixbuf_get_height (pixbuf);
|
||||
|
||||
g_assert (x >= 0 && x < width);
|
||||
g_assert (y >= 0 && y < height);
|
||||
|
||||
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
|
||||
pixels = gdk_pixbuf_get_pixels (pixbuf);
|
||||
|
||||
p = pixels + y * rowstride + x * n_channels;
|
||||
p[0] = red;
|
||||
p[1] = green;
|
||||
p[2] = blue;
|
||||
p[3] = alpha;
|
||||
}
|
||||
</programlisting>
|
||||
|
||||
<para>
|
||||
This function will not work for pixbufs with images that are
|
||||
other than 8 bits per sample or channel, but it will work for
|
||||
most of the pixbufs that GTK+ uses.
|
||||
</para>
|
||||
</example>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
If you are doing memcpy() of raw pixbuf data, note that the
|
||||
last row in the pixbuf may not be as wide as the full
|
||||
rowstride, but rather just as wide as the pixel data needs to
|
||||
be. That is, it is unsafe to do <literal>memcpy (dest,
|
||||
pixels, rowstride * height)</literal> to copy a whole pixbuf.
|
||||
Use gdk_pixbuf_copy() instead, or compute the width in bytes
|
||||
of the last row as <literal>width * ((n_channels *
|
||||
bits_per_sample + 7) / 8)</literal>.
|
||||
</para>
|
||||
</note>
|
||||
</section>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkPixbufError ##### -->
|
||||
<para>
|
||||
An error code in the #GDK_PIXBUF_ERROR domain. Many &gdk-pixbuf;
|
||||
operations can cause errors in this domain, or in the #G_FILE_ERROR
|
||||
domain.
|
||||
</para>
|
||||
|
||||
@GDK_PIXBUF_ERROR_CORRUPT_IMAGE: An image file was broken somehow.
|
||||
@GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY: Not enough memory.
|
||||
@GDK_PIXBUF_ERROR_BAD_OPTION: A bad option was passed to a pixbuf save module.
|
||||
@GDK_PIXBUF_ERROR_UNKNOWN_TYPE: Unknown image type.
|
||||
@GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION: Don't know how to perform the
|
||||
given operation on the type of image at hand.
|
||||
@GDK_PIXBUF_ERROR_FAILED: Generic failure code, something went wrong.
|
||||
|
||||
<!-- ##### MACRO GDK_PIXBUF_ERROR ##### -->
|
||||
<para>
|
||||
Error domain used for pixbuf operations. Indicates that the error code
|
||||
will be in the #GdkPixbufError enumeration. See #GError for
|
||||
information on error domains and error codes.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkColorspace ##### -->
|
||||
<para>
|
||||
This enumeration defines the color spaces that are supported by
|
||||
the &gdk-pixbuf; library. Currently only RGB is supported.
|
||||
</para>
|
||||
|
||||
@GDK_COLORSPACE_RGB: Indicates a red/green/blue additive color space.
|
||||
|
||||
<!-- ##### 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
|
||||
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
|
||||
compositing onto arbitrary drawables. For now both cases fall
|
||||
back to a bilevel clipping mask.
|
||||
</para>
|
||||
|
||||
@GDK_PIXBUF_ALPHA_BILEVEL: A bilevel clipping mask (black and white)
|
||||
will be created and used to draw the image. Pixels below 0.5 opacity
|
||||
will be considered fully transparent, and all others will be
|
||||
considered fully opaque.
|
||||
@GDK_PIXBUF_ALPHA_FULL: For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL.
|
||||
In the future it will do full alpha compositing.
|
||||
|
||||
<!-- ##### STRUCT GdkPixbuf ##### -->
|
||||
<para>
|
||||
This is the main structure in the &gdk-pixbuf; library. It is
|
||||
used to represent images. It contains information about the
|
||||
image's pixel data, its color space, bits per sample, width and
|
||||
height, and the rowstride (the number of bytes between the start of
|
||||
one row and the start of the next).
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GdkPixbuf:bits-per-sample ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GdkPixbuf:colorspace ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GdkPixbuf:has-alpha ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GdkPixbuf:height ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GdkPixbuf:n-channels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GdkPixbuf:pixels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GdkPixbuf:rowstride ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GdkPixbuf:width ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_colorspace ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_n_channels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_has_alpha ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_bits_per_sample ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_pixels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_width ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_height ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_rowstride ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns: <!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_option ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@key:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
106
docs/reference/gdk-pixbuf/tmpl/initialization_versions.sgml
Normal file
106
docs/reference/gdk-pixbuf/tmpl/initialization_versions.sgml
Normal file
@@ -0,0 +1,106 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Initialization and Versions
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
Library version numbers.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
These macros and variables let you check the version of &gdk-pixbuf;
|
||||
you're linking against.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### VARIABLE gdk_pixbuf_version ##### -->
|
||||
<para>
|
||||
Contains the full version of the &gdk-pixbuf; library as a string.
|
||||
This is the version currently in use by a running program.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### VARIABLE gdk_pixbuf_major_version ##### -->
|
||||
<para>
|
||||
The major version number of the &gdk-pixbuf; library. (e.g. in
|
||||
&gdk-pixbuf; version 1.2.5 this is 1.)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This variable is in the library, so represents the
|
||||
&gdk-pixbuf; library you have linked against. Contrast with the
|
||||
#GDK_PIXBUF_MAJOR macro, which represents the major version of the
|
||||
&gdk-pixbuf; headers you have included.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### VARIABLE gdk_pixbuf_minor_version ##### -->
|
||||
<para>
|
||||
The minor version number of the &gdk-pixbuf; library. (e.g. in
|
||||
&gdk-pixbuf; version 1.2.5 this is 2.)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This variable is in the library, so represents the
|
||||
&gdk-pixbuf; library you have linked against. Contrast with the
|
||||
#GDK_PIXBUF_MINOR macro, which represents the minor version of the
|
||||
&gdk-pixbuf; headers you have included.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### VARIABLE gdk_pixbuf_micro_version ##### -->
|
||||
<para>
|
||||
The micro version number of the &gdk-pixbuf; library. (e.g. in
|
||||
&gdk-pixbuf; version 1.2.5 this is 5.)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This variable is in the library, so represents the
|
||||
&gdk-pixbuf; library you have linked against. Contrast with the
|
||||
#GDK_PIXBUF_MICRO macro, which represents the micro version of the
|
||||
&gdk-pixbuf; headers you have included.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_PIXBUF_VERSION ##### -->
|
||||
<para>
|
||||
Contains the full version of the &gdk-pixbuf; header as a string.
|
||||
This is the version being compiled against; contrast with
|
||||
#gdk_pixbuf_version.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_PIXBUF_MAJOR ##### -->
|
||||
<para>
|
||||
Major version of &gdk-pixbuf; library, that is the first "0" in
|
||||
"0.8.0" for example.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_PIXBUF_MINOR ##### -->
|
||||
<para>
|
||||
Minor version of &gdk-pixbuf; library, that is the "8" in
|
||||
"0.8.0" for example.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_PIXBUF_MICRO ##### -->
|
||||
<para>
|
||||
Micro version of &gdk-pixbuf; library, that is the last "0" in
|
||||
"0.8.0" for example.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
137
docs/reference/gdk-pixbuf/tmpl/inline.sgml
Normal file
137
docs/reference/gdk-pixbuf/tmpl/inline.sgml
Normal file
@@ -0,0 +1,137 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Inline data
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for inlined pixbuf handling.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
Using #GdkPixdata, images can be compiled into an application,
|
||||
making it unnecessary to refer to external image files at runtime.
|
||||
&gdk-pixbuf; includes a utility named gdk-pixbuf-csource, which
|
||||
can be used to convert image files into #GdkPixdata structures suitable
|
||||
for inclusion in C sources. To convert the #GdkPixdata structures back
|
||||
into #GdkPixbuf<!-- -->s, use gdk_pixbuf_from_pixdata.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixdata ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@magic:
|
||||
@length:
|
||||
@pixdata_type:
|
||||
@rowstride:
|
||||
@width:
|
||||
@height:
|
||||
@pixel_data:
|
||||
|
||||
<!-- ##### ENUM GdkPixdataType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GDK_PIXDATA_COLOR_TYPE_RGB:
|
||||
@GDK_PIXDATA_COLOR_TYPE_RGBA:
|
||||
@GDK_PIXDATA_COLOR_TYPE_MASK:
|
||||
@GDK_PIXDATA_SAMPLE_WIDTH_8:
|
||||
@GDK_PIXDATA_SAMPLE_WIDTH_MASK:
|
||||
@GDK_PIXDATA_ENCODING_RAW:
|
||||
@GDK_PIXDATA_ENCODING_RLE:
|
||||
@GDK_PIXDATA_ENCODING_MASK:
|
||||
|
||||
<!-- ##### ENUM GdkPixdataDumpType ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@GDK_PIXDATA_DUMP_PIXDATA_STREAM:
|
||||
@GDK_PIXDATA_DUMP_PIXDATA_STRUCT:
|
||||
@GDK_PIXDATA_DUMP_MACROS:
|
||||
@GDK_PIXDATA_DUMP_GTYPES:
|
||||
@GDK_PIXDATA_DUMP_CTYPES:
|
||||
@GDK_PIXDATA_DUMP_STATIC:
|
||||
@GDK_PIXDATA_DUMP_CONST:
|
||||
@GDK_PIXDATA_DUMP_RLE_DECODER:
|
||||
|
||||
<!-- ##### MACRO GDK_PIXBUF_MAGIC_NUMBER ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_PIXDATA_HEADER_LENGTH ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixdata_from_pixbuf ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixdata:
|
||||
@pixbuf:
|
||||
@use_rle:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_from_pixdata ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixdata:
|
||||
@copy_pixels:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixdata_serialize ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixdata:
|
||||
@stream_length_p:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixdata_deserialize ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixdata:
|
||||
@stream_length:
|
||||
@stream:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixdata_to_csource ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixdata:
|
||||
@name:
|
||||
@dump_type:
|
||||
@Returns:
|
||||
|
||||
|
||||
382
docs/reference/gdk-pixbuf/tmpl/module_interface.sgml
Normal file
382
docs/reference/gdk-pixbuf/tmpl/module_interface.sgml
Normal file
@@ -0,0 +1,382 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Module Interface
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Extending &gdk-pixbuf;
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
If &gdk-pixbuf; has been compiled with GModule support, it can be extended by
|
||||
modules which can load (and perhaps also save) new image and animation
|
||||
formats. Each loadable module must export a
|
||||
#GdkPixbufModuleFillInfoFunc function named <function>fill_info</function> and
|
||||
a #GdkPixbufModuleFillVtableFunc function named
|
||||
<function>fill_vtable</function>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In order to make format-checking work before actually loading the modules
|
||||
(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
|
||||
their signatures. This file is then read at runtime by &gdk-pixbuf; to obtain
|
||||
the list of available loaders and their signatures.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Modules may only implement a subset of the functionality available via
|
||||
#GdkPixbufModule. If a particular functionality is not implemented, the
|
||||
<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.
|
||||
</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>,
|
||||
unless overridden by the environment variable
|
||||
<envar>GDK_PIXBUF_MODULEDIR</envar>)
|
||||
</para></listitem>
|
||||
<listitem><para>call <command>gdk-pixbuf-query-loaders</command> to update the
|
||||
module file (normally
|
||||
<filename><replaceable>sysconfdir</replaceable>/gtk-2.0/gdk-pixbuf.loaders</filename>,
|
||||
unless overridden by the environment variable
|
||||
<envar>GDK_PIXBUF_MODULE_FILE</envar>)
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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
|
||||
<literal>#ifdef GDK_PIXBUF_ENABLE_BACKEND</literal>.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_set_option ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@key:
|
||||
@value:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_get_formats ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_mime_types ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_extensions ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_is_writable ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_is_scalable ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_is_disabled ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_set_disabled ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@disabled:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_format_get_license ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@format:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufFormat ##### -->
|
||||
<para>
|
||||
A #GdkPixbufFormat contains information about the image format accepted by a
|
||||
module. Only modules should access the fields directly, applications should
|
||||
use the <function>gdk_pixbuf_format_*</function> functions.
|
||||
</para>
|
||||
|
||||
@name: the name of the image format.
|
||||
@signature: the signature of the module.
|
||||
@domain: the message domain for the @description.
|
||||
@description: a description of the image format.
|
||||
@mime_types: a %NULL-terminated array of MIME types for the image format.
|
||||
@extensions: a %NULL-terminated array of typical filename extensions for the
|
||||
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
|
||||
shorthands like "GPL", "LGPL", etc.
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### ENUM GdkPixbufFormatFlags ##### -->
|
||||
<para>
|
||||
Flags which allow a module to specify further details about the supported
|
||||
operations.
|
||||
</para>
|
||||
|
||||
@GDK_PIXBUF_FORMAT_WRITABLE: the module can write out images in the format.
|
||||
@GDK_PIXBUF_FORMAT_SCALABLE: the image format is scalable
|
||||
@GDK_PIXBUF_FORMAT_THREADSAFE: the module is threadsafe. If this flag is not
|
||||
set, &gdk-pixbuf; will use a lock to prevent multiple threads from using
|
||||
this module at the same time. (Since 2.6)
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### 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
|
||||
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,
|
||||
but also in the middle. Versions prior to 2.8 will interpret the '*'
|
||||
like an 'x'.
|
||||
</para>
|
||||
<para>
|
||||
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>
|
||||
|
||||
<informalexample><programlisting>
|
||||
GdkPixbufModulePattern *signature[] = {
|
||||
{ "abcdx", " !x z", 100 },
|
||||
{ "bla", NULL, 90 },
|
||||
{ NULL, NULL, 0 }
|
||||
};
|
||||
</programlisting>
|
||||
The example matches e.g. "auud\0" with relevance 100, and "blau" with
|
||||
relevance 90.</informalexample>
|
||||
|
||||
@prefix: the prefix for this pattern
|
||||
@mask: mask containing bytes which modify how the prefix is matched against
|
||||
test data
|
||||
@relevance: relevance of this pattern
|
||||
@Since: 2.2
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModuleFillVtableFunc ##### -->
|
||||
<para>
|
||||
Defines the type of the function used to set the vtable of a
|
||||
#GdkPixbufModule when it is loaded.
|
||||
</para>
|
||||
|
||||
@module: a #GdkPixbufModule.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModuleFillInfoFunc ##### -->
|
||||
<para>
|
||||
Defines the type of the function used to fill a
|
||||
#GdkPixbufFormat structure with information about a module.
|
||||
</para>
|
||||
|
||||
@info: a #GdkPixbufFormat.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModuleSizeFunc ##### -->
|
||||
<para>
|
||||
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
|
||||
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.
|
||||
</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
|
||||
resources. This convention is used to implement gdk_pixbuf_get_file_info()
|
||||
efficiently.
|
||||
</para>
|
||||
|
||||
@width: pointer to a location containing the current image width
|
||||
@height: pointer to a location containing the current image height
|
||||
@user_data: the loader.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModulePreparedFunc ##### -->
|
||||
<para>
|
||||
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
|
||||
"<link linkend="GdkPixbufLoader-area-prepared">area_prepared</link>"
|
||||
signal.
|
||||
</para>
|
||||
|
||||
@pixbuf: the #GdkPixbuf that is currently being loaded.
|
||||
@anim: if an animation is being loaded, the #GdkPixbufAnimation, else %NULL.
|
||||
@user_data: the loader.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufModuleUpdatedFunc ##### -->
|
||||
<para>
|
||||
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
|
||||
"<link linkend="GdkPixbufLoader-area-updated">area_updated</link>"
|
||||
signal.
|
||||
</para>
|
||||
|
||||
@pixbuf: the #GdkPixbuf that is currently being loaded.
|
||||
@x: the X origin of the updated area.
|
||||
@y: the Y origin of the updated area.
|
||||
@width: the width of the updated area.
|
||||
@height: the height of the updated area.
|
||||
@user_data: the loader.
|
||||
@Since: 2.2
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufModule ##### -->
|
||||
<para>
|
||||
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
|
||||
named <function>fill_vtable</function>, which will get called when the module
|
||||
is loaded and must set the function pointers of the #GdkPixbufModule.
|
||||
</para>
|
||||
|
||||
@module_name: the name of the module, usually the same as the
|
||||
usual file extension for images of this type, eg. "xpm", "jpeg" or "png".
|
||||
@module_path: the path from which the module is loaded.
|
||||
@module: the loaded #GModule.
|
||||
@info: a #GdkPixbufFormat holding information about the module.
|
||||
@load: loads an image from a file.
|
||||
@load_xpm_data: loads an image from data in memory.
|
||||
@begin_load: begins an incremental load.
|
||||
@stop_load: stops an incremental load.
|
||||
@load_increment: continues an incremental load.
|
||||
@load_animation: loads an animation from a file.
|
||||
@save: saves a #GdkPixbuf to a file.
|
||||
@save_to_callback: saves a #GdkPixbuf by calling the given #GdkPixbufSaveFunc.
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
|
||||
<para>
|
||||
Modules supporting animations must derive a type from
|
||||
#GdkPixbufAnimation, providing suitable implementations of the
|
||||
virtual functions.
|
||||
</para>
|
||||
|
||||
@parent_class: the parent class
|
||||
@is_static_image: returns whether the given animation is just a static image.
|
||||
@get_static_image: returns a static image representing the given animation.
|
||||
@get_size: fills @width and @height with the frame size of the animation.
|
||||
@get_iter: returns an iterator for the given animation.
|
||||
|
||||
<!-- ##### STRUCT GdkPixbufAnimationIterClass ##### -->
|
||||
<para>
|
||||
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
|
||||
should be shown.
|
||||
@get_pixbuf: returns the current frame.
|
||||
@on_currently_loading_frame: returns whether the current frame of @iter is
|
||||
being loaded.
|
||||
@advance: advances the iterator to @current_time, possibly changing the
|
||||
current frame.
|
||||
|
||||
84
docs/reference/gdk-pixbuf/tmpl/refcounting.sgml
Normal file
84
docs/reference/gdk-pixbuf/tmpl/refcounting.sgml
Normal file
@@ -0,0 +1,84 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Reference Counting and Memory Mangement
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
|
||||
Functions for reference counting and memory management on pixbufs.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
#GdkPixbuf structures are reference counted. This means that an
|
||||
application can share a single pixbuf among many parts of the
|
||||
code. When a piece of the program needs to keep a pointer to a
|
||||
pixbuf, it should add a reference to it by calling g_object_ref().
|
||||
When it no longer needs the pixbuf, it should subtract a reference
|
||||
by calling g_object_unref(). The pixbuf will be destroyed when
|
||||
its reference count drops to zero. Newly-created #GdkPixbuf
|
||||
structures start with a reference count of one.
|
||||
</para>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
As #GdkPixbuf is derived from #GObject now, gdk_pixbuf_ref() and
|
||||
gdk_pixbuf_unref() are deprecated in favour of g_object_ref()
|
||||
and g_object_unref () resp.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
<emphasis>Finalizing</emphasis> a pixbuf means to free its pixel
|
||||
data and to free the #GdkPixbuf structure itself. Most of the
|
||||
library functions that create #GdkPixbuf structures create the
|
||||
pixel data by themselves and define the way it should be freed;
|
||||
you do not need to worry about those. The only function that lets
|
||||
you specify how to free the pixel data is
|
||||
gdk_pixbuf_new_from_data(). Since you pass it a pre-allocated
|
||||
pixel buffer, you must also specify a way to free that data. This
|
||||
is done with a function of type #GdkPixbufDestroyNotify. When a
|
||||
pixbuf created with gdk_pixbuf_new_from_data() is finalized, your
|
||||
destroy notification function will be called, and it is its
|
||||
responsibility to free the pixel array.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GdkPixbuf, gdk_pixbuf_new_from_data().
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_unref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkPixbufDestroyNotify ##### -->
|
||||
<para>
|
||||
A function of this type is responsible for freeing the pixel array
|
||||
of a pixbuf. The gdk_pixbuf_new_from_data() function lets you
|
||||
pass in a pre-allocated pixel array so that a pixbuf can be
|
||||
created from it; in this case you will need to pass in a function
|
||||
of #GdkPixbufDestroyNotify so that the pixel data can be freed
|
||||
when the pixbuf is finalized.
|
||||
</para>
|
||||
|
||||
@pixels: The pixel array of the pixbuf that is being finalized.
|
||||
@data: User closure data.
|
||||
|
||||
|
||||
246
docs/reference/gdk-pixbuf/tmpl/scaling.sgml
Normal file
246
docs/reference/gdk-pixbuf/tmpl/scaling.sgml
Normal file
@@ -0,0 +1,246 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Scaling
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Scaling pixbufs and scaling and compositing pixbufs
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The &gdk-pixbuf; contains functions to scale pixbufs, to scale
|
||||
pixbufs and composite against an existing image, and to scale
|
||||
pixbufs and composite against a solid color or checkerboard.
|
||||
Compositing a checkerboard is a common way to show an image with
|
||||
an alpha channel in image-viewing and editing software.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Since the full-featured functions (gdk_pixbuf_scale(),
|
||||
gdk_pixbuf_composite(), and gdk_pixbuf_composite_color()) are
|
||||
rather complex to use and have many arguments, two simple
|
||||
convenience functions are provided, gdk_pixbuf_scale_simple() and
|
||||
gdk_pixbuf_composite_color_simple() which create a new pixbuf of a
|
||||
given size, scale an original image to fit, and then return the
|
||||
new pixbuf.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Scaling and compositing functions take advantage of MMX hardware
|
||||
acceleration on systems where MMX is supported. If gdk-pixbuf is built
|
||||
with the Sun mediaLib library, these functions are instead accelerated
|
||||
using mediaLib, which provides hardware acceleration on Intel, AMD,
|
||||
and Sparc chipsets. If desired, mediaLib support can be turned off by
|
||||
setting the GDK_DISABLE_MEDIALIB environment variable.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The following example demonstrates handling an expose event by
|
||||
rendering the appropriate area of a source image (which is scaled
|
||||
to fit the widget) onto the widget's window. The source image is
|
||||
rendered against a checkerboard, which provides a visual
|
||||
representation of the alpha channel if the image has one. If the
|
||||
image doesn't have an alpha channel, calling
|
||||
gdk_pixbuf_composite_color() function has exactly the same effect
|
||||
as calling gdk_pixbuf_scale().
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<title>Handling an expose event.</title>
|
||||
<programlisting>
|
||||
gboolean
|
||||
expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
||||
{
|
||||
GdkPixbuf *dest;
|
||||
|
||||
dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, event->area.width, event->area.height);
|
||||
|
||||
gdk_pixbuf_composite_color (pixbuf, dest,
|
||||
0, 0, event->area.width, event->area.height,
|
||||
-event->area.x, -event->area.y,
|
||||
(double) widget->allocation.width / gdk_pixbuf_get_width (pixbuf),
|
||||
(double) widget->allocation.height / gdk_pixbuf_get_height (pixbuf),
|
||||
GDK_INTERP_BILINEAR, 255,
|
||||
event->area.x, event->area.y, 16, 0xaaaaaa, 0x555555);
|
||||
|
||||
gdk_draw_pixbuf (widget->window, widget->style->fg_gc[GTK_STATE_NORMAL], dest,
|
||||
0, 0, event->area.x, event->area.y,
|
||||
event->area.width, event->area.height,
|
||||
GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);
|
||||
|
||||
gdk_pixbuf_unref (dest);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
</programlisting>
|
||||
</example>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
<link linkend="gdk-GdkRGB">GdkRGB</link>.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkInterpType ##### -->
|
||||
<para>
|
||||
This enumeration describes the different interpolation modes that
|
||||
can be used with the scaling functions. @GDK_INTERP_NEAREST is
|
||||
the fastest scaling method, but has horrible quality when
|
||||
scaling down. @GDK_INTERP_BILINEAR is the best choice if you
|
||||
aren't sure what to choose, it has a good speed/quality balance.
|
||||
|
||||
<note>
|
||||
<para>
|
||||
Cubic filtering is missing from the list; hyperbolic
|
||||
interpolation is just as fast and results in higher quality.
|
||||
</para>
|
||||
</note>
|
||||
</para>
|
||||
|
||||
@GDK_INTERP_NEAREST: Nearest neighbor sampling; this is the fastest
|
||||
and lowest quality mode. Quality is normally unacceptable when scaling
|
||||
down, but may be OK when scaling up.
|
||||
@GDK_INTERP_TILES: This is an accurate simulation of the PostScript
|
||||
image operator without any interpolation enabled. Each pixel is
|
||||
rendered as a tiny parallelogram of solid color, the edges of which
|
||||
are implemented with antialiasing. It resembles nearest neighbor for
|
||||
enlargement, and bilinear for reduction.
|
||||
@GDK_INTERP_BILINEAR: Best quality/speed balance; use this mode by
|
||||
default. Bilinear interpolation. For enlargement, it is
|
||||
equivalent to point-sampling the ideal bilinear-interpolated image.
|
||||
For reduction, it is equivalent to laying down small tiles and
|
||||
integrating over the coverage area.
|
||||
@GDK_INTERP_HYPER: This is the slowest and highest quality
|
||||
reconstruction function. It is derived from the hyperbolic filters in
|
||||
Wolberg's "Digital Image Warping", and is formally defined as the
|
||||
hyperbolic-filter sampling the ideal hyperbolic-filter interpolated
|
||||
image (the filter is designed to be idempotent for 1:1 pixel mapping).
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_scale_simple ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@dest_width:
|
||||
@dest_height:
|
||||
@interp_type:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_scale ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@dest:
|
||||
@dest_x:
|
||||
@dest_y:
|
||||
@dest_width:
|
||||
@dest_height:
|
||||
@offset_x:
|
||||
@offset_y:
|
||||
@scale_x:
|
||||
@scale_y:
|
||||
@interp_type:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_composite_color_simple ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@dest_width:
|
||||
@dest_height:
|
||||
@interp_type:
|
||||
@overall_alpha:
|
||||
@check_size:
|
||||
@color1:
|
||||
@color2:
|
||||
@Returns: <!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_composite ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@dest:
|
||||
@dest_x:
|
||||
@dest_y:
|
||||
@dest_width:
|
||||
@dest_height:
|
||||
@offset_x:
|
||||
@offset_y:
|
||||
@scale_x:
|
||||
@scale_y:
|
||||
@interp_type:
|
||||
@overall_alpha:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_composite_color ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@dest:
|
||||
@dest_x:
|
||||
@dest_y:
|
||||
@dest_width:
|
||||
@dest_height:
|
||||
@offset_x:
|
||||
@offset_y:
|
||||
@scale_x:
|
||||
@scale_y:
|
||||
@interp_type:
|
||||
@overall_alpha:
|
||||
@check_x:
|
||||
@check_y:
|
||||
@check_size:
|
||||
@color1:
|
||||
@color2:
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkPixbufRotation ##### -->
|
||||
<para>
|
||||
The possible rotations which can be passed to gdk_pixbuf_rotate_simple().
|
||||
To make them easier to use, their numerical values are the actual degrees.
|
||||
</para>
|
||||
|
||||
@GDK_PIXBUF_ROTATE_NONE: No rotation.
|
||||
@GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE: Rotate by 90 degrees.
|
||||
@GDK_PIXBUF_ROTATE_UPSIDEDOWN: Rotate by 180 degrees.
|
||||
@GDK_PIXBUF_ROTATE_CLOCKWISE: Rotate by 270 degrees.
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_rotate_simple ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@angle:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_flip ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@horizontal:
|
||||
@Returns:
|
||||
|
||||
|
||||
87
docs/reference/gdk-pixbuf/tmpl/util.sgml
Normal file
87
docs/reference/gdk-pixbuf/tmpl/util.sgml
Normal file
@@ -0,0 +1,87 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Utilities
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Utility and miscellaneous convenience functions.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
These functions provide miscellaneous utilities for manipulating
|
||||
pixbufs. The pixel data in pixbufs may of course be manipulated
|
||||
directly by applications, but several common operations can be
|
||||
performed by these functions instead.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
#GdkPixbuf
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_add_alpha ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@substitute_color:
|
||||
@r:
|
||||
@g:
|
||||
@b:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_copy_area ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src_pixbuf:
|
||||
@src_x:
|
||||
@src_y:
|
||||
@width:
|
||||
@height:
|
||||
@dest_pixbuf:
|
||||
@dest_x:
|
||||
@dest_y: <!--
|
||||
Local variables:
|
||||
mode: sgml
|
||||
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
|
||||
End:
|
||||
-->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_saturate_and_pixelate ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@dest:
|
||||
@saturation:
|
||||
@pixelate:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_apply_embedded_orientation ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pixbuf_fill ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pixbuf:
|
||||
@pixel:
|
||||
|
||||
|
||||
1
docs/reference/gdk-pixbuf/version.xml.in
Normal file
1
docs/reference/gdk-pixbuf/version.xml.in
Normal file
@@ -0,0 +1 @@
|
||||
@GTK_VERSION@
|
||||
@@ -4,7 +4,7 @@ include $(top_srcdir)/Makefile.decl
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
|
||||
# The name of the module.
|
||||
DOC_MODULE=gdk3
|
||||
DOC_MODULE=gdk
|
||||
|
||||
# The top-level SGML file.
|
||||
DOC_MAIN_SGML_FILE=gdk-docs.sgml
|
||||
@@ -21,12 +21,14 @@ CFILE_GLOB=$(top_srcdir)/gdk/*.c
|
||||
|
||||
# Header files to ignore when scanning
|
||||
IGNORE_HFILES= \
|
||||
gdkalias.h \
|
||||
gdkintl.h \
|
||||
gdkmarshalers.h \
|
||||
gdkkeysyms.h \
|
||||
gdkinternals.h \
|
||||
gdkprivate.h \
|
||||
gdkpoly-generic.h \
|
||||
gdkregion-generic.h \
|
||||
keyname-table.h \
|
||||
win32 \
|
||||
directfb \
|
||||
@@ -140,7 +142,7 @@ HTML_IMAGES = \
|
||||
images/xterm.png
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS= \
|
||||
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
|
||||
--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<xi:include href="xml/threads.xml" />
|
||||
|
||||
<xi:include href="xml/input.xml" />
|
||||
<xi:include href="xml/gdkdevicemanager.xml" />
|
||||
<xi:include href="xml/input_devices.xml" />
|
||||
|
||||
<xi:include href="xml/pango_interaction.xml" />
|
||||
<xi:include href="xml/cairo_interaction.xml" />
|
||||
@@ -72,9 +72,45 @@
|
||||
<title>Index of deprecated symbols</title>
|
||||
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
|
||||
</index>
|
||||
<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 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>
|
||||
|
||||
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
|
||||
|
||||
@@ -10,6 +10,7 @@ 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
|
||||
|
||||
@@ -44,6 +45,10 @@ gdk_keyboard_ungrab
|
||||
<SUBSECTION>
|
||||
gdk_beep
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_get_use_xshm
|
||||
gdk_set_use_xshm
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_error_trap_push
|
||||
gdk_error_trap_pop
|
||||
@@ -51,8 +56,6 @@ gdk_error_trap_pop
|
||||
<SUBSECTION>
|
||||
GDK_WINDOWING_X11
|
||||
GDK_WINDOWING_WIN32
|
||||
GDK_WINDOWING_QUARTZ
|
||||
GDK_WINDOWING_DIRECTFB
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_GRAB_STATUS
|
||||
@@ -74,12 +77,13 @@ gdk_extension_mode_get_type
|
||||
gdk_fill_get_type
|
||||
gdk_fill_rule_get_type
|
||||
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
|
||||
gdk_input_condition_get_type
|
||||
gdk_input_mode_get_type
|
||||
gdk_input_source_get_type
|
||||
gdk_join_style_get_type
|
||||
@@ -105,7 +109,8 @@ gdk_window_type_get_type
|
||||
gdk_window_type_hint_get_type
|
||||
gdk_wm_decoration_get_type
|
||||
gdk_wm_function_get_type
|
||||
gdk_device_grab_info_libgtk_only
|
||||
gdk_pointer_grab_info_libgtk_only
|
||||
gdk_keyboard_grab_info_libgtk_only
|
||||
gdk_add_option_entries_libgtk_only
|
||||
gdk_pre_parse_libgtk_only
|
||||
</SECTION>
|
||||
@@ -120,11 +125,9 @@ 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
|
||||
@@ -137,15 +140,10 @@ 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
|
||||
@@ -260,7 +258,11 @@ 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
|
||||
@@ -283,18 +285,13 @@ 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
|
||||
gdk_image_get_pixels
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_image_put_pixel
|
||||
@@ -317,6 +314,7 @@ gdk_image_get_type
|
||||
<SECTION>
|
||||
<TITLE>GdkRGB</TITLE>
|
||||
<FILE>rgb</FILE>
|
||||
gdk_rgb_init
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_draw_rgb_image
|
||||
@@ -333,6 +331,9 @@ 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>
|
||||
@@ -340,6 +341,7 @@ 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
|
||||
@@ -352,6 +354,8 @@ 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
|
||||
@@ -364,16 +368,27 @@ 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
|
||||
@@ -393,10 +408,60 @@ gdk_colormap_get_type
|
||||
gdk_color_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>Fonts</TITLE>
|
||||
<FILE>fonts</FILE>
|
||||
GdkFont
|
||||
GdkFontType
|
||||
gdk_font_load
|
||||
gdk_font_load_for_display
|
||||
gdk_fontset_load
|
||||
gdk_fontset_load_for_display
|
||||
gdk_font_from_description
|
||||
gdk_font_from_description_for_display
|
||||
gdk_font_get_display
|
||||
gdk_font_ref
|
||||
gdk_font_unref
|
||||
gdk_font_id
|
||||
gdk_font_equal
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_string_extents
|
||||
gdk_text_extents
|
||||
gdk_text_extents_wc
|
||||
gdk_string_width
|
||||
gdk_text_width
|
||||
gdk_text_width_wc
|
||||
gdk_char_width
|
||||
gdk_char_width_wc
|
||||
gdk_string_measure
|
||||
gdk_text_measure
|
||||
gdk_char_measure
|
||||
gdk_string_height
|
||||
gdk_text_height
|
||||
gdk_char_height
|
||||
|
||||
<SUBSECTION>
|
||||
GdkWChar
|
||||
gdk_wcstombs
|
||||
gdk_mbstowcs
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_FONT
|
||||
GDK_TYPE_FONT_TYPE
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_font_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>Drawing Primitives</TITLE>
|
||||
<FILE>drawing</FILE>
|
||||
GdkDrawable
|
||||
gdk_drawable_ref
|
||||
gdk_drawable_unref
|
||||
gdk_drawable_set_data
|
||||
gdk_drawable_get_data
|
||||
gdk_drawable_get_display
|
||||
gdk_drawable_get_screen
|
||||
gdk_drawable_get_visual
|
||||
@@ -426,8 +491,13 @@ gdk_draw_layout_line
|
||||
gdk_draw_layout_line_with_colors
|
||||
gdk_draw_layout
|
||||
gdk_draw_layout_with_colors
|
||||
<SUBSECTION>
|
||||
gdk_draw_string
|
||||
gdk_draw_text
|
||||
gdk_draw_text_wc
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_draw_pixmap
|
||||
gdk_draw_drawable
|
||||
gdk_draw_image
|
||||
gdk_drawable_get_image
|
||||
@@ -443,6 +513,7 @@ GDK_IS_DRAWABLE_CLASS
|
||||
|
||||
<SUBSECTION Private>
|
||||
GdkDrawableClass
|
||||
gdk_draw_bitmap
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
@@ -457,12 +528,16 @@ 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
|
||||
@@ -517,14 +592,7 @@ 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
|
||||
@@ -532,6 +600,8 @@ 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>
|
||||
@@ -564,6 +634,8 @@ 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
|
||||
@@ -572,8 +644,6 @@ 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
|
||||
@@ -588,19 +658,18 @@ 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
|
||||
gdk_window_scroll
|
||||
gdk_window_move_region
|
||||
gdk_window_flush
|
||||
gdk_window_has_native
|
||||
gdk_window_ensure_native
|
||||
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
|
||||
@@ -634,9 +703,7 @@ 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
|
||||
@@ -651,20 +718,19 @@ 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
|
||||
@@ -673,11 +739,14 @@ 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
|
||||
@@ -697,16 +766,9 @@ 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
|
||||
@@ -718,14 +780,11 @@ 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
|
||||
GDK_WINDOW_GET_CLASS
|
||||
GDK_WINDOW_OBJECT
|
||||
GDK_TYPE_WINDOW
|
||||
GDK_IS_WINDOW
|
||||
GDK_WINDOW_CLASS
|
||||
@@ -747,10 +806,6 @@ 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>
|
||||
@@ -758,6 +813,9 @@ 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
|
||||
@@ -827,6 +885,7 @@ 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
|
||||
@@ -870,6 +929,43 @@ GdkRectangle
|
||||
gdk_rectangle_intersect
|
||||
gdk_rectangle_union
|
||||
|
||||
<SUBSECTION>
|
||||
GdkRegion
|
||||
gdk_region_new
|
||||
gdk_region_polygon
|
||||
GdkFillRule
|
||||
gdk_region_copy
|
||||
gdk_region_rectangle
|
||||
gdk_region_destroy
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_region_get_clipbox
|
||||
gdk_region_get_rectangles
|
||||
gdk_region_empty
|
||||
gdk_region_equal
|
||||
gdk_region_rect_equal
|
||||
gdk_region_point_in
|
||||
gdk_region_rect_in
|
||||
GdkOverlapType
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_region_offset
|
||||
gdk_region_shrink
|
||||
gdk_region_union_with_rect
|
||||
gdk_region_intersect
|
||||
gdk_region_union
|
||||
gdk_region_subtract
|
||||
gdk_region_xor
|
||||
|
||||
<SUBSECTION>
|
||||
GdkSpan
|
||||
GdkSpanFunc
|
||||
gdk_region_spans_intersect_foreach
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_OVERLAP_TYPE
|
||||
GDK_TYPE_RECTANGLE
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_rectangle_get_type
|
||||
</SECTION>
|
||||
@@ -910,7 +1006,6 @@ gdk_keymap_get_entries_for_keycode
|
||||
gdk_keymap_get_direction
|
||||
gdk_keymap_have_bidi_layouts
|
||||
gdk_keymap_get_caps_lock_state
|
||||
gdk_keymap_get_num_lock_state
|
||||
gdk_keymap_add_virtual_modifiers
|
||||
gdk_keymap_map_virtual_modifiers
|
||||
|
||||
@@ -943,41 +1038,20 @@ gdk_keymap_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>GdkDeviceManager</TITLE>
|
||||
<FILE>gdkdevicemanager</FILE>
|
||||
GdkDeviceManager
|
||||
<TITLE>Input Devices</TITLE>
|
||||
<FILE>input_devices</FILE>
|
||||
GdkDevice
|
||||
GdkDeviceType
|
||||
GdkInputSource
|
||||
GdkInputMode
|
||||
GdkDeviceKey
|
||||
GdkDeviceAxis
|
||||
GdkAxisUse
|
||||
GdkGrabOwnership
|
||||
gdk_enable_multidevice
|
||||
gdk_device_manager_get_display
|
||||
gdk_device_manager_list_devices
|
||||
gdk_device_manager_get_client_pointer
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_device_get_name
|
||||
gdk_devices_list
|
||||
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_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
|
||||
gdk_device_get_core_pointer
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_device_get_state
|
||||
@@ -985,30 +1059,16 @@ 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
|
||||
@@ -1018,12 +1078,7 @@ 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>
|
||||
|
||||
@@ -1041,6 +1096,7 @@ 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
|
||||
@@ -1051,9 +1107,6 @@ 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
|
||||
@@ -1070,8 +1123,6 @@ 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
|
||||
@@ -1149,6 +1200,7 @@ gdk_cursor_get_display
|
||||
gdk_cursor_get_image
|
||||
gdk_cursor_ref
|
||||
gdk_cursor_unref
|
||||
gdk_cursor_destroy
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_CURSOR_TYPE
|
||||
@@ -1158,6 +1210,19 @@ GDK_TYPE_CURSOR
|
||||
gdk_cursor_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>Input</TITLE>
|
||||
<FILE>input</FILE>
|
||||
gdk_input_add_full
|
||||
GdkInputCondition
|
||||
GdkInputFunction
|
||||
GdkDestroyNotify
|
||||
gdk_input_add
|
||||
gdk_input_remove
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_INPUT_CONDITION
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<TITLE>Drag and Drop</TITLE>
|
||||
@@ -1169,23 +1234,18 @@ gdk_drag_context_new
|
||||
gdk_drag_drop
|
||||
gdk_drag_find_window
|
||||
gdk_drag_find_window_for_screen
|
||||
gdk_drag_context_get_source_window
|
||||
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_actions
|
||||
gdk_drag_context_get_suggested_action
|
||||
gdk_drag_context_get_selected_action
|
||||
gdk_drag_context_list_targets
|
||||
gdk_drag_context_get_device
|
||||
gdk_drag_context_set_device
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_DRAG_CONTEXT
|
||||
@@ -1207,6 +1267,7 @@ 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
|
||||
@@ -1224,12 +1285,15 @@ GDK_SCREEN_XDISPLAY
|
||||
GDK_SCREEN_XNUMBER
|
||||
GDK_SCREEN_XSCREEN
|
||||
GDK_VISUAL_XVISUAL
|
||||
GDK_FONT_XDISPLAY
|
||||
GDK_FONT_XFONT
|
||||
GDK_CURSOR_XCURSOR
|
||||
GDK_CURSOR_XDISPLAY
|
||||
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
|
||||
@@ -1241,6 +1305,8 @@ gdk_window_lookup
|
||||
gdk_window_lookup_for_display
|
||||
gdk_pixmap_lookup
|
||||
gdk_pixmap_lookup_for_display
|
||||
gdk_font_lookup
|
||||
gdk_font_lookup_for_display
|
||||
gdk_x11_lookup_xdisplay
|
||||
gdk_x11_get_server_time
|
||||
gdk_net_wm_supports
|
||||
@@ -1265,6 +1331,9 @@ gdk_x11_display_set_cursor_theme
|
||||
gdk_x11_register_standard_event_type
|
||||
gdk_x11_drawable_get_xdisplay
|
||||
gdk_x11_drawable_get_xid
|
||||
gdk_x11_font_get_name
|
||||
gdk_x11_font_get_xdisplay
|
||||
gdk_x11_font_get_xfont
|
||||
gdk_x11_gc_get_xdisplay
|
||||
gdk_x11_gc_get_xgc
|
||||
gdk_x11_get_default_root_xwindow
|
||||
@@ -1290,8 +1359,8 @@ gdk_x11_get_xatom_name_for_display
|
||||
gdk_display
|
||||
GDK_HAVE_WCHAR_H
|
||||
GDK_HAVE_WCTYPE_H
|
||||
gdk_x11_pixmap_get_drawable_impl
|
||||
gdk_x11_window_get_drawable_impl
|
||||
gdk_iswalnum
|
||||
gdk_iswspace
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
@@ -9,5 +9,3 @@ 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
|
||||
2
docs/reference/gdk/tmpl/.gitignore
vendored
2
docs/reference/gdk/tmpl/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
dnd.sgml
|
||||
windows.sgml
|
||||
@@ -32,7 +32,10 @@ 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_".
|
||||
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.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
@@ -75,6 +78,23 @@ 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>
|
||||
@@ -83,6 +103,22 @@ The colormap structure contains the following public fields.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_get_system_size ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_change ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@ncolors:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colormap_alloc_colors ##### -->
|
||||
<para>
|
||||
</para>
|
||||
@@ -143,6 +179,15 @@ The colormap structure contains the following public fields.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_colors_store ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@colormap:
|
||||
@colors:
|
||||
@ncolors:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_copy ##### -->
|
||||
<para>
|
||||
</para>
|
||||
@@ -158,6 +203,47 @@ 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>
|
||||
@@ -167,6 +253,24 @@ 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>
|
||||
|
||||
@@ -216,3 +216,10 @@ The standard cursors available.
|
||||
@cursor:
|
||||
|
||||
|
||||
<!-- ##### MACRO gdk_cursor_destroy ##### -->
|
||||
<para>
|
||||
Destroys a cursor, freeing any resources allocated for it.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
|
||||
221
docs/reference/gdk/tmpl/dnd.sgml
Normal file
221
docs/reference/gdk/tmpl/dnd.sgml
Normal file
@@ -0,0 +1,221 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Drag and Drop
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Functions for controlling drag and drop handling
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
These functions provide a low level interface for drag and drop.
|
||||
The X backend of GDK supports both the Xdnd and Motif drag and drop protocols
|
||||
transparently, the Win32 backend supports the WM_DROPFILES protocol.
|
||||
</para>
|
||||
<para>
|
||||
GTK+ provides a higher level abstraction based on top of these functions,
|
||||
and so they are not normally needed in GTK+ applications.
|
||||
See the <link linkend="gtk-Drag-and-Drop">Drag and Drop</link> section of
|
||||
the GTK+ documentation for more information.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_abort ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@time_:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drop_reply ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@ok:
|
||||
@time_:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_context_new ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@void:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_drop ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@time_:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_find_window ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@drag_window:
|
||||
@x_root:
|
||||
@y_root:
|
||||
@dest_window:
|
||||
@protocol:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_find_window_for_screen ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@drag_window:
|
||||
@screen:
|
||||
@x_root:
|
||||
@y_root:
|
||||
@dest_window:
|
||||
@protocol:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_context_ref ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_begin ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@targets:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_motion ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@dest_window:
|
||||
@protocol:
|
||||
@x_root:
|
||||
@y_root:
|
||||
@suggested_action:
|
||||
@possible_actions:
|
||||
@time_:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drop_finish ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@success:
|
||||
@time_:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_get_protocol ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@xid:
|
||||
@protocol:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_get_protocol_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@xid:
|
||||
@protocol:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkDragProtocol ##### -->
|
||||
<para>
|
||||
Used in #GdkDragContext to indicate the protocol according to
|
||||
which DND is done.
|
||||
</para>
|
||||
|
||||
@GDK_DRAG_PROTO_MOTIF: The Motif DND protocol.
|
||||
@GDK_DRAG_PROTO_XDND: The Xdnd protocol.
|
||||
@GDK_DRAG_PROTO_ROOTWIN: An extension to the Xdnd protocol for
|
||||
unclaimed root window drops.
|
||||
@GDK_DRAG_PROTO_NONE: no protocol.
|
||||
@GDK_DRAG_PROTO_WIN32_DROPFILES: The simple WM_DROPFILES protocol.
|
||||
@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
|
||||
drag in progress. It is used on both source and destination sides.
|
||||
</para>
|
||||
|
||||
@parent_instance: the parent instance
|
||||
|
||||
<!-- ##### ENUM GdkDragAction ##### -->
|
||||
<para>
|
||||
Used in #GdkDragContext to indicate what the destination
|
||||
should do with the dropped data.
|
||||
</para>
|
||||
|
||||
@GDK_ACTION_DEFAULT: Means nothing, and should not be used.
|
||||
@GDK_ACTION_COPY: Copy the data.
|
||||
@GDK_ACTION_MOVE: Move the data, i.e. first copy it, then delete
|
||||
it from the source using the DELETE target of the X selection protocol.
|
||||
@GDK_ACTION_LINK: Add a link to the data. Note that this is only
|
||||
useful if source and destination agree on what it means.
|
||||
@GDK_ACTION_PRIVATE: Special action which tells the source that the
|
||||
destination will do something that the source doesn't understand.
|
||||
@GDK_ACTION_ASK: Ask the user what to do with the data.
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_status ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@action:
|
||||
@time_:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drag_drop_succeeded ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@context:
|
||||
@Returns:
|
||||
|
||||
|
||||
@@ -45,6 +45,44 @@ or a #GdkWindow.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_ref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_unref ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_set_data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@key:
|
||||
@data:
|
||||
@destroy_func:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_get_data ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@key:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_drawable_get_display ##### -->
|
||||
<para>
|
||||
|
||||
@@ -357,6 +395,52 @@ bottom edges.
|
||||
@background:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_string ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@font:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@string:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_text ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@font:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@text:
|
||||
@text_length:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_text_wc ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@drawable:
|
||||
@font:
|
||||
@gc:
|
||||
@x:
|
||||
@y:
|
||||
@text:
|
||||
@text_length:
|
||||
|
||||
|
||||
<!-- ##### MACRO gdk_draw_pixmap ##### -->
|
||||
<para>
|
||||
Draws a pixmap, or a part of a pixmap, onto another drawable.
|
||||
</para>
|
||||
|
||||
@Deprecated: Use gdk_draw_drawable() instead.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_draw_drawable ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -383,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()
|
||||
, was completely available.
|
||||
or gdk_window_copy_area(), was completely available.
|
||||
</para>
|
||||
<para>
|
||||
FIXME: add more here.
|
||||
|
||||
@@ -188,6 +188,14 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_get_graphics_expose ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_put ##### -->
|
||||
<para>
|
||||
</para>
|
||||
@@ -278,40 +286,6 @@ 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>
|
||||
@@ -401,24 +375,6 @@ 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>
|
||||
|
||||
586
docs/reference/gdk/tmpl/fonts.sgml
Normal file
586
docs/reference/gdk/tmpl/fonts.sgml
Normal file
@@ -0,0 +1,586 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Fonts
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Loading and manipulating fonts
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The #GdkFont data type represents a font for drawing on
|
||||
the screen. These functions provide support for
|
||||
loading fonts, and also for determining the dimensions
|
||||
of characters and strings when drawn with a particular
|
||||
font.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Fonts in X are specified by a
|
||||
<firstterm>X Logical Font Description</firstterm>.
|
||||
The following description is considerably simplified.
|
||||
For definitive information about XLFD's see the
|
||||
X reference documentation. A X Logical Font Description (XLFD)
|
||||
consists of a sequence of fields separated (and surrounded by) '-'
|
||||
characters. For example, Adobe Helvetica Bold 12 pt, has the
|
||||
full description:
|
||||
<informalexample><programlisting>
|
||||
"-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1"
|
||||
</programlisting></informalexample>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The fields in the XLFD are:
|
||||
|
||||
<informaltable pgwide="1" frame="none">
|
||||
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
|
||||
<tbody>
|
||||
|
||||
<row>
|
||||
<entry>Foundry</entry>
|
||||
<entry>the company or organization where the font originated.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Family</entry>
|
||||
<entry>the font family (a group of related font designs).</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Weight</entry>
|
||||
<entry>A name for the font's typographic weight
|
||||
For example, 'bold' or 'medium').</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Slant</entry>
|
||||
<entry>The slant of the font. Common values are 'R' for Roman,
|
||||
'I' for italoc, and 'O' for oblique.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Set Width</entry>
|
||||
<entry>A name for the width of the font. For example,
|
||||
'normal' or 'condensed'.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Add Style</entry>
|
||||
<entry>Additional information to distinguish a font from
|
||||
other fonts of the same family.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Pixel Size</entry>
|
||||
<entry>The body size of the font in pixels.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Point Size</entry>
|
||||
<entry>The body size of the font in 10ths of a point.
|
||||
(A <firstterm>point</firstterm> is 1/72.27 inch) </entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Resolution X</entry>
|
||||
<entry>The horizontal resolution that the font was designed for.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Resolution Y</entry>
|
||||
<entry>The vertical resolution that the font was designed for .</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Spacing</entry>
|
||||
<entry>The type of spacing for the font - can be 'p' for proportional,
|
||||
'm' for monospaced or 'c' for charcell.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Average Width</entry>
|
||||
<entry>The average width of a glyph in the font. For monospaced
|
||||
and charcell fonts, all glyphs in the font have this width</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Charset Registry</entry>
|
||||
<entry>The registration authority that owns the encoding for
|
||||
the font. Together with the Charset Encoding field, this
|
||||
defines the character set for the font.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>Charset Encoding</entry>
|
||||
<entry>An identifier for the particular character set encoding.</entry>
|
||||
</row>
|
||||
|
||||
</tbody></tgroup></informaltable>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When specifying a font via a X logical Font Description,
|
||||
'*' can be used as a wildcard to match any portion of
|
||||
the XLFD. For instance, the above example could
|
||||
also be specified as
|
||||
<informalexample><programlisting>
|
||||
"-*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1"
|
||||
</programlisting></informalexample>
|
||||
|
||||
It is generally a good idea to use wildcards for any
|
||||
portion of the XLFD that your program does not care
|
||||
about specifically, since that will improve the
|
||||
chances of finding a matching font.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A <firstterm>fontset</firstterm> is a list of fonts
|
||||
that is used for drawing international text that may
|
||||
contain characters from a number of different character
|
||||
sets. It is represented by a list of XLFD's.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The font for a given character set is determined by going
|
||||
through the list of XLFD's in order. For each one, if
|
||||
the registry and and encoding fields match the desired
|
||||
character set, then that font is used, otherwise if
|
||||
the XLFD contains wild-cards for the registry and encoding
|
||||
fields, the registry and encoding for the desired character
|
||||
set are substituted in and a lookup is done. If a match is found
|
||||
that font is used. Otherwise, processing continues
|
||||
on to the next font in the list.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The functions for determining the metrics of a string
|
||||
come in several varieties that can take a number
|
||||
of forms of string input:
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>8-bit string</term>
|
||||
<listitem><para>
|
||||
When using functions like gdk_string_width() that
|
||||
take a <type>gchar *</type>, if the font is of type
|
||||
%GDK_FONT_FONT and is an 8-bit font, then each
|
||||
<type>gchar</type> indexes the glyphs in the font directly.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>16-bit string</term>
|
||||
<listitem><para>
|
||||
For functions taking a <type>gchar *</type>, if the
|
||||
font is of type %GDK_FONT_FONT, and is a 16-bit
|
||||
font, then the <type>gchar *</type> argument is
|
||||
interpreted as a <type>guint16 *</type> cast to
|
||||
a <type>gchar *</type> and each <type>guint16</type>
|
||||
indexes the glyphs in the font directly.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Multibyte string</term>
|
||||
<listitem><para>
|
||||
For functions taking a <type>gchar *</type>, if the
|
||||
font is of type %GDK_FONT_FONTSET, then the input
|
||||
string is interpreted as a <firstterm>multibyte</firstterm>
|
||||
encoded according to the current locale. (A multibyte
|
||||
string is one in which each character may consist
|
||||
of one or more bytes, with different lengths for different
|
||||
characters in the string). They can be converted to and
|
||||
from wide character strings (see below) using
|
||||
gdk_wcstombs() and gdk_mbstowcs().) The string will
|
||||
be rendered using one or more different fonts from
|
||||
the fontset.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Wide character string</term>
|
||||
<listitem><para>
|
||||
For a number of the text-measuring functions, GDK
|
||||
provides a variant (such as gdk_text_width_wc()) which
|
||||
takes a <type>GdkWChar *</type> instead of a
|
||||
<type>gchar *</type>. The input is then taken to
|
||||
be a wide character string in the encoding of the
|
||||
current locale. (A wide character string is a string
|
||||
in which each character consists of several bytes,
|
||||
and the width of each character in the string is
|
||||
constant.)
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
GDK provides functions to determine a number of different
|
||||
measurements (metrics) for a given string. (Need diagram
|
||||
here).
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>ascent</term>
|
||||
<listitem><para>
|
||||
The vertical distance from the origin of the drawing
|
||||
opereration to the top of the drawn character.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>descent</term>
|
||||
<listitem><para>
|
||||
The vertical distance from the origin of the drawing
|
||||
opereration to the bottom of the drawn character.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>left bearing</term>
|
||||
<listitem><para>
|
||||
The horizontal distance from the origin of the drawing
|
||||
operation to the left-most part of the drawn character.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>right bearing</term>
|
||||
<listitem><para>
|
||||
The horizontal distance from the origin of the drawing
|
||||
operation to the right-most part of the drawn character.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>width bearing</term>
|
||||
<listitem><para>
|
||||
The horizontal distance from the origin of the drawing
|
||||
operation to the correct origin for drawing another
|
||||
string to follow the current one. Depending on the
|
||||
font, this could be greater than or less than the
|
||||
right bearing.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT GdkFont ##### -->
|
||||
<para>
|
||||
The <structname>GdkFont</structname> structure represents a font or fontset. It
|
||||
contains the following public fields. A new <structname>GdkFont</structname>
|
||||
structure is returned by gdk_font_load() or gdk_fontset_load(),
|
||||
and is reference counted with gdk_font_ref() and gdk_font_unref()
|
||||
</para>
|
||||
|
||||
@type: a value of type #GdkFontType which indicates
|
||||
whether this font is a single font or a fontset.
|
||||
@ascent: the maximum distance that the font, when drawn,
|
||||
ascends above the baseline.
|
||||
@descent: the maximum distance that the font, when drawn,
|
||||
descends below the baseline.
|
||||
|
||||
<!-- ##### ENUM GdkFontType ##### -->
|
||||
<para>
|
||||
Indicates the type of a font. The possible values
|
||||
are currently:
|
||||
</para>
|
||||
|
||||
@GDK_FONT_FONT: the font is a single font.
|
||||
@GDK_FONT_FONTSET: the font is a fontset.
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_load ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font_name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_load_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@font_name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_fontset_load ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@fontset_name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_fontset_load_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@fontset_name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_from_description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@font_desc:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_from_description_for_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@font_desc:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_get_display ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_ref ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_unref ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_id ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_font_equal ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@fonta:
|
||||
@fontb:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_extents ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@string:
|
||||
@lbearing:
|
||||
@rbearing:
|
||||
@width:
|
||||
@ascent:
|
||||
@descent:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_extents ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@lbearing:
|
||||
@rbearing:
|
||||
@width:
|
||||
@ascent:
|
||||
@descent:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_extents_wc ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@lbearing:
|
||||
@rbearing:
|
||||
@width:
|
||||
@ascent:
|
||||
@descent:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_width ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@string:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_width ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_width_wc ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_char_width ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@character:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_char_width_wc ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@character:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_measure ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@string:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_measure ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_char_measure ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@character:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_string_height ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@string:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_text_height ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@text:
|
||||
@text_length:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_char_height ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@font:
|
||||
@character:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### TYPEDEF GdkWChar ##### -->
|
||||
<para>
|
||||
Specifies a wide character type, used to represent character codes.
|
||||
This is needed since some native languages have character sets which have
|
||||
more than 256 characters (Japanese and Chinese, for example).
|
||||
</para>
|
||||
<para>
|
||||
Wide character values between 0 and 127 are always identical in meaning to
|
||||
the ASCII character codes. The wide character value 0 is often used to
|
||||
terminate strings of wide characters in a similar way to normal strings
|
||||
using the char type.
|
||||
</para>
|
||||
<para>
|
||||
An alternative to wide characters is multi-byte characters, which extend
|
||||
normal char strings to cope with larger character sets. As the name suggests,
|
||||
multi-byte characters use a different number of bytes to store different
|
||||
character codes. For example codes 0-127 (i.e. the ASCII codes) often
|
||||
use just one byte of memory, while other codes may use 2, 3 or even 4 bytes.
|
||||
Multi-byte characters have the advantage that they can often be used in an
|
||||
application with little change, since strings are still represented as arrays
|
||||
of char values. However multi-byte strings are much easier to manipulate since
|
||||
the character are all of the same size.
|
||||
</para>
|
||||
<para>
|
||||
Applications typically use wide characters to represent character codes
|
||||
internally, and multi-byte strings when saving the characters to a file.
|
||||
The gdk_wcstombs() and gdk_mbstowcs() functions can be used to convert from
|
||||
one representation to the other.
|
||||
</para>
|
||||
<para>
|
||||
See the 'Extended Characters' section of the GNU C Library Reference Manual
|
||||
for more detailed information on wide and multi-byte characters.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_wcstombs ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@src:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_mbstowcs ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@dest:
|
||||
@src:
|
||||
@dest_max:
|
||||
@Returns:
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@ A set of bit flags used to indicate which fields
|
||||
|
||||
@GDK_GC_FOREGROUND: the @foreground is set.
|
||||
@GDK_GC_BACKGROUND: the @background is set.
|
||||
@GDK_GC_FONT: the @font is set.
|
||||
@GDK_GC_FUNCTION: the @function is set.
|
||||
@GDK_GC_FILL: the @fill is set.
|
||||
@GDK_GC_TILE: the @tile is set.
|
||||
@@ -150,6 +151,33 @@ 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>
|
||||
|
||||
@@ -205,6 +233,15 @@ useful. For bitmaps, %GDK_AND and %GDK_OR are also useful.
|
||||
@color:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_gc_set_font ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@gc:
|
||||
@font:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_gc_set_function ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -923,14 +923,6 @@ 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>
|
||||
|
||||
|
||||
@@ -50,13 +50,6 @@ 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>
|
||||
|
||||
@@ -112,15 +105,6 @@ 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>
|
||||
|
||||
@@ -148,16 +132,6 @@ 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>
|
||||
|
||||
@@ -267,19 +241,6 @@ 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>
|
||||
|
||||
@@ -291,18 +252,6 @@ 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
|
||||
@@ -336,25 +285,6 @@ 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>
|
||||
|
||||
@@ -366,18 +296,6 @@ 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>
|
||||
|
||||
|
||||
@@ -109,6 +109,20 @@ 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>
|
||||
|
||||
@@ -327,6 +341,33 @@ available.
|
||||
@void:
|
||||
|
||||
|
||||
<!-- ##### 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>
|
||||
|
||||
@void:
|
||||
@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.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_error_trap_push ##### -->
|
||||
<para>
|
||||
This function allows X errors to be trapped instead of the normal behavior
|
||||
@@ -371,7 +412,7 @@ This macro is defined if GDK is configured to use the X11 backend.
|
||||
|
||||
<!-- ##### 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>
|
||||
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ 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>
|
||||
@@ -24,7 +25,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 g_object_unref().
|
||||
To destroy a #GdkImage use gdk_image_destroy().
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
@@ -96,6 +97,55 @@ 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>
|
||||
|
||||
@@ -114,96 +164,6 @@ and if that fails then %GDK_IMAGE_NORMAL will be used.
|
||||
@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_get_pixels ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@image:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_image_put_pixel ##### -->
|
||||
<para>
|
||||
Sets a pixel in a #GdkImage to a given pixel value.
|
||||
|
||||
106
docs/reference/gdk/tmpl/input.sgml
Normal file
106
docs/reference/gdk/tmpl/input.sgml
Normal file
@@ -0,0 +1,106 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
Input
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Callbacks on file descriptors
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
The functions in this section are used to establish
|
||||
callbacks when some condition becomes true for
|
||||
a file descriptor. They are currently just wrappers around
|
||||
the <link linkend="glib-IO-Channels">IO Channel</link>
|
||||
facility.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link></term>
|
||||
<listitem><para>The main loop in which input callbacks run.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><link linkend="glib-IO-Channels">IO Channels</link></term>
|
||||
<listitem><para>A newer and more flexible way of doing IO
|
||||
callbacks.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_input_add_full ##### -->
|
||||
|
||||
|
||||
@source:
|
||||
@condition:
|
||||
@function:
|
||||
@data:
|
||||
@destroy:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### ENUM GdkInputCondition ##### -->
|
||||
<para>
|
||||
A set of bit flags used to specify conditions for which
|
||||
an input callback will be triggered. The three members
|
||||
of this enumeration correspond to the @readfds,
|
||||
@writefds, and @exceptfds arguments to the
|
||||
<function>select</function> system call.
|
||||
</para>
|
||||
|
||||
@GDK_INPUT_READ: the file descriptor has become available for reading.
|
||||
(Or, as is standard in Unix, a socket or pipe was closed
|
||||
at the other end; this is the case if a subsequent read
|
||||
on the file descriptor returns a count of zero.)
|
||||
@GDK_INPUT_WRITE: the file descriptor has become available for writing.
|
||||
@GDK_INPUT_EXCEPTION: an exception was raised on the file descriptor.
|
||||
|
||||
<!-- ##### USER_FUNCTION GdkInputFunction ##### -->
|
||||
<para>
|
||||
A callback function that will be called when some condition
|
||||
occurs.
|
||||
</para>
|
||||
|
||||
@data: the user data passed to gdk_input_add() or gdk_input_add_full().
|
||||
@source: the source where the condition occurred.
|
||||
@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 ##### -->
|
||||
|
||||
|
||||
@source:
|
||||
@condition:
|
||||
@function:
|
||||
@data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_input_remove ##### -->
|
||||
<para>
|
||||
Remove a callback added with gdk_input_add() or
|
||||
gdk_input_add_full().
|
||||
</para>
|
||||
|
||||
@tag: the tag returned when the callback was set up.
|
||||
|
||||
|
||||
300
docs/reference/gdk/tmpl/input_devices.sgml
Normal file
300
docs/reference/gdk/tmpl/input_devices.sgml
Normal file
@@ -0,0 +1,300 @@
|
||||
<!-- ##### 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 ##### -->
|
||||
|
||||
|
||||
<!-- ##### SECTION Image ##### -->
|
||||
|
||||
|
||||
<!-- ##### 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
|
||||
|
||||
<!-- ##### 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>
|
||||
|
||||
@void:
|
||||
@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>
|
||||
|
||||
@void:
|
||||
@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.
|
||||
|
||||
@@ -226,6 +226,15 @@ 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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user