Compare commits

...

304 Commits

Author SHA1 Message Date
Federico Mena Quintero 4278664e48 Remove inclusion of GTK+ compatibility header 2010-06-10 16:26:52 -05:00
Federico Mena Quintero 905a15445d Use the new names for the meta-*.h headers 2010-06-10 16:25:53 -05:00
Federico Mena Quintero deee9124a0 Move Mutter's files to be named meta-*.[ch] 2010-06-10 16:22:11 -05:00
Federico Mena Quintero 60d10a4e36 Strip down common.h to only the things we need
Types and macros which are not used in the theming code are removed.
2010-06-10 16:20:45 -05:00
Federico Mena Quintero 33b06d5733 Add common.h from Mutter 2010-06-10 16:20:19 -05:00
Federico Mena Quintero 4a37452434 Use g_debug() instead of meta_topic() 2010-06-10 15:58:48 -05:00
Federico Mena Quintero d279df9271 No need for util.h in gradient.c 2010-06-10 15:40:15 -05:00
Federico Mena Quintero 7cef42c934 Copy gradient.[ch] from Mutter's sources 2010-06-10 15:36:54 -05:00
Federico Mena Quintero 2a2795fe6e Remove usage of meta_rect()
This was just of the form

  MetaRectangle r = meta_rect (x, y, w, h);

But it was now superfluous in a couple of cases where we could
just use the GdkRectangle that we already had (i.e. without
having to create a new MetaRectangle), and in another
case where all fields were set to zero.

And lo and behold, we actually don't need any meta_rectangle_*()
functions in the theme code.
2010-06-10 15:17:31 -05:00
Federico Mena Quintero a56ab0ab98 Use GdkRectangle instead of MetaRectangle
Both use int x/y/width/height anyway.  We'll add whatever
meta_rectangle_*() functions are missing in GTK+ for
the theming code to work.
2010-06-10 15:12:20 -05:00
Federico Mena Quintero fd7629677e Copy the theme renderer and parser from Mutter's sources
We will refactor these to work for GTK+.
2010-06-10 14:59:23 -05:00
Federico Mena Quintero 8b2f6bc673 Merge remote branch 'origin/client-side-decorations' into client-side-decorations 2010-06-09 16:43:25 -05:00
Cody Russell 68a12cf28c RGBA blacklist support. 2010-06-08 17:39:05 -05:00
Federico Mena Quintero 6da936a452 Merge master into client-side-decorations 2010-06-08 15:30:19 -05:00
Seán de Búrca 9959986ecd Updated Irish translation 2010-06-08 12:35:54 -06:00
Federico Mena Quintero 2f990d4726 bgo#608537 - Make the file chooser's sort arrows consistent with the HIG
... Although I think the HIG gets things backwards anyway.

Signed-off-by: Federico Mena Quintero <federico@novell.com>
2010-06-08 12:09:48 -05:00
Matthias Clasen 4603196287 Updates 2010-06-08 12:03:09 -04:00
Matthias Clasen 2d9b7335bf Bump the gobject-introspection requires 2010-06-08 10:27:53 -04:00
Richard Hughes b32ef72ea5 Get one step closer to fixing the gobject-introspection compile failure 2010-06-08 14:07:46 +01:00
Matthias Clasen 79b161f709 Use gtk_action_group_get_action when looking up actions
...instead of open-coding it. Pointed out by Christian Persch
in bug 620960
2010-06-08 09:03:07 -04:00
Matthias Clasen cca298ad7d Remove debug spew 2010-06-08 08:58:16 -04:00
Matthias Clasen b366ae9c22 Update to GApplication api changes 2010-06-08 08:29:01 -04:00
John (J5) Palmieri 0491b409a9 add transfer-none to return value of gtk_widget_get_window 2010-06-07 18:21:21 -04:00
Steve Frécinaux 586d60dbee [gdkevents] Add annotations for GdkEvent getters. 2010-06-08 00:00:28 +02:00
Steve Frécinaux 046069d918 [gtktextbuffer] Annotate gtk_text_buffer_create_mark()
Add (transfer none) to the return value of gtk_text_buffer_create_mark(),
as the documentation clearly states the caller doesn't have ownership of
the returned value.
2010-06-08 00:00:28 +02:00
Matthias Clasen 1ae257d00a Add GtkApplication
This is a work in progress to stub out an application class. The
primary goal is to provide a mechanism for applications to export
GtkActions, and there is a standard "Quit" action.

This is based on GApplication.

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.
 * Support application settings.

https://bugzilla.gnome.org/show_bug.cgi?id=127958
2010-06-07 16:46:30 -04:00
John (J5) Palmieri 2c5871479e annotate allow-none for gtk_image_menu_item_new_from_stock accel_group param 2010-06-07 16:15:39 -04:00
John (J5) Palmieri 0d2366d5eb add allow-none annotation to gtk_clipboard_set_can_store's targets parameter 2010-06-07 13:15:27 -04:00
Marek Kasik ca6aacc32d Return error instead of showing an error dialog when printing
Remove message dialogs showing an error when printing. Return
GTK_PRINT_OPERATION_RESULT_ERROR and set error in such a case.
Also return GTK_PRINT_OPERATION_RESULT_CANCEL when cancelled.
Do it for synchronous and asynchronous cases (#549127).
2010-06-07 14:52:38 +02:00
Tomeu Vizoso 42deb581f9 Split gdk x11 funcs to their own typelib
https://bugzilla.gnome.org/show_bug.cgi?id=617863
2010-06-07 14:06:21 +02:00
Sven Herzberg 5300dc2b36 drop the draw_string() function from GtkStyle
Reviewed by Michael Natterer.

* gtk/gtkstyle.c,
* gtk/gtkstyle.h: gdk_draw_string() has been deprecated and removed
  already. There's no one left who should be using this function
  (found this when porting sapwood to GTK+ 3.0)
* modules/engines/pixbuf/pixbuf-draw.c: don't implement this unused
  function
2010-06-07 13:56:10 +02:00
Matthias Clasen 7644ac519a Fix up abi checking
The abicheck script was hardcoding assumptions about XI2 being used,
making it fail on e.g. RHEL5.
2010-06-07 06:16:21 -04:00
Javier Jardón da8643e457 Remove some GTK_DISABLE_DEPRECATED and ENABLE_BROKEN guards 2010-06-07 04:50:05 +02:00
Javier Jardón 47f8beb0a6 Remove gdkx_colormap_get() deprecated function 2010-06-07 04:37:06 +02:00
Matthias Clasen 25864cf0ce Make gdk build against old X headers
The XI.h in RHEL5 is missing some defines that are used
in the new device code.
2010-06-06 19:40:20 -04:00
Javier Jardón 2ace397eb5 Remove deprecatedd code from GdkColor
https://bugzilla.gnome.org/show_bug.cgi?id=619649
2010-06-07 00:35:40 +02:00
Kristjan Schmidt a18f23c478 Updated Esperanto translation 2010-06-06 21:23:45 +02:00
Kristjan Schmidt 38abc03af4 Updated Esperanto translation 2010-06-06 21:23:45 +02:00
Kristjan Schmidt 98f3226fb7 Updated Esperanto translation 2010-06-06 21:23:45 +02:00
Javier Jardón 917cd2ce3e Bump Glib required version as is needed by g_source_set_name()
The use of this new api was added in
95bc0f5405
2010-06-05 04:38:40 +02:00
Christian Dywan 35be520983 Make progressbars render progress again
This was broken during some earlier deprecation cleanup.
Bug 620509.
2010-06-04 20:03:19 -04:00
Matthias Clasen db21688908 Remove remaining single-include guards 2010-06-04 19:40:43 -04:00
Matthias Clasen 9f873fa7bc Don't install private headers 2010-06-04 19:28:01 -04:00
Stanislas Marquis fe8d093a3c [docs] Fix GtkWindow: activate-default => activate-focus.
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-05 00:45:37 +02:00
Matthias Clasen 233388e693 Fix a parameter name mismatch 2010-06-04 16:15:58 -04:00
Matthias Clasen 14118a5697 Add a few missing symbols 2010-06-04 16:14:52 -04:00
Matthias Clasen dbe82e0e83 Fix a doc comment typo 2010-06-04 16:13:34 -04:00
Javier Jardón a277789270 [docs] gtktoolshell: Fix some "Since" tags
get_ellipsize_mode(), get_text_alignment(), get_text_orientation()
and get_text_size_group() were added in GTK+ 2.20,  not 2.14.

Reported by Stanislas Marquis on IRC.
2010-06-04 17:54:56 +02:00
Colin Walters 95bc0f5405 Use g_source_set_name for all custom GSources in GTK+
Naming the sources allows easier debugging with e.g. SystemTap
probes.

https://bugzilla.gnome.org/show_bug.cgi?id=620511
2010-06-03 21:49:22 -04:00
Matthias Clasen b96a05b81f Silence a few warnings in !HAVE_RANDR builds 2010-06-03 20:24:54 -04:00
Tadej Borovšak 2c8e635a62 [docs] Improve GtkAction documentation
Simple GtkAction API docs update that makes it easier to understand
how action affects the appearance of proxy.

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-06-04 00:06:05 +02:00
Matthew Barnes bb5c585777 Bug 596428 - GtkAssistant: Support ending with a progress page
- Add gtk_assistant_commit()

  This function discards the visited pages list so the back button is not
  shown on the current page, and removes the cancel button from subsequent
  pages.  Use this when information provided thus far cannot be revisited.

- Don't show the Forward button on a GTK_ASSISTANT_PAGE_PROGRESS if it's
  the last page (according to the forward page function).

- Append a progress page to the GtkAssistant demo.
2010-06-03 17:03:14 -04:00
Matthias Clasen 112d97d498 Silence a few configure warnings about datarootdir 2010-06-03 13:38:15 -04:00
Matthias Clasen 354086bafc Fix a typo 2010-06-03 13:36:09 -04:00
Matthias Clasen 974d7137a0 Avoid a 'EXTRA_DIST multiply defined' warning 2010-06-03 13:22:31 -04:00
Seán de Búrca dd4251909b Updated Irish translation 2010-06-03 08:11:06 -06:00
Seán de Búrca 75d1de2d3b Updated Irish translation 2010-06-03 08:04:59 -06:00
Marek Kasik f8ac123192 Test connection to all given addresses when printing
Go to the next address given by CUPS if we fail to connect to
previous address (#603637).
2010-06-03 10:13:17 +02:00
Matthias Clasen 9fbfbda8cc Remove indices for 2.x additions 2010-06-03 01:23:13 -04:00
Matthias Clasen 1b53565bf9 GtkSeparator is no instantiatable 2010-06-03 01:21:18 -04:00
Matthias Clasen 700196f71e Update documentation for orientables
Don't document these as abstract anymore, since they are now
instantiatable.
2010-06-03 01:18:42 -04:00
Matthias Clasen d93b99a273 Remove old migration docs
This information will still be available in the 2.22 docs.
For 3.0, we'll do sortof a clean start.
2010-06-03 01:09:53 -04:00
Matthias Clasen 6a8a2f7ef3 Remove docs about 1.2 <> 2.0 differences
These should not be kept in 3.0.
Noticed by Dan Winship in bug #619838.
2010-06-02 19:59:41 -04:00
Matthias Clasen ee0d695a91 Fix a doc typo
See bug #620244
2010-06-02 19:56:47 -04:00
Michael Natterer 2b89d46a9a app: forgot to update API docs in the last commit
(cherry picked from commit 22c61e0c8f)
2010-06-02 21:12:40 +02:00
Michael Natterer 19236d68d9 gdk: rename gdk_drag_context_get_action() to gdk_drag_context_get_selected_action()
so its purpose is clear.
(cherry picked from commit d393cb377c)
2010-06-02 20:45:31 +02:00
Garrett Regier 2e4a066cd0 Bug 611709 - Add gtk_statusbar_remove_all 2010-06-02 17:50:28 +02:00
Cody Russell 8e142788a5 Bug 608218 - GtkOffscreenWindow causes bad window with GtkEntry
We now exit early from gdk_window_register_dnd() to avoid crashing if the
window type is GDK_WINDOW_OFFSCREEN and does not support dnd operations.
This makes it possible to use any dnd-enabled widgets, such as GtkEntry,
within a GtkOffscreenWindow.
2010-06-01 10:32:18 -05:00
Johan Dahlin 5c283cacbe [gtktreeview] Add a couple of annotations 2010-05-31 12:12:06 -03:00
Matthias Clasen c557f7b7c4 Improved icon view keynav
Use ::keynav-failed for arrow navigation in icon views, so that
it is possible to override error handling. Also add API to get the
row/col of an item. With this, it is possible to make arrow keynav
span adjacent icon views, which is desired in the new control-center
shell. testiconview-keynav demonstrates this.
2010-05-30 02:17:51 -04:00
Matthias Clasen 6737d91d28 Trivial typo fix 2010-05-30 02:17:51 -04:00
Matthias Clasen 654bb6ca66 Simple typo fix 2010-05-30 02:17:51 -04:00
Javier Jardón e51f02ce67 [docs] Add GTK+3 migration guide 2010-05-29 19:37:57 +02:00
Michael Natterer 9b9945b8e7 Bug 607628 - DnD operation doesn't work when using offscreen
Changed the way to find the drop widget from a top->bottom recursion
using GdkWindow positions to a liner bottom->top walk up the widget
hierarchy using _gtk_widget_find_at_coords() and
gtk_widget_translate_coordinates(), which both do the right things for
offscreen widgets.
(cherry picked from commit cb8c076321)
2010-05-29 05:10:19 +02:00
Yaron Shahrabani 3e38ddd3e6 Updated Hebrew translation. 2010-05-28 15:55:57 +03:00
Yaron Shahrabani 0236a9a3fa Updated Hebrew translation. 2010-05-28 15:50:41 +03:00
John (J5) Palmieri c707e445ca gtk_tree_selection_get_selected: added transfer none annotation to model out arg 2010-05-27 18:36:04 -04:00
Javier Jardón 25ec337a16 Revert "Deprecate GTK_OBJECT_FLAGS() and GtkObjectFlags enum"
This reverts commit 72467ba2e6.
2010-05-28 00:14:59 +02:00
John (J5) Palmieri 256759a3b7 gtk_tree_view_get_model: return value annotated transfer none 2010-05-27 16:58:52 -04:00
John (J5) Palmieri c21e9ba7c3 annotation fixes
* gtk_tree_model_get_column_type: transfer none added to the return value
* gtk_tree_model_get_path: value parameter switched from inout to out
  so that it is annotated with caller-allocates
2010-05-27 16:53:42 -04:00
Javier Jardón 86441c6427 gtkwidget.h: Fix a typo
Fix a type introduced in
commit 818d444e2f

Reported by Garrett Regier.
2010-05-27 22:01:15 +02:00
Javier Jardón 72467ba2e6 Deprecate GTK_OBJECT_FLAGS() and GtkObjectFlags enum
This macro will be moved to a private header in GTK+3.

https://bugzilla.gnome.org/show_bug.cgi?id=615666
2010-05-27 19:58:24 +02:00
Javier Jardón 818d444e2f Remove GTK_NO_REPARENT deprecated widget flag 2010-05-27 18:05:02 +02:00
Javier Jardón 45aa82d85f Deprecate GTK_NO_REPARENT 2010-05-27 18:04:05 +02:00
Javier Jardón d6bacafc52 [docs] Use the correct gtk-doc notation
Use 'Deprecated: 3.0:' intead 'Deprecated: 3.0.'
2010-05-27 15:37:19 +02:00
Li Yuan 5c8bdc1a69 Bug #619080.
Do not emit the text-changed::insert signal when the entry is empty.
2010-05-27 14:57:38 +08:00
Javier Jardón 258f9e814a gtkmain: remove some unused code 2010-05-27 05:54:18 +02:00
Javier Jardón 485bbadc0a gtkmain: Remove unused GtkClosure struct 2010-05-27 05:45:27 +02:00
Javier Jardón d91c0d38c6 [docs] Remove deprecated documentation 2010-05-27 05:16:15 +02:00
Javier Jardón 154e3ba502 gtkcontainer: Remove unused GtkForeachData struct
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=619672
2010-05-27 03:37:32 +02:00
Javier Jardón da25f8f89d [docs] Move some widgets: they are not abstract now 2010-05-26 19:09:14 +02:00
Michael Natterer 6b4e19a132 Bug 607628 - DnD operation doesn't work when using offscreen
Turn find_widget_under_pointer() into internal API
_gtk_widget_find_at_coords() which is needed for fixing above
bug. This should actually be a public utility function, and will be
moved to another file when its final API has been decided.
(cherry picked from commit c4b1bbf3e2)
2010-05-26 17:21:09 +02:00
Carlos Garcia Campos 6bac9dfd28 GtkWindow: Add gtk_window_has_group()
To check whether the window has an explicit group

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=618271#c2
2010-05-26 16:49:31 +02:00
Christian Beier 95c824c553 gdk/gdkwindow.c: fix a typo in gdk_window_set_device_cursor().
Signed-off-by: Christian Beier <dontmind@freeshell.org>
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-05-26 15:42:10 +02:00
Javier Jardón 019563c322 Remove gdk_*et_use_xshm() deprecated functions 2010-05-26 05:18:05 +02:00
Matthias Clasen 7ab09f1597 Bump version 2010-05-25 23:01:37 -04:00
Matthias Clasen 473b7aa6a2 2.90.1 2010-05-25 22:57:46 -04:00
Matthias Clasen 7164d71abf Some more devicegroup purging 2010-05-25 22:12:51 -04:00
Matthias Clasen 0e1d84c954 Make gio sniffing test work again 2010-05-25 21:33:40 -04:00
Matthias Clasen cbab03df69 Fix up distcheck 2010-05-25 20:26:07 -04:00
Matthias Clasen 19e0444669 Updates 2010-05-25 20:07:52 -04:00
Matthias Clasen c7a48881c6 Documentation fixes 2010-05-25 19:27:42 -04:00
Matthias Clasen f5e21ceb00 Some additions 2010-05-25 19:18:06 -04:00
Matthias Clasen 86ba6378cd Remove duplicates 2010-05-25 19:03:16 -04:00
Matthias Clasen b4e2ff3da3 Make orientable base classes instantiable
This commit adds constructors for GtkPaned, GtkBox, GtkButtonBox,
GtkRuler, GtkScale, GtkScrollbar and GtkSeparator and makes these
types instantiable.
2010-05-25 18:55:15 -04:00
Matthias Clasen bd4609b140 Merge the xi2-for-master branch 2010-05-25 18:38:44 -04:00
Bruce Cowan a538f639b6 Fix conflict Git markers
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=619655
2010-05-25 21:46:35 +02:00
Javier Jardón 0c6565e1d3 Fix typo in previous patch 2010-05-25 20:48:59 +02:00
Matthias Clasen b5ae99bf19 Add indexes
Add an index for 2.22 api additions, and one for 3.0.
2010-05-25 12:21:13 -04:00
Matthias Clasen ebbadf3709 Add some leftover symbols 2010-05-25 12:01:04 -04:00
Matthias Clasen 50a72eda2d Seal gdk
Add G_SEAL annotation for struct members, and add accessors for
the (useful) fields. Patch based on work by Garrett Regier,
see bug #592580.
2010-05-25 12:01:04 -04:00
John (J5) Palmieri 57754edef6 add a transfer none annotation to gtk_tree_view_get_selection
* it returns the selection from its priv structure without reffing
2010-05-25 11:49:10 -04:00
Matthias Clasen 067fe4b05d Some additions 2010-05-25 10:24:53 -04:00
Matthias Clasen 8d2e20c2dc Fix up gtk_paned_get_handle_window docs 2010-05-25 09:47:54 -04:00
Matthias Clasen c4134a535e Fix up gtk_icon_info_load_symbolic docs 2010-05-25 09:47:20 -04:00
Matthias Clasen 4df758dd16 Document GtkRange::adjust-bounds 2010-05-25 09:44:29 -04:00
Matthias Clasen 54cf057f11 Document GtkMovementStep 2010-05-25 09:42:09 -04:00
Matthias Clasen 1c6de294d8 Document GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME 2010-05-25 09:34:38 -04:00
Caolan McNamara 00be72aef4 Fix many fuzzy translations of default:mm
Many of these were translated to either default:LTR or @#$^%&:mm.

Bug #619595.
2010-05-24 21:30:04 -04:00
Javier Jardón cc8dcf738a Remove deprecated GtkToolbar code
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=616817
2010-05-24 20:16:07 +02:00
Marek Kasik 33097d65b7 Honor PPD reading over listing of printers
Reading of PPD files collides with getting list of printers.
It helps to give higher priority to getting of PPDs than to
getting list of printers (#614581).
2010-05-24 16:39:19 +02:00
Javier Jardón b18b33ae82 Revert "Forward-port a GtkAdjustment compatibility fix"
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.

This reverts commit e6373738fc.

https://bugzilla.gnome.org/show_bug.cgi?id=619474
2010-05-24 15:39:30 +02:00
Tomeu Vizoso 14f7717770 Actually expose the X11 funcs through introspection
https://bugzilla.gnome.org/show_bug.cgi?id=617863
2010-05-24 15:27:44 +02:00
Javier Jardón 5917eba911 gdkevents-x11: Do not break strict-aliasing rules
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=619385
2010-05-22 23:17:58 +02:00
Javier Jardón 7f89bf262b gdkevents-x11.c: Remove unused function: graphics_expose_predicate() 2010-05-22 22:49:58 +02:00
Matthias Clasen 8e315466b9 Fix libjasper test
This was reported in bug 551322.
2010-05-22 00:29:58 -04:00
Matthias Clasen 94abf4733f Deprecate GtkBoxChild
This was discussed in bug 613132.
2010-05-22 00:15:00 -04:00
Matthias Clasen bb91ebcb8f Fix signal parameters in GtkEntryCompletion
The ::match-selected and ::cursor-on-match signal were emitted
with the internal filter model instead of the user-provided model.

Fixes bug #555087.
2010-05-21 23:50:46 -04:00
Matthias Clasen 54093354e4 Clean up man page handling 2010-05-21 22:41:35 -04:00
Matthias Clasen 7652c2b3e0 Remove long-obsolete docs
There are no traces of GDK_USE_XFT, GXID_HOST or GXID_PORT in the
code anymore.
2010-05-21 22:14:46 -04:00
Matthias Clasen 747c834f27 Document GSEAL_ENABLE with other preprocessor symbols. 2010-05-21 22:07:46 -04:00
Matthias Clasen 70e503e448 Convert to UTF-8 2010-05-21 20:49:41 -04:00
Matthias Clasen eff1fe2500 Make the !xkb build survive a little longer
This fixes bug 619114.
2010-05-21 12:13:05 -04:00
Christian Dywan 82e27aede9 Explain that unmap-event may never be emitted
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=613302
2010-05-21 17:10:25 +02:00
Javier Jardón 280b01a8db Move documentation to inline comments: GtkRecentChooserDialog 2010-05-21 04:15:02 +02:00
Javier Jardón 98cee5e6e2 Move documentation to inline comments: GtkRecentChooserMenu 2010-05-21 03:19:02 +02:00
Javier Jardón 2f28e88dea Move documentation to inline comments: GtkRange 2010-05-21 03:09:43 +02:00
Didier Roche 6847407eda Fix fail to build when building with introspection:
in debian/ubuntu, builddir != srcdir. This trigger an error
on introspection_files where srcdir is added to x11/*.c.
Indeed, srcdir is added again later:
$(addprefix $(srcdir)/,$(introspection_files))
making $(srcdir)/$(srcdir)/x11/*.c (not an issue on jhbuild as srcdir = .)
2010-05-21 09:00:55 +10:00
Javier Jardón ae8c4b8f7b [docs] Fix a typo in the tutorial
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=412331
2010-05-20 21:57:56 +02:00
Cody Russell 213ff8fc05 Titlebar layout improvements. 2010-05-20 13:47:53 -05:00
Mattias Põldaru 04dc62cfe3 Estonian translation updated 2010-05-20 14:58:34 +03:00
Tristan Van Berkom 80ee7f793a Amending GtkBuildable documentation.
GtkBuildable documentation has forever stated that "only
objects which implement GtkBuildable can parsed by GtkBuilder" fixed.
2010-05-20 00:33:20 -04:00
Cody Russell d868d80b4e Setup the title icon correctly, fix runtime Gtk-CRITICAL error. 2010-05-19 21:36:28 -05:00
Cody Russell 7191af3f9d Remove xthickness from child_allocation.y to fix an unwanted line between the titlebar and content. 2010-05-19 19:22:06 -05:00
Javier Jardón 68701c828c Move documentation to inline comments: GtkRadioButton 2010-05-20 00:42:50 +02:00
Cody Russell f48314129a Remove drop-shadow code. 2010-05-19 15:31:48 -05:00
Cody Russell 74352ac616 Add 'decoration-corner-radius' style property. 2010-05-19 15:25:32 -05:00
Cody Russell 77485eb9cc Improve draw queues to get rid of artifacts when resizing. 2010-05-19 15:12:57 -05:00
John (J5) Palmieri 85b53969b2 [PATCH] add the binding friendly join_group method to GtkRadioAction
* Due to object ownership issues it is impossible to correctly use
  get_group/set_group from a GI binding
* join_group is safer because at the binding level it works with individual
  GtkRadioAction objects and not with the list of objects that gets
  modified in the library
2010-05-19 15:16:46 -04:00
Cody Russell 1c4e5f25a6 gdk decoration management changes, performance improvements. 2010-05-19 10:37:52 -05:00
Cody Russell 1ce72571d5 Title label management improvements. 2010-05-19 09:47:38 -05:00
Cody Russell 069a6dba46 Add some support for styling, decoration button customization, and various fixes. 2010-05-19 09:31:57 -05:00
Matthias Clasen c51f965782 Some cleanups after the module cache file change
Bring the various 'run uninstalled' hacks in line with the
new way of doing things, and fix make install for module cache
files.

Patch by Tadej Borovsak.
2010-05-18 19:23:06 -04:00
Javier Jardón fac142c25a gtk/gtkobject: use G_DEFINE_ABSTRACT_TYPE 2010-05-18 18:21:18 +02:00
Javier Jardón dfa9214681 Move documentation to inline comments: GtkRecentChooser 2010-05-18 18:16:35 +02:00
Murray Cumming f54910cf86 GtkDebug: Remove a trailing comma on an enum. 2010-05-18 09:32:44 +02:00
Jan Arne Petersen 4704a239ac GtkRange: Redraw if GtkRange is a GtkScale and value is drawn.
* gtk/gtkrange.c: (gtk_range_adjustment_value_change):
Queue the draw also if the range is a scale and the value is drawn,
fixing bug #533946 (Markus Brinkmann), when two HScales use one
adjustment.
2010-05-18 08:51:01 +02:00
Matthias Clasen 735bee47be Let query utilities update the cache file directly
This is much more convenient for packagers than having to
redirect the output into the cache file, and much less error-prone.
2010-05-17 22:58:25 -04:00
Matthias Clasen 0b0f176ac4 Move the module cache files below libdir
These files contain architecture-dependent paths, and thus placing
them into sysconfdir causes unnecessary hassle. Now the immodule cache
file is looked for in libdir/gtk-3.0/3.0.0/immodules.cache, and the
pixbuf loader cache is looked for in libdir/gtk-3.0/3.0.0/loaders.cache.
2010-05-17 21:30:46 -04:00
Volker Grabsch 8a487aca2c Fix CAIRO_PREFIX for cross-build environments
configure.ac was using pkg-config instead of $PKG_CONFIG for this
prefix, leading to incorrect results in cross-build environments.

Bug 618870.
2010-05-17 19:00:02 -04:00
Thomas Thurman 3f96117903 Updated Shavian translation 2010-05-16 17:53:39 -04:00
Thomas Thurman 489085ca02 Updated Shavian translation 2010-05-16 17:53:39 -04:00
Andika Triwidada fcbbbbf139 Updated Indonesian translation 2010-05-16 08:33:26 +07:00
Javier Jardón 98e773d93d Move documentation to inline comments: GtkSeparatorToolItem 2010-05-16 02:39:50 +02:00
Javier Jardón 19448b9712 Move documentation to inline comments: GtkPrinter 2010-05-16 02:11:16 +02:00
Javier Jardón b00a09de11 Move documentation to inline comments: GtkTreeView drag-and-drop 2010-05-16 02:04:12 +02:00
Javier Jardón 56d7417fcc Move documentation to inline comments: GtkRecentChooserWidget 2010-05-16 01:58:06 +02:00
Javier Jardón 885b6d8a75 Move documentation to inline comments: GtkStyle 2010-05-16 01:37:36 +02:00
Javier Jardón f121a502f9 Move documentation to inline comments: GtkSeparatorMenuItem 2010-05-16 00:40:11 +02:00
Javier Jardón 08bd42cf8d Move documentation to inline comments: GtkScaleButton 2010-05-16 00:32:05 +02:00
Javier Jardón 8e06ef4f63 Move documentation to inline comments: GtkRadioAction 2010-05-16 00:26:22 +02:00
Javier Jardón bddf455874 Move documentation to inline comments: GtkRecentAction 2010-05-16 00:20:53 +02:00
Khaled Hosny 41f327051c Updated Arabic translation 2010-05-15 22:58:15 +03:00
Javier Jardón b2f5af3fb0 Remove deprecated functions from GDK docs 2010-05-14 18:36:59 +02:00
Javier Jardón 618d15e991 Remove deprecated gdk_window_get_toplevels() function 2010-05-14 18:18:10 +02:00
Javier Jardón dc83131c9b gdkwindow: Move includes to the beginning of the file 2010-05-14 17:28:37 +02:00
Tadej Borovšak ff61948d13 Move documentation to inline comments: GdkWindow
Use examples/gdk to store documentation code examples.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=618498

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-05-14 17:11:51 +02:00
Luca Ferretti 47dd78a713 Updated Italian translation 2010-05-14 12:53:44 +02:00
Fran Diéguez 2cc6154571 Updated Galician translations 2010-05-14 09:47:29 +02:00
Javier Jardón 157d618d6b Move documentation to inline comments: GtkObject 2010-05-13 19:39:44 +02:00
Javier Jardón 3d481f735a Use ACLOCAL in autogen.sh 2010-05-13 17:11:12 +02:00
Javier Jardón 9e630dc17d Clean autotools configuration a bit
New requirements:
automake >= 1.10
libtool >= 2.2
2010-05-13 15:54:01 +02:00
Javier Jardón 1205012cb4 Fix doc generation: rename gdk-overrides.txt to gdk3-overrides
Also, remove unnneded *-overrides files
Patch by Tadej Borovšak
2010-05-13 05:02:59 +02:00
Javier Jardón 95bb12ee66 Move documentation to inline comments: GtkOrientable 2010-05-13 03:35:02 +02:00
Javier Jardón 8319585673 Move documentation to inline comments: GtkToggleAction 2010-05-13 03:23:30 +02:00
Javier Jardón 45434cc699 Move documentation to inline comments: GtkPageSetupUnixDialog 2010-05-13 01:26:10 +02:00
Javier Jardón e59f1a64c1 Move documentation to inline comments: GtkSeparator 2010-05-13 01:26:09 +02:00
Javier Jardón c4bb15a4f2 Move documentation to inline comments: GtkTextIter 2010-05-13 01:26:09 +02:00
Javier Jardón c477b2fa0b Move documentation to inline comments: GtkToolItem 2010-05-13 01:26:09 +02:00
Thomas Thurman f1ea0d127b Updated Shavian transliteration 2010-05-12 19:01:48 -04:00
Thomas Thurman fd3c3dc981 Updated Shavian transliteration 2010-05-12 19:01:48 -04:00
Johan Dahlin 39f4b34e70 Merge commit 'origin' 2010-05-12 19:54:28 -03:00
Johan Dahlin 7b81420974 [GtkExtendedLayout] Add annotations
Add missing annotations for out values.
2010-05-12 19:53:43 -03:00
Johan Dahlin a81f00ff33 [GtkWidget] Add annotations
Add a couple of out/inout annotations
2010-05-12 19:53:24 -03:00
Johan Dahlin 4bc3f99b6d [GtkWindow] Add annotations
Add introspection annotations for lists and functions with
multiple out values.
2010-05-12 19:51:55 -03:00
Matthias Clasen 006d5718fa Another attempt to handle pngs changing int types 2010-05-12 15:02:02 -04:00
Kristian Rietveld f3fa17a16a Bug 565559 - Incorrect leave-notify signals for treeview
Set enter and leave notify mask on header window.

Extract from a patch by Hans van Hintum.
2010-05-12 12:15:48 +02:00
Paul Davis aea9f1b6cf Remove arbitrary limit on number of redraw rectangles
The aim of this limit was to not degrade performance too much, however,
it actually did degrade performance to a large extent.
2010-05-12 12:11:40 +02:00
Manoj Kumar Giri b82150c100 Updated Oriya Translation 2010-05-12 13:35:28 +05:30
Javier Jardón 2b64a7fd54 Remove some deprecated stuff from GdkWindow
Also, substitute the deprecated functions with the correct ones
2010-05-12 04:29:55 +02:00
Javier Jardón c6a789998a Remove deprecated gdk_exit() function 2010-05-12 03:44:07 +02:00
Matthias Clasen 902628f593 Reset gail library versioning to 0.0.0, since we changed soname 2010-05-11 15:21:17 -04:00
Matthias Clasen d8ceadaf3b Minor stylistic fix 2010-05-11 15:09:16 -04:00
Matthias Clasen a376adbcea Try to fix up man page handling 2010-05-11 15:09:16 -04:00
Javier Jardón d9bb439c89 Remove deprecated GtkObject macros
Remove GTK_OBJECT_TYPE() and GTK_OBJECT_TYPE_NAME(),
G_OBJECT_TYPE() and G_OBJECT_TYPE_NAME() should be used instead.
2010-05-11 17:01:36 +02:00
Caolán McNamara 37bb7ea2a0 Update list of US Letter locales
Sync paper size fallbacks with the latest 1.8.1 CLDR table (#618000).
2010-05-11 16:38:07 +02:00
Tor Lillqvist e5c2c2e9fb More gtk3 file name changes 2010-05-11 17:14:57 +03:00
Matthias Clasen 20f3f9d9f2 One forgotten rename 2010-05-11 08:37:35 -04:00
Murray Cumming 4fe044b77d Fix typos in 2 gobject-introspection annotations. 2010-05-11 09:01:19 +02:00
Alan Knowles ee357cf885 Fix various gir annotations on tree API
Just add (out) tags where needed to generate valid gir.
2010-05-11 13:40:15 +08:00
Sebastian Dröge 57a7079a30 Don't include __bss_start, _edata and _end symbols in the abichecks
They are added by the binutils gold linker.
2010-05-11 06:39:35 +02:00
Matthias Clasen 827ce1b1bf bump version 2010-05-11 00:28:33 -04:00
Cody Russell 63bc0d7f65 Fix up some errors from the rebase. 2010-04-16 14:17:52 -05:00
Kristian Høgsberg d3c392c8e3 Don't set a cursor if the widget doesn't specify one 2010-04-16 14:17:52 -05:00
Matthias Clasen 8bf348ee58 Trivial doc fixes 2010-04-16 14:17:52 -05:00
Cody Russell 5e1a2666f8 Fix so we can't set the parent on icon_event_box after its parent is already set. 2010-04-16 14:17:52 -05:00
Cody Russell 2d3ce9281c Mark create_blur_kernel() as static 2010-04-16 14:17:52 -05:00
Cody Russell c0892af0cf Add forward declaration of static function 2010-04-16 14:17:52 -05:00
Cody Russell 2810516dd5 Make gtk_window_set_client_side_decorations() a static function, remove from gtkwindow.h 2010-04-16 14:17:52 -05:00
Cody Russell b44d5bc864 Update some 'since' documentation 2010-04-16 14:17:52 -05:00
Cody Russell 2b4b4177e1 Add gtkwindow-decorate.[ch] again, but deprecate the symbols. 2010-04-16 14:17:52 -05:00
Cody Russell 7d69394c8d Improve some style property documentation 2010-04-16 14:17:52 -05:00
Cody Russell c39adf64aa Disable drop-shadows by default 2010-04-16 14:17:52 -05:00
Cody Russell 731388c376 Add GTK_WINDOW_REGION_SHADOW, and add support for shadow regions to get_region_type(). 2010-04-16 14:17:51 -05:00
Cody Russell d2a2bc374f Drop shadows 2010-04-16 14:17:51 -05:00
Cody Russell d1fca416e0 Fix some warnings. 2010-04-16 14:17:51 -05:00
Cody Russell 1ec3e7d9ba Don't draw the window frame when the window is maximized. 2010-04-16 14:17:51 -05:00
Cody Russell 558e2bc073 Improve the default style painting of the window when it is maximized by removing hmargin/vmargin and rounded corners. 2010-04-16 14:17:51 -05:00
Cody Russell 170d8bf584 Use RGBA by default, not just on GtkWindow 2010-04-16 14:17:51 -05:00
Cody Russell d2458cc41a extents WIP 2010-04-16 14:17:51 -05:00
Cody Russell acc1f888ac Make the window's popup more useful, with min/max/close features at least 2010-04-16 14:17:51 -05:00
Cody Russell e16f97df03 small fix 2010-04-16 14:17:51 -05:00
Cody Russell 7e174a8c4e cursor management changes 2010-04-16 14:17:51 -05:00
Cody Russell a571b168d7 add gdk_window_get_cursor() 2010-04-16 14:17:51 -05:00
Cody Russell 3fbf650536 remove oops :) 2010-04-16 14:17:51 -05:00
Cody Russell be24e12939 popup menu when clicking on the title icon 2010-04-16 14:17:51 -05:00
Cody Russell eb661febec basic right-click menu support 2010-04-16 14:17:51 -05:00
Cody Russell 1d61421cbe double-click toggles maximize window 2010-04-16 14:17:51 -05:00
Cody Russell 860b49cf51 handle PROP_DISABLE_CLIENT_SIDE_DECORATIONS in {get,set}_property methods 2010-04-16 14:17:51 -05:00
Cody Russell ce5a7d4cfb remove gtk_window_disable_client_side_decorations function, add construct-only property 2010-04-16 14:17:51 -05:00
Cody Russell 9ccc8fa2ee remove gtk_window_get_client_side_decorations() 2010-04-16 14:17:51 -05:00
Matthias Clasen 315bf62ec9 Ignore double-clicks 2010-04-16 14:17:51 -05:00
Matthias Clasen f44c76de5c Implement RTL flipping for window controls 2010-04-16 14:17:51 -05:00
Matthias Clasen 67c79563f3 Respect geometry hints
Only set cursors and start resizing if the geometry hints allow it.
Allow to 'shake loose' maximized windows.
2010-04-16 14:17:51 -05:00
Matthias Clasen 330d760a2d Redo region handling
Rewrite the region determination to be more symmetric. And don't
constantly set cursors.
2010-04-16 14:17:51 -05:00
Matthias Clasen 6cb831b9ed Make resize handles larger
There is now a ::decoration-resize-handle style property to control
the size of these handles; also clean up some confusion where the old
window->frame_width was used.
2010-04-16 14:17:51 -05:00
Cody Russell 4ef1a16536 remove decoration-button-size and ecoration-button-y-offset properties 2010-04-16 14:17:51 -05:00
Cody Russell 91b255034a ellipsize client-side title labels 2010-04-16 14:17:51 -05:00
Cody Russell d65909b168 change top/left/right/bottom properties to be just one border width property 2010-04-16 14:17:51 -05:00
Matthias Clasen 713996c69d Make switching from and to csd work 2010-04-16 14:17:51 -05:00
Matthias Clasen 1ed0ac92bf Add focus color
Redraw window frames on focus in and focus out and make
focused windows use the selection color for their frame.
2010-04-16 14:17:50 -05:00
Matthias Clasen d2dae1b01d Toggle the max button image
Show a different image in maximized state; this is common in window
manager themes.
2010-04-16 14:17:50 -05:00
Cody Russell e13f21b458 avoid calling is_client_side_decorated() multiple times in one function 2010-04-16 14:17:50 -05:00
Cody Russell 80979520e3 gtk_window_button_press_event() return FALSE at the end 2010-04-16 14:17:50 -05:00
Cody Russell e184fa85bf unset GTK_CAN_FOCUS flag on min/max/close buttons 2010-04-16 14:17:50 -05:00
Cody Russell e173e3f72b tooltip text on min/max/close buttons 2010-04-16 14:17:50 -05:00
Cody Russell aa0f5fb87d fix oops 2010-04-16 14:17:50 -05:00
Cody Russell d4c721a9e1 remove test code again 2010-04-16 14:17:50 -05:00
Cody Russell cd5ede55c9 add support for window icons 2010-04-16 14:17:50 -05:00
Cody Russell fe8ad4d746 hide and show min/max buttons based on GdmWMDecorations value 2010-04-16 14:17:50 -05:00
Cody Russell ea7b05024e check is_client_side_decorated() in ensure_title_box() 2010-04-16 14:17:50 -05:00
Cody Russell f0c0032171 only update mouse cursor to non-arrow if window is resizable 2010-04-16 14:17:50 -05:00
Cody Russell f5c141d746 no need for toggle logic in min_button_clicked() 2010-04-16 14:17:50 -05:00
Cody Russell c59a059551 remove some temporary code 2010-04-16 14:17:50 -05:00
Cody Russell a3ffbcacba add widget names so they can be accessed from the theme 2010-04-16 14:17:50 -05:00
Cody Russell 4bba6ac660 fix title setting bug 2010-04-16 14:17:50 -05:00
Cody Russell ceec85b195 fix GtkPlug to always force cs-decorations off 2010-04-16 14:17:50 -05:00
Cody Russell 0358e0d7f7 remove the rgba stuff for now for firefox; temp hack for is_client_side_decorated 2010-04-16 14:17:50 -05:00
Cody Russell b1ad5235b9 check for both ->client_side_decorated && ->decorated; motion/click only when not maximized 2010-04-16 14:17:50 -05:00
Cody Russell ad24eb34d5 remove unnecessary change 2010-04-16 14:17:50 -05:00
Cody Russell 3cb8bc456b allocate bin.child's x-position and height by MAX(title height, box height) 2010-04-16 14:17:50 -05:00
Cody Russell 72c57c1b64 fix a mistake in gtkwindow.h 2010-04-16 14:17:50 -05:00
Cody Russell 52276a1402 add container::remove interface 2010-04-16 14:17:50 -05:00
Cody Russell c284f256c7 button event handlers 2010-04-16 14:17:50 -05:00
Cody Russell 4a3a775aac add buttons 2010-04-16 14:17:50 -05:00
Cody Russell 842e7a216e remove frame event stuff 2010-04-16 14:17:50 -05:00
Cody Russell cab5f6e0d8 cursor support 2010-04-16 14:17:50 -05:00
Cody Russell 0e6e52c19b remove compute_child_allocation from GtkWindowClass 2010-04-16 14:17:50 -05:00
Cody Russell 50bcb86e64 differentiate between N edge and title in button_press_event 2010-04-16 14:17:49 -05:00
Cody Russell 0051be4ead simple window resizing 2010-04-16 14:17:49 -05:00
Kristian Høgsberg 906020a222 Invalidate window on size_allocate so we redraw correctly 2010-04-16 14:17:49 -05:00
Cody Russell c84c994a51 check for GDK_DECOR_BORDER before calculating frame size, use style properties for frame sizes 2010-04-16 14:17:49 -05:00
Kristian Høgsberg e7a8c9da41 Move drawing to gtkstyle.c, use colors from style 2010-04-16 14:17:49 -05:00
Kristian Høgsberg 5d9a615c49 Offset path by half a pixel so we get a nice thin line. 2010-04-16 14:17:49 -05:00
Cody Russell a741c53d23 check for -1 before setting 2010-04-16 14:17:49 -05:00
Cody Russell f77ee8dfa6 fix warnings, remove unneeded code 2010-04-16 14:17:49 -05:00
Cody Russell 3bc6bb7632 remove #include "gtkwindow-decorate.h" 2010-04-16 14:17:49 -05:00
Cody Russell 8f7bcc1a44 remove gtkwindow-decorate.[ch] 2010-04-16 14:17:49 -05:00
Cody Russell 2e632ce7e2 put title label in an hbox 2010-04-16 14:17:49 -05:00
Cody Russell 5a6b67b522 remove some old stuff 2010-04-16 14:17:49 -05:00
Cody Russell fbd4043137 fix sizing and other random changes 2010-04-16 14:17:49 -05:00
Cody Russell f8f39cd397 temporary window painting 2010-04-16 14:17:49 -05:00
Cody Russell 00a9aaa68c remove unnecessary event propagation from gtk_window_expose 2010-04-16 14:17:49 -05:00
Cody Russell ac23bb2577 size_allocate improvements 2010-04-16 14:17:49 -05:00
Cody Russell eacf3b4e8f fix window title 2010-04-16 14:17:49 -05:00
Cody Russell 70760bcca0 do stuff in GtkWindow 2010-04-16 14:17:49 -05:00
Cody Russell 1c0e449cbe container stuff 2010-04-16 14:17:49 -05:00
Cody Russell 4f750e2bec title label widget 2010-04-16 14:17:49 -05:00
Cody Russell d0a8a7268c wip 2010-04-16 14:17:49 -05:00
Cody Russell 895c8bb951 fixes for sizing 2010-04-16 14:17:49 -05:00
Cody Russell b418df3d9a wip 2010-04-16 14:17:48 -05:00
Carlos Garnacho 123cf65d4f Also resize GTK_WIDGET (window)->window on size_allocate. 2010-04-16 14:17:48 -05:00
Carlos Garnacho aa4ccd354c Fix typo. 2010-04-16 14:17:48 -05:00
Cody Russell 87d2a51f56 work in progress 2010-04-16 14:17:48 -05:00
577 changed files with 135472 additions and 125459 deletions
+6 -3
View File
@@ -4,8 +4,7 @@ include $(top_srcdir)/Makefile.decl
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
AUTOMAKE_OPTIONS = 1.7
ACLOCAL_AMFLAGS = -I m4
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
EXTRA_DIST += \
HACKING \
@@ -231,7 +230,11 @@ sanity:
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds --enable-introspection
DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--enable-man \
--disable-rebuilds \
--enable-introspection
GITIGNOREFILES = \
po-properties/Makefile.in.in \
+123
View File
@@ -1,3 +1,126 @@
Overview of Changes from GTK+ 2.90.1 to 2.90.2
==============================================
* GtkApplication: an application class, based on GApplication. Currently,
this is fairly minimal, but it is good enough already to replace libunique.
Future work:
- Add a way to say "This is my application menubar", which gets
put into all toplevel windows on non-OS-X, and into the top
on OS X
- Support session management
- Maybe support application settings
* Misc new api:
- gtk_window_has_group: determines if a window is part of a window group
- gtk_status_bar_remove_all: removes all messages from a statusbar
* DND on offscreen windows works now
* GtkIconView:
- arrow keynav can now be connected over adjacent icon views
* GtkAssistant:
- gtk_assistant_commits: prevents going back beyond a certain
point in the page sequence, adjust shown buttons appropriately
- It is now officially supported to have a progress page at the
end of the page sequence
* Introspection:
- Many annotation fixes
- gdkx.h api is exported in a separate typelib, GdkX11-3.0
* Cleanups:
- the draw_string function has been removed from GtkStyle
- gdk_get/set_use_xshm have been removed
- Deprecated gdk_color api has been removed
* Documentation related to GTK+ 1.2, etc has been removed. Instead
there is an initial GTK+ 3 porting guide now.
* Bugs fixed:
620509 Progress bar rendering is broken
607628 DnD operation doesn't work when using offscreen.
619838 kill off references to gtk 1.2 in docs/comments
608218 GtkOffscreenWindow causes bad window with GtkEntry
619649 Remove deprecated code from GdkColor
619080 text-inserted events should not be emitted unless text...
620511 Use g_source_set_name for all custom GSources in GTK+
603637 gtk printer dialog does not show remote printer
618271 Add gtk_window_has_group()
617863 Actually expose the X11 funcs through introspection
620244 misprint in the description of the function gtk_widget_list_...
549127 Print error dialog not shown
611709 gseal hides GtkStatusBar->messages but doesn't give anything...
596428 GtkAssistant: Support ending with a progress page
* Translation updates:
Esperanto
Hebrew
Irish
Overview of Changes from GTK+ 2.90.0 to 2.90.1
==============================================
* Printing: The list of locales using US Letter papersize has
been updated to match the CLDR 1.8.1
* The default location for the 'module cache' files (ie the files
produced by gdk-pixbuf-query-loaders and gtk-query-immodules) has
been changed to $libdir/gtk-3.0/3.0.0/{loaders,immodules}.cache.
This should avoid multilib problems with the previous location.
Additionally, the query utilities accept an --update-cache argument
to update the cache file directly, instead of writing to stdout
* gtk_radio_action_join_group: A binding-friendly way to manage
radio actions.
* GtkAdjustment enforces values to the range [lower, upper - page_size]
* GDK has been GSEALed, with the addition of suitable accessors
* The XI2 branch with better support for multiple input devices has
been merged, together with backends for XInput, XInput2, win32 and
Quartz, and corresponding updates to input-device handling code
in GTK.
* A number of orientable widgets are no longer abstract: GtkBox,
GtkButtonBox, GtkPaned, GtkRuler, GtkScale, GtkScrollbar, GtkSeparator.
All of these can now be instantiated and flipped between horizontal
and vertical orientation at runtime. Their H/V subclasses are still
available, as convenience API.
* More deprecated API has been removed
* Bugs fixes:
613132 GtkBoxChild should probably be deprecated
592580 GDK needs sealing
618870 GTK+ uses wrong pkg-config to reveal the CAIRO_PREFIX
616817 Remove code to support deprecated GtkToolbar api
619114 undefined reference to `XkbBell'
617863 Actually expose the X11 funcs through introspection
613302 GtkWidget not emitting the unmap signal
565559 Incorrect leave-notify signals for treeview
533946 GtkHScale does not update correctly
618000 Sync paper size fallbacks with CLDR 1.8.1
614581 Gtk print dialog freezes on start up
551322 configure does not use -lm in jasper (JPEG2000) testing
619474 Fixes for GtkAdjustment for GTK+ 3
555087 Shouldn't the return type of gtk_entry_completion_get_model...
619385 Fix compilation warning: Do not break strict-aliasing rules
596725 Add XInput2 support
* Updated translations
Arabic
Estonian
Galician
Italian
Indonesian
Oriya
Shavian
Overview of Changes from GTK+ 2.20.x to 2.90.0
==============================================
+5 -9
View File
@@ -111,15 +111,11 @@ Release notes for 2.14
to GTK_SENSITIVITY_ON, so that the button is always sensitive or
GTK_SENSITIVITY_OFF to make it insensitive respectively.
* In the early 2.14.x releases, GtkAdjustment was changed to enforce
that values are restricted to the range [lower, upper - page_size].
This has always been the documented behaviour, and the recommended
practice is to set page_size to 0 when using adjustments for simple
scalar values, like in a slider or spin button.
Due to the large number of applications that are affected by this
change, the behaviour has been reverted to the old behaviour in
2.14.3, with an explicit warning that this change will be
reintroduced in 2.90.
* GtkAdjustment now enforces that values are restricted to the
range [lower, upper - page_size]. This has always been the documented
behaviour, and the recommended practice is to set page_size to 0
when using adjustments for simple scalar values, like in a slider
or spin button.
* gdk-pixbuf will use GIO for mime type detection if possible. For
this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS
+3 -7
View File
@@ -19,14 +19,14 @@ if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
-e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
1.4*|1.5*|2.2*)
2.2*)
have_libtool=true
;;
esac
fi
if $have_libtool ; then : ; else
echo
echo "You must have libtool 1.4 installed to compile $PROJECT."
echo "You must have libtool 2.2 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
DIE=1
@@ -54,18 +54,14 @@ if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.10
ACLOCAL=aclocal-1.10
else if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.7
ACLOCAL=aclocal-1.7
else
echo
echo "You must have automake 1.7.x, 1,10.x or 1.11.x installed to compile $PROJECT."
echo "You must have automake 1,10.x or 1.11.x installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
DIE=1
fi
fi
fi
if test "$DIE" -eq 1; then
exit 1
+1 -1
View File
@@ -1,6 +1,6 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST = \
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk+.vsprops \
+38 -46
View File
@@ -1,6 +1,6 @@
# Process this file with autoconf to produce a configure script.
# require autoconf 2.54
AC_PREREQ(2.62)
AC_PREREQ([2.62])
# Making releases:
# GTK_MICRO_VERSION += 1;
@@ -12,7 +12,7 @@ AC_PREREQ(2.62)
m4_define([gtk_major_version], [2])
m4_define([gtk_minor_version], [90])
m4_define([gtk_micro_version], [0])
m4_define([gtk_micro_version], [2])
m4_define([gtk_interface_age], [0])
m4_define([gtk_binary_age],
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
@@ -31,7 +31,7 @@ m4_define([gtk_api_version], [3.0])
m4_define([gtk_binary_version], [3.0.0])
# required versions of other packages
m4_define([glib_required_version], [2.23.6])
m4_define([glib_required_version], [2.25.8])
m4_define([pango_required_version], [1.20])
m4_define([atk_required_version], [1.29.2])
m4_define([cairo_required_version], [1.6])
@@ -41,15 +41,15 @@ AC_INIT([gtk+], [gtk_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
[gtk+])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_SRCDIR([gdk/gdktypes.h])
AC_CONFIG_MACRO_DIR([m4])
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}
AM_INIT_AUTOMAKE([no-define -Wno-portability dist-bzip2])
AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([1.10 no-define -Wno-portability dist-bzip2])
AM_MAINTAINER_MODE([enable])
# Support silent build rules, requires at least automake-1.11. Enable
# by either passing --enable-silent-rules to configure or passing V=0
@@ -99,8 +99,8 @@ LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
AC_SUBST(LT_VERSION_INFO)
AC_SUBST(LT_CURRENT_MINUS_AGE)
m4_define([gail_lt_current],[18])
m4_define([gail_lt_revision],[1])
m4_define([gail_lt_current],[0])
m4_define([gail_lt_revision],[0])
m4_define([gail_lt_age],[0])
m4_define([gail_lt_version_info],[gail_lt_current:gail_lt_revision:gail_lt_age])
m4_define([gail_lt_current_minus_age],[m4_eval(gail_lt_current - gail_lt_age)])
@@ -120,6 +120,14 @@ AC_SUBST(GDK_PIXBUF_MINOR)
AC_SUBST(GDK_PIXBUF_MICRO)
AC_SUBST(GDK_PIXBUF_VERSION)
# Checks for programs.
AC_PROG_CC
AC_PROG_CC_C_O
AC_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
GETTEXT_PACKAGE=gtk30
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
@@ -158,17 +166,12 @@ case $host in
;;
esac
dnl Initialize libtool
AC_PROG_CC
AM_DISABLE_STATIC
dnl
dnl Check for a working C++ compiler, but do not bail out, if none is found.
dnl We use this for an automated test for C++ header correctness.
dnl
AC_CHECK_TOOLS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc)
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_LANG_PUSH([C++])
AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "")
@@ -178,7 +181,7 @@ CXXFLAGS="$CXXFLAGS -x objective-c++"
AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no)
AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" = "yes")
CXXFLAGS="$gtk_save_cxxflags"
AC_LANG_RESTORE
AC_LANG_POP([C++])
if test "$os_win32" = "yes"; then
if test x$enable_static = xyes -o x$enable_static = x; then
@@ -191,11 +194,11 @@ if test "$os_win32" = "yes"; then
enable_shared=yes
fi
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
dnl when using libtool 2.x create libtool early, because it's used in configure
m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
dnl Initialize libtool
LT_PREREQ([2.2.6])
LT_INIT([disable-static win32-dll])
# Create libtool early, because it's used in configure
LT_OUTPUT
# Make sure we use 64-bit versions of various file stuff.
AC_SYS_LARGEFILE
@@ -203,9 +206,6 @@ AC_SYS_LARGEFILE
AM_PROG_AS
AC_PATH_PROG(NM, nm, nm)
dnl Initialize maintainer mode
AM_MAINTAINER_MODE
AC_MSG_CHECKING([for some Win32 platform])
case "$host" in
*-*-mingw*|*-*-cygwin*)
@@ -257,7 +257,7 @@ AC_ARG_ENABLE(rebuilds,
[enable_rebuilds=yes])
AC_ARG_ENABLE(visibility,
[AC_HELP_STRING([--disable-visibility],
[don't use ELF visibility attributes])],,
[do not use ELF visibility attributes])],,
[enable_visibility=yes])
AC_ARG_WITH(xinput,
@@ -308,13 +308,6 @@ AC_DEFINE_UNQUOTED(GTK_COMPILED_WITH_DEBUGGING, "${enable_debug}",
# Build time sanity check...
AM_SANITY_CHECK
# Checks for programs.
AC_ISC_POSIX
AM_PROG_CC_STDC
AM_PROG_CC_C_O
AC_PROG_INSTALL
AC_PROG_MAKE_SET
changequote(,)dnl
if test "x$GCC" = "xyes"; then
case " $CFLAGS " in
@@ -373,9 +366,6 @@ if test x"$os_win32" = xyes; then
fi
fi
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
## Initial sanity check, done here so that users get told they
## have the wrong dependencies as early in the process as possible.
## Later on we actually use the cflags/libs from separate pkg-config
@@ -953,7 +943,7 @@ dnl Test for libpng
dnl Test for libjasper
if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then
AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [], -ljpeg)
AC_CHECK_LIB(jasper, jas_init, LIBJASPER=-ljasper, [], -ljpeg -lm)
fi
if test x$with_libjasper = xyes && test -z "$LIBJASPER"; then
@@ -1102,9 +1092,10 @@ if test x$gio_can_sniff = x; then
{
char *content_type;
char *image_png;
g_type_init ();
content_type = g_content_type_guess (NULL, data, data_size, NULL);
image_png = g_content_type_from_mime_type ("image/png");
return !!strcmp (content_type, image_png);
return !!g_strcmp0 (content_type, image_png);
}]])],
[gio_can_sniff=yes
AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
@@ -1570,22 +1561,22 @@ if test "x$gdktarget" = "xx11"; then
fi
# set up things for XInput
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
if test "x$with_xinput" != "xno" && $PKG_CONFIG --exists "xi" ; then
AC_DEFINE(XINPUT_XFREE, 1,
[Define to 1 if XFree XInput should be used])
if $PKG_CONFIG --exists xi ; then
X_PACKAGES="$X_PACKAGES xi"
else
GTK_ADD_LIB(x_extra_libs, Xi)
fi
X_PACKAGES="$X_PACKAGES xi"
AC_CHECK_HEADER(X11/extensions/XInput2.h,
have_xinput2=yes; AC_DEFINE(XINPUT_2, 1, [Define to 1 if XInput 2.0 is available]))
else
AC_DEFINE(XINPUT_NONE, 1,
[Define to 1 if no XInput should be used])
fi
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree || test x$with_xinput = xyes)
AM_CONDITIONAL(XINPUT_NONE, test "x$with_xinput" = "xno")
AM_CONDITIONAL(XINPUT_XFREE, test "x$with_xinput" != "xno")
AM_CONDITIONAL(XINPUT_2, test "x$have_xinput2" = "xyes")
# Check for the RANDR extension
if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then
@@ -1643,6 +1634,7 @@ else
XPACKAGES=
AM_CONDITIONAL(XINPUT_XFREE, false)
AM_CONDITIONAL(XINPUT_2, false)
AM_CONDITIONAL(USE_X11, false)
AM_CONDITIONAL(HAVE_X11R6, false)
fi
@@ -1788,7 +1780,7 @@ fi
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
CAIRO_PREFIX="`$PKG_CONFIG --variable=prefix cairo`"
if test $enable_explicit_deps != yes ; then
GDK_PIXBUF_EXTRA_LIBS=
@@ -1985,7 +1977,7 @@ fi
# GObject introspection
##################################################
GOBJECT_INTROSPECTION_CHECK([0.6.7])
GOBJECT_INTROSPECTION_CHECK([0.6.14])
##################################################
# Checks for gtk-doc and docbook-tools
+2 -2
View File
@@ -41,8 +41,8 @@ if CROSS_COMPILING
pixbuf_csource=$(GDK_PIXBUF_CSOURCE)
pixbuf_csource_deps=
else
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource-3.0
pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource-3.0 $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/loaders.cache $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource-3.0
pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource-3.0 $(top_builddir)/gdk-pixbuf/loaders.cache
endif
test-inline-pixbufs.h: $(pixbuf_csource_deps) apple-red.png gnome-foot.png
+53 -2
View File
@@ -9,12 +9,35 @@
#include "demo-common.h"
static GtkWidget *assistant = NULL;
static GtkWidget *progress_bar = NULL;
static gboolean
apply_changes_gradually (gpointer data)
{
gdouble fraction;
/* Work, work, work... */
fraction = gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (progress_bar));
fraction += 0.05;
if (fraction < 1.0)
{
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), fraction);
return TRUE;
}
else
{
/* Close automatically once changes are fully applied. */
gtk_widget_destroy (assistant);
return FALSE;
}
}
static void
on_assistant_apply (GtkWidget *widget, gpointer data)
{
/* Apply here changes, this is a fictional
example, so we just do nothing here */
/* Start a timer to simulate changes taking a few seconds to apply. */
g_timeout_add (100, apply_changes_gradually, NULL);
}
static void
@@ -38,6 +61,13 @@ on_assistant_prepare (GtkWidget *widget, GtkWidget *page, gpointer data)
title = g_strdup_printf ("Sample assistant (%d of %d)", current_page + 1, n_pages);
gtk_window_set_title (GTK_WINDOW (widget), title);
g_free (title);
/* The fourth page (counting from zero) is the progress page. The
* user clicked Apply to get here so we tell the assistant to commit,
* which means the changes up to this point are permanent and cannot
* be cancelled or revisited. */
if (current_page == 3)
gtk_assistant_commit (GTK_ASSISTANT (widget));
}
static void
@@ -127,6 +157,26 @@ create_page3 (GtkWidget *assistant)
g_object_unref (pixbuf);
}
static void
create_page4 (GtkWidget *assistant)
{
GtkWidget *page;
page = gtk_alignment_new (0.5, 0.5, 0.5, 0.0);
progress_bar = gtk_progress_bar_new ();
gtk_container_add (GTK_CONTAINER (page), progress_bar);
gtk_widget_show_all (page);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), page);
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, "Applying changes");
/* This prevents the assistant window from being
* closed while we're "busy" applying changes. */
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, FALSE);
}
GtkWidget*
do_assistant (GtkWidget *do_widget)
{
@@ -142,6 +192,7 @@ do_assistant (GtkWidget *do_widget)
create_page1 (assistant);
create_page2 (assistant);
create_page3 (assistant);
create_page4 (assistant);
g_signal_connect (G_OBJECT (assistant), "cancel",
G_CALLBACK (on_assistant_close_cancel), &assistant);
+2 -2
View File
@@ -941,8 +941,8 @@ main (int argc, char **argv)
if (g_file_test ("../../gdk-pixbuf/libpixbufloader-pnm.la",
G_FILE_TEST_EXISTS))
{
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/gtk.immodules", TRUE);
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../../gdk-pixbuf/loaders.cache", TRUE);
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/immodules.cache", TRUE);
}
/* -- End of hack -- */
+1 -1
View File
@@ -16,5 +16,5 @@ void
pixbuf_init (void)
{
if (file_exists ("../gdk-pixbuf/libpixbufloader-pnm.la"))
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/gdk-pixbuf.loaders", TRUE);
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/loaders.cache", TRUE);
}
+2 -2
View File
@@ -3102,7 +3102,7 @@ like this:</para>
gc = gdk_gc_new(widget->window);
/* find proper dimensions for rectangle */
gdk_window_get_size(widget->window, &amp;width, &amp;height);
gdk_drawable_get_size(widget->window, &amp;width, &amp;height);
/* the color we want to use */
color = (GdkColor *)malloc(sizeof(GdkColor));
@@ -3124,7 +3124,7 @@ like this:</para>
* displays. Therefore, this call is required so that GDK and X can
* give us the closest color available in the colormap
*/
gdk_color_alloc(gtk_widget_get_colormap(widget), color);
gdk_colormap_alloc_color(gtk_widget_get_colormap(widget), color, FALSE, TRUE);
/* set the foreground to our color */
gdk_gc_set_foreground(gc, color);
+24 -9
View File
@@ -79,23 +79,38 @@ EXTRA_DIST += version.xml.in \
########################################################################
if ENABLE_MAN
man_MANS = \
gdk-pixbuf-csource-3.0.1 \
gdk-pixbuf-query-loaders-3.0.1
%.1 : %.xml
if ENABLE_MAN
.xml.1:
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
BUILT_EXTRA_DIST = $(man_MANS)
dist-local-check-mans-enabled:
if grep "Man generation disabled" $(man_MANS) >/dev/null; then $(RM) $(man_MANS); fi
else
$(man_MANS):
echo Man generation disabled. Creating dummy $@. Configure with --enable-man to enable it.
echo Man generation disabled. Remove this file, configure with --enable-man, and rebuild > $@
dist-local-check-mans-enabled:
echo "*** --enable-man must be used in order to make dist"
false
endif
dist-hook-local: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
MAINTAINERCLEANFILES = $(man_MANS) $(BUILT_SOURCES)
EXTRA_DIST += $(man_MANS)
dist-hook-local: dist-local-check-mans-enabled gtk-docs-clean all-local
gtk-docs-clean: clean
cd $(srcdir) && rm -rf xml html
-include $(top_srcdir)/git.mk
@@ -17,6 +17,7 @@
<refsynopsisdiv>
<cmdsynopsis>
<command>gdk-pixbuf-query-loaders-3.0</command>
<arg choice="opt">--update-cache</arg>
<arg choice="opt" rep="repeat">module</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -25,7 +26,7 @@
<para>
<command>gdk-pixbuf-query-loaders-3.0</command> collects information about
loadable modules for <application>gdk-pixbuf</application> and writes it to
<filename>stdout</filename>.
the default cache file location, or to <filename>stdout</filename>.
</para>
<para>
If called without arguments, it looks for modules in the
@@ -35,6 +36,22 @@ If called without arguments, it looks for modules in the
If called with arguments, it looks for the specified modules. The arguments
may be absolute or relative paths.
</para>
<para>
Normally, the output of <command>gdk-pixbuf-queryloaders-3.0</command> is written
to <filename><replaceable>libdir</replaceable>gtk-3.0/3.0.0/loaders.cache</filename>, where <application>gdk-pixbuf</application> looks for it by default. If it is written to some other
location, the environment variable <link linkend="GDK_PIXBUF_MODULE_FILE"><envar>GDK_PIXBUF_MODULE_FILE</envar></link>
can be set to point <application>gdk-pixbuf</application> at the file.
</para>
</refsect1>
<refsect1><title>Options</title>
<variablelist>
<varlistentry>
<term>--update-cache</term>
<listitem><para>Write the output to the default cache location instead of
<filename>stdout</filename></para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1><title>Environment</title>
@@ -16,12 +16,12 @@ a #GdkPixbufModuleFillVtableFunc function named
<para>
In order to make format-checking work before actually loading the modules
(which may require dlopening image libraries), modules export their
(which may require dlopening image libraries), modules export their
signatures (and other information) via the <function>fill_info</function>
function. An external utility, <command>gdk-pixbuf-query-loaders</command>,
uses this to create a text file containing a list of all available loaders and
function. An external utility, <command>gdk-pixbuf-query-loaders-3.0</command>,
uses this to create a text file containing a list of all available loaders and
their signatures. This file is then read at runtime by &gdk-pixbuf; to obtain
the list of available loaders and their signatures.
the list of available loaders and their signatures.
</para>
<para>
@@ -30,21 +30,21 @@ Modules may only implement a subset of the functionality available via
<function>fill_vtable</function> function will simply not set the corresponding
function pointers of the #GdkPixbufModule structure. If a module supports
incremental loading (i.e. provides #begin_load, #stop_load and
#load_increment), it doesn't have to implement #load, since &gdk-pixbuf; can
supply a generic #load implementation wrapping the incremental loading.
#load_increment), it doesn't have to implement #load, since &gdk-pixbuf; can
supply a generic #load implementation wrapping the incremental loading.
</para>
<para>
Installing a module is a two-step process:
<itemizedlist>
<listitem><para>copy the module file(s) to the loader directory (normally
<filename><replaceable>libdir</replaceable>/gtk-2.0/<replaceable>version</replaceable>/loaders</filename>,
<filename><replaceable>libdir</replaceable>/gtk-3.0/<replaceable>version</replaceable>/loaders</filename>,
unless overridden by the environment variable
<envar>GDK_PIXBUF_MODULEDIR</envar>)
<envar>GDK_PIXBUF_MODULEDIR</envar>)
</para></listitem>
<listitem><para>call <command>gdk-pixbuf-query-loaders</command> to update the
<listitem><para>call <command>gdk-pixbuf-query-loaders-3.0</command> to update the
module file (normally
<filename><replaceable>sysconfdir</replaceable>/gtk-2.0/gdk-pixbuf.loaders</filename>,
<filename><replaceable>libdir</replaceable>/gtk-3.0/<replaceable>version</replaceable>/loaders.cache</filename>,
unless overridden by the environment variable
<envar>GDK_PIXBUF_MODULE_FILE</envar>)
</para></listitem>
@@ -52,11 +52,11 @@ unless overridden by the environment variable
</para>
<para>
The &gdk-pixbuf; interfaces needed for implementing modules are contained in
The &gdk-pixbuf; interfaces needed for implementing modules are contained in
<filename>gdk-pixbuf-io.h</filename> (and
<filename>gdk-pixbuf-animation.h</filename> if the module supports animations).
They are not covered by the same stability guarantees as the regular
&gdk-pixbuf; API. To underline this fact, they are protected by
They are not covered by the same stability guarantees as the regular
&gdk-pixbuf; API. To underline this fact, they are protected by
<literal>#ifdef GDK_PIXBUF_ENABLE_BACKEND</literal>.
</para>
@@ -188,7 +188,7 @@ use the <function>gdk_pixbuf_format_*</function> functions.
image format.
@flags: a combination of #GdkPixbufFormatFlags.
@disabled: a boolean determining whether the loader is disabled.
@license: a string containing license information, typically set to
@license: a string containing license information, typically set to
shorthands like "GPL", "LGPL", etc.
@Since: 2.2
@@ -208,21 +208,21 @@ operations.
<!-- ##### STRUCT GdkPixbufModulePattern ##### -->
<para>
The signature of a module is a set of prefixes. Prefixes are encoded as
pairs of ordinary strings, where the second string, called the mask, if
not %NULL, must be of the same length as the first one and may contain
' ', '!', 'x', 'z', and 'n' to indicate bytes that must be matched,
not matched, "don't-care"-bytes, zeros and non-zeros.
Each prefix has an associated integer that describes the relevance of
pairs of ordinary strings, where the second string, called the mask, if
not %NULL, must be of the same length as the first one and may contain
' ', '!', 'x', 'z', and 'n' to indicate bytes that must be matched,
not matched, "don't-care"-bytes, zeros and non-zeros.
Each prefix has an associated integer that describes the relevance of
the prefix, with 0 meaning a mismatch and 100 a "perfect match".
</para>
<para>
Starting with &gdk-pixbuf; 2.8, the first byte of the mask may be '*',
indicating an unanchored pattern that matches not only at the beginning,
Starting with &gdk-pixbuf; 2.8, the first byte of the mask may be '*',
indicating an unanchored pattern that matches not only at the beginning,
but also in the middle. Versions prior to 2.8 will interpret the '*'
like an 'x'.
like an 'x'.
</para>
<para>
The signature of a module is stored as an array of
The signature of a module is stored as an array of
#GdkPixbufModulePattern<!-- -->s. The array is terminated by a pattern
where the @prefix is %NULL.
</para>
@@ -234,7 +234,7 @@ GdkPixbufModulePattern *signature[] = {
{ NULL, NULL, 0 }
};
</programlisting>
The example matches e.g. "auud\0" with relevance 100, and "blau" with
The example matches e.g. "auud\0" with relevance 100, and "blau" with
relevance 90.</informalexample>
@prefix: the prefix for this pattern
@@ -245,8 +245,8 @@ relevance 90.</informalexample>
<!-- ##### USER_FUNCTION GdkPixbufModuleFillVtableFunc ##### -->
<para>
Defines the type of the function used to set the vtable of a
#GdkPixbufModule when it is loaded.
Defines the type of the function used to set the vtable of a
#GdkPixbufModule when it is loaded.
</para>
@module: a #GdkPixbufModule.
@@ -255,7 +255,7 @@ Defines the type of the function used to set the vtable of a
<!-- ##### USER_FUNCTION GdkPixbufModuleFillInfoFunc ##### -->
<para>
Defines the type of the function used to fill a
Defines the type of the function used to fill a
#GdkPixbufFormat structure with information about a module.
</para>
@@ -265,19 +265,19 @@ Defines the type of the function used to fill a
<!-- ##### USER_FUNCTION GdkPixbufModuleSizeFunc ##### -->
<para>
Defines the type of the function that gets called once the size
Defines the type of the function that gets called once the size
of the loaded image is known.
</para>
<para>
The function is expected to set @width and @height to the desired
size to which the image should be scaled. If a module has no efficient
size to which the image should be scaled. If a module has no efficient
way to achieve the desired scaling during the loading of the image, it may
either ignore the size request, or only approximate it -- &gdk-pixbuf; will
then perform the required scaling on the completely loaded image.
then perform the required scaling on the completely loaded image.
</para>
<para>
If the function sets @width or @height to zero, the module should interpret
this as a hint that it will be closed soon and shouldn't allocate further
this as a hint that it will be closed soon and shouldn't allocate further
resources. This convention is used to implement gdk_pixbuf_get_file_info()
efficiently.
</para>
@@ -290,11 +290,11 @@ efficiently.
<!-- ##### USER_FUNCTION GdkPixbufModulePreparedFunc ##### -->
<para>
Defines the type of the function that gets called once the initial
Defines the type of the function that gets called once the initial
setup of @pixbuf is done.
</para>
<para>
#GdkPixbufLoader uses a function of this type to emit the
#GdkPixbufLoader uses a function of this type to emit the
"<link linkend="GdkPixbufLoader-area-prepared">area_prepared</link>"
signal.
</para>
@@ -311,7 +311,7 @@ Defines the type of the function that gets called every time a region
of @pixbuf is updated.
</para>
<para>
#GdkPixbufLoader uses a function of this type to emit the
#GdkPixbufLoader uses a function of this type to emit the
"<link linkend="GdkPixbufLoader-area-updated">area_updated</link>"
signal.
</para>
@@ -327,14 +327,14 @@ signal.
<!-- ##### STRUCT GdkPixbufModule ##### -->
<para>
A #GdkPixbufModule contains the necessary functions to load and save
images in a certain file format.
A #GdkPixbufModule contains the necessary functions to load and save
images in a certain file format.
</para>
<para>
A #GdkPixbufModule can be loaded dynamically from a #GModule.
Each loadable module must contain a #GdkPixbufModuleFillVtableFunc function
Each loadable module must contain a #GdkPixbufModuleFillVtableFunc function
named <function>fill_vtable</function>, which will get called when the module
is loaded and must set the function pointers of the #GdkPixbufModule.
is loaded and must set the function pointers of the #GdkPixbufModule.
</para>
@module_name: the name of the module, usually the same as the
@@ -353,8 +353,8 @@ is loaded and must set the function pointers of the #GdkPixbufModule.
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
<para>
Modules supporting animations must derive a type from
#GdkPixbufAnimation, providing suitable implementations of the
Modules supporting animations must derive a type from
#GdkPixbufAnimation, providing suitable implementations of the
virtual functions.
</para>
@@ -366,17 +366,17 @@ virtual functions.
<!-- ##### STRUCT GdkPixbufAnimationIterClass ##### -->
<para>
Modules supporting animations must derive a type from
#GdkPixbufAnimationIter, providing suitable implementations of the
Modules supporting animations must derive a type from
#GdkPixbufAnimationIter, providing suitable implementations of the
virtual functions.
</para>
@parent_class: the parent class
@get_delay_time: returns the time in milliseconds that the current frame
@get_delay_time: returns the time in milliseconds that the current frame
should be shown.
@get_pixbuf: returns the current frame.
@on_currently_loading_frame: returns whether the current frame of @iter is
@on_currently_loading_frame: returns whether the current frame of @iter is
being loaded.
@advance: advances the iterator to @current_time, possibly changing the
@advance: advances the iterator to @current_time, possibly changing the
current frame.
+4 -40
View File
@@ -53,7 +53,7 @@
<xi:include href="xml/threads.xml" />
<xi:include href="xml/input.xml" />
<xi:include href="xml/input_devices.xml" />
<xi:include href="xml/gdkdevicemanager.xml" />
<xi:include href="xml/pango_interaction.xml" />
<xi:include href="xml/cairo_interaction.xml" />
@@ -72,45 +72,9 @@
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-2" role="2.2">
<title>Index of new symbols in 2.2</title>
<xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-4" role="2.4">
<title>Index of new symbols in 2.4</title>
<xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-6" role="2.6">
<title>Index of new symbols in 2.6</title>
<xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-8" role="2.8">
<title>Index of new symbols in 2.8</title>
<xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-10" role="2.10">
<title>Index of new symbols in 2.10</title>
<xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-12" role="2.12">
<title>Index of new symbols in 2.12</title>
<xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-14" role="2.14">
<title>Index of new symbols in 2.14</title>
<xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-16" role="2.16">
<title>Index of new symbols in 2.16</title>
<xi:include href="xml/api-index-2.16.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-18" role="2.18">
<title>Index of new symbols in 2.18</title>
<xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-20" role="2.20">
<title>Index of new symbols in 2.20</title>
<xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include>
<index id="api-index-3-0" role="3.0">
<title>Index of new symbols in 3.0</title>
<xi:include href="xml/api-index-3.0.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+109 -37
View File
@@ -10,7 +10,6 @@ gdk_parse_args
gdk_get_display_arg_name
gdk_set_locale
gdk_set_sm_client_id
gdk_exit
gdk_notify_startup_complete
gdk_notify_startup_complete_with_id
@@ -45,10 +44,6 @@ gdk_keyboard_ungrab
<SUBSECTION>
gdk_beep
<SUBSECTION>
gdk_get_use_xshm
gdk_set_use_xshm
<SUBSECTION>
gdk_error_trap_push
gdk_error_trap_pop
@@ -56,6 +51,8 @@ gdk_error_trap_pop
<SUBSECTION>
GDK_WINDOWING_X11
GDK_WINDOWING_WIN32
GDK_WINDOWING_QUARTZ
GDK_WINDOWING_DIRECTFB
<SUBSECTION Standard>
GDK_TYPE_GRAB_STATUS
@@ -80,6 +77,7 @@ gdk_filter_return_get_type
gdk_font_type_get_type
gdk_function_get_type
gdk_gc_values_mask_get_type
gdk_grab_ownership_get_type
gdk_grab_status_get_type
gdk_gravity_get_type
gdk_image_type_get_type
@@ -109,8 +107,7 @@ gdk_window_type_get_type
gdk_window_type_hint_get_type
gdk_wm_decoration_get_type
gdk_wm_function_get_type
gdk_pointer_grab_info_libgtk_only
gdk_keyboard_grab_info_libgtk_only
gdk_device_grab_info_libgtk_only
gdk_add_option_entries_libgtk_only
gdk_pre_parse_libgtk_only
</SECTION>
@@ -125,9 +122,11 @@ gdk_display_get_name
gdk_display_get_n_screens
gdk_display_get_screen
gdk_display_get_default_screen
gdk_display_get_device_manager
gdk_display_pointer_ungrab
gdk_display_keyboard_ungrab
gdk_display_pointer_is_grabbed
gdk_display_device_is_grabbed
gdk_display_beep
gdk_display_sync
gdk_display_flush
@@ -140,10 +139,15 @@ gdk_display_add_client_message_filter
gdk_display_set_double_click_time
gdk_display_set_double_click_distance
gdk_display_get_pointer
gdk_display_get_device_state
gdk_display_get_window_at_pointer
gdk_display_get_window_at_device_position
GdkDisplayPointerHooks
gdk_display_set_pointer_hooks
GdkDisplayDeviceHooks
gdk_display_set_device_hooks
gdk_display_warp_pointer
gdk_display_warp_device
gdk_display_supports_cursor_color
gdk_display_supports_cursor_alpha
gdk_display_get_default_cursor_size
@@ -283,6 +287,15 @@ gdk_image_new
GdkImageType
gdk_image_get_colormap
gdk_image_set_colormap
gdk_image_get_bits_per_pixel
gdk_image_get_bytes_per_pixel
gdk_image_get_bytes_per_line
gdk_image_get_byte_order
gdk_image_get_depth
gdk_image_get_height
gdk_image_get_image_type
gdk_image_get_visual
gdk_image_get_width
<SUBSECTION>
gdk_image_put_pixel
@@ -328,7 +341,6 @@ gdk_rgb_set_install
gdk_rgb_set_min_colors
gdk_rgb_get_visual
gdk_rgb_get_colormap
gdk_rgb_get_cmap
gdk_rgb_ditherable
gdk_rgb_colormap_ditherable
gdk_rgb_set_verbose
@@ -353,27 +365,16 @@ gdk_pixbuf_get_from_image
GdkColor
GdkColormap
gdk_colormap_new
gdk_colormap_ref
gdk_colormap_unref
gdk_colormap_get_system
gdk_colormap_get_system_size
gdk_colormap_change
gdk_colormap_alloc_colors
gdk_colormap_alloc_color
gdk_colormap_free_colors
gdk_colormap_query_color
gdk_colormap_get_visual
gdk_colormap_get_screen
gdk_colors_store
gdk_color_copy
gdk_color_free
gdk_colors_alloc
gdk_colors_free
gdk_color_white
gdk_color_black
gdk_color_parse
gdk_color_alloc
gdk_color_change
gdk_color_equal
gdk_color_hash
gdk_color_to_string
@@ -573,7 +574,14 @@ GdkByteOrder
gdk_query_depths
gdk_query_visual_types
gdk_list_visuals
gdk_visual_get_bits_per_rgb
gdk_visual_get_blue_pixel_details
gdk_visual_get_byte_order
gdk_visual_get_colormap_size
gdk_visual_get_depth
gdk_visual_get_green_pixel_details
gdk_visual_get_red_pixel_details
gdk_visual_get_visual_type
gdk_visual_get_best_depth
gdk_visual_get_best_type
gdk_visual_get_system
@@ -613,8 +621,6 @@ GdkWindowAttr
GdkWindowAttributesType
gdk_window_new
gdk_window_destroy
gdk_window_ref
gdk_window_unref
gdk_window_get_window_type
gdk_window_at_pointer
gdk_window_show
@@ -623,6 +629,8 @@ gdk_window_hide
gdk_window_is_destroyed
gdk_window_is_visible
gdk_window_is_viewable
gdk_window_is_input_only
gdk_window_is_shaped
gdk_window_get_state
gdk_window_withdraw
gdk_window_iconify
@@ -637,6 +645,7 @@ gdk_window_set_keep_above
gdk_window_set_keep_below
gdk_window_set_opacity
gdk_window_set_composited
gdk_window_get_composited
gdk_window_move
gdk_window_resize
gdk_window_move_resize
@@ -648,7 +657,6 @@ gdk_window_reparent
gdk_window_clear
gdk_window_clear_area
gdk_window_clear_area_e
gdk_window_copy_area
gdk_window_raise
gdk_window_lower
gdk_window_restack
@@ -682,7 +690,9 @@ gdk_window_configure_finished
gdk_window_set_user_data
gdk_window_set_override_redirect
gdk_window_set_accept_focus
gdk_window_get_accept_focus
gdk_window_set_focus_on_map
gdk_window_get_focus_on_map
gdk_window_add_filter
gdk_window_remove_filter
GdkFilterFunc
@@ -697,19 +707,20 @@ gdk_window_input_shape_combine_region
gdk_window_set_child_input_shapes
gdk_window_merge_child_input_shapes
gdk_window_set_static_gravities
gdk_window_set_hints
gdk_window_set_title
gdk_window_set_background
gdk_window_get_background
gdk_window_set_back_pixmap
gdk_window_get_back_pixmap
GDK_PARENT_RELATIVE
gdk_window_set_cursor
gdk_window_get_cursor
gdk_window_set_colormap
gdk_window_get_user_data
gdk_window_get_geometry
gdk_window_set_geometry_hints
gdk_window_set_icon_list
gdk_window_set_modal_hint
gdk_window_get_modal_hint
gdk_window_set_type_hint
gdk_window_get_type_hint
gdk_window_set_skip_taskbar_hint
@@ -718,14 +729,11 @@ gdk_window_set_urgency_hint
gdk_window_get_position
gdk_window_get_root_origin
gdk_window_get_frame_extents
gdk_window_get_size
gdk_window_get_visual
gdk_window_get_colormap
gdk_window_get_type
gdk_window_get_origin
gdk_window_get_deskrelative_origin
gdk_window_get_root_coords
gdk_window_get_pointer
gdk_window_get_device_position
GdkModifierType
gdk_window_get_parent
gdk_window_get_toplevel
@@ -745,9 +753,16 @@ gdk_window_get_decorations
GdkWMDecoration
gdk_window_set_functions
GdkWMFunction
gdk_window_get_toplevels
gdk_get_default_root_window
<SUBSECTION>
gdk_window_get_support_multidevice
gdk_window_set_support_multidevice
gdk_window_get_device_cursor
gdk_window_set_device_cursor
gdk_window_get_device_events
gdk_window_set_device_events
<SUBSECTION>
GdkPointerHooks
gdk_set_pointer_hooks
@@ -759,6 +774,10 @@ gdk_offscreen_window_get_embedder
gdk_window_geometry_changed
gdk_window_redirect_to_drawable
gdk_window_remove_redirection
gdk_window_coords_from_parent
gdk_window_coords_to_parent
gdk_window_get_effective_parent
gdk_window_get_effective_toplevel
<SUBSECTION Standard>
GDK_WINDOW
@@ -785,6 +804,10 @@ gdk_window_object_get_type
gdk_drawable_get_type
GdkWindowObject
GdkWindowObjectClass
GdkWindowImpl
GdkWindowImplIface
GdkWindowRedirect
gdk_window_impl_get_type
gdk_window_freeze_toplevel_updates_libgtk_only
gdk_window_thaw_toplevel_updates_libgtk_only
</SECTION>
@@ -1013,20 +1036,40 @@ gdk_keymap_get_type
</SECTION>
<SECTION>
<TITLE>Input Devices</TITLE>
<FILE>input_devices</FILE>
<TITLE>GdkDeviceManager</TITLE>
<FILE>gdkdevicemanager</FILE>
GdkDeviceManager
GdkDevice
GdkDeviceType
GdkInputSource
GdkInputMode
GdkDeviceKey
GdkDeviceAxis
GdkAxisUse
gdk_devices_list
GdkGrabOwnership
gdk_enable_multidevice
gdk_device_manager_get_display
gdk_device_manager_list_devices
<SUBSECTION>
gdk_device_get_name
gdk_device_set_source
gdk_device_get_source
gdk_device_set_mode
gdk_device_get_mode
gdk_device_set_key
gdk_device_get_key
gdk_device_set_axis_use
gdk_device_get_core_pointer
gdk_device_get_axis_use
gdk_device_get_associated_device
gdk_device_get_device_type
gdk_device_get_display
gdk_device_get_has_cursor
gdk_device_get_n_axes
<SUBSECTION>
gdk_device_grab
gdk_device_ungrab
<SUBSECTION>
gdk_device_get_state
@@ -1034,16 +1077,30 @@ gdk_device_get_history
gdk_device_free_history
GdkTimeCoord
gdk_device_get_axis
gdk_device_list_axes
gdk_device_get_axis_value
<SUBSECTION>
gdk_input_set_extension_events
GdkExtensionMode
<SUBSECTION>
gdk_devices_list
gdk_device_get_core_pointer
<SUBSECTION Standard>
GDK_TYPE_AXIS_USE
GDK_TYPE_EXTENSION_MODE
GDK_TYPE_INPUT_MODE
GDK_TYPE_INPUT_SOURCE
GDK_TYPE_DEVICE_TYPE
GDK_TYPE_GRAB_OWNERSHIP
GDK_DEVICE_MANAGER
GDK_DEVICE_MANAGER_CLASS
GDK_DEVICE_MANAGER_GET_CLASS
GDK_IS_DEVICE_MANAGER
GDK_IS_DEVICE_MANAGER_CLASS
GDK_TYPE_DEVICE_MANAGER
GDK_DEVICE
GDK_DEVICE_CLASS
GDK_DEVICE_GET_CLASS
@@ -1053,7 +1110,12 @@ GDK_TYPE_DEVICE
<SUBSECTION Private>
GdkDeviceClass
GdkDevicePrivate
GdkDeviceManagerClass
GdkDeviceManagerPrivate
gdk_device_get_type
gdk_device_manager_get_type
gdk_device_type_get_type
GDK_MAX_TIMECOORD_AXES
</SECTION>
@@ -1081,6 +1143,9 @@ gdk_event_get_axis
gdk_event_get_coords
gdk_event_get_root_coords
gdk_event_request_motions
gdk_events_get_angle
gdk_events_get_center
gdk_events_get_distance
<SUBSECTION>
gdk_event_handler_set
@@ -1097,6 +1162,8 @@ gdk_get_show_events
gdk_set_show_events
gdk_event_set_screen
gdk_event_get_screen
gdk_event_get_device
gdk_event_set_device
<SUBSECTION>
gdk_setting_get
@@ -1174,7 +1241,6 @@ gdk_cursor_get_display
gdk_cursor_get_image
gdk_cursor_ref
gdk_cursor_unref
gdk_cursor_destroy
<SUBSECTION Standard>
GDK_TYPE_CURSOR_TYPE
@@ -1217,6 +1283,12 @@ GdkDragContext
GdkDragAction
gdk_drag_status
gdk_drag_drop_succeeded
gdk_drag_context_get_action
gdk_drag_context_get_actions
gdk_drag_context_get_suggested_action
gdk_drag_context_list_targets
gdk_drag_context_get_device
gdk_drag_context_set_device
<SUBSECTION Standard>
GDK_DRAG_CONTEXT
@@ -1238,7 +1310,6 @@ gdk_drag_context_get_type
<TITLE>X Window System Interaction</TITLE>
<FILE>x_interaction</FILE>
GDK_ROOT_WINDOW
GDK_ROOT_PARENT
GDK_DISPLAY
GDK_WINDOW_XDISPLAY
GDK_WINDOW_XID
@@ -1264,7 +1335,6 @@ GDK_GC_XGC
GDK_GC_GET_XGC
GDK_WINDOW_XWINDOW
gdkx_visual_get
gdkx_colormap_get
gdk_pixmap_foreign_new
gdk_pixmap_foreign_new_for_display
gdk_pixmap_foreign_new_for_screen
@@ -1330,6 +1400,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
</SECTION>
<SECTION>
+2
View File
@@ -9,3 +9,5 @@ gdk_pango_renderer_get_type
gdk_pixmap_get_type
gdk_gc_get_type
gdk_keymap_get_type
gdk_device_get_type
gdk_device_manager_get_type
+1
View File
@@ -0,0 +1 @@
windows.sgml
+1 -111
View File
@@ -32,10 +32,7 @@ directly.
In previous revisions of this interface, a number
of functions that take a #GdkColormap parameter
were replaced with functions whose names began
with "gdk_colormap_". This process will probably
be extended somewhat in the future -
gdk_color_white(), gdk_color_black(), and
gdk_color_change() will probably become aliases.
with "gdk_colormap_".
</para>
<!-- ##### SECTION See_Also ##### -->
@@ -68,12 +65,6 @@ allocated or unallocated color.
The colormap structure contains the following public fields.
</para>
@size: For pseudo-color colormaps, the number of colors
in the colormap.
@colors: An array containing the current values in the
colormap. This can be used to map from pixel values
back to RGB values. This is only meaningful for
pseudo-color colormaps.
<!-- ##### FUNCTION gdk_colormap_new ##### -->
<para>
@@ -84,23 +75,6 @@ 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>
@@ -109,22 +83,6 @@ 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>
@@ -185,15 +143,6 @@ The colormap structure contains the following public fields.
@Returns:
<!-- ##### FUNCTION gdk_colors_store ##### -->
<para>
</para>
@colormap:
@colors:
@ncolors:
<!-- ##### FUNCTION gdk_color_copy ##### -->
<para>
</para>
@@ -209,47 +158,6 @@ The colormap structure contains the following public fields.
@color:
<!-- ##### FUNCTION gdk_colors_alloc ##### -->
<para>
</para>
@colormap:
@contiguous:
@planes:
@nplanes:
@pixels:
@npixels:
@Returns:
<!-- ##### FUNCTION gdk_colors_free ##### -->
<para>
</para>
@colormap:
@pixels:
@npixels:
@planes:
<!-- ##### FUNCTION gdk_color_white ##### -->
<para>
</para>
@colormap:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_black ##### -->
<para>
</para>
@colormap:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_parse ##### -->
<para>
</para>
@@ -259,24 +167,6 @@ The colormap structure contains the following public fields.
@Returns:
<!-- ##### FUNCTION gdk_color_alloc ##### -->
<para>
</para>
@colormap:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_change ##### -->
<para>
</para>
@colormap:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_equal ##### -->
<para>
</para>
-1
View File
@@ -39,7 +39,6 @@ gdk_window_set_cursor() or by setting the cursor member of the
A <type>GdkCursor</type> structure represents a cursor.
</para>
@type: the #GdkCursorType of the cursor
<!-- ##### ENUM GdkCursorType ##### -->
<para>
+54 -10
View File
@@ -170,16 +170,6 @@ drag in progress. It is used on both source and destination sides.
</para>
@parent_instance: the parent instance
@protocol: the DND protocol which governs this drag.
@is_source: %TRUE if the context is used on the source side.
@source_window: the source of this drag.
@dest_window: the destination window of this drag.
@targets: a list of targets offered by the source.
@actions: a bitmask of actions proposed by the source when
@suggested_action is %GDK_ACTION_ASK.
@suggested_action: the action suggested by the source.
@action: the action chosen by the destination.
@start_time: a timestamp recording the start time of this drag.
<!-- ##### ENUM GdkDragAction ##### -->
<para>
@@ -215,3 +205,57 @@ should do with the dropped data.
@Returns:
<!-- ##### FUNCTION gdk_drag_context_get_action ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_get_actions ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_get_suggested_action ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_list_targets ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_get_device ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_context_set_device ##### -->
<para>
</para>
@context:
@device:
+1 -1
View File
@@ -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()
or gdk_window_copy_area(), was completely available.
, was completely available.
</para>
<para>
FIXME: add more here.
+52
View File
@@ -278,6 +278,40 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
@event:
<!-- ##### FUNCTION gdk_events_get_angle ##### -->
<para>
</para>
@event1:
@event2:
@angle:
@Returns:
<!-- ##### FUNCTION gdk_events_get_center ##### -->
<para>
</para>
@event1:
@event2:
@x:
@y:
@Returns:
<!-- ##### FUNCTION gdk_events_get_distance ##### -->
<para>
</para>
@event1:
@event2:
@distance:
@Returns:
<!-- ##### FUNCTION gdk_event_handler_set ##### -->
<para>
</para>
@@ -367,6 +401,24 @@ gdk_event_handler_set().
@Returns:
<!-- ##### FUNCTION gdk_event_get_device ##### -->
<para>
</para>
@event:
@Returns:
<!-- ##### FUNCTION gdk_event_set_device ##### -->
<para>
</para>
@event:
@device:
<!-- ##### FUNCTION gdk_setting_get ##### -->
<para>
</para>
+82
View File
@@ -50,6 +50,13 @@ of an X display. All its fields are private and should not be accessed directly.
@gdkdisplay: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GdkDisplay::opened ##### -->
<para>
</para>
@gdkdisplay: the object which received the signal.
<!-- ##### FUNCTION gdk_display_open ##### -->
<para>
@@ -105,6 +112,15 @@ of an X display. All its fields are private and should not be accessed directly.
@Returns:
<!-- ##### FUNCTION gdk_display_get_device_manager ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_pointer_ungrab ##### -->
<para>
@@ -132,6 +148,16 @@ of an X display. All its fields are private and should not be accessed directly.
@Returns:
<!-- ##### FUNCTION gdk_display_device_is_grabbed ##### -->
<para>
</para>
@display:
@device:
@Returns:
<!-- ##### FUNCTION gdk_display_beep ##### -->
<para>
@@ -241,6 +267,19 @@ of an X display. All its fields are private and should not be accessed directly.
@mask:
<!-- ##### FUNCTION gdk_display_get_device_state ##### -->
<para>
</para>
@display:
@device:
@screen:
@x:
@y:
@mask:
<!-- ##### FUNCTION gdk_display_get_window_at_pointer ##### -->
<para>
@@ -252,6 +291,18 @@ of an X display. All its fields are private and should not be accessed directly.
@Returns:
<!-- ##### FUNCTION gdk_display_get_window_at_device_position ##### -->
<para>
</para>
@display:
@device:
@win_x:
@win_y:
@Returns:
<!-- ##### STRUCT GdkDisplayPointerHooks ##### -->
<para>
A table of pointers to functions for getting quantities related to
@@ -285,6 +336,25 @@ Applications should never have any reason to use this facility
@Returns:
<!-- ##### STRUCT GdkDisplayDeviceHooks ##### -->
<para>
</para>
@get_device_state:
@window_get_device_position:
@window_at_device_position:
<!-- ##### FUNCTION gdk_display_set_device_hooks ##### -->
<para>
</para>
@display:
@new_hooks:
@Returns:
<!-- ##### FUNCTION gdk_display_warp_pointer ##### -->
<para>
@@ -296,6 +366,18 @@ Applications should never have any reason to use this facility
@y:
<!-- ##### FUNCTION gdk_display_warp_device ##### -->
<para>
</para>
@display:
@device:
@screen:
@x:
@y:
<!-- ##### FUNCTION gdk_display_supports_cursor_color ##### -->
<para>
+8 -42
View File
@@ -109,20 +109,6 @@ 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>
@@ -341,33 +327,6 @@ 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
@@ -405,7 +364,14 @@ Removes the X error trap installed with gdk_error_trap_push().
<!-- ##### MACRO GDK_WINDOWING_X11 ##### -->
<para>
This macro is defined if GDK is configured to use the X backend.
This macro is defined if GDK is configured to use the X11 backend.
</para>
<!-- ##### MACRO GDK_WINDOWING_WIN32 ##### -->
<para>
This macro is defined if GDK is configured to use the win32 backend.
</para>
+81 -11
View File
@@ -66,17 +66,6 @@ The #GdkImage struct contains information on the image and the pixel data.
</para>
@parent_instance: the parent instance
@type: the type of the image.
@visual: the visual.
@byte_order: the byte order.
@width: the width of the image in pixels.
@height: the height of the image in pixels.
@depth: the depth of the image, i.e. the number of bits per pixel.
@bpp: the number of bytes per pixel.
@bpl: the number of bytes per line of the image.
@bits_per_pixel: the number of bits per pixel.
@mem: the pixel data.
@colormap: the #GdkColormap associated with the image
<!-- ##### FUNCTION gdk_image_new ##### -->
<para>
@@ -125,6 +114,87 @@ 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_put_pixel ##### -->
<para>
Sets a pixel in a #GdkImage to a given pixel value.
-309
View File
@@ -1,309 +0,0 @@
<!-- ##### SECTION Title ##### -->
Input Devices
<!-- ##### SECTION Short_Description ##### -->
Functions for handling extended input devices
<!-- ##### SECTION Long_Description ##### -->
<para>
In addition to the normal keyboard and mouse input devices, GTK+ also
contains support for <firstterm>extended input devices</firstterm>. In
particular, this support is targeted at graphics tablets. Graphics
tablets typically return sub-pixel positioning information and possibly
information about the pressure and tilt of the stylus. Under
X, the support for extended devices is done through the
<firstterm>XInput</firstterm> extension.
</para>
<para>
Because handling extended input devices may involve considerable
overhead, they need to be turned on for each #GdkWindow
individually using gdk_input_set_extension_events().
(Or, more typically, for GtkWidgets, using gtk_widget_set_extension_events()).
As an additional complication, depending on the support from
the windowing system, its possible that a normal mouse
cursor will not be displayed for a particular extension
device. If an application does not want to deal with displaying
a cursor itself, it can ask only to get extension events
from devices that will display a cursor, by passing the
%GDK_EXTENSION_EVENTS_CURSOR value to
gdk_input_set_extension_events(). Otherwise, the application
must retrieve the device information using gdk_devices_list(),
check the <structfield>has_cursor</structfield> field, and,
if it is %FALSE, draw a cursor itself when it receives
motion events.
</para>
<para>
Each pointing device is assigned a unique integer ID; events from a
particular device can be identified by the
<structfield>deviceid</structfield> field in the event structure. The
events generated by pointer devices have also been extended to contain
<structfield>pressure</structfield>, <structfield>xtilt</structfield>
and <structfield>ytilt</structfield> fields which contain the extended
information reported as additional <firstterm>valuators</firstterm>
from the device. The <structfield>pressure</structfield> field is a
a double value ranging from 0.0 to 1.0, while the tilt fields are
double values ranging from -1.0 to 1.0. (With -1.0 representing the
maximum tilt to the left or up, and 1.0 representing the maximum
tilt to the right or down.)
</para>
<para>
One additional field in each event is the
<structfield>source</structfield> field, which contains an
enumeration value describing the type of device; this currently
can be one of %GDK_SOURCE_MOUSE, %GDK_SOURCE_PEN, %GDK_SOURCE_ERASER,
or %GDK_SOURCE_CURSOR. This field is present to allow simple
applications to (for instance) delete when they detect eraser
devices without having to keep track of complicated per-device
settings.
</para>
<para>
Various aspects of each device may be configured.
The configuration of devices is queried using gdk_devices_list().
Each device must be activated using gdk_device_set_mode(), which
also controls whether the device's range is mapped to the
entire screen or to a single window. The mapping of the valuators of
the device onto the predefined valuator types is set using
gdk_device_set_axis_use(). And the source type for each device
can be set with gdk_device_set_source().
</para>
<para>
Devices may also have associated <firstterm>keys</firstterm>
or macro buttons. Such keys can be globally set to map
into normal X keyboard events. The mapping is set using
gdk_device_set_key().
</para>
<para>
The interfaces in this section will most likely be considerably
modified in the future to accomodate devices that may have different
sets of additional valuators than the pressure <structfield>xtilt</structfield>
and <structfield>ytilt</structfield>.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### 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
@name: the name of this device.
@source: the type of this device.
@mode: the mode of this device
@has_cursor: %TRUE if the pointer follows device motion.
@num_axes: the length of the @axes array.
@axes: an array of #GdkDeviceAxis, describing the axes of this device.
@num_keys: the length of the @keys array.
@keys: an array of #GdkDeviceKey, describing the mapped macro buttons
of this device.
<!-- ##### ENUM GdkInputSource ##### -->
<para>
An enumeration describing the type of an input device
in general terms.
</para>
@GDK_SOURCE_MOUSE: the device is a mouse. (This will be reported for the core
pointer, even if it is something else, such as a trackball.)
@GDK_SOURCE_PEN: the device is a stylus of a graphics tablet or similar device.
@GDK_SOURCE_ERASER: the device is an eraser. Typically, this would be the other end
of a stylus on a graphics tablet.
@GDK_SOURCE_CURSOR: the device is a graphics tablet "puck" or similar device.
<!-- ##### ENUM GdkInputMode ##### -->
<para>
An enumeration that describes the mode of an input device.
</para>
@GDK_MODE_DISABLED: the device is disabled and will not report any events.
@GDK_MODE_SCREEN: the device is enabled. The device's coordinate space
maps to the entire screen.
@GDK_MODE_WINDOW: the device is enabled. The device's coordinate space
is mapped to a single window. The manner in which this window
is chosen is undefined, but it will typically be the same
way in which the focus window for key events is determined.
<!-- ##### STRUCT GdkDeviceKey ##### -->
<para>
The <structname>GdkDeviceKey</structname> structure contains information
about the mapping of one device macro button onto a normal X key event.
It has the following fields:
</para>
@keyval: the keyval to generate when the macro button is pressed.
If this is 0, no keypress will be generated.
@modifiers: the modifiers set for the generated key event.
<!-- ##### STRUCT GdkDeviceAxis ##### -->
<para>
The <structname>GdkDeviceAxis</structname> structure contains information
about the range and mapping of a device axis.
</para>
@use: specifies how the axis is used.
@min: the minimal value that will be reported by this axis.
@max: the maximal value that will be reported by this axis.
<!-- ##### ENUM GdkAxisUse ##### -->
<para>
An enumeration describing the way in which a device
axis (valuator) maps onto the predefined valuator
types that GTK+ understands.
</para>
@GDK_AXIS_IGNORE: the axis is ignored.
@GDK_AXIS_X: the axis is used as the x axis.
@GDK_AXIS_Y: the axis is used as the y axis.
@GDK_AXIS_PRESSURE: the axis is used for pressure information.
@GDK_AXIS_XTILT: the axis is used for x tilt information.
@GDK_AXIS_YTILT: the axis is used for x tilt information.
@GDK_AXIS_WHEEL: the axis is used for wheel information.
@GDK_AXIS_LAST: a constant equal to the numerically highest axis value.
<!-- ##### FUNCTION gdk_devices_list ##### -->
<para>
</para>
@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.
+1 -1
View File
@@ -24,7 +24,7 @@ pixel can be either on or off).
<!-- ##### SECTION Image ##### -->
<!-- ##### TYPEDEF GdkPixmap ##### -->
<!-- ##### STRUCT GdkPixmap ##### -->
<para>
An opaque structure representing an offscreen drawable.
Pointers to structures of type #GdkPixmap, #GdkBitmap,
+1 -1
View File
@@ -48,7 +48,7 @@ data commonly stored in X window properties.
<!-- ##### SECTION Image ##### -->
<!-- ##### TYPEDEF GdkAtom ##### -->
<!-- ##### STRUCT GdkAtom ##### -->
<para>
An opaque type representing a string as an index into a table
of strings on the X server.
+78 -36
View File
@@ -78,42 +78,6 @@ pixel_from_rgb (GdkVisual *visual,
</example>
@parent_instance: inherited portion from #GObject
@type: The type of this visual.
@depth: The number of bits per pixel.
@byte_order: The byte-order for this visual.
@colormap_size: The number of entries in the colormap, for
visuals of type %GDK_VISUAL_PSEUDO_COLOR or
%GDK_VISUAL_GRAY_SCALE. For other visual types, it
is the number of possible levels per color component.
If the visual has different numbers of levels for
different components, the value of this field is undefined.
@bits_per_rgb: The number of significant bits per red, green, or blue
when specifying colors for this visual. (For instance, for
gdk_colormap_alloc_color())
@red_mask: A mask giving the bits in a pixel value that
correspond to the red field. Significant only for
%GDK_VISUAL_PSEUDOCOLOR and %GDK_VISUAL_DIRECTCOLOR.
@red_shift: The <structfield>red_shift</structfield> and
<structfield>red_prec</structfield> give an alternate presentation
of the information in <structfield>red_mask</structfield>.
<structfield>red_mask</structfield> is a contiguous sequence
of <structfield>red_prec</structfield> bits starting at bit
number <structfield>red_shift</structfield>. For example,
<xref linkend="rgbmask"/> shows constructing a pixel value
out of three 16 bit color values.
@red_prec: See above.
@green_mask: A mask giving the bits in a pixel value that
correspond to the green field.
@green_shift: The <structfield>green_shift</structfield> and
<structfield>green_prec</structfield> give an alternate presentation
of the information in <structfield>green_mask</structfield>.
@green_prec: See above.
@blue_mask: A mask giving the bits in a pixel value that
correspond to the blue field.
@blue_shift: The <structfield>blue_shift</structfield> and
<structfield>blue_prec</structfield> give an alternate presentation
of the information in <structfield>blue_mask</structfield>.
@blue_prec: See above.
<!-- ##### ENUM GdkVisualType ##### -->
<para>
@@ -178,6 +142,84 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
@Returns:
<!-- ##### FUNCTION gdk_visual_get_bits_per_rgb ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_blue_pixel_details ##### -->
<para>
</para>
@visual:
@mask:
@shift:
@precision:
<!-- ##### FUNCTION gdk_visual_get_byte_order ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_colormap_size ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_depth ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_green_pixel_details ##### -->
<para>
</para>
@visual:
@mask:
@shift:
@precision:
<!-- ##### FUNCTION gdk_visual_get_red_pixel_details ##### -->
<para>
</para>
@visual:
@mask:
@shift:
@precision:
<!-- ##### FUNCTION gdk_visual_get_visual_type ##### -->
<para>
</para>
@visual:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_best_depth ##### -->
<para>
File diff suppressed because it is too large Load Diff
@@ -27,13 +27,6 @@ Obtains the Xlib window id of the root window of the current screen.
<!-- ##### MACRO GDK_ROOT_PARENT ##### -->
<para>
Obtains the Xlib window id of the root window of the default screen.
</para>
<!-- ##### MACRO GDK_DISPLAY ##### -->
<para>
The current display.
@@ -256,14 +249,6 @@ Another name for GDK_DRAWABLE_XID().
@Returns:
<!-- ##### FUNCTION gdkx_colormap_get ##### -->
<para>
</para>
@xcolormap:
@Returns:
<!-- ##### FUNCTION gdk_pixmap_foreign_new ##### -->
<para>
+25 -25
View File
@@ -120,27 +120,12 @@ content_files = \
version.xml \
running.sgml \
building.sgml \
changes-1.2.sgml \
changes-2.0.sgml \
compiling.sgml \
directfb.sgml \
drawing-model.xml \
glossary.xml \
migrating-2to3.xml \
migrating-checklist.sgml \
migrating-ClientSideWindows.sgml \
migrating-GtkAboutDialog.sgml \
migrating-GtkAction.sgml \
migrating-GtkAssistant.sgml \
migrating-GtkBuilder.sgml \
migrating-GtkColorButton.sgml \
migrating-GtkComboBox.sgml \
migrating-GtkEntry-icons.sgml \
migrating-GtkFileChooser.sgml \
migrating-GtkIconView.sgml \
migrating-GtkLabel-links.sgml \
migrating-GtkLinkButton.sgml \
migrating-GtkRecentChooser.sgml \
migrating-GtkTooltip.sgml \
objects_grouped.sgml \
osx.sgml \
question_index.sgml \
@@ -157,6 +142,7 @@ content_files = \
expand_content_files = \
drawing-model.xml \
glossary.xml \
migrating-2to3.xml \
migrating-checklist.sgml \
migrating-ClientSideWindows.sgml \
migrating-GtkAction.sgml \
@@ -365,24 +351,38 @@ EXTRA_DIST += version.xml.in
########################################################################
if ENABLE_MAN
man_MANS = \
gtk-query-immodules-3.0.1 \
gtk-update-icon-cache-3.0.1 \
gtk-builder-convert-3.0.1
%.1 : %.xml
if ENABLE_MAN
.xml.1:
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
BUILT_EXTRA_DIST = $(man_MANS)
dist-local-check-mans-enabled:
if grep "Man generation disabled" $(man_MANS) >/dev/null; then $(RM) $(man_MANS); fi
else
$(man_MANS):
echo Man generation disabled. Creating dummy $@. Configure with --enable-man to enable it.
echo Man generation disabled. Remove this file, configure with --enable-man, and rebuild > $@
dist-local-check-mans-enabled:
echo "*** --enable-man must be used in order to make dist"
false
endif
dist-hook-local: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
MAINTAINERCLEANFILES = $(man_MANS) $(BUILT_SOURCES)
EXTRA_DIST += $(man_MANS)
dist-hook-local: dist-local-check-mans-enabled gtk-docs-clean all-local
gtk-docs-clean: clean
cd $(srcdir) && rm -rf xml html
-include $(top_srcdir)/git.mk
+256 -246
View File
@@ -49,12 +49,12 @@ How to compile GTK+ itself
of the tools are already included in the source packages. But
it's useful to know a bit about how packages that use these
tools work. A source package is distributed as a
<literal>tar.gz</literal> or <literal>tar.bz2</literal> file
<literal>tar.gz</literal> or <literal>tar.bz2</literal> file
which you unpack into a directory full of the source files as follows:
</para>
<programlisting>
tar xvfz gtk+-2.0.0.tar.gz
tar xvfj gtk+-2.0.0.tar.bz2
tar xvfz gtk+-3.0.0.tar.gz
tar xvfj gtk+-3.0.0.tar.bz2
</programlisting>
<para>
In the toplevel of the directory that is created, there will be
@@ -103,7 +103,7 @@ How to compile GTK+ itself
a search path that <command>pkg-config</command> (see below)
uses when looking for for file describing how to compile
programs using different libraries. If you were installing GTK+
and it's dependencies into <filename>/opt/gtk</filename>, you
and it's dependencies into <filename>/opt/gtk</filename>, you
might want to set these variables as:
</para>
<programlisting>
@@ -137,30 +137,26 @@ How to compile GTK+ itself
</para>
<itemizedlist>
<listitem>
<para>
<ulink
url="http://www.freedesktop.org/software/pkgconfig">pkg-config</ulink>
is a tool for tracking the compilation flags needed for
libraries that are used by the GTK+ libraries. (For each
library, a small <literal>.pc</literal> text file is installed
in a standard location that contains the compilation flags
needed for that library along with version number information.)
The version of <command>pkg-config</command> needed to build
GTK+ is mirrored in the <filename>dependencies</filename> directory
on the <ulink url="ftp://ftp.gtk.org/pub/gtk/">GTK+ FTP
site.</ulink>
</para>
<para>
<ulink
url="http://pkg-config.freedesktop.org">pkg-config</ulink>
is a tool for tracking the compilation flags needed for
libraries that are used by the GTK+ libraries. (For each
library, a small <literal>.pc</literal> text file is installed
in a standard location that contains the compilation flags
needed for that library along with version number information.)
</para>
</listitem>
<listitem>
<para>
The GTK+ makefiles will mostly work with different versions
of <command>make</command>, however, there tends to be
a few incompatibilities, so the GTK+ team recommends
installing <ulink url="http://www.gnu.org/software/make">GNU
make</ulink> if you don't already have it on your system
and using it. (It may be called <command>gmake</command>
rather than <command>make</command>.)
</para>
<para>
The GTK+ makefiles will mostly work with different versions
of <command>make</command>, however, there tends to be
a few incompatibilities, so the GTK+ team recommends
installing <ulink url="http://www.gnu.org/software/make">GNU
make</ulink> if you don't already have it on your system
and using it. (It may be called <command>gmake</command>
rather than <command>make</command>.)
</para>
</listitem>
</itemizedlist>
<para>
@@ -170,106 +166,105 @@ How to compile GTK+ itself
</para>
<itemizedlist>
<listitem>
<para>
The GLib library provides core non-graphical functionality
such as high level data types, Unicode manipulation, and
an object and type system to C programs. It is available
from the <ulink url="ftp://ftp.gtk.org/pub/glib/">GTK+
FTP site.</ulink>
</para>
<para>
The GLib library provides core non-graphical functionality
such as high level data types, Unicode manipulation, and
an object and type system to C programs. It is available
from the <ulink url="ftp://ftp.gtk.org/pub/glib/">GTK+
FTP site.</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.pango.org">Pango</ulink> is a library
for internationalized text handling. It is available from
the <ulink url="ftp://ftp.gtk.org/pub/pango/">GTK+ FTP
site.</ulink>.
</para>
<para>
<ulink url="http://www.pango.org">Pango</ulink> is a library
for internationalized text handling. It is available from
the <ulink url="ftp://ftp.gtk.org/pub/pango/">GTK+ FTP
site.</ulink>.
</para>
</listitem>
<listitem>
<para>
ATK is the Accessibility Toolkit. It provides a set of generic
interfaces allowing accessibility technologies such as
screen readers to interact with a graphical user interface.
It is available from the <ulink
url="ftp://ftp.gtk.org/pub/atk/">GTK+ FTP site.</ulink>
</para>
<para>
ATK is the Accessibility Toolkit. It provides a set of generic
interfaces allowing accessibility technologies such as
screen readers to interact with a graphical user interface.
It is available from the <ulink
url="ftp://ftp.gtk.org/pub/atk/">GTK+ FTP site.</ulink>
</para>
</listitem>
<listitem>
<para>
The <ulink url="http://www.gnu.org/software/libiconv/">GNU
libiconv library</ulink> is needed to build GLib if your
system doesn't have the <function>iconv()</function>
function for doing conversion between character
encodings. Most modern systems should have
<function>iconv()</function>.
</para>
<para>
The <ulink url="http://www.gnu.org/software/libiconv/">GNU
libiconv library</ulink> is needed to build GLib if your
system doesn't have the <function>iconv()</function>
function for doing conversion between character
encodings. Most modern systems should have
<function>iconv()</function>.
</para>
</listitem>
<listitem>
<para>
The libintl library from the <ulink
url="http://www.gnu.org/software/gettext/">GNU gettext
package</ulink> is needed if your system doesn't have the
<function>gettext()</function> functionality for handling
message translation databases.
</para>
<para>
The libintl library from the <ulink
url="http://www.gnu.org/software/gettext/">GNU gettext
package</ulink> is needed if your system doesn't have the
<function>gettext()</function> functionality for handling
message translation databases.
</para>
</listitem>
<listitem>
<para>
The <ulink
url="ftp://ftp.uu.net/graphics/jpeg/">JPEG</ulink>,
<ulink url="http://www.libpng.org">PNG</ulink>, and
<ulink url="http://www.libtiff.org">TIFF</ulink> image
loading libraries are needed to compile GTK+. You probably
already have these libraries installed, but if not, the
versions you need are available in the
<para>
The <ulink url="http://en.wikipedia.org/wiki/Libjpeg">JPEG</ulink>,
<ulink url="http://www.libpng.org">PNG</ulink>, and
<ulink url="http://www.libtiff.org">TIFF</ulink> image
loading libraries are needed to compile GTK+. You probably
already have these libraries installed, but if not, the
versions you need are available in the
<filename>dependencies</filename> directory on the the
<ulink url="ftp://ftp.gtk.org/pub/gtk/v2.6/dependencies/">GTK+
FTP site.</ulink>. (Before installing these libraries
from source, you should check if your operating system
vendor has prebuilt packages of these libraries that you
don't have installed.)
</para>
<ulink url="ftp://ftp.gtk.org/pub/gtk/v2.10/dependencies/">GTK+
FTP site.</ulink>. (Before installing these libraries
from source, you should check if your operating system
vendor has prebuilt packages of these libraries that you
don't have installed.)
</para>
</listitem>
<listitem>
<para>
The libraries from the X window system are needed to build
Pango and GTK+. You should already have these installed on
your system, but it's possible that you'll need to install
the development environment for these libraries that your
operating system vendor provides.
</para>
<para>
The libraries from the X window system are needed to build
Pango and GTK+. You should already have these installed on
your system, but it's possible that you'll need to install
the development environment for these libraries that your
operating system vendor provides.
</para>
</listitem>
<listitem>
<para>
The <ulink url="http://www.fontconfig.org">fontconfig</ulink>
library provides Pango with a standard way of locating
fonts and matching them against font names.
</para>
<para>
The <ulink url="http://www.fontconfig.org">fontconfig</ulink>
library provides Pango with a standard way of locating
fonts and matching them against font names.
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.cairographics.org">Cairo</ulink>
<para>
<ulink url="http://www.cairographics.org">Cairo</ulink>
is a graphics library that supports vector graphics and image
compositing. Both Pango and GTK+ use cairo for much of their
drawing.
</para>
</listitem>
<listitem>
<para>
<ulink url="http://live.gnome.org/GObjectIntrospection">gobject-introspection</ulink>
<para>
<ulink url="http://live.gnome.org/GObjectIntrospection">gobject-introspection</ulink>
is a framework for making introspection data available to
language bindings.
</para>
</listitem>
<listitem>
<para>
The <ulink url="http://www.freedesktop.org/wiki/Software/shared-mime-info">shared-mime-info</ulink>
package is not a hard dependency of GTK+, but it contains definitions
for mime types that are used by GIO and, indirectly, by GTK+.
gdk-pixbuf will use GIO for mime type detection if possible. For this
to work, shared-mime-info needs to be installed and
<envar>XDG_DATA_DIRS</envar> set accordingly at configure time.
The <ulink url="http://www.freedesktop.org/wiki/Software/shared-mime-info">shared-mime-info</ulink>
package is not a hard dependency of GTK+, but it contains definitions
for mime types that are used by GIO and, indirectly, by GTK+.
gdk-pixbuf will use GIO for mime type detection if possible. For this
to work, shared-mime-info needs to be installed and
<envar>XDG_DATA_DIRS</envar> set accordingly at configure time.
Otherwise, gdk-pixbuf falls back to its built-in mime type detection.
</para>
</listitem>
@@ -281,7 +276,7 @@ How to compile GTK+ itself
First make sure that you have the necessary external
dependencies installed: <command>pkg-config</command>, GNU make,
the JPEG, PNG, and TIFF libraries, FreeType, and, if necessary,
libiconv and libintl. To get detailed information about building
libiconv and libintl. To get detailed information about building
these packages, see the documentation provided with the
individual packages.
On a Linux system, it's quite likely you'll have all of these
@@ -294,7 +289,7 @@ How to compile GTK+ itself
<literal>make install</literal> mentioned above. If you're
lucky, this will all go smoothly, and you'll be ready to
<link linkend="gtk-compiling">start compiling your own GTK+
applications</link>. You can test your GTK+ installation
applications</link>. You can test your GTK+ installation
by running the <command>gtk-demo</command> program that
GTK+ installs.
</para>
@@ -315,123 +310,127 @@ How to compile GTK+ itself
<title>Extra Configuration Options</title>
<para>
In addition to the normal options, the
<command>configure</command> script for the GTK+ library
supports a number of additional arguments. (Command line
arguments for the other GTK+ libraries are described in
the documentation distributed with the those libraries.)
In addition to the normal options, the
<command>configure</command> script for the GTK+ library
supports a number of additional arguments. (Command line
arguments for the other GTK+ libraries are described in
the documentation distributed with the those libraries.)
<cmdsynopsis>
<command>configure</command>
<cmdsynopsis>
<command>configure</command>
<group>
<arg>--disable-modules</arg>
<arg>--enable-modules</arg>
</group>
<group>
<arg>--with-included-loaders==LOADER1,LOADER2,...</arg>
</group>
<group>
<arg>--with-included-immodules=MODULE1,MODULE2,...</arg>
</group>
<group>
<arg>--enable-debug=[no|minimum|yes]</arg>
</group>
<group>
<arg>--disable-visibility</arg>
<arg>--enable-visibility</arg>
</group>
<arg>--disable-modules</arg>
<arg>--enable-modules</arg>
</group>
<group>
<arg>--disable-shm</arg>
<arg>--enable-shm</arg>
</group>
<arg>--with-included-loaders==LOADER1,LOADER2,...</arg>
</group>
<group>
<arg>--disable-xim</arg>
<arg>--enable-xim</arg>
</group>
<arg>--with-included-immodules=MODULE1,MODULE2,...</arg>
</group>
<group>
<arg>--disable-xim-inst</arg>
<arg>--enable-xim-inst</arg>
</group>
<arg>--enable-debug=[no|minimum|yes]</arg>
</group>
<group>
<arg>--disable-xkb</arg>
<arg>--enable-xkb</arg>
</group>
<arg>--disable-visibility</arg>
<arg>--enable-visibility</arg>
</group>
<group>
<arg>--disable-xinerama</arg>
<arg>--enable-xinerama</arg>
</group>
<group>
<arg>--disable-gtk-doc</arg>
<arg>--enable-gtk-doc</arg>
</group>
<group>
<arg>--disable-cups</arg>
<arg>--enable-cups</arg>
</group>
<arg>--disable-shm</arg>
<arg>--enable-shm</arg>
</group>
<group>
<arg>--disable-xim</arg>
<arg>--enable-xim</arg>
</group>
<group>
<arg>--disable-xim-inst</arg>
<arg>--enable-xim-inst</arg>
</group>
<group>
<arg>--disable-xkb</arg>
<arg>--enable-xkb</arg>
</group>
<group>
<arg>--disable-xinerama</arg>
<arg>--enable-xinerama</arg>
</group>
<group>
<arg>--disable-gtk-doc</arg>
<arg>--enable-gtk-doc</arg>
</group>
<group>
<arg>--disable-cups</arg>
<arg>--enable-cups</arg>
</group>
<group>
<arg>--disable-papi</arg>
<arg>--enable-papi</arg>
</group>
<group>
<arg>--with-xinput=[no|yes]</arg>
</group>
<group>
<arg>--with-gdktarget=[x11|win32|quartz|directfb]</arg>
</group>
<group>
<arg>--disable-introspection</arg>
<arg>--with-gdktarget=[x11|win32|quartz|directfb]</arg>
</group>
</cmdsynopsis>
<group>
<arg>--disable-introspection</arg>
</group>
</cmdsynopsis>
</para>
<formalpara>
<title><systemitem>--disable-modules</systemitem> and
<systemitem>--enable-modules</systemitem></title>
<title><systemitem>--disable-modules</systemitem> and
<systemitem>--enable-modules</systemitem></title>
<para>
Normally GTK+ will try to build the GdkPixbuf image file
format loaders as little shared libraries that are loaded on
demand. The <systemitem>--disable-modules</systemitem>
argument indicates that they should all be built statically
into the GTK+ library instead. This is useful for
people who need to produce statically-linked binaries. If
neither <systemitem>--disable-modules</systemitem> nor
<systemitem>--enable-modules</systemitem> is specified, then
the <command>configure</command> script will try to
auto-detect whether shared modules work on your system.
</para>
<para>
Normally GTK+ will try to build the GdkPixbuf image file
format loaders as little shared libraries that are loaded on
demand. The <systemitem>--disable-modules</systemitem>
argument indicates that they should all be built statically
into the GTK+ library instead. This is useful for
people who need to produce statically-linked binaries. If
neither <systemitem>--disable-modules</systemitem> nor
<systemitem>--enable-modules</systemitem> is specified, then
the <command>configure</command> script will try to
auto-detect whether shared modules work on your system.
</para>
</formalpara>
<formalpara>
<title><systemitem>--with-included-loaders</systemitem></title>
<title><systemitem>--with-included-loaders</systemitem></title>
<para>
<para>
This option allows you to specify which image loaders you
want to include; for example, you might include only the PNG
loader to create a smaller GdkPixbuf binary.
</para>
</para>
</formalpara>
<formalpara>
<title><systemitem>--with-included-immodules</systemitem></title>
<title><systemitem>--with-included-immodules</systemitem></title>
<para>
<para>
This option allows you to specify which input method modules you
want to include.
</para>
want to include.
</para>
</formalpara>
<formalpara>
<title><systemitem>--enable-debug</systemitem></title>
<para>
Turns on various amounts of debugging support. Setting this to 'no'
disables g_assert(), g_return_if_fail(), g_return_val_if_fail() and
Turns on various amounts of debugging support. Setting this to 'no'
disables g_assert(), g_return_if_fail(), g_return_val_if_fail() and
all cast checks between different object types. Setting it to 'minimum'
disables only cast checks. Setting it to 'yes' enables
<link linkend="GTK-Debug-Options">runtime debugging</link>.
disables only cast checks. Setting it to 'yes' enables
<link linkend="GTK-Debug-Options">runtime debugging</link>.
The default is 'minimum'.
Note that 'no' is fast, but dangerous as it tends to destabilize
even mostly bug-free software by changing the effect of many bugs
from simple warnings into fatal crashes. Thus
<option>--enable-debug=no</option> should <emphasis>not</emphasis>
Note that 'no' is fast, but dangerous as it tends to destabilize
even mostly bug-free software by changing the effect of many bugs
from simple warnings into fatal crashes. Thus
<option>--enable-debug=no</option> should <emphasis>not</emphasis>
be used for stable releases of GTK+.
</para>
</formalpara>
@@ -443,7 +442,7 @@ How to compile GTK+ itself
The option <systemitem>--disable-visibility</systemitem>
turns off the use of ELF visibility attributes for linking
optimizations. This makes sense while changing GTK+ itself,
since the way in which GTK+ uses visibility attributes
since the way in which GTK+ uses visibility attributes
forces a full rebuild of all source files for any header
modification.
</para>
@@ -453,33 +452,33 @@ How to compile GTK+ itself
<title><systemitem>--enable-explicit-deps</systemitem> and
<systemitem>--disable-explicit-deps</systemitem></title>
<para>
If <systemitem>--enable-explicit-deps</systemitem> is
specified then GTK+ will write the full set of libraries
that GTK+ depends upon into its <literal>.pc</literal> files to be used when
programs depending on GTK+ are linked. Otherwise, GTK+
only will include the GTK+ libraries themselves, and
will depend on system library dependency facilities to
bring in the other libraries.
By default GTK+ will disable explicit dependencies unless
it detects that they are needed on the system. (If you
specify <systemitem>--enable-static</systemitem> to force
building of static libraries, then explicit dependencies
will be written since library dependencies don't work
for static libraries.) Specifying
<systemitem>--enable-explicit-deps</systemitem> or
<systemitem>--enable-static</systemitem> can cause
compatibility
problems when libraries that GTK+ depends upon change
their versions, and should be avoided if possible.
If <systemitem>--enable-explicit-deps</systemitem> is
specified then GTK+ will write the full set of libraries
that GTK+ depends upon into its <literal>.pc</literal> files to be used when
programs depending on GTK+ are linked. Otherwise, GTK+
only will include the GTK+ libraries themselves, and
will depend on system library dependency facilities to
bring in the other libraries.
By default GTK+ will disable explicit dependencies unless
it detects that they are needed on the system. (If you
specify <systemitem>--enable-static</systemitem> to force
building of static libraries, then explicit dependencies
will be written since library dependencies don't work
for static libraries.) Specifying
<systemitem>--enable-explicit-deps</systemitem> or
<systemitem>--enable-static</systemitem> can cause
compatibility
problems when libraries that GTK+ depends upon change
their versions, and should be avoided if possible.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-shm</systemitem> and
<systemitem>--enable-shm</systemitem></title>
<para>
These options can be used to control whether GTK+ will use shared
These options can be used to control whether GTK+ will use shared
memory to communicate with the X server when possible.
The default is 'yes'.
</para>
@@ -488,44 +487,44 @@ How to compile GTK+ itself
<formalpara>
<title><systemitem>--disable-xim</systemitem> and
<systemitem>--enable-xim</systemitem></title>
<para>
These options can be used to control whether GTK+ will
These options can be used to control whether GTK+ will
be compiled with support for XIM. (The X Input Method
extension, used for Japanese input.) The default is yes.
extension, used for Japanese input.) The default is yes.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-xim-inst</systemitem> and
<systemitem>--enable-xim-inst</systemitem></title>
<para>
These options determine whether GTK+ will use the
XIM instantiate callback.
These options determine whether GTK+ will use the
XIM instantiate callback.
The default is 'yes', unless the host system is Solaris,
where <function>XRegisterIMInstantiateCallback()</function>
seems to cause a segfault.
where <function>XRegisterIMInstantiateCallback()</function>
seems to cause a segfault.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-xkb</systemitem> and
<systemitem>--enable-xkb</systemitem></title>
<para>
By default the <command>configure</command> script will try
to auto-detect whether the XKB extension is supported by
By default the <command>configure</command> script will try
to auto-detect whether the XKB extension is supported by
the X libraries GTK+ is linked with.
These options can be used to explicitly control whether
GTK+ will support the XKB extension.
GTK+ will support the XKB extension.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-xinerama</systemitem> and
<systemitem>--enable-xinerama</systemitem></title>
<para>
By default the <command>configure</command> script will try
to link against the Xinerama libraries if they are found.
@@ -535,29 +534,29 @@ How to compile GTK+ itself
</formalpara>
<formalpara>
<title><systemitem>--disable-gtk-doc</systemitem> and
<systemitem>--enable-gtk-doc</systemitem></title>
<title><systemitem>--disable-gtk-doc</systemitem> and
<systemitem>--enable-gtk-doc</systemitem></title>
<para>
The <application>gtk-doc</application> package is
used to generate the reference documentation included
with GTK+. By default support for <application>gtk-doc</application>
is disabled because it requires various extra dependencies
to be installed. If you have
<application>gtk-doc</application> installed and
are modifying GTK+, you may want to enable
<application>gtk-doc</application> support by passing
in <systemitem>--enable-gtk-doc</systemitem>. If not
enabled, pre-generated HTML files distributed with GTK+
will be installed.
</para>
<para>
The <application>gtk-doc</application> package is
used to generate the reference documentation included
with GTK+. By default support for <application>gtk-doc</application>
is disabled because it requires various extra dependencies
to be installed. If you have
<application>gtk-doc</application> installed and
are modifying GTK+, you may want to enable
<application>gtk-doc</application> support by passing
in <systemitem>--enable-gtk-doc</systemitem>. If not
enabled, pre-generated HTML files distributed with GTK+
will be installed.
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-cups</systemitem> and
<systemitem>--enable-cups</systemitem></title>
<title><systemitem>--disable-cups</systemitem> and
<systemitem>--enable-cups</systemitem></title>
<para>
<para>
By default the <command>configure</command> script will try
to build the cups print backend if the cups libraries are found.
These options can be used to explicitly control whether
@@ -565,30 +564,41 @@ How to compile GTK+ itself
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-papi</systemitem> and
<systemitem>--enable-papi</systemitem></title>
<para>
By default the <command>configure</command> script will try
to build the papi print backend if the papi libraries are found.
These options can be used to explicitly control whether
the papi print backend should be built.
</para>
</formalpara>
<formalpara>
<title><systemitem>--with-xinput</systemitem></title>
<para>
Controls whether GTK+ is built with support for the XInput
extension. The XInput extension provides an interface
to extended input devices such as graphics tablets.
When this support is compiled in, specially written
GTK+ programs can get access to subpixel positions,
multiple simultaneous input devices, and extra "axes"
provided by the device such as pressure and tilt
information. This is only known to work well on XFree86
systems, though other systems do have this extension.
Controls whether GTK+ is built with support for the XInput
or XInput2 extension. These extensions provide an extended
interface to input devices such as graphics tablets.
When this support is compiled in, specially written
GTK+ programs can get access to subpixel positions,
multiple simultaneous input devices, and extra "axes"
provided by the device such as pressure and tilt
information.
</para>
</formalpara>
<formalpara>
<title><systemitem>--with-gdktarget</systemitem></title>
<title><systemitem>--with-gdktarget</systemitem></title>
<para>
Toggles between the supported backends for GDK.
<para>
Toggles between the supported backends for GDK.
The default is x11, unless the platform is Windows, in which
case the default is win32. Other supported backends are
case the default is win32. Other supported backends are
the quartz backend for OS X, and the DirectFB backend
for the Linux framebuffer.
</para>
</para>
</formalpara>
<formalpara>
<title><systemitem>--disable-introspection</systemitem></title>
-464
View File
@@ -1,464 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<refentry id="gtk-changes-1-2" revision="1 Jan 2002">
<refmeta>
<refentrytitle>Changes from 1.0 to 1.2</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>Changes from 1.0 to 1.2</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Changes from 1.0 to 1.2</refname>
<refpurpose>
Incompatible changes made between version 1.0 and version 1.2
</refpurpose>
</refnamediv>
<refsect1>
<title>Incompatible changes from 1.0 to 1.2</title>
<itemizedlist>
<listitem>
<para>
<structname>GtkAcceleratorTable</structname> has been replaced with
<structname>GtkAccelGroup</structname>.
</para>
</listitem>
<listitem>
<para>
<structname>GtkMenuFactory</structname> has been replaced with
<structname>GtkItemFactory</structname>, although
a version of <structname>GtkMenuFactory</structname> is currently still
provided to ease the migration phase.
</para>
</listitem>
<listitem>
<para>
The <structname>GtkTypeInfo</structname> structures used in the
<function>gtk_*_type_init()</function> functions have
changed a bit, the old format:
<programlisting>
GtkTypeInfo bin_info =
{
"GtkBin",
sizeof (GtkBin),
sizeof (GtkBinClass),
(GtkClassInitFunc) gtk_bin_class_init,
(GtkObjectInitFunc) gtk_bin_init,
(GtkArgSetFunc) NULL,
(GtkArgGetFunc) NULL,
};
</programlisting>
needs to be converted to:
<programlisting>
static const GtkTypeInfo bin_info =
{
"GtkBin",
sizeof (GtkBin),
sizeof (GtkBinClass),
(GtkClassInitFunc) gtk_bin_class_init,
(GtkObjectInitFunc) gtk_bin_init,
/* reserved_1 */ NULL,
/* reserved_2 */ NULL,
(GtkClassInitFunc) NULL,
};
</programlisting>
the <function>GtkArgSetFunc</function> and <function>GtkArgGetFunc</function>
functions are not supported from the type system anymore, and you should make
sure that your code only fills in these fields with <literal>NULL</literal>
and doesn't use the deprecated function typedefs
<literal>(GtkArgSetFunc)</literal> and <literal>(GtkArgGetFunc)</literal>
anymore.
</para>
</listitem>
<listitem>
<para>
A number of GTK+ functions were renamed. For compatibility,
<filename>gtkcompat.h</filename> #define's the old 1.0.x function names in
terms of the new names. To assure your GTK+ program doesn't rely on outdated
function variants, compile your program with
<option>-DGTK_DISABLE_COMPAT_H</option> to disable
the compatibility aliases.
Here is the list of the old names and replacements:
<informaltable>
<tgroup cols="2">
<thead>
<row><entry>Old</entry><entry>Replacement</entry></row>
</thead>
<tbody>
<row><entry><function>gtk_accel_label_accelerator_width</function></entry><entry><function>gtk_accel_label_get_accel_width</function></entry></row>
<row><entry><function>gtk_check_menu_item_set_state</function></entry><entry><function>gtk_check_menu_item_set_active</function></entry></row>
<row><entry><function>gtk_container_border_width</function></entry><entry><function>gtk_container_set_border_width</function></entry></row>
<row><entry><function>gtk_label_set</function></entry><entry><function>gtk_label_set_text</function></entry></row>
<row><entry><function>gtk_notebook_current_page</function></entry><entry><function>gtk_notebook_get_current_page</function></entry></row>
<row><entry><function>gtk_packer_configure</function></entry><entry><function>gtk_packer_set_child_packing</function></entry></row>
<row><entry><function>gtk_paned_gutter_size</function></entry><entry><function>gtk_paned_set_gutter_size</function></entry></row>
<row><entry><function>gtk_paned_handle_size</function></entry><entry><function>gtk_paned_set_handle_size</function></entry></row>
<row><entry><function>gtk_scale_value_width</function></entry><entry><function>gtk_scale_get_value_width</function></entry></row>
<row><entry><function>gtk_style_apply_default_pixmap</function></entry><entry><function>gtk_style_apply_default_background</function></entry></row>
<row><entry><function>gtk_toggle_button_set_state</function></entry><entry><function>gtk_toggle_button_set_active</function></entry></row>
<row><entry><function>gtk_window_position</function></entry><entry><function>gtk_window_set_position</function></entry></row>
</tbody>
</tgroup>
</informaltable>
Note that <function>gtk_style_apply_default_background()</function> has an
additional argument, <literal>set_bg</literal>. This parameter should be
<literal>FALSE</literal> if the background is being set for a
<literal>NO_WINDOW</literal> widget, otherwise <literal>TRUE</literal>.
</para>
</listitem>
<listitem>
<para>
During the development phase of the 1.1.x line of GTK+ certain functions
were deprecated and later removed. Functions affected are:
<informaltable>
<tgroup cols="2">
<thead>
<row><entry>Removed</entry><entry>Replacement</entry></row>
</thead>
<tbody>
<row><entry><function>gtk_clist_set_border</function></entry><entry><function>gtk_clist_set_shadow_type</function></entry></row>
<row><entry><function>gtk_container_block_resize</function></entry><entry><function>gtk_container_set_resize_mode</function></entry></row>
<row><entry><function>gtk_container_unblock_resize</function></entry><entry><function>gtk_container_set_resize_mode</function></entry></row>
<row><entry><function>gtk_container_need_resize</function></entry><entry><function>gtk_container_check_resize</function></entry></row>
<row><entry><function>gtk_ctree_show_stub</function></entry><entry><function>gtk_ctree_set_show_stub</function></entry></row>
<row><entry><function>gtk_ctree_set_reorderable</function></entry><entry><function>gtk_clist_set_reorderable</function></entry></row>
<row><entry><function>gtk_ctree_set_use_drag_icons</function></entry><entry><function>gtk_clist_set_use_drag_icons</function></entry></row>
<row><entry><function>gtk_entry_adjust_scroll</function></entry><entry><function>-</function></entry></row>
<row><entry><function>gtk_object_class_add_user_signal</function></entry><entry><function>gtk_object_class_user_signal_new</function></entry></row>
<row><entry><function>gtk_preview_put_row</function></entry><entry><function>gtk_preview_put</function></entry></row>
<row><entry><function>gtk_progress_bar_construct</function></entry><entry><function>gtk_progress_set_adjustment</function></entry></row>
<row><entry><function>gtk_scrolled_window_construct</function></entry><entry><function>gtk_scrolled_window_set_{h|v}adjustment</function></entry></row>
<row><entry><function>gtk_spin_button_construct</function></entry><entry><function>gtk_spin_button_configure</function></entry></row>
<row><entry><function>gtk_widget_thaw_accelerators</function></entry><entry><function>gtk_widget_unlock_accelerators</function></entry></row>
<row><entry><function>gtk_widget_freeze_accelerators</function></entry><entry><function>gtk_widget_lock_accelerators</function></entry></row>
</tbody>
</tgroup>
</informaltable>
Note that <function>gtk_entry_adjust_scroll()</function> is no longer needed
as <structname>GtkEntry</structname> should automatically keep the scroll
adjusted properly.
</para>
</listitem>
<listitem>
<para>
Additionally, all <function>gtk_*_interp()</function> functions were removed.
<function>gtk_*_full()</function> versions were provided as of GTK+ 1.0 and
should be used instead.
</para>
</listitem>
<listitem>
<para>
<structname>GtkButton</structname> has been changed to derive from
<structname>GtkBin</structname>.
To access a button's child, use <literal>GTK_BIN (button)-&gt;child</literal>,
instead of the old <literal>GTK_BUTTON (button)-&gt;child</literal>.
</para>
</listitem>
<listitem>
<para>
The selection API has been slightly modified:
<function>gtk_selection_add_handler()</function> and
<function>gtk_selection_add_handler_full()</function>
have been removed. To supply the selection, one now registers
the targets one is interested in with:
<programlisting>
void gtk_selection_add_target (GtkWidget *widget,
GdkAtom selection,
GdkAtom target,
guint info);
</programlisting>
or:
<programlisting>
void gtk_selection_add_targets (GtkWidget *widget,
GdkAtom selection,
GtkTargetEntry *targets,
guint ntargets);
</programlisting>
When a request for a selection is received, the new "selection_get"
signal will be called:
<programlisting>
void "selection_get" (GtkWidget *widget,
GtkSelectionData *selection_data,
guint info,
guint time);
</programlisting>
A "time" parameter has also been added to the "selection_received"
signal.
<programlisting>
void "selection_received" (GtkWidget *widget,
GtkSelectionData *selection_data,
guint time);
</programlisting>
</para>
</listitem>
<listitem>
<para>
The old drag and drop API has been completely removed and replaced.
See the reference documentation for details on the new API.
</para>
</listitem>
<listitem>
<para>
Support for Themes has been added. In general, this does
not affect application code, however, a few new rules should
be observed:
<itemizedlist>
<listitem>
<para>To set a shape for a window, you must use
<function>gtk_widget_shape_combine_mask()</function> instead of
<function>gdk_window_shape_combine_mask()</function>, or the shape will be
reset when switching themes.
</para>
</listitem>
<listitem>
<para>It is no longer permissable to draw directly on an arbitrary
widget, or to set an arbitrary widget's background pixmap.
If you need to do that, use a <structname>GtkDrawingArea</structname> or
(for a toplevel) a <structname>GtkWindow</structname> where
<function>gtk_widget_set_app_paintable()</function>
has been called.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
The <structname>GtkScrolledWindow</structname> widget no longer creates a
<structname>GtkViewport</structname> automatically. Instead, it has been
generalized to accept any "self-scrolling" widget.
</para>
<para>
The self-scrolling widgets in the GTK+ core are
<structname>GtkViewport</structname>,
<structname>GtkCList</structname>, <structname>GtkCTree</structname>,
<structname>GtkText</structname>, and <structname>GtkLayout</structname>.
All of these widgets can be added to a scrolled window as normal children with
<function>gtk_container_add()</function> and scrollbars will be set up
automatically.
</para>
<para>
To add scrollbars to a non self-scrolling widget, (such as a
<structname>GtkList</structname>),
first add it to a viewport, then add the viewport to a scrolled window.
The scrolled window code provides a convenience function to do this:
<programlisting>
void gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrollwin,
GtkWidget *child);
</programlisting>
This does exactly what it says - it creates a viewport, adds the child
widget to it, then adds the viewport to the scrolled window.
</para>
<para>
The scrollbars have been removed from the <structname>GtkCList</structname>
and <structname>GtkCTree</structname>, because they are now scrolled by simply
adding them to a scrolled window. The scrollbar policy is set on the scrolled
window with <function>gtk_scrolled_window_set_policy()</function> and not on
the child widgets (e.g. <structname>GtkCList</structname>'s
<function>gtk_clist_set_policy()</function> was removed).
</para>
</listitem>
<listitem>
<para>
The "main loop" of GTK+ has been moved to GLib. This should not
affect existing programs, since compatibility functions have
been provided. However, you may want to consider migrating
your code to use the GLib main loop directly.
</para>
</listitem>
<listitem>
<para>
the <literal>GTK_BASIC</literal> flag was removed, and with it the corresponding
macro and function <function>GTK_WIDGET_BASIC()</function> and
<function>gtk_widget_basic()</function>.
</para>
</listitem>
<listitem>
<para>
All freeze/thaw methods are now recursive - that is, if you
freeze a widget n times, you must also thaw it n times.
Therefore, if you have code like:
<informalexample><programlisting>
gboolean frozen;
frozen = GTK_CLIST_FROZEN (clist);
gtk_clist_freeze (clist);
[...]
if (!frozen)
gtk_clist_thaw (clist);
</programlisting></informalexample>
it will not work anymore. It must be, simply:
<informalexample><programlisting>
gtk_clist_freeze (clist);
[...]
gtk_clist_thaw (clist);
</programlisting></informalexample>
</para>
</listitem>
<listitem>
<para>
The thread safety in GTK+ 1.2 is slightly different than
that which appeared in early versions in the 1.1
development track. The main difference is that it relies on
the thread primitives in GLib, and on the thread-safe
GLib main loop.
</para>
<para>
This means:
<itemizedlist>
<listitem>
<para>You must call <function>g_thread_init()</function> before
executing any other GTK+ or GDK functions in a threaded GTK+ program.
</para>
</listitem>
<listitem>
<para>Idles, timeouts, and input functions are executed outside
of the main GTK+ lock. So, if you need to call GTK+
inside of such a callback, you must surround the callback
with a <function>gdk_threads_enter()</function>/<function>gdk_threads_leave()</function>
pair.
</para>
<para>However, signals are still executed within the main
GTK+ lock.
</para>
<para>In particular, this means, if you are writing widgets
that might be used in threaded programs, you <emphasis>must</emphasis>
surround timeouts and idle functions in this matter.
</para>
<para>As always, you must also surround any calls to GTK+
not made within a signal handler with a
<function>gdk_threads_enter()</function>/<function>gdk_threads_leave()</function>
pair.
</para>
</listitem>
<listitem>
<para>There is no longer a special <option>--with-threads</option>
<command>configure</command> option for GTK+. To use threads in a GTK+
program, you must:
<orderedlist>
<listitem>
<para>If you want to use the native thread implementation,
make sure GLib found this in configuration, otherwise,
call you must provide a thread implementation to
<function>g_thread_init()</function>.
</para>
</listitem>
<listitem>
<para>Link with the libraries returned by
<command>gtk-config --libs gthread</command>
and use the cflags from
<command>gtk-config --cflags gthread</command>.
You can get these <envar>CFLAGS</envar> and <envar>LIBS</envar> by
passing <literal>gthread</literal> as the fourth parameter to the
<literal>AM_PATH_GTK</literal> <application>automake</application>
macro.
</para>
</listitem>
</orderedlist>
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
Prior to GTK+ 1.2, there were two conflicting interpretations
of <literal>widget->requisition</literal>. It was either taken to be
the size that the widget requested, or that size modified by calls to
<function>gtk_widget_set_usize()</function>. In GTK+ 1.2,
it is always interpreted the first way.
</para>
<para>
Container widgets are affected in two ways by this:
<orderedlist>
<listitem>
<para>Container widgets should not pass
<literal>widget->requisition</literal> as the second parameter to
<function>gtk_widget_size_request()</function>.
Instead they should call it like:
<programlisting>
GtkRequisition child_requisition;
gtk_widget_size_request (widget, &amp;child_requisition);
</programlisting>
</para>
</listitem>
<listitem>
<para>Container widgets should not access
<literal>child->requisition</literal> directly. Either they should use
the values returned by <function>gtk_widget_size_request()</function>,
or they should call the new function:
<programlisting>
void gtk_widget_get_child_requisition (GtkWidget *widget,
GtkRequisition *requisition);
</programlisting>
which returns the requisition of the given widget, modified
by calls to <function>gtk_widget_set_usize()</function>.
</para>
</listitem>
</orderedlist>
</para>
</listitem>
</itemizedlist>
</refsect1>
</refentry>
File diff suppressed because it is too large Load Diff
+21 -14
View File
@@ -20,51 +20,58 @@ How to compile your GTK+ application
<title>Compiling GTK+ Applications on UNIX</title>
<para>
To compile a GTK+ application, you need to tell the compiler where to
To compile a GTK+ application, you need to tell the compiler where to
find the GTK+ header files and libraries. This is done with the
<literal>pkg-config</literal> utility.
</para>
<para>
The following interactive shell session demonstrates how
<literal>pkg-config</literal> is used (the actual output on
<literal>pkg-config</literal> is used (the actual output on
your system may be different):
<programlisting>
$ pkg-config --cflags gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/atk-1.0
$ pkg-config --libs gtk+-2.0
-L/usr/lib -L/usr/X11R6/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lXi -lgdk_pixbuf-2.0 -lm -lpangox -lpangoxft -lXft -lXrender -lXext -lX11 -lfreetype -lpango -latk -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
$ pkg-config --cflags gtk+-3.0
-pthread -I/usr/include/gtk-3.0 -I/usr/lib64/gtk-3.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12
$ pkg-config --libs gtk+-3.0
-pthread -lgtk-x11-3.0 -lgdk-x11-3.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-3.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
</programlisting>
</para>
<para>
The simplest way to compile a program is to use the "backticks"
feature of the shell. If you enclose a command in backticks
(<emphasis>not single quotes</emphasis>), then its output will be
substituted into the command line before execution. So to compile
substituted into the command line before execution. So to compile
a GTK+ Hello, World, you would type the following:
<programlisting>
$ cc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello
$ cc `pkg-config --cflags --libs gtk+-3.0` hello.c -o hello
</programlisting>
</para>
<para>
If you want to make sure that your program doesn't use any deprecated
If you want to make sure that your program doesn't use any deprecated
functions, you can define the preprocessor symbol GTK_DISABLE_DEPRECATED
by using the command line option <literal>-DGTK_DISABLE_DEPRECATED=1</literal>.
There are similar symbols GDK_DISABLE_DEPRECATED,
There are similar symbols GDK_DISABLE_DEPRECATED,
GDK_PIXBUF_DISABLE_DEPRECATED and G_DISABLE_DEPRECATED for GDK, GdkPixbuf and
GLib.
GLib.
</para>
<para>
If you want to make sure that your program doesn't use any functions which
If you want to make sure that your program doesn't use any functions which
may be problematic in a multihead setting, you can define the preprocessor
symbol GDK_MULTIHEAD_SAFE by using the command line option
symbol GDK_MULTIHEAD_SAFE by using the command line option
<literal>-DGTK_MULTIHEAD_SAFE=1</literal>.
</para>
<para>
Similarly, if you want to make sure that your program doesn't use any
functions which may be problematic in a multidevice setting, you can
define the preprocessor symbol GDK_MULTIDEVICE_SAFE by using the command
line option <literal>-DGTK_MULTIDEVICE_SAFE=1</literal>.
</para>
<para>
The recommended way of using GTK+ has always been to only include the
toplevel headers <filename>gtk.h</filename>, <filename>gdk.h</filename>,
toplevel headers <filename>gtk.h</filename>, <filename>gdk.h</filename>,
<filename>gdk-pixbuf.h</filename>.
If you want to make sure that your program follows this recommended
practise, you can define the preprocessor symbols GTK_DISABLE_SINGLE_INCLUDES
+39 -71
View File
@@ -41,11 +41,33 @@ string utilities, file utilities, a main loop abstraction, and so on.
</para></listitem>
</varlistentry>
<varlistentry>
<term>GObject</term>
<listitem><para>A library that provides a type system, a collection of
fundamental types including an object type, a signal system.
</para></listitem>
</varlistentry>
<varlistentry>
<term>GIO</term>
<listitem><para>A modern, easy-to-use VFS API including abstractions for
files, drives, volumes, stream IO, as well as network programming and
DBus communication.
</para></listitem>
</varlistentry>
<varlistentry>
<term>cairo</term>
<listitem><para>Cairo is a 2D graphics library with support for multiple
output devices.
</para></listitem>
</varlistentry>
<varlistentry>
<term>Pango</term>
<listitem><para>
Pango is a library for internationalized text handling. It centers
around the #PangoLayout object, representing a paragraph of text.
around the #PangoLayout object, representing a paragraph of text.
Pango provides the engine for #GtkTextView, #GtkLabel, #GtkEntry, and
other widgets that display text.
</para></listitem>
@@ -67,7 +89,7 @@ framework.
<term>GdkPixbuf</term>
<listitem><para>
This is a small library which allows you to create #GdkPixbuf
("pixel buffer") objects from image data or image files.
("pixel buffer") objects from image data or image files.
Use a #GdkPixbuf in combination with #GtkImage to display images.
</para></listitem>
</varlistentry>
@@ -84,7 +106,7 @@ on X11, Windows, and the Linux framebuffer device.
<varlistentry>
<term>GTK+</term>
<listitem><para>
The GTK+ library itself contains <firstterm>widgets</firstterm>,
The GTK+ library itself contains <firstterm>widgets</firstterm>,
that is, GUI components such as #GtkButton or #GtkTextView.
</para></listitem>
</varlistentry>
@@ -180,6 +202,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkentry.xml" />
<xi:include href="xml/gtkentrybuffer.xml" />
<xi:include href="xml/gtkentrycompletion.xml" />
<xi:include href="xml/gtkscale.xml" />
<xi:include href="xml/gtkhscale.xml" />
<xi:include href="xml/gtkvscale.xml" />
<xi:include href="xml/gtkspinbutton.xml" />
@@ -280,11 +303,14 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<title>Layout Containers</title>
<xi:include href="xml/gtkalignment.xml" />
<xi:include href="xml/gtkaspectframe.xml" />
<xi:include href="xml/gtkbox.xml" />
<xi:include href="xml/gtkhbox.xml" />
<xi:include href="xml/gtkvbox.xml" />
<xi:include href="xml/gtkbbox.xml" />
<xi:include href="xml/gtkhbbox.xml" />
<xi:include href="xml/gtkvbbox.xml" />
<xi:include href="xml/gtkfixed.xml" />
<xi:include href="xml/gtkpaned.xml" />
<xi:include href="xml/gtkhpaned.xml" />
<xi:include href="xml/gtkvpaned.xml" />
<xi:include href="xml/gtklayout.xml" />
@@ -298,12 +324,14 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<chapter id="Ornaments">
<title>Ornaments</title>
<xi:include href="xml/gtkframe.xml" />
<xi:include href="xml/gtkseparator.xml" />
<xi:include href="xml/gtkhseparator.xml" />
<xi:include href="xml/gtkvseparator.xml" />
</chapter>
<chapter id="ScrollingWidgets">
<title>Scrolling</title>
<xi:include href="xml/gtkscrollbar.xml" />
<xi:include href="xml/gtkhscrollbar.xml" />
<xi:include href="xml/gtkvscrollbar.xml" />
<xi:include href="xml/gtkscrolledwindow.xml" />
@@ -341,18 +369,12 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<chapter id="AbstractObjects">
<title>Abstract Base Classes</title>
<xi:include href="xml/gtkbin.xml" />
<xi:include href="xml/gtkbox.xml" />
<xi:include href="xml/gtkbbox.xml" />
<xi:include href="xml/gtkcontainer.xml" />
<xi:include href="xml/gtkitem.xml" />
<xi:include href="xml/gtkmenushell.xml" />
<xi:include href="xml/gtkmisc.xml" />
<xi:include href="xml/gtkobject.xml" />
<xi:include href="xml/gtkpaned.xml" />
<xi:include href="xml/gtkrange.xml" />
<xi:include href="xml/gtkscale.xml" />
<xi:include href="xml/gtkscrollbar.xml" />
<xi:include href="xml/gtkseparator.xml" />
<xi:include href="xml/gtkwidget.xml" />
<xi:include href="xml/gtkimcontext.xml" />
</chapter>
@@ -385,6 +407,11 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<xi:include href="xml/gtkbuildable.xml" />
<xi:include href="xml/gtkbuilder.xml" />
</chapter>
<chapter id="Application">
<title>Application support</title>
<xi:include href="xml/gtkapplication.xml" />
</chapter>
</part>
<part id="migrating">
@@ -392,8 +419,8 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<partintro>
<para>
This part describes what you need to change in programs use
older versions of GTK+ so that they can use the new features.
This part describes what you need to change in programs use
older versions of GTK+ so that they can use the new features.
It also mentions how to convert applications using widgets
found in the libgnomeui library to use their counterparts
in GTK+.
@@ -401,22 +428,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
</partintro>
<xi:include href="xml/migrating-checklist.sgml" />
<xi:include href="changes-1.2.sgml" />
<xi:include href="changes-2.0.sgml" />
<xi:include href="xml/migrating-GtkFileChooser.sgml" />
<xi:include href="xml/migrating-GtkAction.sgml" />
<xi:include href="xml/migrating-GtkComboBox.sgml" />
<xi:include href="xml/migrating-GtkIconView.sgml" />
<xi:include href="xml/migrating-GtkAboutDialog.sgml" />
<xi:include href="xml/migrating-GtkColorButton.sgml" />
<xi:include href="xml/migrating-GtkAssistant.sgml" />
<xi:include href="xml/migrating-GtkRecentChooser.sgml" />
<xi:include href="xml/migrating-GtkLinkButton.sgml" />
<xi:include href="xml/migrating-GtkBuilder.sgml" />
<xi:include href="xml/migrating-GtkTooltip.sgml" />
<xi:include href="xml/migrating-GtkEntry-icons.sgml" />
<xi:include href="xml/migrating-GtkLabel-links.sgml" />
<xi:include href="xml/migrating-ClientSideWindows.sgml" />
<xi:include href="migrating-2to3.xml" />
</part>
<part>
@@ -436,50 +448,6 @@ that is, GUI components such as #GtkButton or #GtkTextView.
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-2" role="2.2">
<title>Index of new symbols in 2.2</title>
<xi:include href="xml/api-index-2.2.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-4" role="2.4">
<title>Index of new symbols in 2.4</title>
<xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-6" role="2.6">
<title>Index of new symbols in 2.6</title>
<xi:include href="xml/api-index-2.6.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-8" role="2.8">
<title>Index of new symbols in 2.8</title>
<xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-10" role="2.10">
<title>Index of new symbols in 2.10</title>
<xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-12" role="2.12">
<title>Index of new symbols in 2.12</title>
<xi:include href="xml/api-index-2.12.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-14" role="2.14">
<title>Index of new symbols in 2.14</title>
<xi:include href="xml/api-index-2.14.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-16" role="2.16">
<title>Index of new symbols in 2.16</title>
<xi:include href="xml/api-index-2.16.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-18" role="2.18">
<title>Index of new symbols in 2.18</title>
<xi:include href="xml/api-index-2.18.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-20" role="2.20">
<title>Index of new symbols in 2.20</title>
<xi:include href="xml/api-index-2.20.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-2-22" role="2.22">
<title>Index of new symbols in 2.22</title>
<xi:include href="xml/api-index-2.22.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>
-15
View File
@@ -1,15 +0,0 @@
# These are manually-edited to override or add declarations to those scanned
# from the GTK header files.
# GtkAllocation is the same as GtkRectangle
<STRUCT>
<NAME>GtkAllocation</NAME>
struct GtkAllocation
{
gint x;
gint y;
gint width;
gint height;
};
</STRUCT>
+19 -1
View File
@@ -17,6 +17,7 @@
<refsynopsisdiv>
<cmdsynopsis>
<command>gtk-query-immodules-3.0</command>
<arg choice="opt">--update-cache</arg>
<arg choice="opt" rep="repeat">module</arg>
</cmdsynopsis>
</refsynopsisdiv>
@@ -24,7 +25,8 @@
<refsect1><title>Description</title>
<para>
<command>gtk-query-immodules-3.0</command> collects information about loadable
input method modules for GTK+ and writes it to <filename>stdout</filename>.
input method modules for GTK+ and writes it to the default cache file
location, or to <filename>stdout</filename>.
</para>
<para>
If called without arguments, it looks for modules in the GTK+ input method
@@ -34,6 +36,22 @@ module path.
If called with arguments, it looks for the specified modules. The arguments
may be absolute or relative paths.
</para>
<para>
Normally, the output of <command>gtk-query-immodules-3.0</command> is written
to <filename><replaceable>libdir</replaceable>gtk-3.0/3.0.0/immodules.cache</filename>, where GTK+ looks for it by default. If it is written to some other
location, the environment variable <link linkend="GTK_IM_MODULE_FILE"><envar>GTK_IM_MODULE_FILE</envar></link>
can be set to point GTK+ at the file.
</para>
</refsect1>
<refsect1><title>Options</title>
<variablelist>
<varlistentry>
<term>--update-cache</term>
<listitem><para>Write the output to the default cache location instead of
<filename>stdout</filename></para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1><title>Environment</title>
+63 -29
View File
@@ -46,6 +46,7 @@ GTK_ABOUT_DIALOG_CLASS
GTK_IS_ABOUT_DIALOG_CLASS
GTK_ABOUT_DIALOG_GET_CLASS
<SUBSECTION Private>
GtkAboutDialogPrivate
gtk_about_dialog_get_type
</SECTION>
@@ -78,10 +79,6 @@ gtk_accelerator_get_label
gtk_accelerator_set_default_mod_mask
gtk_accelerator_get_default_mod_mask
<SUBSECTION Private>
GtkAccelGroupEntry
gtk_accel_group_get_type
<SUBSECTION Standard>
GtkAccelGroupClass
GTK_TYPE_ACCEL_GROUP
@@ -90,6 +87,11 @@ GTK_IS_ACCEL_GROUP
GTK_ACCEL_GROUP_CLASS
GTK_IS_ACCEL_GROUP_CLASS
GTK_ACCEL_GROUP_GET_CLASS
<SUBSECTION Private>
GtkAccelGroupPrivate
GtkAccelGroupEntry
gtk_accel_group_get_type
</SECTION>
<SECTION>
@@ -141,6 +143,7 @@ GTK_ACCEL_LABEL_CLASS
GTK_IS_ACCEL_LABEL_CLASS
GTK_ACCEL_LABEL_GET_CLASS
<SUBSECTION Private>
GtkAccelLabelPrivate
gtk_accel_label_get_type
</SECTION>
@@ -260,13 +263,14 @@ gtk_action_group_add_action_with_accel
gtk_action_group_remove_action
GtkActionEntry
gtk_action_group_add_actions
gtk_action_group_add_actions_full
gtk_action_group_add_actions_full
GtkToggleActionEntry
gtk_action_group_add_toggle_actions
gtk_action_group_add_toggle_actions_full
gtk_action_group_add_toggle_actions_full
GtkRadioActionEntry
gtk_action_group_add_radio_actions
gtk_action_group_add_radio_actions_full
GtkTranslateFunc
gtk_action_group_set_translate_func
gtk_action_group_set_translation_domain
gtk_action_group_translate_string
@@ -363,6 +367,7 @@ gtk_assistant_get_page_complete
gtk_assistant_add_action_widget
gtk_assistant_remove_action_widget
gtk_assistant_update_buttons_state
gtk_assistant_commit
<SUBSECTION Standard>
GtkAssistantClass
@@ -416,6 +421,7 @@ gtk_aspect_frame_get_type
<TITLE>GtkButtonBox</TITLE>
GtkButtonBox
GTK_BUTTONBOX_DEFAULT
gtk_button_box_new
gtk_button_box_get_layout
gtk_button_box_get_child_secondary
gtk_button_box_set_layout
@@ -452,6 +458,7 @@ gtk_bin_get_type
<TITLE>GtkBox</TITLE>
GtkBox
GtkBoxChild
gtk_box_new
gtk_box_pack_start
gtk_box_pack_end
gtk_box_get_homogeneous
@@ -778,6 +785,7 @@ gtk_combo_box_insert_text
gtk_combo_box_prepend_text
gtk_combo_box_remove_text
gtk_combo_box_get_active_text
gtk_combo_box_popup_for_device
gtk_combo_box_popup
gtk_combo_box_popdown
gtk_combo_box_get_popup_accessible
@@ -1628,6 +1636,8 @@ gtk_icon_view_set_tooltip_cell
gtk_icon_view_get_tooltip_context
gtk_icon_view_set_tooltip_column
gtk_icon_view_get_tooltip_column
gtk_icon_view_get_item_row
gtk_icon_view_get_item_column
<SUBSECTION Dnd>
GtkIconViewDropPosition
gtk_icon_view_enable_model_drag_source
@@ -1957,6 +1967,7 @@ gtk_menu_new
gtk_menu_set_screen
gtk_menu_reorder_child
gtk_menu_attach
gtk_menu_popup_for_device
gtk_menu_popup
gtk_menu_set_accel_group
gtk_menu_get_accel_group
@@ -2248,8 +2259,6 @@ GtkNotebookTab
<FILE>gtkobject</FILE>
<TITLE>GtkObject</TITLE>
GtkObject
GTK_OBJECT_TYPE
GTK_OBJECT_TYPE_NAME
GtkObjectFlags
GTK_OBJECT_FLAGS
gtk_object_destroy
@@ -2291,6 +2300,7 @@ gtk_offscreen_window_get_type
<FILE>gtkpaned</FILE>
<TITLE>GtkPaned</TITLE>
GtkPaned
gtk_paned_new
gtk_paned_add1
gtk_paned_add2
gtk_paned_pack1
@@ -2398,6 +2408,7 @@ GtkRadioAction
gtk_radio_action_new
gtk_radio_action_get_group
gtk_radio_action_set_group
gtk_radio_action_join_group
gtk_radio_action_get_current_value
gtk_radio_action_set_current_value
<SUBSECTION Standard>
@@ -2727,6 +2738,7 @@ gtk_recent_action_get_type
<TITLE>GtkRuler</TITLE>
GtkRuler
GtkRulerMetric
gtk_ruler_new
gtk_ruler_set_metric
gtk_ruler_set_range
gtk_ruler_get_metric
@@ -2748,6 +2760,8 @@ gtk_ruler_draw_pos
<FILE>gtkscale</FILE>
<TITLE>GtkScale</TITLE>
GtkScale
gtk_scale_new
gtk_scale_new_with_range
gtk_scale_set_digits
gtk_scale_set_draw_value
gtk_scale_set_value_pos
@@ -2798,6 +2812,7 @@ gtk_scale_button_get_type
<FILE>gtkscrollbar</FILE>
<TITLE>GtkScrollbar</TITLE>
GtkScrollbar
gtk_scrollbar_new
<SUBSECTION Standard>
GTK_SCROLLBAR
GTK_IS_SCROLLBAR
@@ -2843,6 +2858,7 @@ gtk_scrolled_window_get_type
<FILE>gtkseparator</FILE>
<TITLE>GtkSeparator</TITLE>
GtkSeparator
gtk_separator_new
<SUBSECTION Standard>
GTK_SEPARATOR
GTK_IS_SEPARATOR
@@ -3018,6 +3034,7 @@ gtk_statusbar_get_context_id
gtk_statusbar_push
gtk_statusbar_pop
gtk_statusbar_remove
gtk_statusbar_remove_all
gtk_statusbar_set_has_resize_grip
gtk_statusbar_get_has_resize_grip
gtk_statusbar_get_message_area
@@ -3574,9 +3591,7 @@ gtk_tool_shell_get_type
<FILE>gtktoolbar</FILE>
<TITLE>GtkToolbar</TITLE>
GtkToolbar
GtkToolbarChildType
GtkToolbarSpaceStyle
GtkToolbarChild
gtk_toolbar_new
gtk_toolbar_insert
gtk_toolbar_get_item_index
@@ -4811,15 +4826,18 @@ gtk_widget_set_parent
gtk_widget_set_parent_window
gtk_widget_get_parent_window
gtk_widget_set_events
gtk_widget_get_events
gtk_widget_add_events
gtk_widget_set_extension_events
gtk_widget_get_extension_events
gtk_widget_set_device_events
gtk_widget_get_device_events
gtk_widget_add_device_events
gtk_widget_get_toplevel
gtk_widget_get_ancestor
gtk_widget_get_colormap
gtk_widget_set_colormap
gtk_widget_get_visual
gtk_widget_get_events
gtk_widget_get_pointer
gtk_widget_is_ancestor
gtk_widget_translate_coordinates
@@ -4937,11 +4955,14 @@ gtk_widget_is_toplevel
gtk_widget_set_window
gtk_widget_set_receives_default
gtk_widget_get_receives_default
gtk_widget_set_support_multidevice
gtk_widget_get_support_multidevice
gtk_widget_set_realized
gtk_widget_get_realized
gtk_widget_set_mapped
gtk_widget_get_mapped
gtk_widget_get_requisition
gtk_widget_device_is_shadowed
<SUBSECTION>
gtk_requisition_copy
@@ -5047,6 +5068,7 @@ gtk_window_get_urgency_hint
gtk_window_get_accept_focus
gtk_window_get_focus_on_map
gtk_window_get_group
gtk_window_has_group
gtk_window_get_window_type
gtk_window_move
gtk_window_parse_geometry
@@ -5090,6 +5112,7 @@ gtk_window_group_new
gtk_window_group_add_window
gtk_window_group_remove_window
gtk_window_group_list_windows
gtk_window_group_get_current_device_grab
<SUBSECTION Standard>
GTK_IS_WINDOW_GROUP
GTK_IS_WINDOW_GROUP_CLASS
@@ -5131,6 +5154,8 @@ gtk_false
gtk_grab_add
gtk_grab_get_current
gtk_grab_remove
gtk_device_grab_add
gtk_device_grab_remove
<SUBSECTION>
gtk_init_add
@@ -5152,6 +5177,7 @@ gtk_key_snooper_remove
gtk_get_current_event
gtk_get_current_event_time
gtk_get_current_event_state
gtk_get_current_event_device
gtk_get_event_widget
gtk_propagate_event
@@ -5201,6 +5227,7 @@ gtk_style_detach
gtk_style_set_background
gtk_style_apply_default_background
gtk_style_lookup_color
gtk_style_lookup_icon_set
gtk_style_render_icon
gtk_style_get_style_property
gtk_style_get_valist
@@ -5455,22 +5482,6 @@ GtkCallbackMarshal
GtkArg
<SUBSECTION Private>
GTK_TYPE_IDENTIFIER
GTK_TYPE_UINT
GTK_TYPE_ULONG
GTK_TYPE_LONG
GTK_TYPE_STRING
GTK_TYPE_INT
GTK_TYPE_NONE
GTK_TYPE_FLOAT
GTK_TYPE_FLAGS
GTK_TYPE_ENUM
GTK_TYPE_UCHAR
GTK_TYPE_POINTER
GTK_TYPE_BOOL
GTK_TYPE_CHAR
GTK_TYPE_BOXED
GTK_TYPE_DOUBLE
GTK_TYPE_INVALID
gtk_identifier_get_type
</SECTION>
@@ -5536,8 +5547,6 @@ GtkSortType
GtkDragResult
<SUBSECTION Private>
GtkMenuCallback
GtkMenuEntry
GTK_PATH_PRIO_MASK
</SECTION>
@@ -6331,3 +6340,28 @@ GTK_TYPE_EXTENDED_LAYOUT
<SUBSECTION Private>
gtk_extended_layout_get_type
</SECTION>
<SECTION>
<FILE>gtkapplication</FILE>
<TITLE>GtkApplication</TITLE>
GtkApplication
gtk_application_new
gtk_application_run
gtk_application_quit
gtk_application_set_action_group
gtk_application_get_window
gtk_application_add_window
<SUBSECTION Standard>
GtkApplicationClass
GTK_TYPE_APPLICATION
GTK_APPLICATION
GTK_APPLICATION_CLASS
GTK_IS_APPLICATION
GTK_IS_APPLICATION_CLASS
GTK_APPLICATION_GET_CLASS
<SUBSECTION Private>
gtk_application_get_type
GtkApplicationPrivate
</SECTION>
+1
View File
@@ -11,6 +11,7 @@ gtk_action_group_get_type
gtk_activatable_get_type
gtk_adjustment_get_type
gtk_alignment_get_type
gtk_application_get_type
gtk_arrow_get_type
gtk_aspect_frame_get_type
gtk_assistant_get_type
+80
View File
@@ -0,0 +1,80 @@
<?xml version="1.0"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
]>
<chapter id="gtk-migrating-2-to-3">
<title>Migrating from GTK+ 2.x to GTK+ 3</title>
<para>
There are a number of steps that you can take to prepare your GTK+ 2.x
application for the switch to GTK+ 3.
</para>
<section>
<title>Only single includes</title>
<para>
Make sure your program only include the toplevel headers:
<programlisting>
make CFLAGS+="-DG_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
</programlisting>
</para>
</section>
<section>
<title>Do not use deprecated symbols</title>
<para>
Make sure your program doesn't use any functions that have been
deprecated in GTK+ 2.x:
<programlisting>
make CFLAGS+="-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
</programlisting>
</para>
</section>
<section>
<title>Use accessor functions instead direct access</title>
<para>
GTK+ 3 removes many implementation details and struct members from
its public headers. To ensure that your application does not have problems
with this, you define the preprocessor symbol GSEAL_ENABLE. This will
make the compiler catch all uses of direct access to struct fields so that
you can go through them one by one and replace them with a call to an
accessor function instead.
<programlisting>
make CFLAGS+="-DGSEAL_ENABLE"
</programlisting>
</para>
</section>
<section>
<title>GTK+ Modules</title>
<para>
Some software packages install loadable GTK+ modules such as theme engines,
gdk-pixbuf loaders or input methods. Since GTK+ 3 is parallel-installable
with GTK+ 2.x, the two GTK+ versions have separate locations for their
loadable modules. The location for GTK+ 2.x is
<filename><replaceable>libdir</replaceable>/gtk-2.0</filename>
(and its subdirectories), for GTK+ 3 the location is
<filename><replaceable>libdir</replaceable>/gtk-3.0</filename>
(and its subdirectories).
</para>
<para>
For some kinds of modules, namely input methods and pixbuf loaders,
GTK+ keeps a cache file with extra information about the modules.
For GTK+ 2.x, these cache files are located in
<filename><replaceable>sysconfdir</replaceable>/gtk-2.0</filename>.
For GTK+ 3, they have been moved to
<filename><replaceable>libdir</replaceable>/gtk-3.0/3.0.0/</filename>.
The commands that create these cache files have been renamed with a -3
suffix to make them parallel-installable.
</para>
<para>
Note that GTK+ modules often link against libgtk, libgdk-pixbuf, etc.
If that is the case for your module, you have to be careful to link the
GTK+ 2.x version of your module against the 2.x version of the libraries,
and the GTK+ 3 version against hte 3.x versions. Loading a module linked
against libgtk 2.x into an application using GTK+ 3 will lead to
unhappiness and must be avoided.
</para>
</section>
</chapter>
+66 -69
View File
@@ -19,15 +19,15 @@
<formalpara>
<title>Why</title>
<para>
By handling this signal, you let widgets have
context-sensitive menus that can be invoked with the standard
key bindings.
By handling this signal, you let widgets have
context-sensitive menus that can be invoked with the standard
key bindings.
</para>
</formalpara>
<para>
The #GtkWidget::popup-menu signal instructs the widget for which
it is emitted to create a context-sensitive popup menu. By default,
The #GtkWidget::popup-menu signal instructs the widget for which
it is emitted to create a context-sensitive popup menu. By default,
the <link linkend="gtk-bindings">key binding mechanism</link> is set to
emit this signal when the
<keycombo><keycap>Shift</keycap><keycap>F10</keycap></keycombo>
@@ -39,14 +39,14 @@
<orderedlist>
<listitem>
<para>
Write a function to create and show a popup menu. This
function needs to know the button number and the event's
time to pass them to gtk_menu_popup(). You can implement
such a function like this:
</para>
<para>
Write a function to create and show a popup menu. This
function needs to know the button number and the event's
time to pass them to gtk_menu_popup(). You can implement
such a function like this:
</para>
<programlisting id="do_popup_menu">
<programlisting id="do_popup_menu">
static void
do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
{
@@ -54,7 +54,7 @@ do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
int button, event_time;
menu = gtk_menu_new (<!-- -->);
g_signal_connect (menu, "deactivate",
g_signal_connect (menu, "deactivate",
G_CALLBACK (gtk_widget_destroy), NULL);
/* ... add menu items ... */
@@ -71,19 +71,19 @@ do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
}
gtk_menu_attach_to_widget (GTK_MENU (menu), my_widget, NULL);
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
button, event_time);
}
</programlisting>
</programlisting>
</listitem>
<listitem>
<para>
In your #GtkWidget::button-press-event handler, call this function
<para>
In your #GtkWidget::button-press-event handler, call this function
when you need to pop up a menu:
</para>
</para>
<programlisting>
<programlisting>
static gboolean
my_widget_button_press_event_handler (GtkWidget *widget, GdkEventButton *event)
{
@@ -96,52 +96,52 @@ my_widget_button_press_event_handler (GtkWidget *widget, GdkEventButton *event)
return FALSE;
}
</programlisting>
</programlisting>
</listitem>
<listitem>
<para>
Implement a handler for the #GtkWidget::popup-menu signal:
</para>
<para>
Implement a handler for the #GtkWidget::popup-menu signal:
</para>
<programlisting>
<programlisting>
static gboolean
my_widget_popup_menu_handler (GtkWidget *widget)
{
do_popup_menu (widget, NULL);
return TRUE;
}
</programlisting>
</programlisting>
</listitem>
</orderedlist>
<note>
<para>
If you do not pass a positioning function to gtk_menu_popup(),
it will show the menu at the mouse position by default. This
is what you usually want when the menu is shown as a result of
pressing a mouse button. However, if you press the
<keycombo><keycap>Shift</keycap><keycap>F10</keycap></keycombo>
or <keycap>Menu</keycap> keys while the widget is focused, the
mouse cursor may not be near the widget at all. In the <link
linkend="do_popup_menu">example above</link>, you may want to
provide your own <link
linkend="GtkMenuPositionFunc">menu-positioning function</link>
in the case where the <parameter>event</parameter> is
%NULL. This function should compute the desired position for
a menu when it is invoked through the keyboard. For example,
#GtkEntry aligns the top edge of its popup menu with the bottom
If you do not pass a positioning function to gtk_menu_popup(),
it will show the menu at the mouse position by default. This
is what you usually want when the menu is shown as a result of
pressing a mouse button. However, if you press the
<keycombo><keycap>Shift</keycap><keycap>F10</keycap></keycombo>
or <keycap>Menu</keycap> keys while the widget is focused, the
mouse cursor may not be near the widget at all. In the <link
linkend="do_popup_menu">example above</link>, you may want to
provide your own <link
linkend="GtkMenuPositionFunc">menu-positioning function</link>
in the case where the <parameter>event</parameter> is
%NULL. This function should compute the desired position for
a menu when it is invoked through the keyboard. For example,
#GtkEntry aligns the top edge of its popup menu with the bottom
edge of the entry.
</para>
</note>
<note>
<para>
For the standard key bindings to work, your widget must be
able to take the keyboard focus. In general, widgets should
be fully usable through the keyboard and not just the mouse.
The very first step of this is to ensure that your widget
turns on the %GTK_CAN_FOCUS <link linkend="gtkwidgetflags">flag</link>.
For the standard key bindings to work, your widget must be
able to take the keyboard focus. In general, widgets should
be fully usable through the keyboard and not just the mouse.
The very first step of this is to ensure that your widget
turns on the %GTK_CAN_FOCUS <link linkend="gtkwidgetflags">flag</link>.
</para>
</note>
</section>
@@ -152,23 +152,21 @@ my_widget_popup_menu_handler (GtkWidget *widget)
<formalpara>
<title>Why</title>
<para>
The <structfield>region</structfield> field of
<structname>GdkEventExpose</structname> allows you to redraw
less than the traditional
<structfield>GdkEventRegion.area</structfield>.
The <structfield>region</structfield> field of
<structname>GdkEventExpose</structname> allows you to redraw
less than the traditional <structfield>GdkEventRegion.area</structfield>.
</para>
</formalpara>
<para>
In GTK+ 1.x, the <structname>GdkEventExpose</structname>
In early GTK+ versions, the <structname>GdkEventExpose</structname>
structure only had an <structfield>area</structfield> field to
let you determine the region that you needed to redraw. In GTK+
2.x, this field exists for compatibility and as a simple
interface. However, there is also a
<structfield>region</structfield> field which contains a
fine-grained region. The <structfield>area</structfield> field
is simply the bounding rectangle of the
<structfield>region</structfield>.
let you determine the region that you needed to redraw. In current
GTK+, this field still exists for compatibility and as a simple
interface. However, there is also a <structfield>region</structfield>
field which contains a fine-grained region. The
<structfield>area</structfield> field is simply the bounding rectangle
of the <structfield>region</structfield>.
</para>
<para>
@@ -183,7 +181,7 @@ my_widget_popup_menu_handler (GtkWidget *widget)
<para>
Regions have an internal representation that is accessible as a
list of rectangles. To turn the
list of rectangles. To turn the
<structfield>GdkEventExpose.region</structfield> field into such
a list, use gdk_region_get_rectangles():
</para>
@@ -200,7 +198,7 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
for (i = 0; i &lt; n_rects; i++)
{
/* Repaint rectangle: (rects[i].x, rects[i].y),
/* Repaint rectangle: (rects[i].x, rects[i].y),
* (rects[i].width, rects[i].height)
*/
}
@@ -218,9 +216,9 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
<formalpara>
<title>Why</title>
<para>
With gtk_accelerator_get_default_mod_mask() you can test for
modifier keys reliably; this way your key event handlers will
work correctly even if <keycap>NumLock</keycap> or
With gtk_accelerator_get_default_mod_mask() you can test for
modifier keys reliably; this way your key event handlers will
work correctly even if <keycap>NumLock</keycap> or
<keycap>CapsLock</keycap> are activated.
</para>
</formalpara>
@@ -230,8 +228,8 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
<structfield>state</structfield> field is a bit mask which
indicates the modifier state at the time the key was pressed.
Modifiers are keys like <keycap>Control</keycap> and
<keycap>NumLock</keycap>. When implementing a
#GtkWidget::key-press-event handler, you should use
<keycap>NumLock</keycap>. When implementing a
#GtkWidget::key-press-event handler, you should use
gtk_accelerator_get_default_mod_mask() to
test against modifier keys. This function returns a bit mask
which encompasses all the modifiers which the user may be
@@ -289,17 +287,16 @@ my_widget_key_press_event_handler (GtkWidget *widget, GdkEventKey *event)
<formalpara>
<title>Why</title>
<para>
Named icons automatically adapt to theme changes, giving your
Named icons automatically adapt to theme changes, giving your
application a much more integrated appearance.
</para>
</formalpara>
<para>
Since GTK+ 2.6, named icons can be used for window icons (see
gtk_window_set_icon_name()) and images (see gtk_image_set_icon_name()).
In GTK+ 2.8, you can also use named icons for drag-and-drop (see
gtk_drag_source_set_icon_name()) and in treeview cells (see the
#GtkCellRendererPixbuf:icon-name property).
Named icons can be used for window icons (see gtk_window_set_icon_name())
and images (see gtk_image_set_icon_name()). You can also use named icons
for drag-and-drop (see gtk_drag_source_set_icon_name()) and in treeview
cells (see the #GtkCellRendererPixbuf:icon-name property).
</para>
</section>
</chapter>
+3 -8
View File
@@ -63,19 +63,14 @@ See the <link linkend="gtk-resources">documentation on this topic</link>.
<qandaentry>
<question><para>How do I port from one GTK+
<question><para>How do I port from one GTK+
version to another?</para></question>
<answer>
<para>
See the <link linkend="gtk-changes-2-0">list of incompatible changes
from 1.2 to 2.0</link>. Also, the <ulink
url="http://developer.gnome.org/dotplan/porting/">GNOME 2.0 porting
guide</ulink> on <ulink
url="http://developer.gnome.org">http://developer.gnome.org</ulink>
has some more detailed discussion of porting from 1.2 to 2.0.
You may also find useful information in the documentation for
See <xref linkend="gtk-migrating-2-to-3"/>.
You may also find useful information in the documentation for
specific widgets and functions.
</para>
+5 -6
View File
@@ -262,9 +262,8 @@ additional environment variables.
Specifies the file listing the IM modules to load. This environment
variable overrides the <literal>im_module_file</literal> specified in
the RC files, which in turn overrides the default value
<filename><replaceable>sysconfdir</replaceable>/gtk-3.0/gtk.immodules</filename>
(<replaceable>sysconfdir</replaceable> is the sysconfdir specified when GTK+ was configured,
usually <filename>/usr/local/etc</filename>.)
<filename><replaceable>libdir</replaceable>/gtk-3.0/3.0.0/immodules.cache</filename>
(<replaceable>libdir</replaceable> has the same meaning here as explained for <envar>GTK_PATH</envar>).
</para>
</formalpara>
@@ -307,9 +306,9 @@ nevertheless.
<para>
Specifies the file listing the GdkPixbuf loader modules to load.
This environment variable overrides the default value
<filename><replaceable>sysconfdir</replaceable>/gtk-3.0/gdk-pixbuf.loaders</filename>
(<replaceable>sysconfdir</replaceable> is the sysconfdir specified when
GTK+ was configured, usually <filename>/usr/local/etc</filename>.)
<filename><replaceable>libdir</replaceable>/gtk-3.0/3.0.0/loaders.cache</filename>
(<replaceable>libdir</replaceable> is the sysconfdir specified when
GTK+ was configured, usually <filename>/usr/local/lib</filename>.)
</para>
</formalpara>
+21
View File
@@ -3,4 +3,25 @@ gtkbox.sgml
gtkbuilder.sgml
gtkhbox.sgml
gtkmessagedialog.sgml
gtkobject.sgml
gtkorientable.sgml
gtkpagesetupunixdialog.sgml
gtkprinter.sgml
gtkradioaction.sgml
gtkradiobutton.sgml
gtkrange.sgml
gtkrecentaction.sgml
gtkrecentchooser.sgml
gtkrecentchooserdialog.sgml
gtkrecentchoosermenu.sgml
gtkrecentchooserwidget.sgml
gtkscalebutton.sgml
gtkseparator.sgml
gtkseparatormenuitem.sgml
gtkseparatortoolitem.sgml
gtkstyle.sgml
gtktesting.sgml
gtktextiter.sgml
gtktoggleaction.sgml
gtktoolitem.sgml
gtktreednd.sgml
File diff suppressed because it is too large Load Diff
@@ -356,6 +356,19 @@ gtk_action_group_add_radio_actions() to construct groups of radio actions.
@destroy:
<!-- ##### USER_FUNCTION GtkTranslateFunc ##### -->
<para>
The function used to translate messages in e.g. #GtkIconFactory
and #GtkActionGroup.
</para>
@path: The id of the message. In #GtkItemFactory this will be a path
from a #GtkItemFactoryEntry, in #GtkActionGroup, it will be a label
or tooltip from a #GtkActionEntry.
@func_data: user data passed in when registering the function
@Returns: the translated message
<!-- ##### FUNCTION gtk_action_group_set_translate_func ##### -->
<para>
+9
View File
@@ -333,6 +333,15 @@ gtk_combo_box_get_active_text().
@Returns:
<!-- ##### FUNCTION gtk_combo_box_popup_for_device ##### -->
<para>
</para>
@combo_box:
@device:
<!-- ##### FUNCTION gtk_combo_box_popup ##### -->
<para>
+28
View File
@@ -411,6 +411,25 @@ If @widget does not have the grab, this function does nothing.
@widget: The widget which gives up the grab.
<!-- ##### FUNCTION gtk_device_grab_add ##### -->
<para>
</para>
@widget:
@device:
@block_others:
<!-- ##### FUNCTION gtk_device_grab_remove ##### -->
<para>
</para>
@widget:
@device:
<!-- ##### FUNCTION gtk_init_add ##### -->
<para>
Registers a function to be called when the mainloop is started.
@@ -554,6 +573,15 @@ Removes the key snooper function with the given id.
@Returns:
<!-- ##### FUNCTION gtk_get_current_event_device ##### -->
<para>
</para>
@void:
@Returns:
<!-- ##### FUNCTION gtk_get_event_widget ##### -->
<para>
+15
View File
@@ -234,6 +234,21 @@ Moves a #GtkMenuItem to a new position within the #GtkMenu.
@bottom_attach:
<!-- ##### FUNCTION gtk_menu_popup_for_device ##### -->
<para>
</para>
@menu:
@device:
@parent_menu_shell:
@parent_menu_item:
@func:
@data:
@button:
@activate_time:
<!-- ##### FUNCTION gtk_menu_popup ##### -->
-159
View File
@@ -1,159 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkObject
<!-- ##### SECTION Short_Description ##### -->
The base class of the GTK+ type hierarchy
<!-- ##### SECTION Long_Description ##### -->
<refsect2>
<title>Description</title>
<para>
#GtkObject is the base class for all widgets, and for a few
non-widget objects such as #GtkAdjustment. #GtkObject predates
#GObject; non-widgets that derive from #GtkObject rather than
#GObject do so for backward compatibility reasons.
</para>
<para>
#GtkObject<!-- -->s are created with a "floating" reference count.
This means that the initial reference is not owned by anyone. Calling
g_object_unref() on a newly-created #GtkObject is incorrect, the floating
reference has to be removed first. This can be done by anyone at any time,
by calling g_object_ref_sink() to convert the floating reference into a
regular reference. g_object_ref_sink() returns a new reference if an object
is already sunk (has no floating reference).
</para>
<para>
When you add a widget to its parent container, the parent container
will do this:
<informalexample><programlisting>
g_object_ref_sink (G_OBJECT (child_widget));
</programlisting></informalexample>
This means that the container now owns a reference to the child widget
and the child widget has no floating reference.
</para>
<para>
The purpose of the floating reference is to keep the child widget alive
until you add it to a parent container:
<informalexample><programlisting>
button = gtk_button_new (<!-- -->);
/* button has one floating reference to keep it alive */
gtk_container_add (GTK_CONTAINER (container), button);
/* button has one non-floating reference owned by the container */
</programlisting></informalexample>
</para>
<para>
#GtkWindow is a special case, because GTK+ itself will ref/sink it on creation.
That is, after calling gtk_window_new(), the #GtkWindow will have one
reference which is owned by GTK+, and no floating references.
</para>
<para>
One more factor comes into play: the "destroy" signal, emitted by the
gtk_object_destroy() method. The "destroy" signal asks all code owning a
reference to an object to release said reference. So, for example, if you call
gtk_object_destroy() on a #GtkWindow, GTK+ will release the reference count that
it owns; if you call gtk_object_destroy() on a #GtkButton, then the button will
be removed from its parent container and the parent container will release its
reference to the button. Because these references are released, calling
gtk_object_destroy() should result in freeing all memory associated with an
object, unless some buggy code fails to release its references in response to
the "destroy" signal. Freeing memory (referred to as
<firstterm>finalization</firstterm> only happens if the reference count reaches
zero.
</para>
<para>
Some simple rules for handling #GtkObject:
<itemizedlist>
<listitem><para>
Never call g_object_unref() unless you have previously called g_object_ref(),
even if you created the #GtkObject. (Note: this is <emphasis>not</emphasis>
true for #GObject; for #GObject, the creator of the object owns a reference.)
</para></listitem>
<listitem><para>
Call gtk_object_destroy() to get rid of most objects in most cases.
In particular, widgets are almost always destroyed in this way.
</para></listitem>
<listitem><para> Because of the floating reference count, you don't need to
worry about reference counting for widgets and toplevel windows, unless you
explicitly call g_object_ref() yourself.</para></listitem>
</itemizedlist>
</para>
</refsect2>
<!-- ##### SECTION See_Also ##### -->
<para>
#GObject
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkObject ##### -->
<para>
The object itself. You should never use these members directly -
use the accessing macros instead.
</para>
<!-- ##### SIGNAL GtkObject::destroy ##### -->
<para>
Signals that all holders of a reference to the #GtkObject should release
the reference that they hold. May result in finalization of the object
if all references are released.
</para>
@object: the object which received the signal.
<!-- ##### MACRO GTK_OBJECT_TYPE ##### -->
<para>
</para>
<!-- ##### MACRO GTK_OBJECT_TYPE_NAME ##### -->
<para>
</para>
<!-- ##### ENUM GtkObjectFlags ##### -->
<para>
Tells about the state of the object.
</para>
@GTK_IN_DESTRUCTION: the object is currently being destroyed. This is used
internally by GTK+ to prevent reinvokations during destruction.
@GTK_RESERVED_1:
@GTK_RESERVED_2: reserved for future use
<!-- ##### MACRO GTK_OBJECT_FLAGS ##### -->
<para>
Gets the #GtkObjectFlags for an object without directly
accessing its members.
</para>
@obj: the object whose flags are returned.
<!-- ##### FUNCTION gtk_object_destroy ##### -->
<para>
Emits the "destroy" signal notifying all reference holders that they should
release the #GtkObject. See the overview documentation at the top of the
page for more details.
</para>
<para>
The memory for the object itself won't be deleted until
its reference count actually drops to 0; gtk_object_destroy() merely asks
reference holders to release their references, it does not free the object.
</para>
@object: the object to destroy.
@@ -1,59 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkOrientable
<!-- ##### SECTION Short_Description ##### -->
An interface for flippable widgets
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkOrientable interface is implemented by all widgets that can be
oriented horizontally or vertically. Historically, such widgets have been
realized as subclasses of a common base class (e.g #GtkBox/#GtkHBox/#GtkVBox
and #GtkScale/#GtkHScale/#GtkVScale). GtkOrientable is more flexible in that
it allows the orientation to be changed at runtime, allowing the widgets
to 'flip'.
</para>
<para>
GtkOrientable was introduced in GTK+ 2.16.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkOrientable ##### -->
<para>
</para>
<!-- ##### ARG GtkOrientable:orientation ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_orientable_get_orientation ##### -->
<para>
</para>
@orientable:
@Returns:
<!-- ##### FUNCTION gtk_orientable_set_orientation ##### -->
<para>
</para>
@orientable:
@orientation:
@@ -1,82 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkPageSetupUnixDialog
<!-- ##### SECTION Short_Description ##### -->
A page setup dialog
<!-- ##### SECTION Long_Description ##### -->
<para>
GtkPageSetupUnixDialog implements a page setup dialog for platforms
which don't provide a native page setup dialog, like Unix. It can
be used very much like any other GTK+ dialog, at the cost of
the portability offered by the <link
linkend="gtk-High-level-Printing-API">high-level printing API</link>
</para>
<para>
Printing support was added in GTK+ 2.10.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkPageSetupUnixDialog ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_page_setup_unix_dialog_new ##### -->
<para>
</para>
@title:
@parent:
@Returns:
<!-- ##### FUNCTION gtk_page_setup_unix_dialog_set_page_setup ##### -->
<para>
</para>
@dialog:
@page_setup:
<!-- ##### FUNCTION gtk_page_setup_unix_dialog_get_page_setup ##### -->
<para>
</para>
@dialog:
@Returns:
<!-- ##### FUNCTION gtk_page_setup_unix_dialog_set_print_settings ##### -->
<para>
</para>
@dialog:
@print_settings:
<!-- ##### FUNCTION gtk_page_setup_unix_dialog_get_print_settings ##### -->
<para>
</para>
@dialog:
@Returns:
+9
View File
@@ -172,6 +172,15 @@ gtk_widget_set_size_request (frame2, 50, -1);
</para>
<!-- ##### FUNCTION gtk_paned_new ##### -->
<para>
</para>
@orientation:
@Returns:
<!-- ##### FUNCTION gtk_paned_add1 ##### -->
<para>
Adds a child to the top or left pane with
-336
View File
@@ -1,336 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkPrinter
<!-- ##### SECTION Short_Description ##### -->
Represents a printer
<!-- ##### SECTION Long_Description ##### -->
<para>
A #GtkPrinter object represents a printer. You only need to
deal directly with printers if you use the non-portable
#GtkPrintUnixDialog API.
</para>
<para>
A #GtkPrinter allows to get status information about the printer,
such as its description, its location, the number of queued jobs,
etc. Most importantly, a #GtkPrinter object can be used to create
a #GtkPrintJob object, which lets you print to the printer.
</para>
<para>
Printing support was added in GTK+ 2.10.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkPrinter ##### -->
<para>
</para>
<!-- ##### SIGNAL GtkPrinter::details-acquired ##### -->
<para>
</para>
@printer: the object which received the signal.
@arg1:
<!-- ##### ARG GtkPrinter:accepting-jobs ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:accepts-pdf ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:accepts-ps ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:backend ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:icon-name ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:is-virtual ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:job-count ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:location ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:name ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:paused ##### -->
<para>
</para>
<!-- ##### ARG GtkPrinter:state-message ##### -->
<para>
</para>
<!-- ##### STRUCT GtkPrintBackend ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_printer_new ##### -->
<para>
</para>
@name:
@backend:
@virtual_:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_backend ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_name ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_state_message ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_description ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_location ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_icon_name ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_job_count ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_is_active ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_is_paused ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_is_accepting_jobs ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_is_virtual ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_is_default ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_accepts_ps ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_accepts_pdf ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_list_papers ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_compare ##### -->
<para>
</para>
@a:
@b:
@Returns:
<!-- ##### FUNCTION gtk_printer_has_details ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_request_details ##### -->
<para>
</para>
@printer:
<!-- ##### FUNCTION gtk_printer_get_capabilities ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_default_page_size ##### -->
<para>
</para>
@printer:
@Returns:
<!-- ##### FUNCTION gtk_printer_get_hard_margins ##### -->
<para>
</para>
@printer:
@top:
@bottom:
@left:
@right:
@Returns:
<!-- ##### USER_FUNCTION GtkPrinterFunc ##### -->
<para>
The type of function passed to gtk_enumerate_printers().
Note that you need to ref @printer, if you want to keep
a reference to it after the function has returned.
</para>
@printer: a #GtkPrinter
@data: user data passed to gtk_enumerate_printers()
@Returns: %TRUE to stop the enumeration, %FALSE to continue
<!-- ##### FUNCTION gtk_enumerate_printers ##### -->
<para>
</para>
@func:
@data:
@destroy:
@wait:
-103
View File
@@ -1,103 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkRadioAction
<!-- ##### SECTION Short_Description ##### -->
An action of which only one in a group can be active
<!-- ##### SECTION Long_Description ##### -->
<para>
A #GtkRadioAction is similar to #GtkRadioMenuItem. A number of radio
actions can be linked together so that only one may be active at any
one time.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkRadioAction ##### -->
<para>
The <structname>GtkRadioAction</structname> struct contains
only private members and should not be accessed directly.
</para>
<!-- ##### SIGNAL GtkRadioAction::changed ##### -->
<para>
</para>
@radioaction: the object which received the signal.
@arg1:
<!-- ##### ARG GtkRadioAction:current-value ##### -->
<para>
</para>
<!-- ##### ARG GtkRadioAction:group ##### -->
<para>
</para>
<!-- ##### ARG GtkRadioAction:value ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_radio_action_new ##### -->
<para>
</para>
@name:
@label:
@tooltip:
@stock_id:
@value:
@Returns:
<!-- ##### FUNCTION gtk_radio_action_get_group ##### -->
<para>
</para>
@action:
@Returns:
<!-- ##### FUNCTION gtk_radio_action_set_group ##### -->
<para>
</para>
@action:
@group:
<!-- ##### FUNCTION gtk_radio_action_get_current_value ##### -->
<para>
</para>
@action:
@Returns:
<!-- ##### FUNCTION gtk_radio_action_set_current_value ##### -->
<para>
</para>
@action:
@current_value:
-201
View File
@@ -1,201 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkRadioButton
<!-- ##### SECTION Short_Description ##### -->
A choice from multiple check buttons
<!-- ##### SECTION Long_Description ##### -->
<para>
A single radio button performs the same basic function as a #GtkCheckButton,
as its position in the object hierarchy reflects. It is only when multiple
radio buttons are grouped together that they become a different user
interface component in their own right.</para>
<para>
Every radio button is a member of some group of radio buttons. When one is selected, all other
radio buttons in the same group are deselected. A #GtkRadioButton is one way
of giving the user a choice from many options.
</para>
<para>
Radio button widgets are created with gtk_radio_button_new(), passing NULL
as the argument if this is the first radio button in a group. In subsequent
calls, the group you wish to add this button to should be passed as an
argument. Optionally, gtk_radio_button_new_with_label() can be used if you
want a text label on the radio button.
</para>
<para>
Alternatively, when adding widgets to an existing group of radio buttons,
use gtk_radio_button_new_from_widget() with a #GtkRadioButton that already
has a group assigned to it. The convenience function
gtk_radio_button_new_with_label_from_widget() is also provided.
</para>
<para>
To retrieve the group a #GtkRadioButton is assigned to, use
gtk_radio_button_get_group().
</para>
<para>
To remove a #GtkRadioButton from one group and make it part of a new one, use gtk_radio_button_set_group().
</para>
<para>
The group list does not need to be freed, as each #GtkRadioButton will remove
itself and its list item when it is destroyed.
</para>
<para>
<example>
<title>How to create a group of two radio buttons.</title>
<programlisting>
void create_radio_buttons (void) {
GtkWidget *window, *radio1, *radio2, *box, *entry;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
box = gtk_vbox_new (TRUE, 2);
/* Create a radio button with a GtkEntry widget */
radio1 = gtk_radio_button_new (NULL);
entry = gtk_entry_new (<!-- -->);
gtk_container_add (GTK_CONTAINER (radio1), entry);
/* Create a radio button with a label */
radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1),
"I'm the second radio button.");
/* Pack them into a box, then show all the widgets */
gtk_box_pack_start (GTK_BOX (box), radio1, TRUE, TRUE, 2);
gtk_box_pack_start (GTK_BOX (box), radio2, TRUE, TRUE, 2);
gtk_container_add (GTK_CONTAINER (window), box);
gtk_widget_show_all (window);
return;
}
</programlisting>
</example>
</para>
<para>
When an unselected button in the group is clicked the clicked button
receives the "toggled" signal, as does the previously selected button.
Inside the "toggled" handler, gtk_toggle_button_get_active() can be used
to determine if the button has been selected or deselected.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkOptionMenu</term>
<listitem><para>Another way of offering the user a single choice from
many.</para></listitem>
</varlistentry>
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkRadioButton ##### -->
<para>
Contains only private data that should be read and manipulated using the
functions below.
</para>
<!-- ##### SIGNAL GtkRadioButton::group-changed ##### -->
<para>
</para>
@radiobutton: the object which received the signal.
<!-- ##### ARG GtkRadioButton:group ##### -->
<para>
Sets a new group for a radio button.
</para>
<!-- ##### FUNCTION gtk_radio_button_new ##### -->
<para>
Creates a new #GtkRadioButton. To be of any practical value, a widget should
then be packed into the radio button.
</para>
@group: an existing radio button group, or %NULL if you are creating a new group.
@Returns: a new radio button.
<!-- ##### FUNCTION gtk_radio_button_new_from_widget ##### -->
<para>
Creates a new #GtkRadioButton, adding it to the same group as @radio_group_member.
As with gtk_radio_button_new(), a widget should be packed into the radio button.
</para>
@radio_group_member: an existing #GtkRadioButton.
@Returns: a new radio button.
<!-- ##### FUNCTION gtk_radio_button_new_with_label ##### -->
<para>
Creates a new #GtkRadioButton with a text label.
</para>
@group: an existing radio button group, or %NULL if you are creating a new
group.
@label: the text label to display next to the radio button.
@Returns: a new radio button.
<!-- ##### FUNCTION gtk_radio_button_new_with_label_from_widget ##### -->
<para>
Creates a new #GtkRadioButton with a text label, adding it to the same group
as @radio_group_member.
</para>
@radio_group_member: widget to get radio group from or NULL
@label: a text string to display next to the radio button.
@Returns: a new radio button.
<!-- # Unused Parameters # -->
@group: an existing #GtkRadioButton.
<!-- ##### FUNCTION gtk_radio_button_new_with_mnemonic ##### -->
<para>
</para>
@group:
@label:
@Returns:
<!-- ##### FUNCTION gtk_radio_button_new_with_mnemonic_from_widget ##### -->
<para>
</para>
@radio_group_member:
@label:
@Returns:
<!-- ##### FUNCTION gtk_radio_button_set_group ##### -->
<para>
Sets a #GtkRadioButton's group. It should be noted that this does not change
the layout of your interface in any way, so if you are changing the group,
it is likely you will need to re-arrange the user interface to reflect these
changes.
</para>
@radio_button: a #GtkRadioButton.
@group: an existing radio button group, such as one returned from
gtk_radio_button_get_group().
<!-- ##### FUNCTION gtk_radio_button_get_group ##### -->
@radio_button:
@Returns:
-424
View File
@@ -1,424 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkRange
<!-- ##### SECTION Short_Description ##### -->
Base class for widgets which visualize an adjustment
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkRange is the common base class for widgets which visualize an
adjustment, e.g scales or scrollbars.
</para>
<para>
Apart from signals for monitoring the parameters of the adjustment,
GtkRange provides properties and methods for influencing the sensitivity
of the "steppers". It also provides properties and methods for setting a
"fill level" on range widgets. See gtk_range_set_fill_level().
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkRange ##### -->
<para>
</para>
<!-- ##### SIGNAL GtkRange::adjust-bounds ##### -->
<para>
</para>
@range: the object which received the signal.
@arg1:
<!-- ##### SIGNAL GtkRange::change-value ##### -->
<para>
</para>
@range: the object which received the signal.
@arg1:
@arg2:
@Returns:
<!-- ##### SIGNAL GtkRange::move-slider ##### -->
<para>
</para>
@range:
@step:
<!-- ##### SIGNAL GtkRange::value-changed ##### -->
<para>
</para>
@range:
<!-- ##### ARG GtkRange:adjustment ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:fill-level ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:inverted ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:lower-stepper-sensitivity ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:restrict-to-fill-level ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:show-fill-level ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:update-policy ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:upper-stepper-sensitivity ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:activate-slider ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:arrow-displacement-x ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:arrow-displacement-y ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:arrow-scaling ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:slider-width ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:stepper-size ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:stepper-spacing ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:trough-border ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:trough-side-details ##### -->
<para>
</para>
<!-- ##### ARG GtkRange:trough-under-steppers ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_range_get_fill_level ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_get_restrict_to_fill_level ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_get_show_fill_level ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_set_fill_level ##### -->
<para>
</para>
@range:
@fill_level:
<!-- ##### FUNCTION gtk_range_set_restrict_to_fill_level ##### -->
<para>
</para>
@range:
@restrict_to_fill_level:
<!-- ##### FUNCTION gtk_range_set_show_fill_level ##### -->
<para>
</para>
@range:
@show_fill_level:
<!-- ##### FUNCTION gtk_range_get_adjustment ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_set_update_policy ##### -->
<para>
</para>
@range:
@policy:
<!-- ##### FUNCTION gtk_range_set_adjustment ##### -->
<para>
</para>
@range:
@adjustment:
<!-- ##### FUNCTION gtk_range_get_inverted ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_set_inverted ##### -->
<para>
</para>
@range:
@setting:
<!-- ##### FUNCTION gtk_range_get_update_policy ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_get_value ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_set_increments ##### -->
<para>
</para>
@range:
@step:
@page:
<!-- ##### FUNCTION gtk_range_set_range ##### -->
<para>
</para>
@range:
@min:
@max:
<!-- ##### FUNCTION gtk_range_set_value ##### -->
<para>
</para>
@range:
@value:
<!-- ##### ENUM GtkSensitivityType ##### -->
<para>
Determines how GTK+ handles the sensitivity of stepper arrows
at the end of range widgets.
</para>
@GTK_SENSITIVITY_AUTO: The arrow is made insensitive if the
thumb is at the end
@GTK_SENSITIVITY_ON: The arrow is always sensitive
@GTK_SENSITIVITY_OFF: The arrow is always insensitive
<!-- ##### FUNCTION gtk_range_set_lower_stepper_sensitivity ##### -->
<para>
</para>
@range:
@sensitivity:
<!-- ##### FUNCTION gtk_range_get_lower_stepper_sensitivity ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_set_upper_stepper_sensitivity ##### -->
<para>
</para>
@range:
@sensitivity:
<!-- ##### FUNCTION gtk_range_get_upper_stepper_sensitivity ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_get_flippable ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_set_flippable ##### -->
<para>
</para>
@range:
@flippable:
<!-- ##### FUNCTION gtk_range_get_min_slider_size ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_get_range_rect ##### -->
<para>
</para>
@range:
@range_rect:
<!-- ##### FUNCTION gtk_range_get_slider_range ##### -->
<para>
</para>
@range:
@slider_start:
@slider_end:
<!-- ##### FUNCTION gtk_range_get_slider_size_fixed ##### -->
<para>
</para>
@range:
@Returns:
<!-- ##### FUNCTION gtk_range_set_min_slider_size ##### -->
<para>
</para>
@range:
@min_size:
<!-- ##### FUNCTION gtk_range_set_slider_size_fixed ##### -->
<para>
</para>
@range:
@size_fixed:
@@ -1,84 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkRecentAction
<!-- ##### SECTION Short_Description ##### -->
An action of which represents a list of recently used files
<!-- ##### SECTION Long_Description ##### -->
<para>
A GtkRecentAction represents a list of recently used files, which
can be shown by widgets such as #GtkRecentChooserDialog or
#GtkRecentChooserMenu.
</para>
<para>
To construct a submenu showing recently used files, use a GtkRecentAction
as the action for a &lt;menuitem&gt;. To construct a menu toolbutton showing
the recently used files in the popup menu, use a GtkRecentAction as the
action for a &lt;toolitem&gt; element.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkRecentAction ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentAction:show-numbers ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_recent_action_new ##### -->
<para>
</para>
@name:
@label:
@tooltip:
@stock_id:
@Returns:
<!-- ##### FUNCTION gtk_recent_action_new_for_manager ##### -->
<para>
</para>
@name:
@label:
@tooltip:
@stock_id:
@manager:
@Returns:
<!-- ##### FUNCTION gtk_recent_action_get_show_numbers ##### -->
<para>
</para>
@action:
@Returns:
<!-- ##### FUNCTION gtk_recent_action_set_show_numbers ##### -->
<para>
</para>
@action:
@show_numbers:
@@ -1,442 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkRecentChooser
<!-- ##### SECTION Short_Description ##### -->
Interface implemented by widgets displaying recently used files
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkRecentChooser is an interface that can be implemented by widgets
displaying the list of recently used files. In GTK+, the main objects
that implement this interface are #GtkRecentChooserWidget,
#GtkRecentChooserDialog and #GtkRecentChooserMenu.
</para>
<para>
Recently used files are supported since GTK+ 2.10.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GtkRecentManager, #GtkRecentChooserDialog, #GtkRecentChooserWidget,
#GtkRecentChooserMenu
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkRecentChooser ##### -->
<para>
</para>
<!-- ##### SIGNAL GtkRecentChooser::item-activated ##### -->
<para>
</para>
@recentchooser: the object which received the signal.
<!-- ##### SIGNAL GtkRecentChooser::selection-changed ##### -->
<para>
</para>
@recentchooser: the object which received the signal.
<!-- ##### ARG GtkRecentChooser:filter ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:limit ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:local-only ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:recent-manager ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:select-multiple ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-icons ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-not-found ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-private ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:show-tips ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooser:sort-type ##### -->
<para>
</para>
<!-- ##### STRUCT GtkRecentChooserIface ##### -->
<para>
</para>
@base_iface:
@set_current_uri:
@get_current_uri:
@select_uri:
@unselect_uri:
@select_all:
@unselect_all:
@get_items:
@get_recent_manager:
@add_filter:
@remove_filter:
@list_filters:
@set_sort_func:
@item_activated:
@selection_changed:
<!-- ##### MACRO GTK_RECENT_CHOOSER_ERROR ##### -->
<para>
Used to get the #GError quark for #GtkRecentChooser errors.
</para>
<!-- ##### ENUM GtkRecentChooserError ##### -->
<para>
These identify the various errors that can occur while calling
#GtkRecentChooser functions.
</para>
@GTK_RECENT_CHOOSER_ERROR_NOT_FOUND: Indicates that a file does not exist
@GTK_RECENT_CHOOSER_ERROR_INVALID_URI: Indicates a malformed URI
<!-- ##### FUNCTION gtk_recent_chooser_set_show_private ##### -->
<para>
</para>
@chooser:
@show_private:
<!-- ##### FUNCTION gtk_recent_chooser_get_show_private ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_set_show_not_found ##### -->
<para>
</para>
@chooser:
@show_not_found:
<!-- ##### FUNCTION gtk_recent_chooser_get_show_not_found ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_set_show_icons ##### -->
<para>
</para>
@chooser:
@show_icons:
<!-- ##### FUNCTION gtk_recent_chooser_get_show_icons ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_set_select_multiple ##### -->
<para>
</para>
@chooser:
@select_multiple:
<!-- ##### FUNCTION gtk_recent_chooser_get_select_multiple ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_set_local_only ##### -->
<para>
</para>
@chooser:
@local_only:
<!-- ##### FUNCTION gtk_recent_chooser_get_local_only ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_set_limit ##### -->
<para>
</para>
@chooser:
@limit:
<!-- ##### FUNCTION gtk_recent_chooser_get_limit ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_set_show_tips ##### -->
<para>
</para>
@chooser:
@show_tips:
<!-- ##### FUNCTION gtk_recent_chooser_get_show_tips ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### ENUM GtkRecentSortType ##### -->
<para>
</para>
@GTK_RECENT_SORT_NONE:
@GTK_RECENT_SORT_MRU:
@GTK_RECENT_SORT_LRU:
@GTK_RECENT_SORT_CUSTOM:
<!-- ##### FUNCTION gtk_recent_chooser_set_sort_type ##### -->
<para>
</para>
@chooser:
@sort_type:
<!-- ##### FUNCTION gtk_recent_chooser_get_sort_type ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### USER_FUNCTION GtkRecentSortFunc ##### -->
<para>
</para>
@a:
@b:
@user_data:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_set_sort_func ##### -->
<para>
</para>
@chooser:
@sort_func:
@sort_data:
@data_destroy:
<!-- ##### FUNCTION gtk_recent_chooser_set_current_uri ##### -->
<para>
</para>
@chooser:
@uri:
@error:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_get_current_uri ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_get_current_item ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_select_uri ##### -->
<para>
</para>
@chooser:
@uri:
@error:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_unselect_uri ##### -->
<para>
</para>
@chooser:
@uri:
<!-- ##### FUNCTION gtk_recent_chooser_select_all ##### -->
<para>
</para>
@chooser:
<!-- ##### FUNCTION gtk_recent_chooser_unselect_all ##### -->
<para>
</para>
@chooser:
<!-- ##### FUNCTION gtk_recent_chooser_get_items ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_get_uris ##### -->
<para>
</para>
@chooser:
@length:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_add_filter ##### -->
<para>
</para>
@chooser:
@filter:
<!-- ##### FUNCTION gtk_recent_chooser_remove_filter ##### -->
<para>
</para>
@chooser:
@filter:
<!-- ##### FUNCTION gtk_recent_chooser_list_filters ##### -->
<para>
</para>
@chooser:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_set_filter ##### -->
<para>
</para>
@chooser:
@filter:
<!-- ##### FUNCTION gtk_recent_chooser_get_filter ##### -->
<para>
</para>
@chooser:
@Returns:
@@ -1,96 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkRecentChooserDialog
<!-- ##### SECTION Short_Description ##### -->
Displays recently used files in a dialog
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkRecentChooserDialog is a dialog box suitable for displaying the recently
used documents. This widgets works by putting a #GtkRecentChooserWidget inside
a #GtkDialog. It exposes the #GtkRecentChooserIface interface, so you can use
all the #GtkRecentChooser functions on the recent chooser dialog as well as
those for #GtkDialog.
</para>
<para>
Note that #GtkRecentChooserDialog does not have any methods of its own.
Instead, you should use the functions that work on a #GtkRecentChooser.
</para>
<example id="gtkrecentchooser-typical-usage">
<title>Typical usage</title>
<para>
In the simplest of cases, you can use the following code to use
a #GtkRecentChooserDialog to select a recently used file:
</para>
<programlisting>
GtkWidget *dialog;
dialog = gtk_recent_chooser_dialog_new ("Recent Documents",
parent_window,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
NULL);
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
{
GtkRecentInfo *info;
info = gtk_recent_chooser_get_current_item (GTK_RECENT_CHOOSER (dialog));
open_file (gtk_recent_info_get_uri (info));
gtk_recent_info_unref (info);
}
gtk_widget_destroy (dialog);
</programlisting>
</example>
<para>
Recently used files are supported since GTK+ 2.10.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GtkRecentChooser, #GtkDialog
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkRecentChooserDialog ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_recent_chooser_dialog_new ##### -->
<para>
</para>
@title:
@parent:
@first_button_text:
@Varargs:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_dialog_new_for_manager ##### -->
<para>
</para>
@title:
@parent:
@manager:
@first_button_text:
@Varargs:
@Returns:
@@ -1,92 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkRecentChooserMenu
<!-- ##### SECTION Short_Description ##### -->
Displays recently used files in a menu
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkRecentChooserMenu is a widget suitable for displaying recently used files
inside a menu. It can be used to set a sub-menu of a #GtkMenuItem using
gtk_menu_item_set_submenu(), or as the menu of a #GtkMenuToolButton.
</para>
<para>
Note that #GtkRecentChooserMenu does not have any methods of its own. Instead,
you should use the functions that work on a #GtkRecentChooser.
</para>
<para>
Note also that #GtkRecentChooserMenu does not support multiple filters, as it
has no way to let the user choose between them as the #GtkRecentChooserWidget
and #GtkRecentChooserDialog widgets do. Thus using gtk_recent_chooser_add_filter()
on a #GtkRecentChooserMenu widget will yield the same effects as using
gtk_recent_chooser_set_filter(), replacing any currently set filter
with the supplied filter; gtk_recent_chooser_remove_filter() will remove
any currently set #GtkRecentFilter object and will unset the current filter;
gtk_recent_chooser_list_filters() will return a list containing a single
#GtkRecentFilter object.
</para>
<para>
Recently used files are supported since GTK+ 2.10.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GtkRecentChooser
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkRecentChooserMenu ##### -->
<para>
</para>
<!-- ##### ARG GtkRecentChooserMenu:show-numbers ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_recent_chooser_menu_new ##### -->
<para>
</para>
@void:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_menu_new_for_manager ##### -->
<para>
</para>
@manager:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_menu_get_show_numbers ##### -->
<para>
</para>
@menu:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_menu_set_show_numbers ##### -->
<para>
</para>
@menu:
@show_numbers:
@@ -1,58 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkRecentChooserWidget
<!-- ##### SECTION Short_Description ##### -->
Displays recently used files
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkRecentChooserWidget is a widget suitable for selecting recently used
files. It is the main building block of a #GtkRecentChooserDialog. Most
applications will only need to use the latter; you can use
#GtkRecentChooserWidget as part of a larger window if you have special needs.
</para>
<para>
Note that #GtkRecentChooserWidget does not have any methods of its own.
Instead, you should use the functions that work on a #GtkRecentChooser.
</para>
<para>
Recently used files are supported since GTK+ 2.10.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GtkRecentChooser, #GtkRecentChooserDialog
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkRecentChooserWidget ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_recent_chooser_widget_new ##### -->
<para>
</para>
@void:
@Returns:
<!-- ##### FUNCTION gtk_recent_chooser_widget_new_for_manager ##### -->
<para>
</para>
@manager:
@Returns:
+9
View File
@@ -79,6 +79,15 @@ This should be points_per_unit. This is the size of the unit in 1/72nd's of an i
@ruler_scale:
@subdivide:
<!-- ##### FUNCTION gtk_ruler_new ##### -->
<para>
</para>
@orientation:
@Returns:
<!-- ##### FUNCTION gtk_ruler_set_metric ##### -->
<para>
This calls the #GTKMetricType to set the ruler to units defined. Available units
+22 -5
View File
@@ -13,11 +13,6 @@ To set the value of a scale, you would normally use gtk_range_set_value().
To detect changes to the value, you would normally use the "value_changed"
signal.
</para>
<para>
The #GtkScale widget is an abstract class, used only for deriving the
subclasses #GtkHScale and #GtkVScale. To create a scale widget,
call gtk_hscale_new_with_range() or gtk_vscale_new_with_range().
</para>
<refsect2 id="GtkScale-BUILDER-UI"><title>GtkScale as GtkBuildable</title>
<para>
@@ -82,6 +77,28 @@ the accessor functions.
</para>
<!-- ##### FUNCTION gtk_scale_new ##### -->
<para>
</para>
@orientation:
@adjustment:
@Returns:
<!-- ##### FUNCTION gtk_scale_new_with_range ##### -->
<para>
</para>
@orientation:
@min:
@max:
@step:
@Returns:
<!-- ##### FUNCTION gtk_scale_set_digits ##### -->
<para>
-158
View File
@@ -1,158 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkScaleButton
<!-- ##### SECTION Short_Description ##### -->
A button which pops up a scale
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkScaleButton provides a button which pops up a scale widget.
This kind of widget is commonly used for volume controls in multimedia
applications, and GTK+ provides a #GtkVolumeButton subclass that
is tailored for this use case.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkScaleButton ##### -->
<para>
</para>
<!-- ##### SIGNAL GtkScaleButton::popdown ##### -->
<para>
</para>
@scalebutton: the object which received the signal.
<!-- ##### SIGNAL GtkScaleButton::popup ##### -->
<para>
</para>
@scalebutton: the object which received the signal.
<!-- ##### SIGNAL GtkScaleButton::value-changed ##### -->
<para>
</para>
@scalebutton: the object which received the signal.
@arg1:
<!-- ##### ARG GtkScaleButton:adjustment ##### -->
<para>
</para>
<!-- ##### ARG GtkScaleButton:icons ##### -->
<para>
</para>
<!-- ##### ARG GtkScaleButton:size ##### -->
<para>
</para>
<!-- ##### ARG GtkScaleButton:value ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_scale_button_new ##### -->
<para>
</para>
@size:
@min:
@max:
@step:
@icons:
@Returns:
<!-- ##### FUNCTION gtk_scale_button_set_adjustment ##### -->
<para>
</para>
@button:
@adjustment:
<!-- ##### FUNCTION gtk_scale_button_set_icons ##### -->
<para>
</para>
@button:
@icons:
<!-- ##### FUNCTION gtk_scale_button_set_value ##### -->
<para>
</para>
@button:
@value:
<!-- ##### FUNCTION gtk_scale_button_get_adjustment ##### -->
<para>
</para>
@button:
@Returns:
<!-- ##### FUNCTION gtk_scale_button_get_value ##### -->
<para>
</para>
@button:
@Returns:
<!-- ##### FUNCTION gtk_scale_button_get_popup ##### -->
<para>
</para>
@button:
@Returns:
<!-- ##### FUNCTION gtk_scale_button_get_plus_button ##### -->
<para>
</para>
@button:
@Returns:
<!-- ##### FUNCTION gtk_scale_button_get_minus_button ##### -->
<para>
</para>
@button:
@Returns:
+13 -2
View File
@@ -6,8 +6,9 @@ Base class for GtkHScrollbar and GtkVScrollbar
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkScrollbar widget is an abstract base class for #GtkHScrollbar and
#GtkVScrollbar. It is not very useful in itself.
The #GtkScrollbar widget is the base class for #GtkHScrollbar and
#GtkVScrollbar. It can be used in the same way as these, by setting
the "orientation" property appropriately.
</para>
<para>
@@ -90,3 +91,13 @@ The #GtkScrollbar struct does not contain any public data.
</para>
<!-- ##### FUNCTION gtk_scrollbar_new ##### -->
<para>
</para>
@orientation:
@adjustment:
@Returns:
-29
View File
@@ -1,29 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkSeparator
<!-- ##### SECTION Short_Description ##### -->
Base class for GtkHSeparator and GtkVSeparator
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkSeparator widget is an abstract class, used only for deriving the
subclasses #GtkHSeparator and #GtkVSeparator.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkSeparator ##### -->
<para>
The #GtkSeparator-struct struct contains private data only.
</para>
@@ -1,40 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkSeparatorMenuItem
<!-- ##### SECTION Short_Description ##### -->
A separator used in menus
<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkSeparatorMenuItem is a separator used to group
items within a menu. It displays a horizontal line with a shadow to
make it appear sunken into the interface.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkSeparatorMenuItem ##### -->
<para>
The #GtkSeparatorMenuItem-struct struct contains private data only, and
should be accessed using the functions below.
</para>
<!-- ##### FUNCTION gtk_separator_menu_item_new ##### -->
<para>
Creates a new #GtkSeparatorMenuItem.
</para>
@void:
@Returns: a new #GtkSeparatorMenuItem.
@@ -1,81 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkSeparatorToolItem
<!-- ##### SECTION Short_Description ##### -->
A toolbar item that separates groups of other toolbar items
<!-- ##### SECTION Long_Description ##### -->
<para>
A #GtkSeparatorItem is a #GtkToolItem that separates groups of other
#GtkToolItems. Depending on the theme, a #GtkSeparatorToolItem will
often look like a vertical line on horizontally docked toolbars.
</para>
<para>
If the property "expand" is #TRUE and the property "draw" is #FALSE, a
#GtkSeparatorToolItem will act as a "spring" that forces other items
to the ends of the toolbar.
</para>
<para>
Use gtk_separator_tool_item_new() to create a new #GtkSeparatorToolItem.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkToolbar</term>
<listitem><para>The toolbar widget</para></listitem>
</varlistentry>
<varlistentry>
<term>#GtkRadioToolButton</term>
<listitem><para>A toolbar item containing a radio
button</para></listitem>
</varlistentry>
</variablelist>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkSeparatorToolItem ##### -->
<para>
The #GtkSeparatorToolItem struct contains only private data and
should only be accessed through the functions described below.
</para>
<!-- ##### ARG GtkSeparatorToolItem:draw ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_separator_tool_item_new ##### -->
<para>
</para>
@void:
@Returns:
<!-- ##### FUNCTION gtk_separator_tool_item_set_draw ##### -->
<para>
</para>
@item:
@draw:
<!-- ##### FUNCTION gtk_separator_tool_item_get_draw ##### -->
<para>
</para>
@item:
@Returns:
-647
View File
@@ -1,647 +0,0 @@
<!-- ##### SECTION Title ##### -->
Styles
<!-- ##### SECTION Short_Description ##### -->
Functions for drawing widget parts
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### MACRO GTK_STYLE_ATTACHED ##### -->
<para>
Returns whether the style is attached to a window.
</para>
@style: a #GtkStyle.
<!-- ##### STRUCT GtkStyle ##### -->
<para>
</para>
@fg:
@bg:
@light:
@dark:
@mid:
@text:
@base:
@text_aa:
@black:
@white:
@font_desc:
@xthickness:
@ythickness:
@fg_gc:
@bg_gc:
@light_gc:
@dark_gc:
@mid_gc:
@text_gc:
@base_gc:
@text_aa_gc:
@black_gc:
@white_gc:
@bg_pixmap:
<!-- ##### SIGNAL GtkStyle::realize ##### -->
<para>
</para>
@style: the object which received the signal.
<!-- ##### SIGNAL GtkStyle::unrealize ##### -->
<para>
</para>
@style: the object which received the signal.
<!-- ##### FUNCTION gtk_style_new ##### -->
<para>
</para>
@void:
@Returns:
<!-- ##### FUNCTION gtk_style_copy ##### -->
<para>
</para>
@style:
@Returns:
<!-- ##### FUNCTION gtk_style_attach ##### -->
<para>
</para>
@style:
@window:
@Returns:
<!-- ##### FUNCTION gtk_style_detach ##### -->
<para>
</para>
@style:
<!-- ##### FUNCTION gtk_style_set_background ##### -->
<para>
</para>
@style:
@window:
@state_type:
<!-- ##### FUNCTION gtk_style_apply_default_background ##### -->
<para>
</para>
@style:
@window:
@set_bg:
@state_type:
@area:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_style_lookup_color ##### -->
<para>
</para>
@style:
@color_name:
@color:
@Returns:
<!-- ##### FUNCTION gtk_style_render_icon ##### -->
<para>
</para>
@style:
@source:
@direction:
@state:
@size:
@widget:
@detail:
@Returns:
<!-- ##### FUNCTION gtk_style_get_style_property ##### -->
<para>
</para>
@style:
@widget_type:
@property_name:
@value:
<!-- ##### FUNCTION gtk_style_get_valist ##### -->
<para>
</para>
@style:
@widget_type:
@first_property_name:
@var_args:
<!-- ##### FUNCTION gtk_style_get ##### -->
<para>
</para>
@style:
@widget_type:
@first_property_name:
@Varargs:
<!-- ##### FUNCTION gtk_paint_arrow ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@arrow_type:
@fill:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_box ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_box_gap ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
@gap_side:
@gap_x:
@gap_width:
<!-- ##### FUNCTION gtk_paint_check ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_diamond ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_extension ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
@gap_side:
<!-- ##### FUNCTION gtk_paint_flat_box ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_focus ##### -->
<para>
</para>
@style:
@window:
@state_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_handle ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
@orientation:
<!-- ##### FUNCTION gtk_paint_hline ##### -->
<para>
</para>
@style:
@window:
@state_type:
@area:
@widget:
@detail:
@x1:
@x2:
@y:
<!-- ##### FUNCTION gtk_paint_option ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_polygon ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@points:
@n_points:
@fill:
<!-- ##### FUNCTION gtk_paint_shadow ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_shadow_gap ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
@gap_side:
@gap_x:
@gap_width:
<!-- ##### FUNCTION gtk_paint_slider ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
@orientation:
<!-- ##### FUNCTION gtk_paint_spinner ##### -->
<para>
</para>
@style:
@window:
@state_type:
@area:
@widget:
@detail:
@step:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_tab ##### -->
<para>
</para>
@style:
@window:
@state_type:
@shadow_type:
@area:
@widget:
@detail:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_paint_vline ##### -->
<para>
</para>
@style:
@window:
@state_type:
@area:
@widget:
@detail:
@y1_:
@y2_:
@x:
<!-- ##### FUNCTION gtk_paint_expander ##### -->
<para>
</para>
@style:
@window:
@state_type:
@area:
@widget:
@detail:
@x:
@y:
@expander_style:
<!-- ##### FUNCTION gtk_paint_layout ##### -->
<para>
</para>
@style:
@window:
@state_type:
@use_text:
@area:
@widget:
@detail:
@x:
@y:
@layout:
<!-- ##### FUNCTION gtk_paint_resize_grip ##### -->
<para>
</para>
@style:
@window:
@state_type:
@area:
@widget:
@detail:
@edge:
@x:
@y:
@width:
@height:
<!-- ##### FUNCTION gtk_draw_insertion_cursor ##### -->
<para>
</para>
@widget:
@drawable:
@area:
@location:
@is_primary:
@direction:
@draw_arrow:
<!-- ##### STRUCT GtkBorder ##### -->
<para>
A struct that specifies a border around a rectangular area that can
be of different width on each side.
</para>
@left: The width of the left border.
@right: The width of the right border.
@top: The width of the top border.
@bottom: The width of the bottom border.
<!-- ##### FUNCTION gtk_border_new ##### -->
<para>
</para>
@void:
@Returns:
<!-- ##### FUNCTION gtk_border_copy ##### -->
<para>
</para>
@border_:
@Returns:
<!-- ##### FUNCTION gtk_border_free ##### -->
<para>
</para>
@border_:
<!-- ##### STRUCT GtkRcProperty ##### -->
<para>
</para>
@type_name:
@property_name:
@origin:
@value:
<!-- ##### USER_FUNCTION GtkRcPropertyParser ##### -->
<para>
</para>
@pspec:
@rc_string:
@property_value:
@Returns:
-910
View File
@@ -1,910 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkTextIter
<!-- ##### SECTION Short_Description ##### -->
Text buffer iterator
<!-- ##### SECTION Long_Description ##### -->
<para>
You may wish to begin by reading the <link linkend="TextWidget">text widget
conceptual overview</link> which gives an overview of all the objects and data
types related to the text widget and how they work together.
</para>
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkTextIter ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_text_iter_get_buffer ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_copy ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_free ##### -->
<para>
</para>
@iter:
<!-- ##### FUNCTION gtk_text_iter_get_offset ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_line_offset ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_line_index ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_visible_line_index ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_visible_line_offset ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_char ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_slice ##### -->
<para>
</para>
@start:
@end:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_text ##### -->
<para>
</para>
@start:
@end:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_visible_slice ##### -->
<para>
</para>
@start:
@end:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_visible_text ##### -->
<para>
</para>
@start:
@end:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_pixbuf ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_marks ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_toggled_tags ##### -->
<para>
</para>
@iter:
@toggled_on:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_child_anchor ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_begins_tag ##### -->
<para>
</para>
@iter:
@tag:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_ends_tag ##### -->
<para>
</para>
@iter:
@tag:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_toggles_tag ##### -->
<para>
</para>
@iter:
@tag:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_has_tag ##### -->
<para>
</para>
@iter:
@tag:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_tags ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_editable ##### -->
<para>
</para>
@iter:
@default_setting:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_can_insert ##### -->
<para>
</para>
@iter:
@default_editability:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_starts_word ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_ends_word ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_inside_word ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_starts_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_ends_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_starts_sentence ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_ends_sentence ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_inside_sentence ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_is_cursor_position ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_chars_in_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_bytes_in_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_attributes ##### -->
<para>
</para>
@iter:
@values:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_get_language ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_is_end ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_is_start ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_char ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_char ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_chars ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_chars ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_lines ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_lines ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_word_ends ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_word_starts ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_word_end ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_word_start ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_cursor_position ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_cursor_position ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_cursor_positions ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_cursor_positions ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_sentence_start ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_sentence_starts ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_sentence_end ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_sentence_ends ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_visible_word_ends ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_visible_word_starts ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_visible_word_end ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_visible_word_start ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_visible_cursor_position ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_visible_cursor_position ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_visible_cursor_positions ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_visible_cursor_positions ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_visible_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_visible_line ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_visible_lines ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_visible_lines ##### -->
<para>
</para>
@iter:
@count:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_set_offset ##### -->
<para>
</para>
@iter:
@char_offset:
<!-- ##### FUNCTION gtk_text_iter_set_line ##### -->
<para>
</para>
@iter:
@line_number:
<!-- ##### FUNCTION gtk_text_iter_set_line_offset ##### -->
<para>
</para>
@iter:
@char_on_line:
<!-- ##### FUNCTION gtk_text_iter_set_line_index ##### -->
<para>
</para>
@iter:
@byte_on_line:
<!-- ##### FUNCTION gtk_text_iter_set_visible_line_index ##### -->
<para>
</para>
@iter:
@byte_on_line:
<!-- ##### FUNCTION gtk_text_iter_set_visible_line_offset ##### -->
<para>
</para>
@iter:
@char_on_line:
<!-- ##### FUNCTION gtk_text_iter_forward_to_end ##### -->
<para>
</para>
@iter:
<!-- ##### FUNCTION gtk_text_iter_forward_to_line_end ##### -->
<para>
</para>
@iter:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_to_tag_toggle ##### -->
<para>
</para>
@iter:
@tag:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_to_tag_toggle ##### -->
<para>
</para>
@iter:
@tag:
@Returns:
<!-- ##### USER_FUNCTION GtkTextCharPredicate ##### -->
<para>
</para>
@ch:
@user_data:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_forward_find_char ##### -->
<para>
</para>
@iter:
@pred:
@user_data:
@limit:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_find_char ##### -->
<para>
</para>
@iter:
@pred:
@user_data:
@limit:
@Returns:
<!-- ##### ENUM GtkTextSearchFlags ##### -->
<para>
</para>
@GTK_TEXT_SEARCH_VISIBLE_ONLY:
@GTK_TEXT_SEARCH_TEXT_ONLY:
<!-- ##### FUNCTION gtk_text_iter_forward_search ##### -->
<para>
</para>
@iter:
@str:
@flags:
@match_start:
@match_end:
@limit:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_backward_search ##### -->
<para>
</para>
@iter:
@str:
@flags:
@match_start:
@match_end:
@limit:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_equal ##### -->
<para>
</para>
@lhs:
@rhs:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_compare ##### -->
<para>
</para>
@lhs:
@rhs:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_in_range ##### -->
<para>
</para>
@iter:
@start:
@end:
@Returns:
<!-- ##### FUNCTION gtk_text_iter_order ##### -->
<para>
</para>
@first:
@second:
@@ -1,103 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkToggleAction
<!-- ##### SECTION Short_Description ##### -->
An action which can be toggled between two states
<!-- ##### SECTION Long_Description ##### -->
<para>
A #GtkToggleAction corresponds roughly to a #GtkCheckMenuItem. It has an
"active" state specifying whether the action has been checked or not.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkToggleAction ##### -->
<para>
The <structname>GtkToggleAction</structname> struct contains only
private members and should not be accessed directly.
</para>
<!-- ##### SIGNAL GtkToggleAction::toggled ##### -->
<para>
</para>
@toggleaction: the object which received the signal.
<!-- ##### ARG GtkToggleAction:active ##### -->
<para>
</para>
<!-- ##### ARG GtkToggleAction:draw-as-radio ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_toggle_action_new ##### -->
<para>
</para>
@name:
@label:
@tooltip:
@stock_id:
@Returns:
<!-- ##### FUNCTION gtk_toggle_action_toggled ##### -->
<para>
</para>
@action:
<!-- ##### FUNCTION gtk_toggle_action_set_active ##### -->
<para>
</para>
@action:
@is_active:
<!-- ##### FUNCTION gtk_toggle_action_get_active ##### -->
<para>
</para>
@action:
@Returns:
<!-- ##### FUNCTION gtk_toggle_action_set_draw_as_radio ##### -->
<para>
</para>
@action:
@draw_as_radio:
<!-- ##### FUNCTION gtk_toggle_action_get_draw_as_radio ##### -->
<para>
</para>
@action:
@Returns:
-22
View File
@@ -147,18 +147,6 @@ accessed through the function described below.
</para>
<!-- ##### ENUM GtkToolbarChildType ##### -->
<para>
#GtkToolbarChildType is used to set the type of new elements that are added
to a #GtkToolbar.
</para>
@GTK_TOOLBAR_CHILD_SPACE: a space in the style of the toolbar's #GtkToolbarSpaceStyle.
@GTK_TOOLBAR_CHILD_BUTTON: a #GtkButton.
@GTK_TOOLBAR_CHILD_TOGGLEBUTTON: a #GtkToggleButton.
@GTK_TOOLBAR_CHILD_RADIOBUTTON: a #GtkRadioButton.
@GTK_TOOLBAR_CHILD_WIDGET: a standard #GtkWidget.
<!-- ##### ENUM GtkToolbarSpaceStyle ##### -->
<para>
@@ -167,16 +155,6 @@ to a #GtkToolbar.
@GTK_TOOLBAR_SPACE_EMPTY:
@GTK_TOOLBAR_SPACE_LINE:
<!-- ##### STRUCT GtkToolbarChild ##### -->
<para>
</para>
@type:
@widget:
@icon:
@label:
<!-- ##### FUNCTION gtk_toolbar_new ##### -->
<para>
-310
View File
@@ -1,310 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkToolItem
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkToolItem ##### -->
<para>
</para>
<!-- ##### SIGNAL GtkToolItem::create-menu-proxy ##### -->
<para>
</para>
@toolitem: the object which received the signal.
@Returns:
<!-- ##### SIGNAL GtkToolItem::toolbar-reconfigured ##### -->
<para>
</para>
@toolitem: the object which received the signal.
<!-- ##### ARG GtkToolItem:is-important ##### -->
<para>
</para>
<!-- ##### ARG GtkToolItem:visible-horizontal ##### -->
<para>
</para>
<!-- ##### ARG GtkToolItem:visible-vertical ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_tool_item_new ##### -->
<para>
</para>
@void:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_set_homogeneous ##### -->
<para>
</para>
@tool_item:
@homogeneous:
<!-- ##### FUNCTION gtk_tool_item_get_homogeneous ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_set_expand ##### -->
<para>
</para>
@tool_item:
@expand:
<!-- ##### FUNCTION gtk_tool_item_get_expand ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_set_tooltip_text ##### -->
<para>
</para>
@tool_item:
@text:
<!-- ##### FUNCTION gtk_tool_item_set_tooltip_markup ##### -->
<para>
</para>
@tool_item:
@markup:
<!-- ##### FUNCTION gtk_tool_item_set_use_drag_window ##### -->
<para>
</para>
@tool_item:
@use_drag_window:
<!-- ##### FUNCTION gtk_tool_item_get_use_drag_window ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_set_visible_horizontal ##### -->
<para>
</para>
@tool_item:
@visible_horizontal:
<!-- ##### FUNCTION gtk_tool_item_get_visible_horizontal ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_set_visible_vertical ##### -->
<para>
</para>
@tool_item:
@visible_vertical:
<!-- ##### FUNCTION gtk_tool_item_get_visible_vertical ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_set_is_important ##### -->
<para>
</para>
@tool_item:
@is_important:
<!-- ##### FUNCTION gtk_tool_item_get_is_important ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_get_ellipsize_mode ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_get_icon_size ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_get_orientation ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_get_toolbar_style ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_get_relief_style ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_get_text_alignment ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_get_text_orientation ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_retrieve_proxy_menu_item ##### -->
<para>
</para>
@tool_item:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_get_proxy_menu_item ##### -->
<para>
</para>
@tool_item:
@menu_item_id:
@Returns:
<!-- ##### FUNCTION gtk_tool_item_set_proxy_menu_item ##### -->
<para>
</para>
@tool_item:
@menu_item_id:
@menu_item:
<!-- ##### FUNCTION gtk_tool_item_rebuild_menu ##### -->
<para>
</para>
@tool_item:
<!-- ##### FUNCTION gtk_tool_item_toolbar_reconfigured ##### -->
<para>
</para>
@tool_item:
<!-- ##### FUNCTION gtk_tool_item_get_text_size_group ##### -->
<para>
</para>
@tool_item:
@Returns:
-144
View File
@@ -1,144 +0,0 @@
<!-- ##### SECTION Title ##### -->
GtkTreeView drag-and-drop
<!-- ##### SECTION Short_Description ##### -->
Interfaces for drag-and-drop support in GtkTreeView
<!-- ##### SECTION Long_Description ##### -->
<para>
GTK+ supports Drag-and-Drop in tree views with a high-level and a low-level
API.
</para>
<para>
The low-level API consists of the GTK+ DND API, augmented by some treeview
utility functions: gtk_tree_view_set_drag_dest_row(),
gtk_tree_view_get_drag_dest_row(), gtk_tree_view_get_dest_row_at_pos(),
gtk_tree_view_create_row_drag_icon(), gtk_tree_set_row_drag_data() and
gtk_tree_get_row_drag_data(). This API leaves a lot of flexibility, but
nothing is done automatically, and implementing advanced features like
hover-to-open-rows or autoscrolling on top of this API is a lot of work.
</para>
<para>
On the other hand, if you write to the high-level API, then all the
bookkeeping of rows is done for you, as well as things like hover-to-open
and auto-scroll, but your models have to implement the
#GtkTreeDragSource and #GtkTreeDragDest interfaces.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### SECTION Image ##### -->
<!-- ##### STRUCT GtkTreeDragSource ##### -->
<para>
</para>
<!-- ##### STRUCT GtkTreeDragSourceIface ##### -->
<para>
</para>
@g_iface:
@row_draggable:
@drag_data_get:
@drag_data_delete:
<!-- ##### FUNCTION gtk_tree_drag_source_drag_data_delete ##### -->
<para>
</para>
@drag_source:
@path:
@Returns:
<!-- ##### FUNCTION gtk_tree_drag_source_drag_data_get ##### -->
<para>
</para>
@drag_source:
@path:
@selection_data:
@Returns:
<!-- ##### FUNCTION gtk_tree_drag_source_row_draggable ##### -->
<para>
</para>
@drag_source:
@path:
@Returns:
<!-- ##### STRUCT GtkTreeDragDest ##### -->
<para>
</para>
<!-- ##### STRUCT GtkTreeDragDestIface ##### -->
<para>
</para>
@g_iface:
@drag_data_received:
@row_drop_possible:
<!-- ##### FUNCTION gtk_tree_drag_dest_drag_data_received ##### -->
<para>
</para>
@drag_dest:
@dest:
@selection_data:
@Returns:
<!-- ##### FUNCTION gtk_tree_drag_dest_row_drop_possible ##### -->
<para>
</para>
@drag_dest:
@dest_path:
@selection_data:
@Returns:
<!-- ##### FUNCTION gtk_tree_set_row_drag_data ##### -->
<para>
</para>
@selection_data:
@tree_model:
@path:
@Returns:
<!-- ##### FUNCTION gtk_tree_get_row_drag_data ##### -->
<para>
</para>
@selection_data:
@tree_model:
@path:
@Returns:
@@ -62,3 +62,13 @@ Limit the effect of grabs
@Returns:
<!-- ##### FUNCTION gtk_window_group_get_current_device_grab ##### -->
<para>
</para>
@window_group:
@device:
@Returns:
-54
View File
@@ -75,60 +75,6 @@ debugging, but it will slow down the performance considerably.
</para>
</formalpara>
<formalpara>
<title><systemitem>--gxid-host <replaceable>host</replaceable></systemitem></title>
<para>
The host to contact the <application>gxid</application> daemon on; overrides
the <link linkend="GXID"><envar>GXID_HOST</envar></link> environment variable.
</para>
</formalpara>
<formalpara>
<title><systemitem>--gxid-port <replaceable>port</replaceable></systemitem></title>
<para>
The port for the connection to <application>gxid</application>; overrides
the <link linkend="GXID"><envar>GXID_PORT</envar></link> environment variable.
This option is only available if GTK+ has been configured with
<option>--gdk-target=x11</option>.
</para>
</formalpara>
</refsect2>
<refsect2 id="x11-envar">
<title>X11-specific environment variables</title>
<para>
The X backend can be influenced with some
additional environment variables.
</para>
<formalpara id="GXID">
<title><envar>GXID_HOST</envar>, <envar>GXID_PORT</envar></title>
<para>
The host and port to contact the <application>gxid</application> daemon
on. <application>gxid</application> is only necessary on X servers which
don't support using the pointer and extension devices at once, and is
only built if GTK+ is configured with <option>--with-xinput=gxi</option>.
The <application>XFree86</application> and <application>Xorg</application>
X servers don't have this
restriction.
</para>
</formalpara>
<formalpara>
<title><envar>GDK_USE_XFT</envar></title>
<para>
If this variable is set to 1, GTK+ will use the Pango Xft backend instead
of the X backend when possible (i.e. when the X server supports the XRender
extension and Pango has been built with Xft support).
</para>
</formalpara>
</refsect2>
</refsect1>
-1
View File
@@ -16010,7 +16010,6 @@ create_input_dialog ()
}
}
void
int
main (int argc, char *argv[])
{
+1 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 1998 Cesar Miquel, Shawn T. Amundson, Mattias Grönlund
* Copyright (C) 1998 Cesar Miquel, Shawn T. Amundson, Mattias Grönlund
* Copyright (C) 2000 Tony Gale
*
* This program is free software; you can redistribute it and/or modify
+136
View File
@@ -0,0 +1,136 @@
#include <gtk/gtk.h>
/* The expose event handler for the event box.
*
* This function simply draws a transparency onto a widget on the area
* for which it receives expose events. This is intended to give the
* event box a "transparent" background.
*
* In order for this to work properly, the widget must have an RGBA
* colourmap. The widget should also be set as app-paintable since it
* doesn't make sense for GTK+ to draw a background if we are drawing it
* (and because GTK+ might actually replace our transparency with its
* default background colour).
*/
static gboolean
transparent_expose (GtkWidget *widget,
GdkEventExpose *event)
{
cairo_t *cr;
cr = gdk_cairo_create (widget->window);
cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
gdk_cairo_region (cr, event->region);
cairo_fill (cr);
cairo_destroy (cr);
return FALSE;
}
/* The expose event handler for the window.
*
* This function performs the actual compositing of the event box onto
* the already-existing background of the window at 50% normal opacity.
*
* In this case we do not want app-paintable to be set on the widget
* since we want it to draw its own (red) background. Because of this,
* however, we must ensure that we use g_signal_connect_after so that
* this handler is called after the red has been drawn. If it was
* called before then GTK would just blindly paint over our work.
*
* Note: if the child window has children, then you need a cairo 1.6
* feature to make this work correctly.
*/
static gboolean
window_expose_event (GtkWidget *widget,
GdkEventExpose *event)
{
GdkRegion *region;
GtkWidget *child;
cairo_t *cr;
/* get our child (in this case, the event box) */
child = gtk_bin_get_child (GTK_BIN (widget));
/* create a cairo context to draw to the window */
cr = gdk_cairo_create (widget->window);
/* the source data is the (composited) event box */
gdk_cairo_set_source_pixmap (cr, child->window,
child->allocation.x,
child->allocation.y);
/* draw no more than our expose event intersects our child */
region = gdk_region_rectangle (&child->allocation);
gdk_region_intersect (region, event->region);
gdk_cairo_region (cr, region);
cairo_clip (cr);
/* composite, with a 50% opacity */
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
cairo_paint_with_alpha (cr, 0.5);
/* we're done */
cairo_destroy (cr);
return FALSE;
}
int
main (int argc, char **argv)
{
GtkWidget *window, *event, *button;
GdkScreen *screen;
GdkColormap *rgba;
GdkColor red;
gtk_init (&argc, &argv);
/* Make the widgets */
button = gtk_button_new_with_label ("A Button");
event = gtk_event_box_new ();
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
/* Put a red background on the window */
gdk_color_parse ("red", &red);
gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &red);
/* Set the colourmap for the event box.
* Must be done before the event box is realised.
*/
screen = gtk_widget_get_screen (event);
rgba = gdk_screen_get_rgba_colormap (screen);
gtk_widget_set_colormap (event, rgba);
/* Set our event box to have a fully-transparent background
* drawn on it. Currently there is no way to simply tell GTK+
* that "transparency" is the background colour for a widget.
*/
gtk_widget_set_app_paintable (GTK_WIDGET (event), TRUE);
g_signal_connect (event, "expose-event",
G_CALLBACK (transparent_expose), NULL);
/* Put them inside one another */
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
gtk_container_add (GTK_CONTAINER (window), event);
gtk_container_add (GTK_CONTAINER (event), button);
/* Realise and show everything */
gtk_widget_show_all (window);
/* Set the event box GdkWindow to be composited.
* Obviously must be performed after event box is realised.
*/
gdk_window_set_composited (event->window, TRUE);
/* Set up the compositing handler.
* Note that we do _after_ so that the normal (red) background is drawn
* by gtk before our compositing occurs.
*/
g_signal_connect_after (window, "expose-event",
G_CALLBACK (window_expose_event), NULL);
gtk_main ();
return 0;
}
+13 -13
View File
@@ -509,7 +509,7 @@ INCLUDES = \
-I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/gdk-pixbuf \
-I$(top_builddir)/gdk-pixbuf \
-DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
-DGTK_LIBDIR=\"$(libdir)\" \
-DGTK_VERSION=\"$(GTK_VERSION)\" \
-DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
-DGTK_PREFIX=\"$(prefix)\" \
@@ -601,7 +601,7 @@ MAINTAINERCLEANFILES = \
gdk-pixbuf-enum-types.c \
gdk-pixbuf-marshal.h \
gdk-pixbuf-marshal.c \
gdk-pixbuf.loaders
loaders.cache
#
# gdk-pixbuf-enum-types.h
@@ -710,11 +710,11 @@ endif
# after the libraries are installed in their final locations.
install-data-hook: install-ms-lib install-def-file
@if $(RUN_QUERY_LOADER_TEST) ; then \
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-3.0 ; \
$(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders-3.0 > $(DESTDIR)$(sysconfdir)/gtk-3.0/gdk-pixbuf.loaders ; \
$(mkinstalldirs) $(DESTDIR)$(libdir)/gtk-3.0/3.0.0 ; \
$(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders-3.0 > $(DESTDIR)$(libdir)/gtk-3.0/3.0.0/loaders.cache ; \
else \
echo "***" ; \
echo "*** Warning: gdk-pixbuf.loaders not built" ; \
echo "*** Warning: loaders.cache not built" ; \
echo "***" ; \
echo "*** Generate this file manually on host" ; \
echo "*** system using gdk-pixbuf-query-loaders-3.0" ; \
@@ -722,27 +722,27 @@ install-data-hook: install-ms-lib install-def-file
fi
uninstall-local: uninstall-ms-lib uninstall-def-file
rm -f $(DESTDIR)$(sysconfdir)/gtk-3.0/gdk-pixbuf.loaders
rm -f $(DESTDIR)$(libdir)/gtk-3.0/3.0.0/loaders.cache
if CROSS_COMPILING
else
all-local: gdk-pixbuf.loaders
all-local: loaders.cache
endif
if BUILD_DYNAMIC_MODULES
gdk-pixbuf.loaders: $(loader_LTLIBRARIES) gdk-pixbuf-query-loaders-3.0$(EXEEXT)
loaders.cache: $(loader_LTLIBRARIES) gdk-pixbuf-query-loaders-3.0$(EXEEXT)
LOADERS=`echo libpixbufloader-*.la` ; \
if test "x$$LOADERS" != 'xlibpixbufloader-*.la' ; then \
echo "Writing a gdk-pixbuf.loader file to use when running examples before installing gdk-pixbuf."; \
$(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders-3.0 $$LOADERS > ./gdk-pixbuf.loaders ;\
echo "Writing a loaders.cache file to use when running examples before installing gdk-pixbuf."; \
$(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders-3.0 $$LOADERS > ./loaders.cache ;\
else \
echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \
touch gdk-pixbuf.loaders; \
touch loaders.cache; \
fi
else
gdk-pixbuf.loaders:
loaders.cache:
echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \
touch gdk-pixbuf.loaders;
touch loaders.cache;
endif
-include $(top_srcdir)/git.mk
+1 -1
View File
@@ -1,5 +1,5 @@
#! /bin/sh
cpp -DINCLUDE_VARIABLES -P -DALL_FILES ${srcdir:-.}/gdk-pixbuf.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE$//' | sort > expected-abi
nm -D -g --defined-only .libs/libgdk_pixbuf-3.0.so | cut -d ' ' -f 3 | sort > actual-abi
nm -D -g --defined-only .libs/libgdk_pixbuf-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
diff -u expected-abi actual-abi && rm -f expected-abi actual-abi
+1 -1
View File
@@ -1,5 +1,5 @@
/*** BEGIN file-header ***/
#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION)
#if !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION)
#error "Only <gdk-pixbuf/gdk-pixbuf.h> can be included directly."
#endif
+1 -1
View File
@@ -1,4 +1,4 @@
#if defined(GDK_PIXBUF_DISABLE_SINGLE_INCLUDES) && !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION)
#if !defined (GDK_PIXBUF_H_INSIDE) && !defined (GDK_PIXBUF_COMPILATION)
#error "Only <gdk-pixbuf/gdk-pixbuf.h> can be included directly."
#endif
+1144 -1144
View File
File diff suppressed because it is too large Load Diff
+5 -5
View File
@@ -261,7 +261,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error)
gchar *icc_profile_base64;
const gchar *icc_profile_title;
const gchar *icc_profile;
gulong icc_profile_size;
png_uint_32 icc_profile_size;
guint32 retval;
gint compression_type;
@@ -344,7 +344,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error)
(png_charpp) &icc_profile_title, &compression_type,
(png_charpp) &icc_profile, (png_uint_32*) &icc_profile_size);
if (retval != 0) {
icc_profile_base64 = g_base64_encode ((const guchar *) icc_profile, icc_profile_size);
icc_profile_base64 = g_base64_encode ((const guchar *) icc_profile, (gsize)icc_profile_size);
gdk_pixbuf_set_option (pixbuf, "icc-profile", icc_profile_base64);
g_free (icc_profile_base64);
}
@@ -607,7 +607,7 @@ png_info_callback (png_structp png_read_ptr,
gchar *icc_profile_base64;
const gchar *icc_profile_title;
const gchar *icc_profile;
gulong icc_profile_size;
png_uint_32 icc_profile_size;
guint32 retval;
gint compression_type;
@@ -679,9 +679,9 @@ png_info_callback (png_structp png_read_ptr,
/* Extract embedded ICC profile */
retval = png_get_iCCP (png_read_ptr, png_info_ptr,
(png_charpp) &icc_profile_title, &compression_type,
(png_charpp) &icc_profile, (png_uint_32*) &icc_profile_size);
(png_charpp) &icc_profile, &icc_profile_size);
if (retval != 0) {
icc_profile_base64 = g_base64_encode ((const guchar *) icc_profile, icc_profile_size);
icc_profile_base64 = g_base64_encode ((const guchar *) icc_profile, (gsize)icc_profile_size);
gdk_pixbuf_set_option (lc->pixbuf, "icc-profile", icc_profile_base64);
g_free (icc_profile_base64);
}
+253 -219
View File
@@ -3,7 +3,7 @@
* queryloaders.c:
*
* Copyright (C) 2002 The Free Software Foundation
*
*
* Author: Matthias Clasen <maclas@gmx.de>
*
* This library is free software; you can redistribute it and/or
@@ -13,7 +13,7 @@
*
* 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
* 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
@@ -50,278 +50,312 @@
#endif
static void
print_escaped (const char *str)
print_escaped (GString *contents, const char *str)
{
gchar *tmp = g_strescape (str, "");
g_printf ("\"%s\" ", tmp);
g_free (tmp);
gchar *tmp = g_strescape (str, "");
g_string_append_printf (contents, "\"%s\" ", tmp);
g_free (tmp);
}
static int
loader_sanity_check (const char *path, GdkPixbufFormat *info, GdkPixbufModule *vtable)
{
const GdkPixbufModulePattern *pattern;
const char *error = "";
const GdkPixbufModulePattern *pattern;
const char *error = "";
for (pattern = info->signature; pattern->prefix; pattern++)
{
int prefix_len = strlen (pattern->prefix);
if (prefix_len == 0)
{
error = "empty pattern";
for (pattern = info->signature; pattern->prefix; pattern++)
{
int prefix_len = strlen (pattern->prefix);
if (prefix_len == 0)
{
error = "empty pattern";
goto error;
}
if (pattern->mask)
{
int mask_len = strlen (pattern->mask);
if (mask_len != prefix_len)
{
error = "mask length mismatch";
goto error;
}
if (strspn (pattern->mask, " !xzn*") < mask_len)
{
error = "bad char in mask";
goto error;
}
}
}
goto error;
}
if (pattern->mask)
{
int mask_len = strlen (pattern->mask);
if (mask_len != prefix_len)
{
error = "mask length mismatch";
if (!vtable->load && !vtable->begin_load && !vtable->load_animation)
{
error = "no load method implemented";
goto error;
}
if (strspn (pattern->mask, " !xzn*") < mask_len)
{
error = "bad char in mask";
goto error;
}
goto error;
}
}
}
if (vtable->begin_load && (!vtable->stop_load || !vtable->load_increment))
{
error = "incremental loading support incomplete";
if (!vtable->load && !vtable->begin_load && !vtable->load_animation)
{
error = "no load method implemented";
goto error;
}
goto error;
}
if ((info->flags & GDK_PIXBUF_FORMAT_WRITABLE) && !(vtable->save || vtable->save_to_callback))
{
error = "loader claims to support saving but doesn't implement save";
goto error;
}
return 1;
if (vtable->begin_load && (!vtable->stop_load || !vtable->load_increment))
{
error = "incremental loading support incomplete";
goto error;
}
if ((info->flags & GDK_PIXBUF_FORMAT_WRITABLE) && !(vtable->save || vtable->save_to_callback))
{
error = "loader claims to support saving but doesn't implement save";
goto error;
}
return 1;
error:
g_fprintf (stderr, "Loader sanity check failed for %s: %s\n",
path, error);
return 0;
g_fprintf (stderr, "Loader sanity check failed for %s: %s\n",
path, error);
return 0;
}
static void
write_loader_info (const char *path, GdkPixbufFormat *info)
write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info)
{
const GdkPixbufModulePattern *pattern;
char **mime;
char **ext;
const GdkPixbufModulePattern *pattern;
char **mime;
char **ext;
g_printf("\"%s\"\n", path);
g_printf ("\"%s\" %u \"%s\" \"%s\" \"%s\"\n",
info->name,
g_string_append_printf (contents, "\"%s\"\n", path);
g_string_append_printf (contents, "\"%s\" %u \"%s\" \"%s\" \"%s\"\n",
info->name,
info->flags,
info->domain ? info->domain : GETTEXT_PACKAGE,
info->domain ? info->domain : GETTEXT_PACKAGE,
info->description,
info->license ? info->license : "");
for (mime = info->mime_types; *mime; mime++) {
g_printf ("\"%s\" ", *mime);
}
g_printf ("\"\"\n");
for (ext = info->extensions; *ext; ext++) {
g_printf ("\"%s\" ", *ext);
}
g_printf ("\"\"\n");
for (pattern = info->signature; pattern->prefix; pattern++) {
print_escaped (pattern->prefix);
print_escaped (pattern->mask ? (const char *)pattern->mask : "");
g_printf ("%d\n", pattern->relevance);
}
g_printf ("\n");
for (mime = info->mime_types; *mime; mime++) {
g_string_append_printf (contents, "\"%s\" ", *mime);
}
g_string_append (contents, "\"\"\n");
for (ext = info->extensions; *ext; ext++) {
g_string_append_printf (contents, "\"%s\" ", *ext);
}
g_string_append (contents, "\"\"\n");
for (pattern = info->signature; pattern->prefix; pattern++) {
print_escaped (contents, pattern->prefix);
print_escaped (contents, pattern->mask ? (const char *)pattern->mask : "");
g_string_append_printf (contents, "%d\n", pattern->relevance);
}
g_string_append_c (contents, '\n');
}
static void
query_module (const char *dir, const char *file)
query_module (GString *contents, const char *dir, const char *file)
{
char *path;
GModule *module;
void (*fill_info) (GdkPixbufFormat *info);
void (*fill_vtable) (GdkPixbufModule *module);
gpointer fill_info_ptr;
gpointer fill_vtable_ptr;
char *path;
GModule *module;
void (*fill_info) (GdkPixbufFormat *info);
void (*fill_vtable) (GdkPixbufModule *module);
gpointer fill_info_ptr;
gpointer fill_vtable_ptr;
if (g_path_is_absolute (file))
path = g_strdup (file);
else
path = g_build_filename (dir, file, NULL);
if (g_path_is_absolute (file))
path = g_strdup (file);
else
path = g_build_filename (dir, file, NULL);
module = g_module_open (path, 0);
if (module &&
g_module_symbol (module, "fill_info", &fill_info_ptr) &&
g_module_symbol (module, "fill_vtable", &fill_vtable_ptr)) {
GdkPixbufFormat *info;
GdkPixbufModule *vtable;
module = g_module_open (path, 0);
if (module &&
g_module_symbol (module, "fill_info", &fill_info_ptr) &&
g_module_symbol (module, "fill_vtable", &fill_vtable_ptr)) {
GdkPixbufFormat *info;
GdkPixbufModule *vtable;
#ifdef G_OS_WIN32
/* Replace backslashes in path with forward slashes, so that
* it reads in without problems.
*/
{
char *p = path;
while (*p) {
if (*p == '\\')
*p = '/';
p++;
}
}
#endif
info = g_new0 (GdkPixbufFormat, 1);
vtable = g_new0 (GdkPixbufModule, 1);
/* Replace backslashes in path with forward slashes, so that
* it reads in without problems.
*/
{
char *p = path;
while (*p) {
if (*p == '\\')
*p = '/';
p++;
}
}
#endif
info = g_new0 (GdkPixbufFormat, 1);
vtable = g_new0 (GdkPixbufModule, 1);
vtable->module = module;
vtable->module = module;
fill_info = fill_info_ptr;
fill_vtable = fill_vtable_ptr;
fill_info = fill_info_ptr;
fill_vtable = fill_vtable_ptr;
(*fill_info) (info);
(*fill_vtable) (vtable);
if (loader_sanity_check (path, info, vtable))
write_loader_info (path, info);
g_free (info);
g_free (vtable);
}
else {
if (module == NULL)
g_fprintf (stderr, "g_module_open() failed for %s: %s\n", path,
g_module_error());
else
g_fprintf (stderr, "Cannot load loader %s\n", path);
}
if (module)
g_module_close (module);
g_free (path);
(*fill_info) (info);
(*fill_vtable) (vtable);
if (loader_sanity_check (path, info, vtable))
write_loader_info (contents, path, info);
g_free (info);
g_free (vtable);
}
else {
if (module == NULL)
g_fprintf (stderr, "g_module_open() failed for %s: %s\n", path,
g_module_error());
else
g_fprintf (stderr, "Cannot load loader %s\n", path);
}
if (module)
g_module_close (module);
g_free (path);
}
static gchar *
gdk_pixbuf_get_module_file (void)
{
gchar *result = g_strdup (g_getenv ("GDK_PIXBUF_MODULE_FILE"));
if (!result)
result = g_build_filename (GTK_LIBDIR, "gtk-3.0", GTK_BINARY_VERSION, "loaders.cache", NULL);
return result;
}
int main (int argc, char **argv)
{
gint i;
gchar *prgname;
gint i;
gchar *prgname;
GString *contents;
gchar *cache_file = NULL;
gint first_file = 1;
#ifdef G_OS_WIN32
gchar *libdir;
gchar *runtime_prefix;
gchar *slash;
gchar *libdir;
gchar *runtime_prefix;
gchar *slash;
if (g_ascii_strncasecmp (PIXBUF_LIBDIR, GTK_PREFIX, strlen (GTK_PREFIX)) == 0 &&
G_IS_DIR_SEPARATOR (PIXBUF_LIBDIR[strlen (GTK_PREFIX)])) {
/* GTK_PREFIX is a prefix of PIXBUF_LIBDIR, as it
* normally is. Replace that prefix in PIXBUF_LIBDIR
* with the installation directory on this machine.
* We assume this invokation of
* gdk-pixbuf-query-loaders is run from either a "bin"
* subdirectory of the installation directory, or in
* the installation directory itself.
*/
wchar_t fn[1000];
GetModuleFileNameW (NULL, fn, G_N_ELEMENTS (fn));
runtime_prefix = g_utf16_to_utf8 (fn, -1, NULL, NULL, NULL);
slash = strrchr (runtime_prefix, '\\');
*slash = '\0';
slash = strrchr (runtime_prefix, '\\');
/* If running from some weird location, or from the
* build directory (either in the .libs folder where
* libtool places the real executable when using a
* wrapper, or directly from the gdk-pixbuf folder),
* use the compile-time libdir.
*/
if (slash == NULL ||
g_ascii_strcasecmp (slash + 1, ".libs") == 0 ||
g_ascii_strcasecmp (slash + 1, "gdk-pixbuf") == 0) {
libdir = PIXBUF_LIBDIR;
}
else {
if (slash != NULL && g_ascii_strcasecmp (slash + 1, "bin") == 0) {
*slash = '\0';
}
libdir = g_strconcat (runtime_prefix,
"/",
PIXBUF_LIBDIR + strlen (GTK_PREFIX) + 1,
NULL);
}
}
else {
libdir = PIXBUF_LIBDIR;
}
if (g_ascii_strncasecmp (PIXBUF_LIBDIR, GTK_PREFIX, strlen (GTK_PREFIX)) == 0 &&
G_IS_DIR_SEPARATOR (PIXBUF_LIBDIR[strlen (GTK_PREFIX)])) {
/* GTK_PREFIX is a prefix of PIXBUF_LIBDIR, as it
* normally is. Replace that prefix in PIXBUF_LIBDIR
* with the installation directory on this machine.
* We assume this invokation of
* gdk-pixbuf-query-loaders is run from either a "bin"
* subdirectory of the installation directory, or in
* the installation directory itself.
*/
wchar_t fn[1000];
GetModuleFileNameW (NULL, fn, G_N_ELEMENTS (fn));
runtime_prefix = g_utf16_to_utf8 (fn, -1, NULL, NULL, NULL);
slash = strrchr (runtime_prefix, '\\');
*slash = '\0';
slash = strrchr (runtime_prefix, '\\');
/* If running from some weird location, or from the
* build directory (either in the .libs folder where
* libtool places the real executable when using a
* wrapper, or directly from the gdk-pixbuf folder),
* use the compile-time libdir.
*/
if (slash == NULL ||
g_ascii_strcasecmp (slash + 1, ".libs") == 0 ||
g_ascii_strcasecmp (slash + 1, "gdk-pixbuf") == 0) {
libdir = PIXBUF_LIBDIR;
}
else {
if (slash != NULL && g_ascii_strcasecmp (slash + 1, "bin") == 0) {
*slash = '\0';
}
libdir = g_strconcat (runtime_prefix,
"/",
PIXBUF_LIBDIR + strlen (GTK_PREFIX) + 1,
NULL);
}
}
else {
libdir = PIXBUF_LIBDIR;
}
#undef PIXBUF_LIBDIR
#define PIXBUF_LIBDIR libdir
#endif
prgname = g_get_prgname ();
g_printf ("# GdkPixbuf Image Loader Modules file\n"
"# Automatically generated file, do not edit\n"
"# Created by %s from gtk+-%s\n"
"#\n",
(prgname ? prgname : "gdk-pixbuf-query-loaders-3.0"),
GDK_PIXBUF_VERSION);
if (argc == 1) {
if (argc > 1 && strcmp (argv[1], "--update-cache") == 0) {
cache_file = gdk_pixbuf_get_module_file ();
first_file = 2;
}
contents = g_string_new ("");
prgname = g_get_prgname ();
g_string_append_printf (contents,
"# GdkPixbuf Image Loader Modules file\n"
"# Automatically generated file, do not edit\n"
"# Created by %s from gtk+-%s\n"
"#\n",
(prgname ? prgname : "gdk-pixbuf-query-loaders-3.0"),
GDK_PIXBUF_VERSION);
if (argc == first_file) {
#ifdef USE_GMODULE
const char *path;
GDir *dir;
path = g_getenv ("GDK_PIXBUF_MODULEDIR");
const char *path;
GDir *dir;
path = g_getenv ("GDK_PIXBUF_MODULEDIR");
#ifdef G_OS_WIN32
if (path != NULL && *path != '\0')
path = g_locale_to_utf8 (path, -1, NULL, NULL, NULL);
if (path != NULL && *path != '\0')
path = g_locale_to_utf8 (path, -1, NULL, NULL, NULL);
#endif
if (path == NULL || *path == '\0')
path = PIXBUF_LIBDIR;
if (path == NULL || *path == '\0')
path = PIXBUF_LIBDIR;
g_printf ("# LoaderDir = %s\n#\n", path);
g_string_append_printf (contents, "# LoaderDir = %s\n#\n", path);
dir = g_dir_open (path, 0, NULL);
if (dir) {
const char *dent;
dir = g_dir_open (path, 0, NULL);
if (dir) {
const char *dent;
while ((dent = g_dir_read_name (dir))) {
gint len = strlen (dent);
if (len > SOEXT_LEN &&
strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) {
query_module (path, dent);
}
}
g_dir_close (dir);
}
while ((dent = g_dir_read_name (dir))) {
gint len = strlen (dent);
if (len > SOEXT_LEN &&
strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) {
query_module (contents, path, dent);
}
}
g_dir_close (dir);
}
#else
g_printf ("# dynamic loading of modules not supported\n");
g_string_append_printf (contents, "# dynamic loading of modules not supported\n");
#endif
}
else {
char *cwd = g_get_current_dir ();
}
else {
char *cwd = g_get_current_dir ();
for (i = 1; i < argc; i++) {
char *infilename = argv[i];
for (i = 1; i < argc; i++) {
char *infilename = argv[i];
#ifdef G_OS_WIN32
infilename = g_locale_to_utf8 (infilename,
-1, NULL, NULL, NULL);
infilename = g_locale_to_utf8 (infilename,
-1, NULL, NULL, NULL);
#endif
query_module (cwd, infilename);
}
g_free (cwd);
}
query_module (contents, cwd, infilename);
}
g_free (cwd);
}
return 0;
if (cache_file) {
GError *err;
err = NULL;
if (!g_file_set_contents (cache_file, contents->str, -1, &err)) {
g_fprintf (stderr, "%s\n", err->message);
}
}
else
g_print ("%s\n", contents->str);
return 0;
}
+27 -7
View File
@@ -3,6 +3,7 @@ include $(top_srcdir)/Makefile.decl
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = \
--add-include-path=../gdk \
--add-include-path=../gdk-pixbuf
INTROSPECTION_COMPILER_ARGS = \
--includedir=$(srcdir) \
@@ -77,6 +78,8 @@ gdk_public_h_sources = \
gdkcairo.h \
gdkcolor.h \
gdkcursor.h \
gdkdevice.h \
gdkdevicemanager.h \
gdkdisplay.h \
gdkdisplaymanager.h \
gdkdnd.h \
@@ -109,10 +112,11 @@ gdk_built_public_sources = \
gdk_built_private_headers = \
gdkalias.h
gdk_private_headers = \
gdkinternals.h \
gdkintl.h \
gdkpoly-generic.h \
gdk_private_headers = \
gdkinternals.h \
gdkdeviceprivate.h \
gdkintl.h \
gdkpoly-generic.h \
gdkregion-generic.h
gdk_c_sources = \
@@ -122,6 +126,8 @@ gdk_c_sources = \
gdkcairo.c \
gdkcolor.c \
gdkcursor.c \
gdkdevice.c \
gdkdevicemanager.c \
gdkdisplay.c \
gdkdisplaymanager.c \
gdkdnd.c \
@@ -197,8 +203,7 @@ introspection_files = \
$(gdk_public_h_sources) \
$(gdk_c_sources) \
gdkenumtypes.c \
gdkenumtypes.h \
$(srcdir)/x11/*.c
gdkenumtypes.h
Gdk-3.0.gir: $(gdktargetlib) Makefile
Gdk_3_0_gir_SCANNERFLAGS = --strip-prefix=Gdk --add-include-path=../gdk-pixbuf
@@ -208,6 +213,20 @@ Gdk_3_0_gir_FILES = $(addprefix $(srcdir)/,$(introspection_files))
Gdk_3_0_gir_CFLAGS = $(INCLUDES)
INTROSPECTION_GIRS += Gdk-3.0.gir
if USE_X11
x11_introspection_files = \
x11/*.c \
x11/gdkx.h
GdkX11-3.0.gir: $(gdktargetlib) Makefile
GdkX11_3_0_gir_SCANNERFLAGS = --strip-prefix=gdk_x11 --add-include-path=../gdk-pixbuf
GdkX11_3_0_gir_INCLUDES = Gio-2.0 Gdk-3.0 GdkPixbuf-3.0 Pango-1.0 xlib-2.0
GdkX11_3_0_gir_LIBS = $(gdktargetlib)
GdkX11_3_0_gir_FILES = $(addprefix $(srcdir)/,$(x11_introspection_files))
GdkX11_3_0_gir_CFLAGS = $(INCLUDES)
INTROSPECTION_GIRS += GdkX11-3.0.gir
endif # USE_X11
girdir = $(datadir)/gir-1.0
dist_gir_DATA = $(INTROSPECTION_GIRS)
@@ -215,7 +234,8 @@ typelibsdir = $(libdir)/girepository-1.0
typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(dist_gir_DATA) $(typelibs_DATA)
endif
endif # HAVE_INTROSPECTION
if OS_WIN32
install-def-file: gdk.def
+2 -2
View File
@@ -1,5 +1,5 @@
#! /bin/sh
cpp -DINCLUDE_VARIABLES -P -DALL_FILES -DGDK_ENABLE_BROKEN -DGDK_WINDOWING_X11 ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi
nm -D -g --defined-only .libs/libgdk-x11-3.0.so | cut -d ' ' -f 3 | sort > actual-abi
cpp -DINCLUDE_VARIABLES -P -DALL_FILES -DGDK_ENABLE_BROKEN -include ${srcdir:-.}/../config.h -include ${srcdir:-.}/gdkconfig.h ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi
nm -D -g --defined-only .libs/libgdk-x11-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
diff -u expected-abi actual-abi && rm -f expected-abi actual-abi
-77
View File
@@ -218,45 +218,6 @@ gdk_screen_get_system_colormap (GdkScreen *screen)
return colormap;
}
gint
gdk_colormap_get_system_size (void)
{
GdkVisual *visual;
visual = gdk_visual_get_system ();
return visual->colormap_size;
}
void
gdk_colormap_change (GdkColormap *colormap,
gint ncolors)
{
g_message ("gdk_colormap_change() is deprecated and unimplemented");
}
gboolean
gdk_colors_alloc (GdkColormap *colormap,
gboolean contiguous,
gulong *planes,
gint nplanes,
gulong *pixels,
gint npixels)
{
/* g_message ("gdk_colors_alloc() is deprecated and unimplemented"); */
return TRUE; /* return TRUE here to make GdkRGB happy */
}
void
gdk_colors_free (GdkColormap *colormap,
gulong *in_pixels,
gint in_npixels,
gulong planes)
{
/* g_message ("gdk_colors_free() is deprecated and unimplemented"); */
}
void
gdk_colormap_free_colors (GdkColormap *colormap,
const GdkColor *colors,
@@ -344,44 +305,6 @@ gdk_colormap_alloc_colors (GdkColormap *colormap,
return 0;
}
gboolean
gdk_color_change (GdkColormap *colormap,
GdkColor *color)
{
GdkColormapPrivateDirectFB *private;
IDirectFBPalette *palette;
g_return_val_if_fail (GDK_IS_COLORMAP (colormap), FALSE);
g_return_val_if_fail (color != NULL, FALSE);
private = colormap->windowing_data;
if (!private)
return FALSE;
palette = private->palette;
if (!palette)
return FALSE;
if (color->pixel < 0 || color->pixel >= colormap->size)
return FALSE;
if (private->info[color->pixel].flags & GDK_COLOR_WRITEABLE)
{
DFBColor entry = { 0xFF,
color->red >> 8,
color->green >> 8,
color->blue >> 8 };
if (palette->SetEntries (palette, &entry, 1, color->pixel) != DFB_OK)
return FALSE;
colormap->colors[color->pixel] = *color;
return TRUE;
}
return FALSE;
}
void
gdk_colormap_query_color (GdkColormap *colormap,
gulong pixel,
-11
View File
@@ -63,17 +63,6 @@ _gdk_windowing_init (void)
*/
}
void
gdk_set_use_xshm (gboolean use_xshm)
{
}
gboolean
gdk_get_use_xshm (void)
{
return FALSE;
}
void
_gdk_windowing_display_set_sm_client_id (GdkDisplay *display,const gchar *sm_client_id)
{
-20
View File
@@ -1526,26 +1526,6 @@ gdk_window_directfb_lower (GdkWindow *window)
}
}
void
gdk_window_set_hints (GdkWindow *window,
gint x,
gint y,
gint min_width,
gint min_height,
gint max_width,
gint max_height,
gint flags)
{
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
D_DEBUG_AT( GDKDFB_Window, "%s( %p, %3d,%3d, min %4dx%4d, max %4dx%4d, flags 0x%08x )\n", G_STRFUNC,
window, x,y, min_width, min_height, max_width, max_height, flags );
/* N/A */
}
void
gdk_window_set_geometry_hints (GdkWindow *window,
const GdkGeometry *geometry,
+23 -25
View File
@@ -386,31 +386,6 @@ gdk_init (int *argc, char ***argv)
}
}
/*
*--------------------------------------------------------------
* gdk_exit
*
* Restores the library to an un-itialized state and exits
* the program using the "exit" system call.
*
* Arguments:
* "errorcode" is the error value to pass to "exit".
*
* Results:
* Allocated structures are freed and the program exits
* cleanly.
*
* Side effects:
*
*--------------------------------------------------------------
*/
void
gdk_exit (gint errorcode)
{
exit (errorcode);
}
void
gdk_threads_enter (void)
{
@@ -812,5 +787,28 @@ gdk_set_program_class (const char *program_class)
gdk_progclass = g_strdup (program_class);
}
/**
* gdk_enable_multidevice:
*
* Enables multidevice support in GDK. This call must happen prior
* to gdk_display_open(), gtk_init(), gtk_init_with_args() or
* gtk_init_check() in order to take effect.
*
* Note that individual #GdkWindow<!-- -->s still need to explicitly
* enable multidevice awareness through gdk_window_set_support_multidevice().
*
* This function must be called before initializing GDK.
*
* Since: 3.0
**/
void
gdk_enable_multidevice (void)
{
if (gdk_initialized)
return;
_gdk_enable_multidevice = TRUE;
}
#define __GDK_C__
#include "gdkaliasdef.c"
+8 -15
View File
@@ -33,6 +33,8 @@
#include <gdk/gdkcairo.h>
#include <gdk/gdkcolor.h>
#include <gdk/gdkcursor.h>
#include <gdk/gdkdevice.h>
#include <gdk/gdkdevicemanager.h>
#include <gdk/gdkdisplay.h>
#include <gdk/gdkdisplaymanager.h>
#include <gdk/gdkdnd.h>
@@ -66,6 +68,7 @@ G_BEGIN_DECLS
/* Initialization, exit and events
*/
#define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)
void gdk_enable_multidevice (void);
void gdk_parse_args (gint *argc,
gchar ***argv);
void gdk_init (gint *argc,
@@ -75,9 +78,6 @@ gboolean gdk_init_check (gint *argc,
void gdk_add_option_entries_libgtk_only (GOptionGroup *group);
void gdk_pre_parse_libgtk_only (void);
#ifndef GDK_DISABLE_DEPRECATED
void gdk_exit (gint error_code);
#endif /* GDK_DISABLE_DEPRECATED */
gchar* gdk_set_locale (void);
G_CONST_RETURN char *gdk_get_program_class (void);
@@ -88,11 +88,6 @@ void gdk_set_program_class (const char *program_class);
void gdk_error_trap_push (void);
gint gdk_error_trap_pop (void);
#ifndef GDK_DISABLE_DEPRECATED
void gdk_set_use_xshm (gboolean use_xshm);
gboolean gdk_get_use_xshm (void);
#endif /* GDK_DISABLE_DEPRECATED */
gchar* gdk_get_display (void);
G_CONST_RETURN gchar* gdk_get_display_arg_name (void);
@@ -112,6 +107,7 @@ gint gdk_input_add (gint source,
void gdk_input_remove (gint tag);
#endif /* GDK_DISABLE_DEPRECATED */
#ifndef GDK_MULTIDEVICE_SAFE
GdkGrabStatus gdk_pointer_grab (GdkWindow *window,
gboolean owner_events,
GdkEventMask event_mask,
@@ -121,18 +117,15 @@ GdkGrabStatus gdk_pointer_grab (GdkWindow *window,
GdkGrabStatus gdk_keyboard_grab (GdkWindow *window,
gboolean owner_events,
guint32 time_);
gboolean gdk_pointer_grab_info_libgtk_only (GdkDisplay *display,
GdkWindow **grab_window,
gboolean *owner_events);
gboolean gdk_keyboard_grab_info_libgtk_only (GdkDisplay *display,
GdkWindow **grab_window,
gboolean *owner_events);
#endif /* GDK_MULTIDEVICE_SAFE */
#ifndef GDK_MULTIHEAD_SAFE
#ifndef GDK_MULTIDEVICE_SAFE
void gdk_pointer_ungrab (guint32 time_);
void gdk_keyboard_ungrab (guint32 time_);
gboolean gdk_pointer_is_grabbed (void);
#endif /* GDK_MULTIDEVICE_SAFE */
gint gdk_screen_width (void) G_GNUC_CONST;
gint gdk_screen_height (void) G_GNUC_CONST;

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