Compare commits

..

332 Commits

Author SHA1 Message Date
Owen Taylor
0b4349a1bf === Released 2.2.2 ===
Mon Jun  9 16:29:51 2003  Owen Taylor  <otaylor@redhat.com>

        * === Released 2.2.2 ===

        * demos/gtk-demo/Makefile.am (demos.h): srcdir != builddir fix.
2003-06-09 21:59:58 +00:00
Andras Timar
fc2068e314 Updated Hungarian Translation.
2003-07-10  Andras Timar  <timar@gnome.hu>

        * hu.po : Updated Hungarian Translation.
2003-06-09 21:59:19 +00:00
Owen Taylor
4867aedf79 === Released 2.2.2 ===
Mon Jun  9 16:29:51 2003  Owen Taylor  <otaylor@redhat.com>

        * === Released 2.2.2 ===

        * demos/gtk-demo/Makefile.am (demos.h): srcdir != builddir fix.
2003-06-09 21:59:19 +00:00
Owen Taylor
5c0c274d81 Back out event->window test - it wasn't needed because of the call to
Mon Jun  9 16:18:11 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_button_press): Back
        out event->window test - it wasn't needed because
        of the call to get_widget_coordinates().

        * gtk/gtknotebook.c (gtk_notebook_button_press): Remove
        call to gtk_widget_grab_focus() when not clicking on
        any tabs. (Real fix for #114534)
2003-06-09 20:29:21 +00:00
Kristian Rietveld
02c32756ef check if width is !null, not *width. Doh.
Mon Jun  9 21:25:13 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size):
	check if width is !null, not *width. Doh.
2003-06-09 19:26:32 +00:00
Kristian Rietveld
7ac4f264a7 Remove the weird dx logic, get all cell_area and background_area
Mon Jun  9 21:01:16 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
	Remove the weird dx logic, get all cell_area and background_area
	calculations right. Not sure what was up with it before. (Fixes
	#110989, testcase from Vasco Alexandre da Silva Costa).

	* NEWS: Updated for this bug.
2003-06-09 19:04:47 +00:00
Dmitry Mastrukov
378a7488fb be.po: Updated Belarusian translation from Belarusian team <i18n@mova.org>. 2003-06-09 04:29:15 +00:00
Owen Taylor
500bca8af3 Updated.
Sun Jun  8 23:43:47 2003  Owen Taylor  <otaylor@redhat.com>

        * NEWS: Updated.

        * configure.in: Version to 2.2.2, interface age 2.
2003-06-09 04:24:51 +00:00
Owen Taylor
f1bcb52ccb Use application/x-rootwindow-drop for root window drops. (#108670, Alex
Sun Jun  8 22:03:09 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/testdnd.c: Use application/x-rootwindow-drop for
        root window drops. (#108670, Alex Larsson)

        * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop):
        Accept either application/x-rootwin-drop (what GTK+ has always used)
        or application/x-rootwindow-drop (what the XDND standard specifies).
2003-06-09 02:13:06 +00:00
Owen Taylor
6a422f88bc NULL out private->parent, since after destruction it might not be valid
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy):
        NULL out private->parent, since after destruction
        it might not be valid any more.

        * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some
        accesses before g_return_val_if_fail(). Treat
        DESTROYED windows as unmapped.
2003-06-09 02:12:11 +00:00
Owen Taylor
995098e65e Before delivering an event to a widget, check that (if relevant), the
Fri Jun  6 11:07:33 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwidget.c (event_window_still_viewable):
        Before delivering an event to a widget, check that
        (if relevant), the event's window is still viewable.
        (#105642, Dennis Björklund)

        * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy):
        NULL out private->parent, since after destruction
        it might not be valid any more.

        * gdk/gdkwindow.c (gdk_window_is_viewable): Fix some
        accesses before g_return_val_if_fail(). Treat
        DESTROYED windows as unmapped.
2003-06-09 01:54:48 +00:00
Soeren Sandmann
afa7fb3730 swap G and B. Fixes (#114669)
Sun Jun  8 18:59:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/gdkpixbuf-drawable.c (G8fromRGB565): swap G and B.
	Fixes (#114669)
2003-06-08 16:45:07 +00:00
Owen Taylor
9ec02189ad Recompute unconditionally in gtk_entry_style_set, and in a new
Thu Jun  5 09:28:03 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkentry.c: Recompute unconditionally in
        gtk_entry_style_set, and in a new gtk_label_screen_changed().
        Protect the guts of recompute_idle_func() with
        gtk_widget_has_screen(). (#114040, Morten Welinder)
        Fix FALSE/0 confusion.
2003-06-08 16:18:02 +00:00
Owen Taylor
58877f347b Fix bug with set_adjustment (viewport, NULL);
Sun Jun  8 11:27:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkviewport.c (viewport_set_adjustment): Fix bug with
        set_adjustment (viewport, NULL);
2003-06-08 15:33:16 +00:00
Owen Taylor
f1ac2debf5 Many fixes, along with extensive cleanups and refactoring of code to
Fri Jun  6 16:25:44 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkviewport.c: Many fixes, along with extensive cleanups and
        refactoring of code to reduce duplication; fixes include:

        - gtk_viewport_realize(): Position the window correct from adjustment
        values. (#110737, Michael Natterer)

        - Remove some division-by-zero checks in places where there is no
        longer division. (#110737)

        - gtk_viewport_class_init: Make the hadjustment/vadjustment properties
        G_PARAM_CONSTRUCT, so that there will always be adjustments, even
        if gtk_viewport_new isn't used (#101135, Thomas Leonard).

        - Switch over to encapsulated lazy-creation for hadjustment/
        vadjustment; even with the CONSTRUCT property, we need this after
        destroy.

        - When updating the adjustment, immediate set their values to
        match the the current range of the viewport, and update the
        viewport position to match the value of the new adjustments.
        (Part of #1165)
2003-06-06 23:08:27 +00:00
Tor Lillqvist
108ab31b50 Fix typo.
2003-06-06  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkprivate-win32.h: Fix typo.
2003-06-06 22:58:52 +00:00
Tor Lillqvist
cd47f2bcef Set graphics_exposures and subwindow_mode, too, even if they aren't
2003-06-06  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Set
	graphics_exposures and subwindow_mode, too, even if they aren't
	currently used.
2003-06-06 22:48:22 +00:00
Kristian Rietveld
8af31223af made expand_collapse_timeout a wrapper with locks around
Fri Jun  6 23:38:23 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (do_expand_collapse),
	(expand_collapse_timeout), (cancel_arrow_animation): made
	expand_collapse_timeout a wrapper with locks around
	do_expand_collapse, made cancel_arrow_animation use
	do_expand_collapse. Fixes threadlock. (Fixes #111286, patch from
	Peter Bloomfield).
2003-06-06 21:41:18 +00:00
Hidetoshi Tajima
81cde9d6cb Add a 'finalizing' flag to keep preedit-[start,changed,end] signals from
Fri Jun  6 11:05:45 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>

	* modules/input/gtkimcontextxim.h (struct _GtkIMContextXIM):
	* modules/input/gtkimcontextxim.c (preedit_start_callback,
	preedit_draw_callback, preedit_done_callback): Add a 'finalizing' flag
	to keep preedit-[start,changed,end] signals from being called during
	finalization (#111861).
2003-06-06 19:42:38 +00:00
Noah Levitt
5213be07e0 Ignore button presses that are not on the tab (#114534).
2003-06-05  Noah Levitt  <nlevitt@columbia.edu>

	* gtk/gtknotebook.c (gtk_notebook_button_press): Ignore button
	presses that are not on the tab (#114534).
2003-06-06 01:57:08 +00:00
Owen Taylor
7db52619ba Conditionalize deendencies for gdk-pixbuf-csource on cross-compilation
Thu Jun  5 20:35:40 2003  Owen Taylor  <otaylor@redhat.com>

        * demos/Makefile.am: Conditionalize deendencies for
        gdk-pixbuf-csource on cross-compilation (#112391, J. Ali Harlowe).
2003-06-06 00:52:59 +00:00
Owen Taylor
69881e62ca Handle gtk_window_get_geometry_info() returning NULL. (#107311, John
Thu Jun  5 20:12:51 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_get_default_size): Handle
        gtk_window_get_geometry_info() returning NULL.
        (#107311, John Finlay)
2003-06-06 00:17:59 +00:00
Owen Taylor
ee4333f91e Subtract off twice the border width from the width/height, not 1x the
Thu Jun  5 19:24:33 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktoolbar.c (gtk_toolbar_expose): Subtract off
        twice the border width from the width/height, not
        1x the border width. (#106336, Rodney Dawes)
2003-06-05 23:38:07 +00:00
Owen Taylor
5ee5ee3f6a If at the end of the buffer, move to the end iter - parallels behavior of
Thu Jun  5 15:33:38 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
        If at the end of the buffer, move to the end iter -
        parallels behavior of move_iter_to_previous_line.
        (#81960, Padraig O'Briain)
2003-06-05 23:08:57 +00:00
Owen Taylor
03d2e8be66 #80023, Yao Zhang, TOKUNAGA Hiroyuki
Thu Jun  5 16:12:54 2003  Owen Taylor  <otaylor@redhat.com>

        #80023, Yao Zhang, TOKUNAGA Hiroyuki

        * gtk/gtktextlayout.c (gtk_text_layout_get_cursor_locations):
        Account for the preedit cursor offset if the iter passed
        in is at the same place as the insertion cursor.

        * gtk/gtktextview.c (gtk_text_view_get_cursor_location):
        Encapsulate getting the insertion cursor location.

        * gtk/gtktextview.c (gtk_text_view_update_im_spot_location):
        Pass the real y/height to the IM context. Take
        text_view->x/yoffset into account.
2003-06-05 23:04:36 +00:00
Owen Taylor
3bb07953e6 Never scroll on focus in (#81893, Patch from Paolo Maggi)
Thu Jun  5 16:52:54 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.[ch]: Never scroll on focus in
        (#81893, Patch from Paolo Maggi)

        * gtk/gtktextview.c (gtk_text_view_scroll_[h]pages):
        Scroll to the current cursor location before handling
        the action, in case the user just tabbed in
        and the cursor is offscreen.
2003-06-05 22:59:23 +00:00
Owen Taylor
b07b60261c #107883, Gustavo Giráldez
Thu Jun  5 17:20:40 2003  Owen Taylor  <otaylor@redhat.com>

         #107883, Gustavo Giráldez

        * gtk/gtktextlayout.c (gtk_text_layout_emit_changed):
        Split out the case where we know we changed, and
        already dealt with our cached line being invalidated
        from external calls to gtk_text_layout_changed.

        * gtk/gtktextlayout.c (gtk_text_layout_changed):
        Check if the invalidate yrange intersects our
        cached line, and clear it if necessary.
2003-06-05 22:34:43 +00:00
Tor Lillqvist
2866fc45f4 Handle global filters.
2003-06-05  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle global
	filters.
2003-06-05 21:50:18 +00:00
Matthias Clasen
ba6e0c4c63 Fix for #84668, reported by Torbjrn Andersson:
2003-06-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c: Fix for #84668, reported by Torbjrn Andersson:
	(gtk_text_view_grab_notify):
	(gtk_text_view_state_changed): Implement these
	to unobscure cursor when grab shadowed or insensitised.
	(gtk_text_view_unobscure_mouse_cursor): New function to undo the
	effect of gtk_text_view_obscure_mouse_cursor(). Code lifted from
	gtk_text_view_motion_event().
	(gtk_text_view_motion_event): Use gtk_text_view_obscure_mouse_cursor().
2003-06-05 19:32:52 +00:00
Matthias Clasen
83202df4d2 Fix a compiler warning caused by the previous commit. 2003-06-05 19:22:22 +00:00
Matthias Clasen
90b8285dda New keybinding signal for (un)selecting the whole buffer. Bound to
2003-06-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (select_all): New keybinding signal for
	(un)selecting the whole buffer. Bound to C-a/C-\.  (see #107889)
2003-06-05 19:12:52 +00:00
Vincent van Adrighem
7f93523dd5 Dutch translation updated.
2003-06-05  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>

	* nl.po: Dutch translation updated.
2003-06-05 19:05:42 +00:00
Matthias Clasen
f5397b4d79 Add some questions. 2003-06-05 00:49:30 +00:00
Matthias Clasen
d55fe6c466 Document restriction on types.
2003-06-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreestore.c (gtk_tree_store_new):
	* gtk/gtkliststore.c (gtk_list_store_new): Document restriction on
	types.
2003-06-04 23:51:46 +00:00
Owen Taylor
4e93f24b89 When drawing underlines, join up adjacent runs where possible, so we don't
Wed Jun  4 19:42:17 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkpango.c (gdk_draw_layout_line_with_colors):
        When drawing underlines, join up adjacent runs
        where possible, so we don't get changes in
        shaper/font/etc. breaking underlines. (#103662,
        Kang Jeong-Hee)
2003-06-04 23:46:46 +00:00
Jonathan Blandford
f856e7a5a2 Slightly modified patch from Owen Taylor <otaylor@redhat.com> to improve
Wed Jun  4 19:22:58 2003  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert):
        Slightly modified patch from Owen Taylor <otaylor@redhat.com> to
        improve the speed of inserting rows into an already sorted list,
        #109292
2003-06-04 23:45:56 +00:00
Owen Taylor
03baed131e Keep track of when we have a clip mask set for the GC, and when we unset
Wed Jun  4 19:24:28 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
        track of when we have a clip mask set for the GC,
        and when we unset it, or switch to a clip region,
        immediately call XSetClipMask (..., None) to avoid
        Xlib caching stale data. (#111806)

        * gtk/gtktextdisplay.c: Don't set a clip mask
        when drawing alpha pixmaps; it isn't necessary any more.
        (#111806)
2003-06-04 23:26:39 +00:00
Owen Taylor
62f6e1b8c0 gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): Use
Wed Jun  4 18:27:44 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
        gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator):
        Use GTK_WIDGET_IS_SENSITIVE(), not GTK_WIDGET_SENSITIVE
        (#92548, Tim Evans)

        * gtk/gtkcheckmenuitem.c (gtk_real_check_menu_item_draw_indicator)
        gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator): If
        Use state_type = STATE_INSENSITIVE for insensitive menu items.
2003-06-04 22:44:31 +00:00
Kristian Rietveld
c5f5550f3c use a silent assert for get_info. (reported by Michael Natterer),
Wed Jun  4 21:18:55 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_drag_begin): use a silent
	assert for get_info. (reported by Michael Natterer),
	(gtk_tree_view_expand_all_emission_helper),
	(gtk_tree_view_expand_all_helper): emit row_expanded for all
	expanded rows during an _expand_all operation. (Fixes #111280,
	reported by Benjamin Bayart).
2003-06-04 19:22:03 +00:00
Owen Taylor
c42aa348c1 Don't respond to pings on a root window; prevents infinite loops if we are
Tue Jun  3 18:32:30 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Don't
        respond to pings on a root window; prevents infinite
        loops if we are selecting for SubstructureNotify on the
        root window. (#111945, Sergey V. Udaltsov)
2003-06-03 22:44:26 +00:00
Owen Taylor
0fb6bcbf96 #71597, reported by Morten Welinder
Tue Jun  3 17:39:16 2003  Owen Taylor  <otaylor@redhat.com>

        #71597, reported by Morten Welinder

        * gdk/gdkpixbuf-drawable.c (rgb888amsb): Fix and simplify
        (Patch from Christian Petig)

        * gdk/gdkpixbuf-drawable.c (rgb{555,565}{a,}{msb,lsb}):
        Major rewrite of 555 and 565 conversion routines:

        - Move all the bit shifting into a small block of macros,
          eliminating much duplication of complicated arithmetic.
        - Get rid of 2-pixels at a time code, which was buggy,
          hard to maintain, caused unaligned accesses, and
          probably didn't actually perform any better.
        - Simplify cases where different data types were
          used for the little and big endian cases, use
          GUINT16_SWAP_LE_BE() where appropriate.
2003-06-03 22:09:28 +00:00
Owen Taylor
6520b9b607 Remove bad optimization for src_rowstride == dest_stride. (Didn't consider
Tue Jun  3 15:05:47 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (convert_to_format): Remove
        bad optimization for src_rowstride == dest_stride.
        (Didn't consider the case where we were copying only
        partial widths of a wider source buffer)
        (#113034, reported by Hans Petter Jansson)
2003-06-03 19:12:46 +00:00
Michael Natterer
c311d5092e reenabled button_release events for xinput devices. (#113948)
2003-06-03  Michael Natterer  <mitch@gimp.org>

	* gdk/x11/gdkinput-x11.c (_gdk_input_common_find_events):
	reenabled button_release events for xinput devices. (#113948)
2003-06-03 18:47:37 +00:00
Dafydd Harries
541c59df2b Complete (if rough) Welsh translation. 2003-06-03 15:51:43 +00:00
Christian Rose
f79c3a2434 Updated Limburgish translation by Mathieu van Woerkom
2003-06-03  Christian Rose  <menthos@menthos.com>

	* li.po: Updated Limburgish translation by
	Mathieu van Woerkom <mathieu.brabants.org>.
2003-06-03 12:58:58 +00:00
Dafydd Harries
6e260ca284 More Welsh. 2003-06-02 23:24:42 +00:00
Owen Taylor
16e1a7e5f0 Don't map the event window if the notebook isn't mapped. (#113980, Richard
Mon Jun  2 18:58:54 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_size_allocate): Don't
        map the event window if the notebook isn't mapped. (#113980,
        Richard Reich)
2003-06-02 23:06:21 +00:00
Matthias Clasen
8cbf4cec97 Document data_length == -1, add an example. (#97290)
2003-06-03  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixdata.c (gdk_pixbuf_new_from_inline): Document
	data_length == -1, add an example.  (#97290)
2003-06-02 22:46:00 +00:00
Noah Levitt
8bc79c100d Converted from broken-TSCII to UTF-8.
2003-06-02  Noah Levitt  <nlevitt@columbia.edu>

	* ta.po: Converted from broken-TSCII to UTF-8.
2003-06-02 22:15:20 +00:00
Sven Neumann
ce3fc77ad8 added a missing cast.
2003-06-02  Sven Neumann  <sven@gimp.org>

	* gtk/gtkprogress.c (gtk_progress_changed): added a missing cast.

	* gdk/gdkrgb.c (gdk_rgb_try_colormap): removed an unused variable.
2003-06-02 14:15:03 +00:00
Dafydd Harries
7e1a54df8b More Welsh. 2003-06-02 01:02:11 +00:00
Pauli Virtanen
edf71ecbfe Updated Finnish translation.
2003-06-01  Pauli Virtanen  <pauli.virtanen@hut.fi>

	* fi.po: Updated Finnish translation.
2003-06-01 17:44:14 +00:00
Ole Laursen
9108c09a0c Updated Danish translation.
2003-06-01  Ole Laursen  <olau@hardworking.dk>

	* da.po: Updated Danish translation.
2003-06-01 16:51:58 +00:00
Changwoo Ryu
d87e3afe12 Updated Korean translation.
2003-06-02  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.
2003-06-01 15:23:35 +00:00
Duarte Loreto
892034a7c0 Updated Portuguese translation.
2003-06-01  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation.
2003-06-01 14:26:21 +00:00
Dafydd Harries
5087bb771a More Welsh. 2003-06-01 00:25:40 +00:00
Matthias Clasen
ff585a1bbe Fix misleading documentation of rowstride. (#113924, Noah Levitt)
2003-06-01  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixdata.h (struct _GdkPixdata): Fix misleading documentation
	of rowstride.  (#113924, Noah Levitt)
2003-05-31 23:51:17 +00:00
Matthias Clasen
5614108365 Add some hints and an example to the docs. (#98427)
2003-06-01  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkwindow.c (gtk_window_parse_geometry): Add some hints and
	an example to the docs.  (#98427)
2003-05-31 23:30:42 +00:00
Matthias Clasen
52cf94a376 Remove manually inserted anchors, gtk-doc emits anchors for all objects
2003-06-01  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixbuf/tmpl/gdk-pixbuf.sgml:
	* gdk-pixbuf/tmpl/animation.sgml: Remove manually inserted
	anchors, gtk-doc emits anchors for all objects since Dec 2002.
2003-05-31 22:37:50 +00:00
Kjartan Maraas
d8be69ef4c Update this
2003-05-31  Kjartan Maraas  <kmaraas@gnome.org>

	* no.po: Update this
2003-05-31 15:32:52 +00:00
Dafydd Harries
00dfe44873 Big update for GTK+ Welsh translation. (My first checkin! Hwre^!) 2003-05-31 14:49:51 +00:00
Christophe Merlet
39fc17f19a Updated French translation. 2003-05-31 10:52:58 +00:00
Christian Neumair
3932f96618 Updated German translation. 2003-05-31 10:08:25 +00:00
Christian Rose
1eb3a99535 Updated Swedish translation.
2003-05-31  Christian Rose  <menthos@menthos.com>

	* sv.po: Updated Swedish translation.
2003-05-31 00:40:46 +00:00
Miloslav Trmac
e9598560eb Update Czech translation, adjust terminology 2003-05-30 23:44:13 +00:00
Owen Taylor
ba3dec7e39 Rework debug_default handling to work with autoconf-2.5x. (#106348)
Fri May 30 15:58:33 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Rework debug_default handling to work
        with autoconf-2.5x. (#106348)
2003-05-30 20:15:43 +00:00
Owen Taylor
60bada5f3a Add a missing name 2003-05-30 20:11:17 +00:00
Kristian Rietveld
e6a5873929 Committing for kenneth:
Fri May 30 20:24:11 2003  Kristian Rietveld  <kris@gtk.org>

	* configure.in: added "li" to ALL_LINGUAS
	* po/li.po: added Limburgish translation from Mathieu van Woerkom
	<mathieu@brabants.org>
2003-05-30 18:32:45 +00:00
Hidetoshi Tajima
ca973340c0 use GETTEXT_PACKAGE to get a translation for "ipa"(#113850).
Thu May 29 18:30:55 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>

	* modules/input/imipa.c:
	use GETTEXT_PACKAGE to get a translation for "ipa"(#113850).
2003-05-30 01:32:42 +00:00
Hidetoshi Tajima
b4046f7c40 use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
Thu May 29 18:09:57 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>

	* gtk/gtkimmodule.c (_gtk_im_module_list):
	use GETTEXT_PACKAGE to get a translation for "Default"(#113850).
2003-05-30 01:10:50 +00:00
Hidetoshi Tajima
a0c3fd29df make "Default" label of default input method localizable. use translations
Thu May 29 09:34:05 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>

        * gtk/gtkimmodule.c (_gtk_im_module_list): make "Default"
        label of default input method localizable.
        * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
        use translations of input method context names
        * modules/input/imam-et.c, modules/input/imcyrillic-translit.c,
          modules/input/iminuktitut.c, modules/input/imthai-broken.c,
          modules/input/imti-er.c, modules/input/imti-et.c
          modules/input/imviqr.c, modules/input/imxim.c
        use GETTEXT_PACKAGE instead of "gtk+" for domain name.
        (#113850).
2003-05-30 00:34:25 +00:00
Kristian Rietveld
d4a787f2e1 put the focus grab separate, the user might clear the tree in the focus-in
Thu May 29 18:23:01 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): put the focus
	grab separate, the user might clear the tree in the focus-in
	callback. (Fixes #113086, testcase from Felipe Heidrich).
2003-05-29 16:27:16 +00:00
Kristian Rietveld
2ab81b8093 reset a bunch of row reference when we unset the model. Also reset dy and
Thu May 29 18:06:26 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_model_set_model): reset a bunch
	of row reference when we unset the model. Also reset
	dy and top_row_dy. (Fixes #109289, patch from Owen Taylor).
2003-05-29 16:09:11 +00:00
Kristian Rietveld
4dfc635844 cancel the current editing, if it exists. (Fixes #108956, reported by
Thu May 29 17:12:19 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): cancel
	the current editing, if it exists. (Fixes #108956, reported by
	Michael Natterer).
2003-05-29 15:14:19 +00:00
Kristian Rietveld
6a60f3a6b8 new function, (gtk_tree_view_row_deleted): traverse the tree from the
Thu May 29 17:06:09 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (check_selection_helper): new function,
	(gtk_tree_view_row_deleted): traverse the tree from the
	deleted node to see whether the selection changed, instead of
	just checking this node. (Fixes #107400, reported by 'Duncan').
2003-05-29 15:09:03 +00:00
Kristian Rietveld
8d97bc30c9 set the DnD icon in _drag_begin instead of _maybe_begin_dragging_row, so
Thu May 29 16:31:34 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_maybe_begin_dragging_row),
	(gtk_tree_view_drag_begin): set the DnD icon in _drag_begin
	instead of _maybe_begin_dragging_row, so the icon can be
	overridden by apps. (Fixes #104374, patch from Daniel Elstner).
2003-05-29 14:34:19 +00:00
Kristian Rietveld
0ed62104fe correct cell_area x/width for the expander if needed. (Fixes #101748,
Thu May 29 16:14:04 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_start_editing): correct
	cell_area x/width for the expander if needed. (Fixes #101748,
	reported by Dave Cook and Mariano Suarez-Alvarez).
2003-05-29 14:20:10 +00:00
Kristian Rietveld
1a866a56a4 check if tree/node are still the same after _internal_select_node. (Fixes
Thu May 29 16:01:38 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): check
	if tree/node are still the same after _internal_select_node.
	(Fixes #92256, reported by edscott).
2003-05-29 14:05:03 +00:00
Kristian Rietveld
bec6497cca Fixes #75745, reported by Richard Hult.
Thu May 29 15:38:30 2003  Kristian Rietveld  <kris@gtk.org>

	Fixes #75745, reported by Richard Hult.

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): set/unset
	GTK_CELL_RENDERER_FOCUSED flag whether the current node is the
	cursor or not.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
	if we are rendering a cursor row, and the cell the be
	processed has focus, then set the GTK_CELL_RENDERER_FOCUSED
	flag (else we unset it).
2003-05-29 13:41:16 +00:00
Matthias Clasen
321c717741 Remove dubious bitfields of unspecified signedness. (#112919, Morten
2003-05-27  Matthias Clasen  <maclas@gmx.de>

	* io-wbmp.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)gdk-p

	* gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
	of g_string_new ("") by g_string_new (NULL). (#106975, Morten Welinder)

	* gtk/gtkwindow-decorate.c:
	* gtk/gtktreeprivate.h:
	* gtk/gtkdnd.c:
	* gdk/win32/gdkwindow-win32.h:
	* gdk/linux-fb/gdkprivate-fb.h:
	* gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)

	* gtk/queryimmodules.c (escape_string):
	* gtk/gtktextbtree.c (_gtk_text_btree_get_text):
	* gtk/gtksettings.c (_gtk_settings_parse_convert):
	* gtk/gtkrc.c (gtk_rc_parse_assignment):
	* gtk/gtkinputdialog.c (gtk_input_dialog_set_key):
	* gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all
	occurances of g_string_new ("") by g_string_new (NULL). (#106975,
	Morten Welinder)
2003-05-27 21:10:23 +00:00
Tor Lillqvist
8169f009fe Only include the Default and Emacs themes' gtkrc files. Include
2003-05-27  Tor Lillqvist  <tml@iki.fi>

	* gtk-zip.sh.in: Only include the Default and Emacs themes' gtkrc
	files. Include share/gtk-doc/{gdk-pixbuf,gdk,gtk}.

	* gdk/Makefile.am: libgdk-win32-2.0.la depends on
	win32/libgdk-win32.la.

	* gtk/gtk.def: Add gtk_tree_view_column_cell_get_position.
2003-05-27 18:31:36 +00:00
Matthias Clasen
9579817d6d Document allowed values for adjustments which are used in scrollbars.
* gtk/tmpl/gtkadjustment.sgml: Document allowed values for
	adjustments which are used in scrollbars.  (#108448, Ernst Lippe)
2003-05-26 22:58:08 +00:00
Matthias Clasen
539579842d Fix example. (#113604, Julien Moutte)
2003-05-27  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtkradiomenuitem.sgml: Fix example.  (#113604,
	Julien Moutte)
2003-05-26 22:34:05 +00:00
Vincent van Adrighem
0df1bbcddf Dutch translation updated by Vincent van Adrighem.
2003-05-26  Vincent van Adrighem  <V.vanAdrighem@dirck.mine.nu>

	* nl.po: Dutch translation updated by Vincent van Adrighem.
2003-05-26 12:05:13 +00:00
Matthias Clasen
cc02e55884 Update color on focus out of hex_entry. (#112665) (hex_focus_out): New
2003-05-23  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcolorsel.c (gtk_color_selection_init): Update color on
	focus out of hex_entry.  (#112665)
	(hex_focus_out): New signal handler for focus out of hex entry.
2003-05-22 22:23:53 +00:00
Matthias Clasen
3d5517fe1d (gtk_file_selection_set_filename): Add a hint about opening
directories.  (#113175)
2003-05-22 00:24:17 +00:00
Matthias Clasen
8770b66c61 Some keynav improvements for the "Rename File" and "Create Directory"
2003-05-22  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkfilesel.c (gtk_file_selection_create_dir):
	(gtk_file_selection_rename_file): Some keynav improvements for the
	"Rename File" and "Create Directory" subdialogs: Enter in entry
	activates default, default is "Create"/"Rename", Escape cancels
	dialog.  (#113110)
2003-05-21 22:53:01 +00:00
Owen Taylor
9c8be35b4d Always queue a resize ... we rely on the size-allocate to do the update,
Wed May 21 15:53:14 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkprogress.c (gtk_progress_set_format_string,
        gtk_progress_set_show_text): Always queue a resize ...
        we rely on the size-allocate to do the update, plus a
        different format can actually change our size requisition.
        (#111052)

        * gtk/gtkprogress.c (gtk_progress_changed): Track
        ::changed as well as ::value_changed, and queue a
        resize on ::changed when necessary.

        * gtk/gtkprogress.c (gtk_progress_set_adjustment):
        Call gtk_progress_changed() here to update or
        queue a resize as necessary.
2003-05-21 21:23:50 +00:00
Hidetoshi Tajima
019bac19a9 added composing rules of Greek acceted letters, patch by Vasilis Vasaitis
Wed May 21 14:06:13 2003  Hidetoshi Tajima  <hidetoshi.tajima@sun.com>

	* gtk/gtkimcontextsimple.c: added composing rules of
	Greek acceted letters, patch by Vasilis Vasaitis (#107507)
2003-05-21 21:10:31 +00:00
Hidetoshi Tajima
f3af493c21 code that can check the compose table for ascending order, by Vasilis
* gtk/gtkimcontextsimple.c:
	code that can check the compose table for ascending order,
	by Vasilis Vasaitis (#104862).
2003-05-21 19:17:07 +00:00
Owen Taylor
b0ed6224db We need to pass the unmasked state to
Wed May 21 12:52:01 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need
        to pass the unmasked state to gdk_keymap_translate_keyboard_state()
        to handle the case where a modifier not in the mask
        (like Num_Lock) changes the key value, so replace
        the masked state with a state/mask pair. (#106913,
        Olivier Ripoll)

        * gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass
        in state/mask pair to _gtk_key_hash_lookup()
2003-05-21 17:50:11 +00:00
Hidetoshi Tajima
f576f5c347 fix a memory leak, free input context list (#113259).
* modules/input/gtkimcontextxim.c (xim_info_display_closed):
	fix a memory leak, free input context list (#113259).
2003-05-21 05:00:47 +00:00
Owen Taylor
5f3ce6afb8 Silently accept a missing gtk.immodules file, some people want to run
Tue May 20 17:27:24 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimmodule.c (gtk_im_module_init): Silently
        accept a missing gtk.immodules file, some people
        want to run without one. (#112406, patch from
        Arnaud Charlet)
2003-05-20 21:29:19 +00:00
Owen Taylor
2775064ab9 Fix height/width confusion (#113370, Xan Lopez)
Tue May 20 17:05:31 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwindow.c (gtk_window_compute_hints): Fix
        height/width confusion (#113370, Xan Lopez)
2003-05-20 21:14:21 +00:00
Owen Taylor
43bb83247c Comprehensively zero all unused parts of client messages (Mainly Motif DND
Tue May 20 15:09:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c gdk/x11/gdkwindow-x11.c: Comprehensively
        zero all unused parts of client messages (Mainly Motif DND
        and EWMH). Also, fix a couple places where we were putting
        contents into Motif DND messages that didn't belong.
        (#113361, EWMH problem reported by Lubos Lunak)

        * gtk/gtkselection.c (_gtk_selection_request): Handle the
        case where the property type for the multiple atoms is
        ATOM_PAIR by doing the conversions ourselve. This is
        needed for Xt inter-operation.
2003-05-20 21:00:54 +00:00
Matthias Clasen
6fcc8afa85 Improve progressive loading from slow sources: (#107368)
2003-05-19  Matthias Clasen  <maclas@gmx.de>

	Improve progressive loading from slow sources:  (#107368)

	* io-gif-animation.c (gdk_pixbuf_gif_anim_get_iter): Initialize
	first_loop_slowness.
	(gdk_pixbuf_gif_anim_iter_advance): Don't wrap during loading if
	the datasource falls behind the speed of the display.

	* io-gif-animation.h: Add a loading flag to GdkPixbufGifAnim and
	first_loop_slowness to GdkPixbufGifAnimIter.
2003-05-19 21:44:18 +00:00
Matthias Clasen
26c2ef7525 Add gtk_tree_row_reference_get_type.
2003-05-17  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtk-sections.txt: Add gtk_tree_row_reference_get_type.
2003-05-16 23:46:00 +00:00
Owen Taylor
e2fd1e2e12 Add a (gint32 *) => (guint32 *) cast. (#108615, Rick Jones)
Wed May 14 18:24:50 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixdata.c (gdk_pixdata_deserialize): Add a
        (gint32 *) => (guint32 *) cast. (#108615, Rick Jones)
2003-05-14 22:26:56 +00:00
Owen Taylor
02c952be3b Fix some typos. (#108381, Morten Welinder.)
Wed May 14 18:12:45 2003  Owen Taylor  <otaylor@redhat.com>

        * autogen.sh (have_libtool): Fix some typos. (#108381,
        Morten Welinder.)
2003-05-14 22:14:43 +00:00
Owen Taylor
726ab80ef8 Patch from Charles Schmidt to add missing notify (#108305)
Wed May 14 16:40:09 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkframe.c (gtk_frame_set_label_widget): Patch
        from Charles Schmidt to add missing notify (#108305)
2003-05-14 21:28:12 +00:00
Owen Taylor
2bd2eb857a Remove unecessary g_return_if_fail(). (#105500, Morten Welinder.)
Wed May 14 16:00:51 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgc-x11.c: Remove unecessary g_return_if_fail().
        (#105500, Morten Welinder.)
2003-05-14 20:02:43 +00:00
Hidetoshi Tajima
7c1ea2572d use type of guint32 instead of gumake for XNFilterEvents event
* modules/input/gtkimcontextxim.c (get_ic_real): use type of guint32
	instead of gumake for XNFilterEvents event mask(#110493).
2003-05-14 16:09:03 +00:00
Sven Neumann
a0c6c59e99 fixed parameter name in inline docs.
2003-05-13  Sven Neumann  <sven@gimp.org>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_position):
	fixed parameter name in inline docs.
2003-05-13 15:48:46 +00:00
Anders Carlsson
4482f32ba3 Don't cast a gchar to a GObject. (#112762)
2003-05-11  Anders Carlsson  <andersca@codefactory.se>

	* gtk/gtkdnd.c (gtk_drag_source_unset_icon): Don't cast a gchar to
	a GObject. (#112762)
2003-05-11 12:40:04 +00:00
Kwok-Koon Cheung
29dd4ce719 Updated traditional Chinese translation.
* zh_TW.po: Updated traditional Chinese translation.
2003-05-10 22:49:50 +00:00
Jordi Mallach
5ff77be3b8 Updated Catalan translation. 2003-05-10 00:37:07 +00:00
Christophe Merlet
69c9e13238 Updated French translation. 2003-05-08 23:31:34 +00:00
Sven Neumann
a5a4baf9f2 set the HAVE_X11R6 automake conditional to false if not compiling for X11.
2003-05-08  Sven Neumann  <sven@gimp.org>

	* configure.in: set the HAVE_X11R6 automake conditional to false
	if not compiling for X11.
2003-05-08 18:21:33 +00:00
Kwok-Koon Cheung
1b5ca9a190 Updated traditional Chinese translation.
* zh_TW.po: Updated traditional Chinese translation.
2003-05-07 09:38:19 +00:00
Tor Lillqvist
1d2bf8a0c2 Fix for #110165 (thanks to Arnaud Charlet):
2003-05-06  Tor Lillqvist  <tml@iki.fi>

	Fix for #110165 (thanks to Arnaud Charlet):

	* gdk/win32/gdkevents-win32.c (build_keypress_event,
	build_keyrelease_event): For unshifted control char, use
	lowercase ASCII keyval.
	(gdk_event_translate): Similarily, when handling WM_SYSKEYDOWN and
	UP (i.e. Alt-something), if it's an unshifted ASCII letter, use
	lowercase keyval. Use build_key_event_state() here, too, instead
	of minor code duplication.
2003-05-06 21:42:02 +00:00
Matthias Clasen
b86a2d2081 Don't include strings.h, it's not needed anymore. (#112388)
2003-05-06  Matthias Clasen  <maclas@gmx.de>

	* tests/testmultidisplay.c: Don't include strings.h, it's not
	needed anymore.  (#112388)

	* examples/menu/itemfactory.c:
	* docs/tutorial/gtk-tut.sgml: Remove an unneeded include from the
	itemfactory example.
2003-05-06 21:33:58 +00:00
Simos Xenitellis
a2581917fe Updated Greek translation 2003-05-06 20:35:55 +00:00
Alessio Frusciante
efddc90261 Updated Italian translation by Alessio Dessi. 2003-05-06 19:41:03 +00:00
Matthias Clasen
c71076d867 Improve the docs about cross-process embedding a bit. (#112101, #112006)
2003-05-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtk-docs.sgml:
	* gtk/tmpl/gtksocket.sgml: Improve the docs about cross-process
	embedding a bit.  (#112101, #112006)
2003-05-05 18:16:06 +00:00
Matthias Clasen
03410cd372 Actually set the icon type to the stock icon type. (#111735, Dave
2003-05-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkdnd.c (gtk_drag_source_set_icon_stock):  Actually set the
	icon type to the stock icon type.  (#111735, Dave Bordoley)
2003-05-05 18:04:02 +00:00
Christian Rose
11a1a8a9fa Added sr and sr@Latn to ALL_LINGUAS. Removed sp, it's replaced by sr@Latn.
2003-05-05  Christian Rose  <menthos@menthos.com>

	* configure.in: Added sr and sr@Latn to ALL_LINGUAS.
	Removed sp, it's replaced by sr@Latn.
	* po/sr.po, po/sr@Latn.po: Added Serbian translation by
        Danilo Šegan <dsegan@gmx.net>.
	* po/sp.po: Removed, it's replaced by po/sr@Latn.po.
2003-05-05 09:05:14 +00:00
Dmitry Mastrukov
de7ab66507 be.po: Updated Belarusian translation from Belarusian team <i18n@mova.org>. 2003-05-05 04:41:13 +00:00
Hasbullah Bin Pit
980dfbd7f7 Updated Malay translation.
2003-04-30  Hasbullah Bin Pit <sebol@ikhlas.com>

        * ms.po: Updated Malay translation.
2003-04-30 23:09:39 +00:00
Jonathan Blandford
1c8652ca31 destroy the search data iff the destroy func isn't NULL.
Mon Apr 28 17:54:39 2003  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): destroy the search
	data iff the destroy func isn't NULL.
2003-04-28 21:54:55 +00:00
Owen Taylor
b607f4bfc2 Accept libtool-1.5. (#111480)
Thu Apr 24 19:12:05 2003  Owen Taylor  <otaylor@redhat.com>

        * autogen.sh (have_libtool): Accept libtool-1.5. (#111480)
2003-04-24 23:54:20 +00:00
Matthias Clasen
fdade41dc6 Add sanity checks for GError handling. (#108345) 2003-04-24 18:50:48 +00:00
Owen Taylor
a6e7fe0e89 Fix mispelled name 2003-04-22 19:21:48 +00:00
Owen Taylor
b398a85b23 Only check for XFT2 if we found pango-xft (#105692, John Nall)
Tue Apr 22 15:17:25 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Only check for XFT2 if we found pango-xft
        (#105692, John Nall)
2003-04-22 19:21:06 +00:00
Owen Taylor
4542e6540b Fix PROP_HAS_FOCUS/ PROP_IS_FOCUS confusion. (#111333, Jody Goldberg)
Tue Apr 22 15:12:19 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwidget.c (gtk_widget_class_init): Fix PROP_HAS_FOCUS/
        PROP_IS_FOCUS confusion. (#111333, Jody Goldberg)
2003-04-22 19:15:08 +00:00
Owen Taylor
3f4dbc8e4e Fix prototype for activate_key. (#108927, Jason D. Hildebrand)
Mon Apr 21 19:02:16 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksocket.c (activate_key): Fix prototype for
        activate_key. (#108927, Jason D. Hildebrand)
2003-04-22 18:37:16 +00:00
Sanlig Badral
784ce6172a *** empty log message *** 2003-04-22 12:57:50 +00:00
Owen Taylor
ceb0100826 Remove geninclude.pl from CVS and don't dist it either, it is generated.
Mon Apr 21 18:42:51 2003  Owen Taylor  <otaylor@redhat.com>

        * demos/gtk-demo/Makefile.am demos/gtk-demo/geninclude.pl:
        Remove geninclude.pl from CVS and don't dist it either,
        it is generated. (#108970, Rich Kinder)
2003-04-21 22:49:51 +00:00
Owen Taylor
88fab9d287 Remove a couple of obsolete comments, fix another comment. (#109737,
Mon Apr 21 18:35:48 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkobject.h: Remove a couple of obsolete comments,
        fix another comment. (#109737, Britton Kerin)
2003-04-21 22:39:53 +00:00
Owen Taylor
99746d0055 Free the source list, not just it's contents (Patch from Charles Kerr,
Mon Apr 21 18:29:03 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkiconfactory.c (gtk_icon_set_unref): Free
        the source list, not just it's contents (Patch
        from Charles Kerr, #108243)
2003-04-21 22:32:56 +00:00
Owen Taylor
bb527c2735 Patch from Alex Larsson fixing problem with restacking during DND.
Mon Apr 21 18:13:46 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Patch
        from Alex Larsson fixing problem with restacking during
        DND. (#108671)
2003-04-21 22:18:15 +00:00
Owen Taylor
2bd7e4fc18 Calling XFlush() after ungrabbing, to avoid problems if the app
Mon Apr 21 15:07:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard/pointer_ungrab):
        Calling XFlush() after ungrabbing, to avoid problems if
        the app subsequently blocks on a long-running operation.
        (#106520, reported by Rajkumar Siva)
2003-04-21 19:11:53 +00:00
Owen Taylor
a5e86bd040 Add SKIP_TASKBAR/SKIP_PAGER to set of properties we might set on map.
Fri Apr 18 17:42:45 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (set_initial_hints): Add
        SKIP_TASKBAR/SKIP_PAGER to set of properties we
        might set on map. (#110019, problem reported
        by Loban Rahman)
2003-04-21 19:06:15 +00:00
Owen Taylor
93436df139 Remove accidentally committed entry 2003-04-21 01:11:16 +00:00
Owen Taylor
ace5e01e0b Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and use
Fri Apr 18 16:31:49 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
        Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
        use of XAddConnectionWatch. Remove --enable-xim config option.
        Should fix building on X11R6 (#110523, Albert Chin)
2003-04-21 01:09:15 +00:00
Owen Taylor
51d83aa47a Fix for the case when gdk_event_copy() is called on a non-allocated event.
Fri Apr 18 17:14:33 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.c (gdk_event_copy): Fix for the
        case when gdk_event_copy() is called on a non-allocated
        event. (#109716, reported by Rich Burridge)
2003-04-18 21:24:27 +00:00
Owen Taylor
3958a82a34 Fix pointer arithmetic on 'void *'. (#108322)
Fri Apr 18 16:57:44 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (draw_with_images/pixmaps):
        Fix pointer arithmetic on 'void *'. (#108322)
2003-04-18 20:59:33 +00:00
Owen Taylor
42b4c8eb25 Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and use
Fri Apr 18 16:31:49 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in gdk/x11/gdkdisplay-x11.c modules/input/Makefile.am:
        Check for XAddConnectionWatch()/X11R6, and if found, disable XIM and
        use of XAddConnectionWatch. Remove --enable-xim config option.
        Should fix building on X11R6 (#110523, Albert Chin
2003-04-18 20:53:49 +00:00
Owen Taylor
5c3af4861b Patch from Morten Welinder to catch Sun servers with a broken
Fri Apr 18 15:56:46 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkdrawable-x11.[ch]:
        Patch from Morten Welinder to catch Sun servers with a
        broken implementation of the RENDER extension. (#108309)
2003-04-18 20:22:50 +00:00
Owen Taylor
93ccf6b68d Use gdk_free_compound_text(), not g_free(). (#107643, Michael Zucchi)
Fri Apr 18 15:30:38 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (set_text_property): Use
        gdk_free_compound_text(), not g_free(). (#107643,
        Michael Zucchi)
2003-04-18 19:33:53 +00:00
Owen Taylor
dc7b32f61d Fix wrong use of base_finalize. (#105126, Sven Neumann)
Fri Apr 18 15:11:50 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type)
        gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type): Fix
        wrong use of base_finalize. (#105126, Sven Neumann)
2003-04-18 19:20:53 +00:00
Owen Taylor
9ad8ce84a8 Fix '/' vs. '*' problem in aspect ration computations. (#108237)
Fri Apr 18 15:06:00 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkwindow.c (gdk_window_constrain_size): Fix
        '/' vs. '*' problem in aspect ration computations. (#108237)
2003-04-18 19:09:19 +00:00
Owen Taylor
2ad38a256d You don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify
Fri Apr 18 14:15:09 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (gdk_display_open):
        * gdk/x11/gdkevents-x11.c (gdk_event_translate): You
        don't get a XkbMapNotify event if you get a XkbNewKeyboardNotify
        event, so select for both. (#108406, Egmont Koblinger)
2003-04-18 18:54:05 +00:00
Jonathan Blandford
c3f1c61dbe remove infinite loop caused by not clearing the scroll_to_path.
Thu Apr 17 09:57:44 2003  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtktreeview.c (validate_visible_area): remove
         infinite loop caused by not clearing the scroll_to_path.
2003-04-17 14:07:16 +00:00
Michael Natterer
227089828d added checks to ensure that the iter is not reordered to its own position.
2003-04-14  Michael Natterer  <mitch@gimp.org>

	* gtk/gtkliststore.c (gtk_list_store_move): added checks to ensure
	that the iter is not reordered to its own position. Prevents model
	corruption for the case that the store contains only a single item
	(fixes bug #108387).

	Unrelated:

	* gtk/gtkliststore.c (gtk_list_store_insert): g_list_alloc() the
	new list element later so we don't leak it if we decide to return
	early.

	* gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
	set selection->tree_view->priv->anchor to NULL after freeing it.
2003-04-14 12:03:26 +00:00
Pauli Virtanen
ae9279670d Fixes to the Finnish translation.
2003-04-13  Pauli Virtanen  <pauli.virtanen@hut.fi>

	* fi.po: Fixes to the Finnish translation.
2003-04-13 20:43:24 +00:00
Matthias Clasen
d2e38059ae Add docs. 2003-04-12 22:27:15 +00:00
Owen Taylor
674abdaffc Flush after ungrabbing the server.
Mon Apr  7 19:43:15 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdisplay-x11.c (gdk_x11_display_ungrab): Flush
        after ungrabbing the server.

        * gdk/x11/gdkimage-x11.c: Remove some no-longer-needed
        calls to XFlush().

        * gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_at_pointer):
        Use gdk_x11_display_grab/ungrab.
2003-04-07 23:46:45 +00:00
Matthias Clasen
b200136fcc Fix numerous misspellings of possessive "its". (#110027, Doug Quale) 2003-04-07 00:18:16 +00:00
Metin Amiroff
d17502a3e6 Updated Azerbaijani translaion.
2003-04-04  Metin Amiroff <metin@karegen.com>

	* az.po: Updated Azerbaijani translaion.
2003-04-04 15:20:01 +00:00
Matthias Clasen
c5a4f595a3 Only use files from the current directory if it looks like the srcdir.
2003-04-03  Matthias Clasen  <maclas@gmx.de>

	* demos/gtk-demo/main.c (demo_find_file): Only use files from the
	current directory if it looks like the srcdir.  (#109357)
2003-04-02 23:02:27 +00:00
Matthias Clasen
6b92fe3b91 Return 0 if lower == upper. (#109155)
2003-04-02  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkprogress.c (gtk_progress_get_percentage_from_value):
	Return 0 if lower == upper.  (#109155)
	(gtk_progress_get_current_percentage): Use
	gtk_progress_get_percentage_from_value().
2003-04-02 21:01:44 +00:00
Dmitry Mastrukov
ff0cfb41aa be.po: Updated Belarusian translation from Belarusian team <i18n@mova.org>. 2003-04-02 04:05:38 +00:00
Matthias Clasen
04e870ec3e Fix formatting of examples.
* gtk/tmpl/gtkmessagedialog.sgml: Fix formatting of examples.
2003-03-31 22:43:04 +00:00
Matthias Clasen
8dbab57eea Fix docs. (#109510, Noah Levitt)
2003-04-01  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkimcontext.c (gtk_im_context_focus_in): Fix docs.
	(#109510, Noah Levitt)
2003-03-31 22:34:55 +00:00
Matthias Clasen
fb6020965e Fix the example. (#109563)
2003-04-01  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtkfilesel.sgml: Fix the example.  (#109563)
2003-03-31 22:29:26 +00:00
Raphael Finkel
6e75060586 Updated Yiddish translation by Raphael Finkel <raphael@cs.uky.edu>.
2003-03-31  Raphael Finkel <raphael@cs.uky.edu>

	* yi.po: Updated Yiddish translation by
	Raphael Finkel <raphael@cs.uky.edu>.
2003-03-31 21:14:21 +00:00
Jonathan Blandford
3799561d29 null initialize reorder's members so Purify won't complain.
Mon Mar 31 13:52:13 2003  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's
	  members so Purify won't complain.

	* gtk/gtkliststore.c (gtk_list_store_sort): ditto.
2003-03-31 19:50:09 +00:00
Jonathan Blandford
bdf8146460 null initialize reorder's members so Purify won't complain.
Mon Mar 31 13:52:13 2003  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): null initialize reorder's
	members so Purify won't complain.
2003-03-31 19:43:52 +00:00
Jonathan Blandford
ad2398fdb1 fix crash. Patch from Markus Lausser <sgop@users.sourceforge.net>
Sun Mar 30 03:57:42 2003  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
	fix crash.  Patch from Markus Lausser <sgop@users.sourceforge.net>
2003-03-30 09:23:24 +00:00
Matthias Clasen
1ca748d939 Set state of labels back to normal before reparenting back. (#102387)
2003-03-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Set state
	of labels back to normal before reparenting back.  (#102387)
2003-03-29 00:48:46 +00:00
Matthias Clasen
6cdff52aea Fixes for bug #56248:
2003-03-29  Matthias Clasen  <maclas@gmx.de>

        Fixes for bug #56248:

	* gtk/gtknotebook.c (stop_scrolling): New function to remove the
	timer and queue a redraw.
	(gtk_notebook_grab_notify):
	(gtk_notebook_state_changed): New functions to call stop_scrolling()
	if necessary.
	(gtk_notebook_button_release): Use stop_scrolling().
	(gtk_notebook_draw_arrow): Fix drawing of insensitive arrows.

	* gtk/gtkrange.c (stop_scrolling): New function to remove the
	grab, remove the timer and queue a redraw.
	(gtk_range_grab_notify):
	(gtk_range_state_changed): New functions to call stop_scrolling()
	if necessary.
	(gtk_range_button_release): Use stop_scrolling().

	* gtk/gtkspinbutton.c (gtk_spin_button_grab_notify):
	(gtk_spin_button_state_changed): Redraw after stop_spinning.
	(gtk_spin_button_stop_spinning): Reset click_child to correct the
	drawing of the arrows.
	(gtk_spin_button_button_release): Use a local copy of click_child,
	since stop_spinning() resets it.
2003-03-29 00:20:41 +00:00
Matthias Clasen
abf0c05b30 Add C-A-PgUp and C-A-PgDown as alternatives to the A-less variants.
2003-03-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtknotebook.c (gtk_notebook_class_init): Add C-A-PgUp and
	C-A-PgDown as alternatives to the A-less variants.  (#97860)
2003-03-28 23:44:55 +00:00
Christian Rose
4e3be2565d Updated Yiddish translation by Raphael Finkel <raphael@cs.uky.edu>.
2003-03-26  Christian Rose  <menthos@menthos.com>

	* yi.po: Updated Yiddish translation by
	Raphael Finkel <raphael@cs.uky.edu>.
2003-03-26 21:33:55 +00:00
Sven Neumann
336912e2d4 rewrote the function that does node and arrow prelighting, queue all
2003-03-26  Sven Neumann  <sven@gimp.org>

	* gtk/gtktreeview.c: rewrote the function that does node and arrow
	prelighting, queue all redraws from here (Fixes bug #108792).
2003-03-26 13:37:36 +00:00
Pablo Gonzalo del Campo
2ce2e1ae81 Updated Spanish translation by Carlos Perelló Marín
2003-03-24  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>

        * es.po: Updated Spanish translation by
          Carlos Perelló Marín <carlos@gnome-db.org>.
2003-03-24 13:39:05 +00:00
Christian Rose
a44b4fc401 Updated Yiddish translation by Raphael Finkel <raphael@cs.uky.edu>.
2003-03-23  Christian Rose  <menthos@menthos.com>

	* yi.po: Updated Yiddish translation by
	Raphael Finkel <raphael@cs.uky.edu>.
2003-03-23 02:21:27 +00:00
Michael Natterer
1ac718dc29 copy stock_color_picker_25.png, don't copy stock_save_24.png twice.
2003-03-22  Michael Natterer  <mitch@gimp.org>

	* gtk/Makefile.am: copy stock_color_picker_25.png, don't copy
	stock_save_24.png twice.

	* gtk/tmpl/gtkstock.sgml: use it for GTK_STOCK_COLOR_PICKER
	instead of stock_colorselector_24.png.
2003-03-22 19:10:07 +00:00
Matthias Clasen
49ec780bf6 Add missing static. (#108614)
2003-03-21  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixbuf-animation.c (gdk_pixbuf_non_anim_get_type): Add
	missing static.  (#108614)
2003-03-21 00:34:43 +00:00
Matthias Clasen
1dfc733639 Add missing static qualifiers apparently causing problems on some
2003-03-21  Matthias Clasen  <maclas@gmx.de>

	* io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
	* io-ico.c (gdk_pixbuf__ico_image_stop_load): Add missing static
	qualifiers apparently causing problems on some platforms. (#108617)
2003-03-21 00:14:33 +00:00
Guntupalli Karunakar
2470cdfb9e Added Malayalam translation 2003-03-20 16:21:33 +00:00
Metin Amiroff
b28585cdc3 updated Azerbaijani translation.
2003-03-20  Metin Amiroff  <metin@karegen.com>

	* az.po: updated Azerbaijani translation.
2003-03-20 11:00:55 +00:00
Chyla Zbigniew
298f6d6b26 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2003-03-16 13:55:39 +00:00
Manish Singh
04f4e45e3e use GTK_DISABLE_DEPRECATED instead of G_DISABLE_DEPRECATED.
Sat Mar 15 18:46:46 2003  Manish Singh  <yosh@gimp.org>

        * gtk/gtkradiomenuitem.h: use GTK_DISABLE_DEPRECATED instead of
        G_DISABLE_DEPRECATED.
2003-03-16 02:48:41 +00:00
Tor Lillqvist
b4ee5eb756 Use the signed GET_X_LPARAM() and GET_Y_LPARAM() to extract x and y
2003-03-14  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c: Use the signed GET_X_LPARAM() and
	GET_Y_LPARAM() to extract x and y coordinates from an LPARAM or
	DWORD, and not the unsigned HIWORD() and LOWORD(). Systems with
	multiple monitors can have negative coordinates on some of the
	monitors. (partial fix for #99496, Arnaud Charlet)
2003-03-14 23:53:44 +00:00
Sven Neumann
abb203785f removed redundant calls to g_object_notify().
2003-03-13  Sven Neumann  <sven@gimp.org>

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_set_property):
	removed redundant calls to g_object_notify().
	(gtk_cell_renderer_pixbuf_get_size): removed redundant casts, see
	bug #108236.

	* gtk/gtktextiter.c (_gtk_text_iter_get_segment_char)
	(_gtk_text_iter_get_segment_byte): return 0, not NULL (these
	functions return an integer value).
2003-03-13 12:26:31 +00:00
Tor Lillqvist
1c874acf8e On WM_MOUSEMOVE, the test whether we have actually moved (and thus
2003-03-13  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
	WM_MOUSEMOVE, the test whether we have actually moved (and thus
	shouldn't generate an GDK event) moved after the call to
	propagate() and translate_mouse_coords(). Otherwise we were
	testing wrong values. (#108115, Allin Cottrell)
	(gdk_event_translate): On WM_?BUTTONUP, set current_{x,y} the same
	way as in WM_?BUTTONDOWN and WM_MOUSEMOVE.
2003-03-13 01:42:31 +00:00
Tor Lillqvist
22d5e6810a if a grab cursor is used, must copy the HCURSOR with CopyCursor(), as it
2003-03-13  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): if a grab cursor
	is used, must copy the HCURSOR with CopyCursor(), as it is OK to
	destroy the GdkCursor after calling gdk_pointer_grab(). Set the
	cursor right away with SetCursor(), as we won't get any
	WM_SETCURSOR messages while the mouse is captured.
	(gdk_display_pointer_ungrab): Correspondingly, destroy the copy
	with DestroyCursor() when no longer used. (#108114, Allin Cottrell)

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): On
	WM_SYSCHAR, return FALSE from the window procedure to prevent the
	DefWindowProc from being called. Otherwise Windows would beep,
	thinking you are tring to access a (nonexistent) menu when you
	press Alt-something. Don't do this for Alt-Space,
	though. (#107454, Martyn Russell)

	* gdk/win32/gdkcursor-win32.c: Minor spacing and debug print fixes.
2003-03-13 00:52:32 +00:00
Matthias Clasen
0f05a797f7 Calculate LineWidth for 16bpp from width, like for the other depths.
2003-03-11  Matthias Clasen  <maclas@gmx.de>

	* io-ico.c (DecodeHeader): Calculate LineWidth for 16bpp from
	width, like for the other depths.  (noticed by Marijn Ros)
2003-03-11 23:02:23 +00:00
Yuri Syrota
c16d0688db Updated Ukrainian translation 2003-03-10 15:53:22 +00:00
Tor Lillqvist
fe57bdd25b Don't try to compensate for LineTo() not drawing the end pixel. It causes
2003-03-09  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkdrawable-win32.c (draw_segments): Don't try to
	compensate for LineTo() not drawing the end pixel. It causes more
	harm than benefits, see bug #81895.
2003-03-09 16:13:55 +00:00
Matthias Clasen
0b4b76ccef Bug #107664 continued:
2003-03-08  Matthias Clasen  <maclas@gmx.de>

	Bug #107664 continued:

	* gdk/x11/gdkinputprivate.h:
	* gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove.
	(_gdk_input_other_event): Return gboolean.
	* gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove.
	(_gdk_input_other_event): Return gboolean.
	* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val
	gboolean, remove pointless call to _gdk_input_window_none_event.

	* gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean.
	(_gdk_input_window_none_event): Remove.

	* gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment):
	(_gtk_text_iter_get_any_segment):
	(_gtk_text_iter_get_segment_byte):
	(_gtk_text_iter_get_segment_char):
	(_gtk_text_iter_get_text_line):
	(_gtk_text_iter_get_btree): Fix 0/NULL confusion.
	* gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint.
	* gdk/win32/gdkfont-win32.c (gdk_font_equal):
	* gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin):
	(gdk_window_get_origin):
	* gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion.
2003-03-08 21:11:19 +00:00
Matthias Clasen
6308577b27 Trivial cleanups (bug #107664) 2003-03-08 20:49:58 +00:00
Sven Neumann
e4639db608 shut up CVS 2003-03-07 14:11:08 +00:00
Matthias Clasen
9a03f0a699 Return gboolean, not gint. (#107664, Morten Welinder)
2003-03-06  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkrgb.c (gdk_rgb_try_colormap): Return gboolean, not gint.
	(#107664, Morten Welinder)

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_deskrelative_origin):
	* gdk/x11/gdkfont-x11.c (gdk_font_equal):
	* gdk/x11/gdkdnd-x11.c (gdk_drag_get_protocol_for_display):
	Fix TRUE/1 and FALSE/0 confusion.  (#107664, Morten Welinder)

	* io-gif.c (gif_read): Fix 0/FALSE confusion (#107664, Morten Welinder)
2003-03-06 20:17:56 +00:00
Matthias Clasen
3c0467684a Fix NULL/FALSE confusion (#107648, Morten Welinder)
2003-03-06  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextmark.c (gtk_text_mark_get_buffer):
	* gtk/gtkeditable.c (gtk_editable_get_chars):
	* gtk/gtkctree.c (gtk_ctree_find_node_ptr):
	* demos/gtk-demo/main.c (demo_find_file): Fix NULL/FALSE confusion
	(#107648, Morten Welinder)
2003-03-06 19:55:52 +00:00
Metin Amiroff
bac86f2f41 minor changes on Azerbaijani translation.
2003-03-06  Metin Amiroff  <metin@karegen.com>

	* az.po: minor changes on Azerbaijani translation.
2003-03-06 19:26:44 +00:00
Tor Lillqvist
1a887b84e1 Add a bunch of missing entries. Noticed by Cedric Gustin.
2003-03-02  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtk.def: Add a bunch of missing entries. Noticed by Cedric
	Gustin.
2003-03-02 20:35:31 +00:00
Tor Lillqvist
1a3e754aee Add a bunch of missing entries. Noticed by Cedric Gustin.
2003-03-02  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def: Add a bunch of missing entries. Noticed by Cedric
	Gustin.
2003-03-02 19:44:48 +00:00
Yuri Syrota
8193e914cd Updated Ukrainian translation 2003-02-28 20:12:27 +00:00
Yuri Syrota
101169bbba Updated Ukrainian translation 2003-02-28 19:58:44 +00:00
Yuri Syrota
1f6aa5cea0 Updated Ukrainian translation 2003-02-28 19:09:36 +00:00
Yuri Syrota
e4ca8e5c7c Updated Ukrainian translation 2003-02-28 18:43:08 +00:00
Yuri Syrota
2c15776323 Updated Ukrainian translation 2003-02-28 18:31:57 +00:00
Yuri Syrota
c6b0234335 Updated Ukrainian translation 2003-02-28 17:01:23 +00:00
Yuri Syrota
dce4d33e87 Updated Ukrainian translation 2003-02-28 11:50:00 +00:00
Manish Singh
f939818579 reverted stray changes from last commit 2003-02-28 02:07:25 +00:00
Manish Singh
07a15aa307 demos/gtk-demo/main.c demos/gtk-demo/tree_store.c gdk/x11/gdkscreen-x11.c
Thu Feb 27 18:03:49 2003  Manish Singh  <yosh@gimp.org>

        * demos/gtk-demo/main.c
        * demos/gtk-demo/tree_store.c
        * gdk/x11/gdkscreen-x11.c
        * gtk/gtkcellrenderertoggle.c
        * gtk/gtkcolorsel.c
        * gtk/gtkdnd.c
        * gtk/gtkeditable.c
        * gtk/gtkentry.c
        * gtk/gtkmenu.c
        * gtk/gtkmenubar.c
        * gtk/gtkmenuitem.c
        * gtk/gtkmenushell.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktextbuffer.c
        * gtk/gtktextview.c
        * gtk/gtktreeviewcolumn.c
        * tests/testgtk.c
        * tests/testtext.c
        * tests/testtreeedit.c
        * tests/testtreefocus.c
        * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
2003-02-28 02:05:30 +00:00
Jonathan Blandford
77e7300a4e account for RTL code.
Tue Feb 25 21:55:17 2003  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkoptionmenu.c (gtk_option_menu_position): account for RTL
	code.
2003-02-26 19:46:20 +00:00
Miloslav Trmac
a4a82906b9 Update Czech translation 2003-02-26 01:19:01 +00:00
Christian Rose
8b0a09438f Updated Yiddish translation by Raphael Finkel <raphael@cs.uky.edu>.
2003-02-25  Christian Rose  <menthos@menthos.com>

	* yi.po: Updated Yiddish translation by
	Raphael Finkel <raphael@cs.uky.edu>.
2003-02-25 14:33:31 +00:00
Yuri Syrota
26dfa43f87 Updated Ukrainian translation 2003-02-25 09:54:36 +00:00
Sven Neumann
5fbdd480c0 fixed documentation.
2003-02-24  Sven Neumann  <sven@gimp.org>

        * gtk/gtkmain.c (gtk_get_default_language): fixed documentation.
2003-02-24 20:29:39 +00:00
Matthias Clasen
2f44686915 Fix self-referential documenation of gtk_tree_model_get_iter_root().
2003-02-24  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtktreemodel.sgml: Fix self-referential documenation of
	gtk_tree_model_get_iter_root().  (#106720, Keith Sharp)
2003-02-24 19:13:35 +00:00
Roozbeh Pournader
01059ca925 Updated Persian translation.
2003-02-24  Roozbeh Pournader  <roozbeh@sharif.edu>

	* fa.po: Updated Persian translation.
2003-02-24 10:30:41 +00:00
Jordi Mallach
1de5e09f78 Typo. 2003-02-22 22:55:29 +00:00
Jordi Mallach
c6ba891676 Catalan fixes. 2003-02-22 22:48:30 +00:00
Matthias Clasen
62fbfc2f50 Check if line_ancestor_parent is NULL. (#102711, Manuel Clos)
2003-02-20  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag):
	Check if line_ancestor_parent is NULL.  (#102711, Manuel Clos)

	* gtk/gtktextview.c (gtk_text_view_scroll_to_iter):
	(gtk_text_view_update_adjustments): Make sure cursor stays visible
	during horizontal scrolling.  (#75270)
2003-02-20 19:49:51 +00:00
Yuri Syrota
6a02a78342 Updated Ukrainian translation 2003-02-20 13:44:02 +00:00
Matthias Clasen
c43bf5f692 Always clear the initial frame and "disposed" areas with transparent
2003-02-20  Matthias Clasen  <maclas@gmx.de>

	* io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite):
	Always clear the initial frame and "disposed" areas with
	transparent pixels, no matter whether the frame has transparency
	or not.  (#55502)
2003-02-19 23:01:47 +00:00
Yuri Syrota
79d52607b2 Updated Ukrainian translation 2003-02-19 20:22:27 +00:00
Yuri Syrota
18fb6bc786 Updated Ukrainian translation 2003-02-19 20:06:42 +00:00
Yuri Syrota
4be242e03c Updated Ukrainian translation 2003-02-19 19:49:05 +00:00
Matthias Clasen
629b9c3241 Associate the keys_changed virtual function with the keys_changed signal.
2003-02-19  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkkeys.c (gdk_keymap_class_init): Associate the
	keys_changed virtual function with the keys_changed signal.
	(#106512, Jeff Franks)
2003-02-19 19:35:44 +00:00
Yuri Syrota
cc82e4fb09 Updated Ukrainian translation 2003-02-19 18:33:23 +00:00
Pablo Gonzalo del Campo
85953f9bf9 Fixed a hotkey mistake.
2003-02-19  Pablo Gonzalo del Campo <pablodc@bigfoot.com>

	* es.po: Fixed a hotkey mistake.
2003-02-19 18:13:40 +00:00
Larry Ewing
45b99c1223 copy the event axes as well.
2003-02-15  Larry Ewing  <lewing@ximian.com>

        * gdk/gdkevents.c (gdk_event_copy): copy the event axes as well.
2003-02-18 20:12:44 +00:00
Pablo Saratxaga
af76072dbd small fix 2003-02-18 00:55:19 +00:00
Mohammad DAMT
3b7ca9fdba Added Indonesian translation Added "id" to ALL_LINGUAS
2003-02-17  Mohammad DAMT  <mdamt@bisnisweb.com>

	* po/id.po: Added Indonesian translation
	* configure.in: Added "id" to ALL_LINGUAS
2003-02-17 07:44:25 +00:00
Christophe Merlet
2e58f2eb4b Updated French translation. 2003-02-16 23:30:58 +00:00
Matthias Clasen
ea243d2ea9 Remove bogus GTK_OBJECT cast. Hopefully got it right now...
2003-02-14  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (popup_targets_received): Remove bogus
	GTK_OBJECT cast. Hopefully got it right now...
	(gtk_text_view_move_cursor_internal): Add a default: to avoid
	compiler warnings.
2003-02-14 16:34:38 +00:00
Glynn Foster
4cd9b035c7 Use g_signal_connect instead of gtk_signal_connect.
2003-02-14  Glynn Foster  <glynn.foster@sun.com>

	* gtk/gtktextview.c: (popup_targets_received): Use g_signal_connect
	instead of gtk_signal_connect.
2003-02-14 13:27:45 +00:00
Dmitry Mastrukov
a9773cd5f6 be.po: Updated Belarusian translation from Belarusian team <i18n@mova.org>. 2003-02-14 12:07:02 +00:00
Matthias Clasen
bb0a15ea85 Actually reject images with origin not in the upper-left corner. (#105912)
2003-02-14  Matthias Clasen  <maclas@gmx.de>

	* io-tga.c (try_preload):
	(gdk_pixbuf__tga_load): Actually reject images with origin
	not in the upper-left corner.  (#105912)
2003-02-13 23:50:57 +00:00
Yuri Syrota
a5fce9f76b Updated Ukrainian translation 2003-02-13 18:23:29 +00:00
Christian Rose
09d376434e Added "yi" to ALL_LINGUAS. Added Yiddish translation by Raphael Finkel
2003-02-12  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "yi" to ALL_LINGUAS.
	* yi.po: Added Yiddish translation by
	Raphael Finkel <raphael@cs.uky.edu>.
2003-02-12 12:49:21 +00:00
Matthias Clasen
6351823847 Fix for #78216:
2003-02-12  Matthias Clasen  <maclas@gmx.de>

	Fix for #78216:

	* gtk/gtktextview.c (delete_cb):
	(select_all_cb): New callbacks for context menu items.
	(popup_targets_received): Add "Delete" and "Select All" to context
	menu.

	* gtk/gtkentry.c (gtk_entry_delete_cb): New callback for "Delete"
	context menu item.
	(popup_targets_received): Add "Delete" to context menu.
2003-02-11 23:36:09 +00:00
Matthias Clasen
d76994c16c Document that font and fontset declarations are ignored.
2003-02-11  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtkrc.sgml: Document that font and fontset declarations
	are ignored.
2003-02-11 00:32:45 +00:00
Yuri Syrota
693d39cf9c Updated Ukrainian translation 2003-02-10 15:29:18 +00:00
Yuri Syrota
52e625e6a8 Updated Ukrainian translation 2003-02-10 11:20:46 +00:00
Yuri Syrota
6ddca5edab Updated Ukrainian translation 2003-02-10 10:18:45 +00:00
Tor Lillqvist
0babe29777 Use GetDriveType() to recognize removable drives (in order to avoid
2003-02-09  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkfilesel.c (win32_gtk_add_drives_to_dir_list): Use
	GetDriveType() to recognize removable drives (in order to avoid
	hanging if trying to access an empty floppy drive), instead of
	hardcoding A: and B: (#105654).
2003-02-09 21:48:24 +00:00
Christian Rose
fcf6f344bb Removed "en@IPA" from ALL_LINGUAS. Removed. It doesn't contain
2003-02-09  Christian Rose  <menthos@menthos.com>

	* configure.in: Removed "en@IPA" from ALL_LINGUAS.
	* po/en@IPA.po: Removed. It doesn't contain translations anyway.
2003-02-09 13:28:56 +00:00
Pablo Gonzalo del Campo
f71d4457e0 Updated Spanish translation.
2003-02-08  Pablo Gonzalo del Campo <pablodc@bigfoot.com>

	* es.po: Updated Spanish translation.
2003-02-09 02:28:10 +00:00
Christian Neumair
3698534cb6 Updated German translation. 2003-02-08 11:15:35 +00:00
Miloslav Trmac
6ee90b280f Fix error sin Czech translation 2003-02-07 20:59:50 +00:00
Matthias Clasen
d71067c57a Better error message if module_open() fails. (#105349, Tim Mooney)
2003-02-06  Matthias Clasen  <maclas@gmx.de>

	* queryloaders.c (query_module): Better error message if
	module_open() fails.  (#105349, Tim Mooney)
2003-02-06 19:32:52 +00:00
Matthias Clasen
f2955b204a Return a GdkVisual *, not a GdkVisual **. (#105243)
2003-02-06  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkvisual-x11.c (gdk_visual_get_best_with_depth): Return
	a GdkVisual *, not a GdkVisual **.  (#105243)
2003-02-06 19:19:26 +00:00
Christian Rose
0eca9ef242 Some fixes for problems catched in translation review.
2003-02-05  Christian Rose  <menthos@menthos.com>

	* sv.po: Some fixes for problems catched in translation review.
2003-02-05 11:20:21 +00:00
Yuri Syrota
f15893e1bd Updated Ukrainian translation 2003-02-04 18:42:28 +00:00
Yuri Syrota
ba55a05b73 Updated Ukrainian translation 2003-02-04 18:22:39 +00:00
Yuri Syrota
c687d2c7a4 Updated Ukrainian translation 2003-02-04 10:51:05 +00:00
Yuri Syrota
f117e39e0d Updated Ukrainian translation 2003-02-04 10:04:17 +00:00
Yuri Syrota
e4e126ce70 Updated Ukrainian translation 2003-02-04 08:27:04 +00:00
Abel Cheung
5054c1cab4 Updated traditional Chinese translation.
2003-02-04  Abel Cheung  <maddog@linux.org.hk>

	* zh_TW.po: Updated traditional Chinese translation.
2003-02-04 03:28:07 +00:00
Daniel Yacob
bb27defe19 Updating Amharic translation. 2003-02-03 17:46:30 +00:00
Owen Taylor
ad891783f2 === Released 2.2.1 ===
Sun Feb  2 10:03:24 2003  Owen Taylor  <otaylor@redhat.com>

        * === Released 2.2.1 ===

        * configure.in: Version 2.2.1, Binary age 201, interface age 1.

        * NEWS: More updates.
2003-02-02 15:51:04 +00:00
Duarte Loreto
bd8e4ec9c7 Updated Portuguese translation.
2003-02-01  Duarte Loreto <happyguy_pt@hotmail.com>

        * pt.po: Updated Portuguese translation.
2003-02-02 14:18:27 +00:00
Tor Lillqvist
56bf242952 Add gdk_screen_get_system_visual. Noticed by Ed Woods.
2003-02-01  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def: Add gdk_screen_get_system_visual. Noticed by Ed
	Woods.
2003-02-01 20:56:06 +00:00
Christian Neumair
b05973ad54 Updated German translation. 2003-02-01 17:37:25 +00:00
Manish Singh
eb6822c2ca demos/pixbuf-demo.c demos/testpixbuf.c demos/gtk-demo/pixbufs.c sync with
Fri Jan 31 17:48:53 2003  Manish Singh  <yosh@gimp.org>

        * demos/pixbuf-demo.c
        * demos/testpixbuf.c
        * demos/gtk-demo/pixbufs.c
        * tests/testtext.c: sync with HEAD (removed gtk_timeout_* usage)
2003-02-01 01:49:25 +00:00
Manish Singh
69e5d23af7 set_state on the tab_label before unparenting it, in case the unparent
Fri Jan 31 17:23:59 2003  Manish Singh  <yosh@gimp.org>

        * gtk/gtknotebook.c (gtk_notebook_remove_tab_label): set_state
        on the tab_label before unparenting it, in case the unparent
        drops the refcount to 0.
2003-02-01 01:27:00 +00:00
Owen Taylor
94d641664a Updates.
Thu Jan 30 23:44:52 2003  Owen Taylor  <otaylor@redhat.com>

        * NEWS: Updates.
2003-01-31 04:45:11 +00:00
Kristian Rietveld
b11de91341 beginning of NEWS for 2.2.1.
Fri Jan 31 00:28:18 2003  Kristian Rietveld  <kris@gtk.org>

        * NEWS: beginning of NEWS for 2.2.1.
2003-01-30 23:15:34 +00:00
Kristian Rietveld
f1a895f5cf Fix bug number. 2003-01-30 22:45:45 +00:00
Kristian Rietveld
d7fc46eb8a Merge from HEAD.
Thu Jan 30 23:48:30 2003  Kristian Rietveld  <kris@gtk.org>

        Merge from HEAD.

        * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_count_special_cell):
        only count the special cell if it is also visible,
        (_gtk_tree_view_column_get_neighbor_sizes): only take the width into
        account from visible cells,
        (gtk_tree_view_column_cell_get_position): likewise, (Reported and
        testcase provided by Vasco Alexandre da Silva Costa, via IRC,
        tracking bug was #104563).

Thu Jan 30 23:46:15 2003  Kristian Rietveld  <kris@gtk.org>

        Merge from HEAD.

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
        subtract expander space and focus line space from the extra space
        we are about the allocate. (Fixes #104635).

Thu Jan 30 23:42:03 2003  Kristian Rietveld  <kris@gtk.org>

        Merge from HEAD.

        * gtk/gtkstyle.c (apply_affine_on_point): fix rouding error
        (Fixes #96252, patch from Soeren Sandmann).
2003-01-30 22:43:30 +00:00
Kristian Rietveld
b5ebedc782 Merge from HEAD: I found out that we live in 2003 already. 2003-01-30 22:25:54 +00:00
Owen Taylor
c012d1fe9e Patch from Soeren Sandmann to update the states of the tab label child
Thu Jan 30 16:54:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c: Patch from Soeren Sandmann
        to update the states of the tab label child
        widgets to match the state of the tabs.
        (#93389, Reported by Tommi Komulainen)
2003-01-30 21:57:25 +00:00
Daniel Elstner
b92af6e16b Merge from HEAD.
2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>

	Merge from HEAD.

	* gtk/gtktoolbar.c (set_child_packing_and_visibility): New helper
	function that sets the icon's and label's packing options and
	visibility based on toolbar->style.

	(gtk_toolbar_internal_insert_element):
	(gtk_real_toolbar_style_changed): Make use of
	set_child_packing_and_visibility() to clean up the code and get
	the packing right for icon-only/text-only toolbars. (#104679)

	(get_first_child): Remove, and use gtk_bin_get_child() instead.
2003-01-30 21:48:07 +00:00
Owen Taylor
43de9ea350 Remove gtk+.spec.in from EXTRA_DIST, and from dist rules. (#102231)
Thu Jan 30 16:30:54 2003  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am (EXTRA_DIST): Remove gtk+.spec.in from
        EXTRA_DIST, and from dist rules. (#102231)
2003-01-30 21:40:35 +00:00
Owen Taylor
9bc1460bca Remove the attempt-to-allocate then free code. To handle multiple people
Thu Jan 30 16:01:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkrgb.c (gdk_rgb_try_colormap): Remove the
        attempt-to-allocate then free code. To handle multiple
        people allocating colors at the same time, we need
        to just go ahead and try. (#102213, Shivram U)
2003-01-30 21:18:48 +00:00
Daniel Elstner
acd43b3ee6 Merge from HEAD.
2003-01-30  Daniel Elstner  <daniel.elstner@gmx.net>

	Merge from HEAD.

	* gtk/gtkcolorsel.c (palette_paint): Explicitely draw an opaque
	rectangle using the background color rather than relying on
	gdk_window_clear_area(), so that the palette works properly with
	pixmap themes.

	* demos/gtk-demo/colorsel.c: Install an "expose_event" handler
	to fill the drawing area in the background color.
2003-01-30 20:08:24 +00:00
Matthias Clasen
0745fd5c6c s/overwrite/override/g (#104627, Brian Cameron)
2003-01-30  Matthias Clasen  <maclas@gmx.de>

	* gtk/running.sgml: s/overwrite/override/g  (#104627, Brian Cameron)
2003-01-30 00:07:02 +00:00
Hidetoshi Tajima
592df75970 fix a memory initialization error for selecting input style (#103549).
* modules/input/gtkimcontextxim.c (choose_better_style): fix a memory
	initialization error for selecting input style (#103549).
2003-01-29 22:44:58 +00:00
Owen Taylor
545ef43527 Make the translation of GDK_KP_Decimal dependent on LC_NUMERIC. (#101225)
Wed Jan 29 17:02:41 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkkeyuni.c (get_decimal_char): Make the
        translation of GDK_KP_Decimal dependent on LC_NUMERIC.
        (#101225)
2003-01-29 22:24:49 +00:00
Owen Taylor
fee332c6dc Make up from the menu bar go to the end of the submenu. (#96114, Ian
Wed Jan 29 15:43:56 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
        Make up from the menu bar go to the end of the submenu.
        (#96114, Ian Peters.)

        * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate):
        Only do the select-but-not-activate stuff if the
        menu is already active. Otherwise, just activate.
        (#101690, Arvind Samptur)
2003-01-29 21:01:29 +00:00
Christian Neumair
6ab8762032 Updated German translation. 2003-01-29 16:27:58 +00:00
Tivo Leedjrv
704fd74f2b Updated Estonian translation.
2003-01-28  Tivo Leedjrv  <toivo@linux.ee>

        * et.po: Updated Estonian translation.
2003-01-28 20:40:26 +00:00
Owen Taylor
d23d7f9916 Fix version in complaint message about automake. (#104366, Rich Burridge)
Tue Jan 28 15:18:24 2003  Owen Taylor  <otaylor@redhat.com>

	* autogen.sh (have_automake): Fix version in complaint
	message about automake. (#104366, Rich Burridge)
2003-01-28 20:31:18 +00:00
Owen Taylor
f1f9bf8a38 Remove SOEXT stuff; it doesn't work portably.
Mon Jan 27 16:38:13 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Remove SOEXT stuff; it doesn't work portably.
2003-01-27 23:22:14 +00:00
Owen Taylor
b0e495309d Rewrite to run on the .la files rather than looking for .so files.
Mon Jan 27 17:10:30 2003  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am (gdk-pixbuf.loaders): Rewrite to run
        on the .la files rather than looking for .so files.
        (#102142, Martin Gansser)

        * Makefile.am: Don't build gdk-pixbuf.loaders when
        cross-compiling.
2003-01-27 23:19:07 +00:00
Kristian Rietveld
1e11759ffd Merges from HEAD.
ChangeLog too long to mention here. Bugs fixed: #100973, #83195, #87556,
#99803, #100458. And a couple of non-bugzilla'd bugs. (yes, I prolly
misspelled "bugzilla'd").
2003-01-27 21:47:35 +00:00
Owen Taylor
30a9e56179 event->any.window might be NULL. Use gtk_widget_get_display (widget)
Mon Jan 27 16:19:59 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksocket.c (gtk_socket_filter_func): event->any.window
        might be NULL. Use gtk_widget_get_display (widget)
        (#102860, Thomas Leonard)
2003-01-27 21:22:00 +00:00
Owen Taylor
a3883873ce Fix --without-modules/--disable-modules confusion that was causing
Mon Jan 27 15:58:31 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Fix --without-modules/--disable-modules
        confusion that was causing --disable-modules not to work.
        (#102865, Akira Tagoh)

        * configure.in: Fix problem with plain --with-xinput
        (#104266, Akira Tagoh)
2003-01-27 21:14:48 +00:00
He Qiangqiang
9c99f64bda Updated Simplified Chinese translation by Funda Wang
2003-01-26  He Qiangqiang  <carton@linux.net.cn>

        * zh_CN.po: Updated Simplified Chinese translation by
        Funda Wang <fundawang@en2china.com>.
2003-01-26 13:12:26 +00:00
Kang Jeong-Hee
d87fb4cab8 ko.po updated 2003-01-26 12:11:14 +00:00
Chyla Zbigniew
1f1e466e88 Updated Polish translation by GNOME PL Team <translators@gnome.pl> 2003-01-24 22:22:11 +00:00
Christian Neumair
715f735051 Updated German translation. 2003-01-24 15:20:14 +00:00
Matthias Clasen
4184031fab Make move bindings viewport-based when the cursor is invisible. (#78669)
2003-01-24  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
	move bindings viewport-based when the cursor is invisible.  (#78669)
2003-01-24 00:54:41 +00:00
Daniel Elstner
9ef77ef39c Merge from HEAD.
2003-01-23  Daniel Elstner  <daniel.elstner@gmx.net>

Merge from HEAD.

* gtk/gtktoolbar.c (gtk_toolbar_hide_all): Override hide_all
in addition to show_all in order to keep them symmetric. (#102201)
2003-01-23 20:04:16 +00:00
Yuri Syrota
7e12070078 Updated Ukrainian translation 2003-01-23 19:12:22 +00:00
Yuri Syrota
a5c0d28e10 Updated Ukrainian translation 2003-01-23 18:47:45 +00:00
Tor Lillqvist
e0c849739d Add bug number. 2003-01-22 23:17:07 +00:00
Tor Lillqvist
a0f421f6eb Implement.
2003-01-22  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_foreign_new_for_display,
	gdk_pixmap_lookup, gdk_pixmap_lookup_for_display): Implement.

	* gdk/gdk.def: Export the above.
2003-01-22 23:15:52 +00:00
Pablo Gonzalo del Campo
d703d86055 Fixed bug #103087.
2003-01-22  Pablo Gonzalo del Campo <pablodc@bigfoot.com>

	* es.po: Fixed bug #103087.
2003-01-22 22:25:37 +00:00
Manish Singh
58ee037434 add a "return" at the end of the function, so there is a statement
Wed Jan 22 14:23:23 2003  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkevents-x11.c (translate_key_event): add a "return" at
        the end of the function, so there is a statement following the "out"
        label in all cases (fixes #101961)
2003-01-22 22:15:43 +00:00
Christian Rose
6d006849aa Added "mn" to ALL_LINGUAS. Added Mongolian translation by Sanlig Badral
2003-01-22  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "mn" to ALL_LINGUAS.
	* po/mn.po: Added Mongolian translation by
	Sanlig Badral <badral@chinggis.com>.
2003-01-22 01:51:50 +00:00
Owen Taylor
8fcedda777 Fix off-by-one error on the backward iteration loop, that was causing the
Wed Jan 15 17:02:18 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextlayout.c (gtk_text_layout_validate_yrange):
        Fix off-by-one error on the backward iteration loop,
        that was causing the wrong range to be redrawn.
        (at least part of #72734)
2003-01-21 22:48:52 +00:00
Matthias Clasen
45e801df00 Adjust the vadjustment value after changing its bounds. (fixes #101963 and
2003-01-21  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (gtk_text_view_size_allocate): Adjust the
	vadjustment value after changing its bounds.  (fixes #101963 and
	#73562)
2003-01-21 22:33:14 +00:00
Matthias Clasen
02dbda7fac Merge from HEAD.
2003-01-21  Matthias Clasen  <maclas@gmx.de>

	Merge from HEAD.

	* gtk/gtkcolorsel.c (hex_changed): Fix clamping to [0,1] to avoid
	unnecessary roundtrip failures.  (#93500)
2003-01-21 00:00:48 +00:00
Pablo Saratxaga
15f799d645 updated Vietnamese file;
Added missing langs to ALL_LINGUAS
2003-01-20 18:28:05 +00:00
Gustavo Noronha Silva
365bd26d3c changed a mnemonic 2003-01-20 14:35:54 +00:00
Andraz Tori
e344b9e864 Updated Slovenian translation 2003-01-19 13:45:14 +00:00
Jordi Mallach
a4f1d8e6ea Partially updated Catalan translation. 2003-01-19 03:06:11 +00:00
Tor Lillqvist
1657870198 Fix for #103614 and some other problems with GtkFileSelection on Windows:
2003-01-19  Tor Lillqvist  <tml@iki.fi>

	Fix for #103614 and some other problems with GtkFileSelection on
	Windows:

	* gtk/fnmatch.c (get_char): Need to use g_unichar_tolower(), not
	g_ascii_tolower(). Windows file names are case-insensitive for all
	Unicode letters.

	* gtk/gtkfilesel.c: Instead of checking for G_OS_WIN32 or
	G_WITH_CYGWIN, check G_PLATFORM_WIN32. Move inclusion of gtkintl.h
	earlier, as it includes config.h unconditionally, and gtkprivate.h
	redefines GTK_LOCALEDIR.
	(struct _CompletionDirSent): Ifdef out the fields not used on
	Windows.
	(compare_utf8_filenames, compare_sys_filenames): Need different
	comparison implementation for UTF-8 file names and system locale
	file names on Win32. Cannot simply use g_ascii_strcasecmp(), but
	need to casefold all Unicode letters.
	(cmpl_completion_matches, open_dir, correct_parent): Ifdef out
	variables not used on Win32 to avoid warnings about unused
	variables.
	(open_ref_dir): Use g_path_skip_root() to skip past potential
	drive letter in front of the leading (back)slash.
	(open_new_dir): Ifdef out use of CompletionDirSent fields not
	there on Win32.
	(correct_parent): Bypass inode check also on Cygwin.
2003-01-19 01:20:27 +00:00
Andraz Tori
d90f3e1479 Updated Slovenian translation 2003-01-16 15:50:03 +00:00
Daniel Yacob
32caaf841d Updating Amharic translation, in right branch. 2003-01-16 13:24:05 +00:00
German Poo-Caaman~o
c84b10e5bb Updated Spanish translation
2003-01-16  German Poo-Caaman~o <gpoo@ubiobio.cl>

	* es.po: Updated Spanish translation
2003-01-16 12:31:50 +00:00
Gustavo Noronha Silva
f4504ac5a2 translation update 2003-01-16 01:39:07 +00:00
Tor Lillqvist
e578482657 Fix bug noticed by Alex Shaduri: Tooltips and other GDK_WINDOW_TEMP
2003-01-15  Tor Lillqvist  <tml@iki.fi>

	Fix bug noticed by Alex Shaduri: Tooltips and other
	GDK_WINDOW_TEMP windows were activated. This looked very odd, and
	was a regression from earlier versions.

	* gdk/win32/gdkwindow-win32.c (show_window_internal): Fine-tune
	behaviour. Don't ever activate GDK_WINDOW_TEMP windows.
	(gdk_window_move, gdk_window_resize): Add debug logging.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): When we get a
	WM_SIZE message for a non-visible (withdrawn) window, don't clear
	the GDK_WINDOW_STATE_WITHDRAWN bit. The window is still withdrawn
	even if its size changes.
2003-01-15 23:54:30 +00:00
Abel Cheung
d941e11496 Updated traditional Chinese translation.
2003-01-16  Abel Cheung  <maddog@linux.org.hk>

	* zh_TW.po: Updated traditional Chinese translation.
2003-01-15 23:33:34 +00:00
Owen Taylor
2db9f4acbe Set the double click speed from XSETTINGS when creating a new GtkSettings
Wed Jan 15 15:55:47 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c: Set the double click speed from
        XSETTINGS when creating a new GtkSettings object
        as well as when getting a notify. (#103601, reported
        by Louis Garcia)
2003-01-15 21:01:45 +00:00
Owen Taylor
4a9a6598f0 Show/hide the notebook event window as necessary, we weren't previously
Wed Jan 15 14:56:09 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_size_allocate):
        Show/hide the notebook event window as necessary,
        we weren't previously keeping the visibility updated
        properly.  (#103599)
2003-01-15 20:31:39 +00:00
Pablo Gonzalo del Campo
2ec3761ee7 Fixed another couple of strings in Spanish translation.
2003-01-15  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>

        * es.po: Fixed another couple of strings in Spanish translation.
2003-01-15 20:04:18 +00:00
Pablo Gonzalo del Campo
ad7a7fac4b Fixed a couple of strings in Spanish translation.
2003-01-15  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>

        * es.po: Fixed a couple of strings in Spanish translation.
2003-01-15 18:26:00 +00:00
Dmitry Mastrukov
2b09353851 ru.po: Updated Russian translation from Russian team <gnome-cyr@gnome.org>. 2003-01-15 06:07:59 +00:00
Murray Cumming
7710e3111d Fixes #102168. Merge from HEAD.
2002-12-29  Murray Cumming  <murrayc@usa.net>

	Fixes #102168. Merge from HEAD.

	* gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c:
	Actually implement the GtkTreeDragSource::row_draggable virtual
	function in GtkListStore and GtkTreeStore instead of just checking
	whether it's implemented at all. This means that DnD isn't broken by
	gtkmm's virtual function wrappers. The alternative would be to
	hard-code the TRUE return value into gtkmm's wrappers, but that's
	part of GTK+'s implementation, not it's API.
2003-01-14 22:58:54 +00:00
Kristian Rietveld
0a35750777 Merge from HEAD.
Tue Jan 14 23:54:06 2002  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD.

	* gtk/gtktreeview.c: fix compiler warning.
2003-01-14 22:45:10 +00:00
Kristian Rietveld
6b6dfd7fe6 Merges from HEAD.
The full changelog for this commit is too long to paste here, so to avoid
annoying everybody I will write a short summary here.

Fixes for: #102890, #103198, #102618, #93629, #100172, #101235, #96650,
#102379.

Other than that also a ListStore fix and a TreeView scrolling fix.

Those interested in the hairy details can checkout gtk+/ChangeLog.
2003-01-14 22:42:54 +00:00
Pauli Virtanen
2a5cb4e974 Updated Finnish translation.
2003-01-13  Pauli Virtanen  <pauli.virtanen@hut.fi>

	* fi.po: Updated Finnish translation.
2003-01-13 22:19:35 +00:00
Christian Neumair
2159b143c4 Updated German translation. 2003-01-13 15:20:40 +00:00
Tor Lillqvist
df954de178 Move inclusion of config.h and gtkintl.h earlier, as gtkprivate.h
2003-01-12  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkmain.c: Move inclusion of config.h and gtkintl.h earlier,
	as gtkprivate.h redefines GTK_LOCALEDIR on Win32, for run-time
	lookup.
2003-01-12 04:19:09 +00:00
Tor Lillqvist
cbf87cfed9 Depend on gdk.def.
2003-01-12  Tor Lillqvist  <tml@iki.fi>

	* gdk/Makefile.am (libgdk_win32_2_0_la_DEPENDENCIES): Depend on
	gdk.def.

	* gdk/gdk.def
	* gtk/gtk.def: Add some missing entries. Thanks to Kenichi SUTO.
2003-01-12 01:56:27 +00:00
Tor Lillqvist
c50b328eb9 Add some missing entries. Thanks to Kenichi SUTO.
2003-01-12  Tor Lillqvist  <tml@iki.fi>

	* gdk_pixbuf.def: Add some missing entries. Thanks to Kenichi SUTO.
2003-01-12 01:22:37 +00:00
Tor Lillqvist
2183d21b12 Implement by setting or clearing the WS_EX_TOOLWINDOW extended window
2003-01-09  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_skip_taskbar_hint):
	Implement by setting or clearing the WS_EX_TOOLWINDOW extended
	window style.
	(gdk_window_set_type_hint): Add all cases to the switch (not all
	do anything, though). Handle GDK_WINDOW_TYPE_HINT_TOOLBAR by
	calling gdk_window_set_skip_taskbar_hint(). This means that GTK
	won't know that the skip_taskbar hint is on for the window, is
	this bad?
2003-01-09 03:59:34 +00:00
Tor Lillqvist
ca8a6763ea Changes for run-time lookup of installation location on Win32:
2003-01-09  Tor Lillqvist  <tml@iki.fi>

	Changes for run-time lookup of installation location on Win32:

	* Makefile.am (INCLUDES): Define PREFIX as $(prefix).

	* gdk-pixbuf-io.c (get_sysconfdir): New function, look up
	installation location at runtime and deduce GTK_SYSCONFDIR
	from it.
	(get_toplevel): Similar, for the top-level installation directory.
	(correct_prefix): Replace compile-time prefix with run-time
	prefix.
	(get_libdir): Remove, not used any longer.
	(gdk_pixbuf_io_init): Call correct_prefix().
2003-01-09 03:11:06 +00:00
Manish Singh
c2d9c765ab #include <stdlib.h> for putenv, <string.h> for strlen.
Wed Jan  8 18:44:21 2003  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkdisplay-x11.c: #include <stdlib.h> for putenv,
        <string.h> for strlen.

        * gdk/x11/gdkscreen-x11.c: #include <stdlib.h> for getenv,
        <string.h> for strrchr.

        * tests/testgtk.c (create_saved_position): "x" and "y" properties
        for widgets no longer exist, use gtk_window_move instead.

        * test/testtextbuffer.c (check_get_set_text): cast strlen to
        int for g_error.
2003-01-09 02:39:18 +00:00
Pablo Gonzalo del Campo
95c4b5228d Fixed translation bug #102758.
2003-01-07  Pablo Gonzalo del Campo <pablodc@bigfoot.com>

	* es.po: Fixed translation bug #102758.
2003-01-07 17:54:01 +00:00
Christian Neumair
b60c0b2967 Updated German translation, added "missing" to .cvsignore. 2003-01-06 16:13:37 +00:00
Tor Lillqvist
6ea8fe462a Actually remove the makefile.mingw from EXTRA_DIST which I thought
I did yesterday.
2003-01-05 20:06:04 +00:00
Tor Lillqvist
a329c83c0a Add bin/{gdk-pixbuf-query-loaders, gtk-query-immodules-2.0,gtk-demo}.exe
2003-01-05  Tor Lillqvist  <tml@iki.fi>

	* gtk-zip.sh.in (DEVZIP): Add bin/{gdk-pixbuf-query-loaders,
	gtk-query-immodules-2.0,gtk-demo}.exe and share/gtk-2.0.
2003-01-05 18:55:29 +00:00
Tor Lillqvist
41210aa925 [Win32] Change backslahses into slashes in path.
2003-01-05  Tor Lillqvist  <tml@iki.fi>

	* queryloaders.c (query_module): [Win32] Change backslahses into
	slashes in path.
2003-01-05 03:23:03 +00:00
Tor Lillqvist
c1b968cf65 Updates. Don't mention the now removed makefile.mingw files.
2003-01-05  Tor Lillqvist  <tml@iki.fi>

	* README.win32: Updates. Don't mention the now removed
	makefile.mingw files.
2003-01-05 02:31:41 +00:00
Tor Lillqvist
9efbd84d74 Mention gtk/gtk.def change. 2003-01-05 02:21:01 +00:00
Tor Lillqvist
261cd8ea9b Use correct DLL and import library names, with GTK_API_VERSION in name,
2003-01-05  Tor Lillqvist  <tml@iki.fi>

	* gtk-zip.sh.in: Use correct DLL and import library names, with
	GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
	(DEVZIP): Add gdk-pixbuf-query-loaders.exe.

	* configure.in: Improve check for dimm.h.

	* configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
	gdk-pixbuf/Makefile.am.

	* gdk-pixbuf/makefile.mingw.in
	* gdk-pixbuf/pixops/makefile.mingw.in
	* gdk/makefile.mingw.in
	* gdk/win32/makefile.mingw.in
	* gtk/makefile.mingw.in: Remove. Not maintained anyway.

	* gdk-pixbuf/Makefile.am
	* gdk-pixbuf/pixops/Makefile.am
	* gdk/Makefile.am
	* gdk/win32/Makefile.am
	* gtk/Makefile.am
	* configure.in: Remove makefile.mingw{,.in} from here, too.

	* README.win32: Updates. Don't mention the now removed
	makefile.mingw files.

	* gdk/gdk.def: Add a couple of missing entries.

	* gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().

	* gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
	earlier.

	* gdk/win32/rc/Makefile.am: Add hack to help
	build/win32/lt-compile-resource decide which kind of libtool
	object file to produce.

2003-01-04  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (gdk-pixbuf.loaders): Use @SOEXT@ in the find command.

	* gdk_pixbuf.def: Add gdk_pixbuf_loader_set_size.
2003-01-05 02:00:44 +00:00
Matthias Clasen
5261ce807f Make C-Down step through the sequence of paragraph ends (old behaviour
2003-01-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Make
	C-Down step through the sequence of paragraph ends (old behaviour
	included paragraph starts).  (#80340, patch by Narayana Pattipati)

	* gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_first_toggle):
 	Check for a tag toggle at the start iterator before calling
 	gtk_text_iter_forward_to_tag_toggle().  (#102090, patch by Daniel
	Elstner)
2003-01-04 23:27:38 +00:00
Matthias Clasen
c1bc2621fa Add /*< public >*/ and /*< private >*/ as appropriate. (#97211)
2003-01-04  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkfilesel.h (struct _GtkFileSelection): Add /*< public >*/
	and /*< private >*/ as appropriate.  (#97211)
2003-01-04 20:44:43 +00:00
Tor Lillqvist
9e291b8477 Don't distribute gtk-zip.sh, but do distribute gtk-zip.sh.in.
2003-01-04  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (EXTRA_DIST): Don't distribute gtk-zip.sh, but do
	distribute gtk-zip.sh.in.
2003-01-04 17:32:05 +00:00
Tor Lillqvist
ff619c2925 Typo. 2003-01-04 03:16:36 +00:00
Tor Lillqvist
1f99d840af Add gdk-pixbuf-source.exe and .1.
2003-01-04  Tor Lillqvist  <tml@iki.fi>

	* gtk-zip.sh.in (DEVZIP): Add gdk-pixbuf-source.exe and .1.
2003-01-04 03:15:03 +00:00
Matthias Clasen
e8c775e330 Don't crash if gdk-pixbuf.loaders file is missing. (#102222)
2003-01-03  Matthias Clasen  <maclas@gmx.de>

	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Don't crash if
	gdk-pixbuf.loaders file is missing.  (#102222)
2003-01-02 23:14:01 +00:00
Matthias Clasen
631b0ab956 Document that it may return NULL. (#102069)
2003-01-02  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkwindow.c (gtk_window_get_focus): Document that it may
	return NULL.  (#102069)
2003-01-02 22:00:36 +00:00
Matthias Clasen
f3779ad3bd #ifdef away testcases. 2002-12-31 23:20:26 +00:00
1289 changed files with 262343 additions and 730758 deletions

2490
ChangeLog

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

14
INSTALL
View File

@@ -12,14 +12,18 @@ GTK+ requires the following packages:
these libraries are available from:
http://www.libtiff.org/
http://www.libpng.org/
http://www.ijg.org/
ftp://swrinde.nde.swri.edu/pub/png/src/
ftp://ftp.uu.net/graphics/jpeg/
If these libraries are not available, the corresponding
image loaders will simply not be built. However, this
may cause applications using GTK+ not to function properly.
Simple install procedure
========================
% gzip -cd gtk+-2.6.1.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.6.1 # change to the toplevel directory
% gzip -cd gtk+-2.2.2.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.2.2 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK
[ Become root if necessary ]
@@ -31,7 +35,7 @@ The Details
Complete information about installing GTK+ and related libraries can be found
in the file:
docs/reference/gtk/html/gtk-building.html
docs/reference/gtk/docs/reference/gtk/html/gtk-building.html
Or online at:

View File

@@ -12,8 +12,12 @@ GTK+ requires the following packages:
these libraries are available from:
http://www.libtiff.org/
http://www.libpng.org/
http://www.ijg.org/
ftp://swrinde.nde.swri.edu/pub/png/src/
ftp://ftp.uu.net/graphics/jpeg/
If these libraries are not available, the corresponding
image loaders will simply not be built. However, this
may cause applications using GTK+ not to function properly.
Simple install procedure
========================
@@ -31,7 +35,7 @@ The Details
Complete information about installing GTK+ and related libraries can be found
in the file:
docs/reference/gtk/html/gtk-building.html
docs/reference/gtk/docs/reference/gtk/html/gtk-building.html
Or online at:

View File

@@ -1,10 +1,10 @@
## Makefile.am for GTK+
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests contrib
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs build m4macros
SUBDIRS = po $(SRC_SUBDIRS) docs build m4macros
# require automake 1.4
AUTOMAKE_OPTIONS = 1.7
AUTOMAKE_OPTIONS = 1.4
EXTRA_DIST = \
HACKING \
@@ -13,16 +13,13 @@ EXTRA_DIST = \
ChangeLog.pre-1-0 \
ChangeLog.pre-1-2 \
ChangeLog.pre-2-0 \
ChangeLog.pre-2-2 \
ChangeLog.pre-2-4 \
ChangeLog.pre-2-6 \
README.cvs-commits \
README.win32 \
config.h.win32 \
makefile.msc \
gtk-zip.sh.in \
sanitize-la.sh \
po/README.translators \
po/makefile.mingw \
po/po2tbl.sed.in \
examples/aspectframe/Makefile \
examples/aspectframe/aspectframe.c \
@@ -151,10 +148,6 @@ install-data-hook:
rm -f gdk-2.0.pc && cp -f gdk-$(GDKTARGET)-2.0.pc gdk-2.0.pc && \
rm -f gtk+-2.0.pc && cp -f gtk+-$(GDKTARGET)-2.0.pc gtk+-2.0.pc)
uninstall-local:
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-2.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-2.0.pc
dist-hook:
if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
@@ -188,4 +181,26 @@ snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
# This is a version of the automake-1.4 distcheck rule modified
# to pass --enable-gtk-doc to ./configure
#
mydistcheck: dist
-rm -rf $(distdir)
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
dc_install_base=`cd $(distdir)/=inst && pwd`; \
cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base --enable-gtk-doc \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) dist
-rm -rf $(distdir)
@banner="$(distdir).tar.gz is ready for distribution"; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
echo "$$banner"; \
echo "$$dashes"

1156
NEWS

File diff suppressed because it is too large Load Diff

137
README
View File

@@ -1,7 +1,7 @@
General Information
===================
This is GTK+ version 2.6.1. GTK+ is a multi-platform toolkit for
This is GTK+ version 2.2.2. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.
@@ -28,86 +28,91 @@ See the file 'INSTALL'
Release notes
=============
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
must be running. A sample implementation of such a clipboard manager
is available at
http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
Applications can use the function gdk_display_supports_clipboard_persistence()
to find out if clipboard persistence is available.
* As compared to GTK+-1.2, the default configuration of GTK+-2 has been
stream-lined to reduce confusion on the part of new users or users
coming from other environments. Users used to older versions of
GTK+ may want to make some adjustments to the default configuration.
* Notification on clipboard ownership changes via GdkOwnerChange events
requires the XFIXES X extension. Applications can use the function
gdk_display_supports_selection_notification() to find out if ownerchip
change notification is available.
- Emacs keybindings such as Control-A and Control-E to move to the
ends of lines are not enabled by default in the editing widgets. To
turn on Emacs keybindings, add the line:
* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
specification. Setting the XDG_DATA_DIRS environtment variable may be
necessary if your icons aren't installed in the default location
/usr/share/icons.
gtk-key-theme-name = "Emacs"
To your ~/.gtkrc-2.0
* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
to avoid a lot of disk searching overhead. GTK+ includes a utility named
gtk-update-icon-cache to generate these cache files. For further details,
see the gtk-update-icon-cache man page or the GTK+ documentation.
- Editing of menu accelerators by pressing an accelerator over the
menu item is disabled by default. To enable, it, add:
* To reduce code size and improve efficiency, GTK+, when compiled
with the GNU toolchain, has separate internal and external entry
points for exported functions. The internal names, which begin with
IA__, may be seen when debugging a GTK+ program.
gtk-can-change-accels = 1
* The following functions have been deprecated in GTK+ 2.6:
gdk_pango_context_set_colormap
gtk_cell_renderer_editing_canceled
to your ~/.gtkrc-2.0
* The new GtkFileChooser widget emphasizes simplicity and thus does
not provide a navigation entry by default when opening files.
Experienced command line users will likely want to make heavy use of
the location dialog brought up by the Control-L key shortcut.
- To improve useability for keyboard operation, GTK+ now selects the
contents of an entry when tabbing into it or when it is focused on
initial window map. To disable this behavior, add:
gtk-entry-select-on-focus = 0
to your ~/.gtkrc-2.0
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols. In addition to that, GTK+ 2.6 makes several
symbols private which were not in any installed header files and
were never intended to be exported.
use these private symbols.
* The gdk_pixbuf_xlib library included in the contrib/ directory
and the framebuffer GDK backend included in the gdk/linux-fb directory
of GTK+ are provided on an as-is basis and have not been tested at all.
No guarantees about the degree of workingness or about future
* GTK+-2.2 can be build either with Pango-1.0 and version 1 of
the Xft library or Pango-1.2 and version 2 of the Xft library
(Xft is used to to display anti-aliased fonts) By default, GTK+ and
Pango are built so that applications will not have explicit dependencies
on either version of Xft. To make sure that your application will be
binary compatible with future versions of GTK+:
- Do not configure Pango or GTK+ with the --enable-static or
--enable-explicit-deps options, since they will cause dependencies
on the particular version of Xft.
- Do not use Xft version 1 directly in your applications.
* There is a bug in the Xft library in XFree86-4.1 and possibly previous
versions that causes random crashes when using the Pango Xft
backend. If you want to use Xft fonts, you should upgrade to
XFree86-4.2.
* Xft support is on by default when using Xft2 but off by
default when using Xft1. To change this default, set the
variable GDK_USE_XFT to '1' or '0'. For instance, to
turn on Xft fonts when Xft1.
GDK_USE_XFT=1
export GDK_USE_XFT
* The gdk_pixbuf_xlib library included in the contrib/ directory of GTK+
is provided on a as-is basis and has not been tested at all. No
guarantees about the degree of workingness or about future
compatibility are provided.
* On Unix, the assumption of GLib and GTK+ by default is that filenames on
the filesystem are encoded in UTF-8 rather than the encoding of the locale;
the GTK+ developers consider that having filenames whose interpretation
* While efforts have been made to make gdk-pixbuf robust against
invalid images, using gdk-pixbuf to load untrusted data
is not recommended, due to the likelyhood that there are
additional problems where an invalid image could cause
gdk-pixbuf to crash or worse.
* The assumption of GLib and GTK+ by default is that filenames on the
filesystem are encoded in UTF-8 rather than the encoding of the locale;
The GTK+ developers consider that having filenames whose interpretation
depends on the current locale is fundamentally a bad idea.
If you have filenames encoded in the encoding of your locale, then you
may want to set the G_FILENAME_ENCODING environment variable:
If you have filenames encoded in the encoding of your locale, then
you may want to set the G_BROKEN_FILENAMES environment variable:
G_FILENAME_ENCODING=@locale
export G_FILENAME_ENCODING
G_BROKEN_FILENAMES=1
export G_BROKEN_FILENAMES
(Earlier versions of GLib 2.x required a different environment variable
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
is still supported, but G_FILENAME_ENCODING is preferred.)
Best integration of GTK+ 2.6 with the environment is achieved by
Best integration of GTK+-2.2 with the environment is achieved by
using a UTF-8 locale.
On Windows, filenames passed to GTK+ should always be in UTF-8, as
in GLib 2.6. This is different than in previous versions of GTK+
where the system codepage was used. As in GLib, for DLL ABI
stability, applications built against previous versions of GTK+ will
use entry points providing the old semantics.
When compiling against GTK+ 2.6, applications intended to be
portable to Windows must take the UTF-8 file name encoding into
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
@@ -127,10 +132,10 @@ In the bug report please include:
* How to reproduce the bug.
If you can reproduce it with one of the tests or demos built with GTK+,
such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
please include a short test program that exhibits the behavior. As a
last resort, you can also provide a pointer to a larger piece of software
If you can reproduce it with the testgtk program that is built in the
gtk/ subdirectory, that will be most convenient. Otherwise, please
include a short test program that exhibits the behavior. As a last
resort, you can also provide a pointer to a larger piece of software
that can be downloaded.
* If the bug was a crash, the exact text that was printed out when the
@@ -152,7 +157,7 @@ Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Bug reports containing patches should include the PATCH keyword in their
keyword fields. If the patch adds to or changes the GTK+ programming
keyword fields. If the patch adds to or changes the GTK programming
interface, the API keyword should also be included.
Patches should be in unified diff form. (The -u option to GNU diff.)

View File

@@ -18,10 +18,10 @@ to ask people commiting to GTK+ to follow a few rules:
gtk-devel-list-request@gnome.org.) This is a good place to ask
about intended changes.
#gtk+ on GIMPNet (irc.gimp.org, irc.us.gimp.org, irc.eu.gimp.org, ...)
is also a good place to find GTK+ developers to discuss changes with,
however, email to gtk-devel-list is the most certain and preferred
method.
#gimp on byxnet (irc.gimp.org, irc2.gimp.org, irc3.gimp.org,
irc.germany.gimp.org...)s also a good place to find GTK+ developers to
discuss changes with, however, email to gtk-devel-list is the most
certain and preferred method.
1) Ask _first_.

135
README.in
View File

@@ -28,86 +28,91 @@ See the file 'INSTALL'
Release notes
=============
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
must be running. A sample implementation of such a clipboard manager
is available at
http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
Applications can use the function gdk_display_supports_clipboard_persistence()
to find out if clipboard persistence is available.
* As compared to GTK+-1.2, the default configuration of GTK+-2 has been
stream-lined to reduce confusion on the part of new users or users
coming from other environments. Users used to older versions of
GTK+ may want to make some adjustments to the default configuration.
* Notification on clipboard ownership changes via GdkOwnerChange events
requires the XFIXES X extension. Applications can use the function
gdk_display_supports_selection_notification() to find out if ownerchip
change notification is available.
- Emacs keybindings such as Control-A and Control-E to move to the
ends of lines are not enabled by default in the editing widgets. To
turn on Emacs keybindings, add the line:
* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
specification. Setting the XDG_DATA_DIRS environtment variable may be
necessary if your icons aren't installed in the default location
/usr/share/icons.
gtk-key-theme-name = "Emacs"
To your ~/.gtkrc-2.0
* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
to avoid a lot of disk searching overhead. GTK+ includes a utility named
gtk-update-icon-cache to generate these cache files. For further details,
see the gtk-update-icon-cache man page or the GTK+ documentation.
- Editing of menu accelerators by pressing an accelerator over the
menu item is disabled by default. To enable, it, add:
* To reduce code size and improve efficiency, GTK+, when compiled
with the GNU toolchain, has separate internal and external entry
points for exported functions. The internal names, which begin with
IA__, may be seen when debugging a GTK+ program.
gtk-can-change-accels = 1
* The following functions have been deprecated in GTK+ 2.6:
gdk_pango_context_set_colormap
gtk_cell_renderer_editing_canceled
to your ~/.gtkrc-2.0
* The new GtkFileChooser widget emphasizes simplicity and thus does
not provide a navigation entry by default when opening files.
Experienced command line users will likely want to make heavy use of
the location dialog brought up by the Control-L key shortcut.
- To improve useability for keyboard operation, GTK+ now selects the
contents of an entry when tabbing into it or when it is focused on
initial window map. To disable this behavior, add:
gtk-entry-select-on-focus = 0
to your ~/.gtkrc-2.0
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols. In addition to that, GTK+ 2.6 makes several
symbols private which were not in any installed header files and
were never intended to be exported.
use these private symbols.
* The gdk_pixbuf_xlib library included in the contrib/ directory
and the framebuffer GDK backend included in the gdk/linux-fb directory
of GTK+ are provided on an as-is basis and have not been tested at all.
No guarantees about the degree of workingness or about future
* GTK+-2.2 can be build either with Pango-1.0 and version 1 of
the Xft library or Pango-1.2 and version 2 of the Xft library
(Xft is used to to display anti-aliased fonts) By default, GTK+ and
Pango are built so that applications will not have explicit dependencies
on either version of Xft. To make sure that your application will be
binary compatible with future versions of GTK+:
- Do not configure Pango or GTK+ with the --enable-static or
--enable-explicit-deps options, since they will cause dependencies
on the particular version of Xft.
- Do not use Xft version 1 directly in your applications.
* There is a bug in the Xft library in XFree86-4.1 and possibly previous
versions that causes random crashes when using the Pango Xft
backend. If you want to use Xft fonts, you should upgrade to
XFree86-4.2.
* Xft support is on by default when using Xft2 but off by
default when using Xft1. To change this default, set the
variable GDK_USE_XFT to '1' or '0'. For instance, to
turn on Xft fonts when Xft1.
GDK_USE_XFT=1
export GDK_USE_XFT
* The gdk_pixbuf_xlib library included in the contrib/ directory of GTK+
is provided on a as-is basis and has not been tested at all. No
guarantees about the degree of workingness or about future
compatibility are provided.
* On Unix, the assumption of GLib and GTK+ by default is that filenames on
the filesystem are encoded in UTF-8 rather than the encoding of the locale;
the GTK+ developers consider that having filenames whose interpretation
* While efforts have been made to make gdk-pixbuf robust against
invalid images, using gdk-pixbuf to load untrusted data
is not recommended, due to the likelyhood that there are
additional problems where an invalid image could cause
gdk-pixbuf to crash or worse.
* The assumption of GLib and GTK+ by default is that filenames on the
filesystem are encoded in UTF-8 rather than the encoding of the locale;
The GTK+ developers consider that having filenames whose interpretation
depends on the current locale is fundamentally a bad idea.
If you have filenames encoded in the encoding of your locale, then you
may want to set the G_FILENAME_ENCODING environment variable:
If you have filenames encoded in the encoding of your locale, then
you may want to set the G_BROKEN_FILENAMES environment variable:
G_FILENAME_ENCODING=@locale
export G_FILENAME_ENCODING
G_BROKEN_FILENAMES=1
export G_BROKEN_FILENAMES
(Earlier versions of GLib 2.x required a different environment variable
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
is still supported, but G_FILENAME_ENCODING is preferred.)
Best integration of GTK+ 2.6 with the environment is achieved by
Best integration of GTK+-2.2 with the environment is achieved by
using a UTF-8 locale.
On Windows, filenames passed to GTK+ should always be in UTF-8, as
in GLib 2.6. This is different than in previous versions of GTK+
where the system codepage was used. As in GLib, for DLL ABI
stability, applications built against previous versions of GTK+ will
use entry points providing the old semantics.
When compiling against GTK+ 2.6, applications intended to be
portable to Windows must take the UTF-8 file name encoding into
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
@@ -127,10 +132,10 @@ In the bug report please include:
* How to reproduce the bug.
If you can reproduce it with one of the tests or demos built with GTK+,
such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
please include a short test program that exhibits the behavior. As a
last resort, you can also provide a pointer to a larger piece of software
If you can reproduce it with the testgtk program that is built in the
gtk/ subdirectory, that will be most convenient. Otherwise, please
include a short test program that exhibits the behavior. As a last
resort, you can also provide a pointer to a larger piece of software
that can be downloaded.
* If the bug was a crash, the exact text that was printed out when the
@@ -152,7 +157,7 @@ Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Bug reports containing patches should include the PATCH keyword in their
keyword fields. If the patch adds to or changes the GTK+ programming
keyword fields. If the patch adds to or changes the GTK programming
interface, the API keyword should also be included.
Patches should be in unified diff form. (The -u option to GNU diff.)

View File

@@ -1,47 +1,33 @@
The Win32 backend in GTK+ is not as stable or correct as the X11
one.
The Win32 port of GTK+ is a work in progress, and not as stable or
correct as the Unix/X11 version. For more information about the Win32
port, and prebuilt runtime and developer packages see
http://www.gimp.org/win32/ .
For prebuilt runtime and developer packages see
http://www.gimp.org/win32/downloads.html .
There is also a gtk-1-3-win32-production branch of GTK+ that was
branched off from before the addition of the no-flicker and other
functionality that was new in GTK+ 2.0.0. The vesion number used for
that branch is 1.3.0. It corresponds most closely to GTK 1.2.7 on
Unix. For new code, you shouldn't be using that.
There is a gtk-1-3-win32-production branch of GTK+ that was branched
off from before the addition of the no-flicker and other recent
functionality. That is what should be used by "production" code until
this CVS HEAD (2.0) version is useable. (But note, the Win32 backend
has never been claimed to be "production quality", although it works
surprisingly well for the GIMP.)
Building GTK+ on Win32
======================
There are two ways to build GTK+ for win32.
There are two ways to build GTK+ for win32:
1) Use the autoconf-generated configure script, and the resulting
Makefiles (which use libtool and gcc to do the compilation). I use
this myself, but it can be hard to setup correctly.
this myself, but it might be hell to setup correctly.
Personally I run configure with:
CC='gcc -mpentium -fnative-struct' CPPFLAGS='-I/target/include' CFLAGS=-O2 LDFLAGS='-L/target/lib' ./configure --disable-static --prefix=/target --with-gdktarget=win32 --with-wintab=/src/wtkit126 --with-ie55=/src/workshop/ie55_lib --host=i386-pc-mingw32
CC='gcc -mpentium -fnative-struct' CPPFLAGS='-I/target/include' CFLAGS=-O2 LDFLAGS='-L/target/lib' ./configure --disable-static --prefix=/target --with-gdktarget=win32 --with-wintab=/src/wtkit126 --with-ie55=/src/workshop/ie55_lib --host=i386-pc-mingw32 --enable-maintainer-mode
Then, in theory, you can just say "make", like on Unix. In reality,
there are a few hickups that require manual intervention, and it's
best to run make separately in each subdirectory. At least for me,
when libtool creates an .exe file, it puts the real .exe in the .libs
directory, and leaves a wrapper .exe in the work directory. For some
reason that wrapper doesn't work for me, it doesn't do anything. So, I
always do a "cp .libs/*.exe ." after running a make that has produced
some exes.
Another issue is with the gdk-pixbuf.loaders file. It's probably best
to do a "make install" in the gdk-pixbuf directory, and let that set
up a mostly correct gdk-pixbuf.loaders in the target directory. Then
copy that back to the source directory. It's needed in gtk/stock-icons
where make runs gdk-pixbuf-csource.
Etc, you get the idea. It can be a bit of a pain.
It might well be that in order for this to work, you will have to get
a bleeding-edge version of libtool for Win32, run libtoolize yourself,
and then run autoconf to generate the configure script.
2) Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk. Be prepared to manually edit various
makefile.msc files, and the makefile snippets in build/win32.
makefile.msc in gdk and gtk.
Alternative 1 also generates Microsoft import libraries (.lib), if you
have lib.exe available. It might also work for cross-compilation from
@@ -64,10 +50,10 @@ above website.
Multi-threaded use of GTK+ on Win32
===================================
Multi-threaded GTK+ programs might work on Windows in special simple
cases, but not in general. Sorry. If you have all GTK+ and GDK calls
in the same thread, it might work. Otherwise, probably not at
all. Possible ways to fix this are being investigated.
Multi-threaded GTK+ programs might work in special simple cases, but
not in general. Sorry. If you have all GTK+ and GDK calls in the same
thread, it might work. Otherwise, probably not at all. Possible ways
to fix this are being investigated.
Wintab
======
@@ -78,6 +64,17 @@ flag to configure if you use that. If you use nmake and you don't care
for Wintab, undefine HAVE_WINTAB in config.h.win32 and remove
references to the wntab32x library from the makefile before building.
Libintl
=======
GTK wants to be built with the GNU "intl" library for
internationalisation (i18n). Get the version ported to Win32 (not a
very big deal) from the web site mentioned above. The "intl" library
as gets built as a DLL called libintl-1.dll. If you don't want any
i18n stuff, undefine ENABLE_NLS, HAVE_GETTEXT and HAVE_LIBINTL in the
config.h.win32 file, and remove references to the intl library from
the makefiles.
ActiveIMM
=========
@@ -86,7 +83,7 @@ Manager for non-EastAsia locales that can be used on Win9x/NT4), you
need the dimm.h header file. That is somewhat difficult to find, but
http://msdn.microsoft.com/downloads/samples/internet/wizard/ seems to
be a good place to look nowadays. If you use "autoconfiscated" build,
pass the --with-ie55 flag to configure specifying the location of the
pass the --with-ie55 flag to configure specifyin the location of the
ie55_lib directory created by downloading the IE5.5 headers and libs
from the above URL.

View File

@@ -34,6 +34,7 @@
#undef HAVE_SYS_TIME_H
#undef HAVE_XFREE_XINERAMA
#undef HAVE_XINERAMA
#undef HAVE_WINSOCK_H
#undef HAVE_WINTAB
#undef HAVE_XCONVERTCASE
#undef HAVE_XFT

View File

@@ -10,70 +10,3 @@ AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
$1
AC_DIVERT_POP()])])])
# GTK_ADD_LIB(VAR,LIBNAME)
# ---------------------------------
# Helper macro to add a -lBlah to a variable, avoiding repeats
# Note that this needs to be quoted when used in an enclosing macro
AC_DEFUN([GTK_ADD_LIB],
[ case "$$1 " in
*-l$2[[\ \ ]]*) ;;
*) $1="-l$2 $$1" ;;
esac
])
# Checks the location of the XML Catalog
# Usage:
# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
AC_DEFUN([JH_PATH_XML_CATALOG],
[
# check for the presence of the XML catalog
AC_ARG_WITH([xml-catalog],
AC_HELP_STRING([--with-xml-catalog=CATALOG],
[path to xml catalog to use]),,
[with_xml_catalog=/etc/xml/catalog])
jh_found_xmlcatalog=true
XML_CATALOG_FILE="$with_xml_catalog"
AC_SUBST([XML_CATALOG_FILE])
AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
if test -f "$XML_CATALOG_FILE"; then
AC_MSG_RESULT([found])
else
jh_found_xmlcatalog=false
AC_MSG_RESULT([not found])
fi
# check for the xmlcatalog program
AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
if test "x$XMLCATALOG" = xno; then
jh_found_xmlcatalog=false
fi
if $jh_found_xmlcatalog; then
ifelse([$1],,[:],[$1])
else
ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
fi
])
# Checks if a particular URI appears in the XML catalog
# Usage:
# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
if $jh_found_xmlcatalog && \
AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl
else
AC_MSG_RESULT([not found])
ifelse([$4],,
[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
[$4])
fi
])

View File

@@ -25,34 +25,34 @@ if $have_libtool ; then : ; else
echo
echo "You must have libtool 1.4 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
fi
(gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have gtk-doc installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
DIE=1
}
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
echo "libtool the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
}
if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.7
ACLOCAL=aclocal-1.7
else
have_automake=false
if automake-1.4 --version < /dev/null > /dev/null 2>&1 ; then
automake_version=`automake-1.4 --version | grep 'automake (GNU automake)' | sed 's/^[^0-9]*\(.*\)/\1/'`
case $automake_version in
1.2*|1.3*|1.4)
;;
*)
have_automake=true
;;
esac
fi
if $have_automake ; then : ; else
echo
echo "You must have automake 1.7.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/"
echo "You must have automake 1.4-p6 installed to compile $PROJECT."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake/automake-1.4-p6.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
fi
@@ -72,9 +72,13 @@ if test -z "$AUTOGEN_SUBDIR_MODE"; then
fi
fi
case $CC in
*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
esac
if test -z "$ACLOCAL_FLAGS"; then
acdir=`$ACLOCAL --print-ac-dir`
acdir=`aclocal-1.4 --print-ac-dir`
m4list="glib-2.0.m4 glib-gettext.m4"
for file in $m4list
@@ -91,21 +95,17 @@ if test -z "$ACLOCAL_FLAGS"; then
done
fi
rm -rf autom4te.cache
aclocal-1.4 $ACLOCAL_FLAGS
$ACLOCAL $ACLOCAL_FLAGS || exit $?
# optionally feature autoheader
(autoheader --version) < /dev/null > /dev/null 2>&1 && autoheader
libtoolize --force || exit $?
gtkdocize || exit $?
autoheader || exit $?
$AUTOMAKE --add-missing || exit $?
autoconf || exit $?
cd $ORIGDIR || exit $?
automake-1.4 -a $am_opt
autoconf
cd $ORIGDIR
if test -z "$AUTOGEN_SUBDIR_MODE"; then
$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
$srcdir/configure --enable-maintainer-mode --enable-gtk-doc "$@"
echo
echo "Now type 'make' to compile $PROJECT."

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,8 @@
SUBDIRS =
if USE_X11
SUBDIRS += gdk-pixbuf-xlib
XDIRS=gdk-pixbuf-xlib
else
XDIRS=
endif
SUBDIRS=$(XDIRS)

View File

@@ -1,66 +1,3 @@
2005-01-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.6.1 ===
2004-12-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.6.0 ===
2004-12-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.6 ===
2004-11-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.5 ===
2004-10-27 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.4 ===
2004-09-19 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.3 ===
2004-08-25 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.2 ===
2004-08-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.1 ===
Tue Jul 20 23:26:10 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-xlibrgb.c: Include config.h first. (#148034)
Sun Jul 18 20:17:41 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* === released 2.5.0 ==
Tue Mar 9 09:33:54 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.6 ===
Wed Mar 3 15:50:28 2004 Owen Taylor <otaylor@redhat.com>
* Makefile.am (libgdk_pixbuf_xlib_2_0_la_LIBADD): Add
a shared library dependency on libgdk-pixbuf (#124687)
Tue Feb 24 14:45:03 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.3 ===
Fri Feb 13 10:32:09 2004 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf-xlibrgb.h: Remove a couple of unneeded
#includes. Isn't unsupported code fun?
(133833, Gregory Merchan)
Tue Oct 7 23:30:00 2003 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-xlib.h: Add C++ guards. (123955, Harring Figueiredo)
2002-08-06 jacob berkman <jacob@ximian.com>
* Makefile.am (lib_LTLIBRARIES): link against xlibs

View File

@@ -1,20 +1,20 @@
lib_LTLIBRARIES=libgdk_pixbuf_xlib-2.0.la
INCLUDES = \
INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/gdk-pixbuf \
-I$(top_srcdir)/contrib \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
$(GDK_PIXBUF_XLIB_DEP_CFLAGS)
@GDK_PIXBUF_XLIB_DEP_CFLAGS@ \
@STRIP_END@
libgdk_pixbuf_xlib_2_0_la_LDFLAGS = \
-export-dynamic \
-version-info $(LT_VERSION_INFO)
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
libgdk_pixbuf_xlib_2_0_la_LIBADD = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(GDK_PIXBUF_XLIB_DEP_LIBS)
@GDK_PIXBUF_XLIB_DEP_LIBS@
libgdk_pixbuf_xlib_2_0_la_SOURCES = \
gdk-pixbuf-xlib-private.h \

View File

@@ -547,11 +547,7 @@ rgb565amsb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colorma
bpl = image->bytes_per_line;
for (yy = 0; yy < height; yy++) {
#ifdef LITTLE
s = srow;
#else
s = (guint16 *) srow;
#endif
o = (guint32 *) orow;
for (xx = 0; xx < width; xx ++) {
register guint32 data;
@@ -674,11 +670,7 @@ rgb555msb (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap
bpl = image->bytes_per_line;
for (yy = 0; yy < height; yy++) {
#ifdef LITTLE
s = srow;
#else
s = (guint32 *) srow;
#endif
o = (guint16 *) orow;
for (xx = 1; xx < width; xx += 2) {
register guint32 data;

View File

@@ -21,10 +21,6 @@
#ifndef GDK_PIXBUF_XLIB_H
#define GDK_PIXBUF_XLIB_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h>
#include <X11/Xlib.h>
@@ -83,9 +79,4 @@ GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable (GdkPixbuf *dest,
int dest_x, int dest_y,
int width, int height);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GDK_PIXBUF_XLIB_H */

View File

@@ -47,6 +47,8 @@
* Shawn T. Amundson <amundson@gtk.org>
*/
#include <math.h>
#if HAVE_CONFIG_H
# include <config.h>
# if STDC_HEADERS
@@ -59,8 +61,6 @@
# include <stdlib.h>
#endif
#include <math.h>
#define ENABLE_GRAYSCALE
/* include this before so that we can get endian definitions if
@@ -821,7 +821,7 @@ xlib_rgb_init_with_depth (Display *display, Screen *screen, int prefDepth)
image_info->stage_buf = NULL;
image_info->own_gc = NULL;
image_info->own_gc = 0;
image_info->red_shift = 0;
image_info->red_prec = 0;
@@ -908,7 +908,7 @@ xlib_rgb_init_with_depth (Display *display, Screen *screen, int prefDepth)
image_info->x_visual_info->visual,
1,
XYBitmap,
0, NULL, IMAGE_WIDTH, IMAGE_HEIGHT,
0, 0, IMAGE_WIDTH, IMAGE_HEIGHT,
8,
0);
static_image[i]->data = malloc(IMAGE_WIDTH * IMAGE_HEIGHT >> 3);
@@ -920,7 +920,7 @@ xlib_rgb_init_with_depth (Display *display, Screen *screen, int prefDepth)
image_info->x_visual_info->visual,
(unsigned int)image_info->x_visual_info->depth,
ZPixmap,
0, NULL,
0, 0,
IMAGE_WIDTH,
IMAGE_HEIGHT,
32, 0);
@@ -3651,7 +3651,7 @@ xlib_rgb_get_visual (void)
if (image_info)
return image_info->x_visual_info->visual;
else
return NULL;
return 0;
}
/**
@@ -3668,7 +3668,7 @@ xlib_rgb_get_visual_info (void)
if (image_info)
return image_info->x_visual_info;
else
return NULL;
return 0;
}
/**

View File

@@ -57,6 +57,8 @@ extern "C" {
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xos.h>
#include <X11/Intrinsic.h>
#include <glib.h>

View File

@@ -2,53 +2,49 @@
SUBDIRS = gtk-demo
INCLUDES = \
INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DG_DISABLE_DEPRECATED \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
@GTK_DEBUG_FLAGS@ \
@GTK_DEP_CFLAGS@ \
@STRIP_END@
DEPS = \
DEPS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@
LDADDS = \
LDADDS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
@STRIP_END@
noinst_PROGRAMS = \
testpixbuf \
testpixbuf-drawable \
testanimation \
testpixbuf-save \
testpixbuf-scale \
pixbuf-demo
# Need to build test-inline-pixbufs.h for testpixbuf
if HAVE_PNG
noinst_PROGRAMS += testpixbuf
BUILT_SOURCES = test-inline-pixbufs.h
endif
if CROSS_COMPILING
pixbuf_csource=$(GDK_PIXBUF_CSOURCE)
pixbuf_csource_deps=
else
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource
pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$$topdir/gdk-pixbuf/gdk-pixbuf.loaders $$topdir/gdk-pixbuf/gdk-pixbuf-csource
pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders
endif
test-inline-pixbufs.h: $(pixbuf_csource_deps) apple-red.png gnome-foot.png
$(pixbuf_csource) --raw --build-list \
apple_red $(srcdir)/apple-red.png \
gnome_foot $(srcdir)/gnome-foot.png \
> test-inline-pixbufs.h \
|| (rm -f test-inline-pixbufs.h && false)
(topdir=`cd $(top_builddir) && pwd` ; curdir=`pwd` ; \
cd $(srcdir) && \
$(pixbuf_csource) --build-list \
apple_red apple-red.png gnome_foot gnome-foot.png >$$curdir/test-inline-pixbufs.h || (rm -f $$curdir/test-inline-pixbufs.h && false))
testpixbuf_DEPENDENCIES = $(DEPS)
testpixbuf_drawable_DEPENDENCIES = $(DEPS)
@@ -65,6 +61,7 @@ testanimation_LDADD = $(LDADDS)
pixbuf_demo_LDADD = $(LDADDS)
testpixbuf_SOURCES = testpixbuf.c pixbuf-init.c
$(testpixbuf_OBJECTS): test-inline-pixbufs.h
testpixbuf_drawable_SOURCES = testpixbuf-drawable.c pixbuf-init.c
testpixbuf_save_SOURCES = testpixbuf-save.c
testpixbuf_scale_SOURCES = testpixbuf-scale.c pixbuf-init.c
@@ -81,5 +78,3 @@ EXTRA_DIST = \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png
DISTCLEANFILES = test-inline-pixbufs.h

View File

@@ -4,4 +4,4 @@ Makefile.in
.deps
gtk-demo
demos.h
geninclude.pl

View File

@@ -4,32 +4,27 @@ democodedir=$(datadir)/gtk-2.0/demo
## These should be in the order you want them to appear in the
## demo app, which means alphabetized by demo title, not filename
demos = \
appwindow.c \
button_box.c \
changedisplay.c \
clipboard.c \
colorsel.c \
dialog.c \
drawingarea.c \
editable_cells.c \
entry_completion.c \
expander.c \
hypertext.c \
iconview.c \
images.c \
list_store.c \
menus.c \
panes.c \
pixbufs.c \
rotated_text.c \
sizegroup.c \
stock_browser.c \
textview.c \
tree_store.c \
ui_manager.c
demos = @STRIP_BEGIN@ \
appwindow.c \
button_box.c \
changedisplay.c \
colorsel.c \
dialog.c \
drawingarea.c \
editable_cells.c \
images.c \
item_factory.c \
list_store.c \
menus.c \
panes.c \
pixbufs.c \
sizegroup.c \
stock_browser.c \
textview.c \
tree_store.c \
@STRIP_END@
INCLUDES = \
INCLUDES = @STRIP_BEGIN@ \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
@@ -37,18 +32,20 @@ INCLUDES = \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
@GTK_DEBUG_FLAGS@ \
@GTK_DEP_CFLAGS@ \
@STRIP_END@
DEPS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@
LDADDS = \
LDADDS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
@STRIP_END@
bin_PROGRAMS = gtk-demo
@@ -57,8 +54,8 @@ BUILT_SOURCES = demos.h
EXTRA_DIST = \
$(IMAGEFILES)
demos.h: @REBUILD@ $(demos) geninclude.pl
(here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
demos.h: $(demos) geninclude.pl
(cwd=`pwd` && cd $(srcdir) && $(PERL) $$cwd/geninclude.pl $(demos) > demos.h)
gtk_demo_SOURCES = \
$(demos) \
@@ -75,15 +72,11 @@ IMAGEFILES= alphatest.png \
floppybuddy.gif \
gnome-applets.png \
gnome-calendar.png \
gnome-fs-directory.png \
gnome-fs-regular.png \
gnome-foot.png \
gnome-gimp.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png \
gtk-logo-rgb.gif
gtk-logo-rgb.gif
democode_DATA = $(demos) $(IMAGEFILES)
DISTCLEANFILES = demos.h

View File

@@ -8,20 +8,20 @@
static GtkWidget *window = NULL;
static void
activate_action (GtkAction *action)
{
const gchar *name = gtk_action_get_name (action);
const gchar *typename = G_OBJECT_TYPE_NAME (action);
static void
menuitem_cb (gpointer callback_data,
guint callback_action,
GtkWidget *widget)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
dialog = gtk_message_dialog_new (GTK_WINDOW (callback_data),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
"You activated action: \"%s\" of type \"%s\"",
name, typename);
"You selected or toggled the menu item: \"%s\"",
gtk_item_factory_path_from_widget (widget));
/* Close dialog on user response */
g_signal_connect (dialog,
@@ -32,242 +32,55 @@ activate_action (GtkAction *action)
gtk_widget_show (dialog);
}
static void
activate_radio_action (GtkAction *action, GtkRadioAction *current)
{
const gchar *name = gtk_action_get_name (GTK_ACTION (current));
const gchar *typename = G_OBJECT_TYPE_NAME (GTK_ACTION (current));
gboolean active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (current));
gint value = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (current));
if (active)
{
GtkWidget *dialog;
static GtkItemFactoryEntry menu_items[] =
{
{ "/_File", NULL, 0, 0, "<Branch>" },
{ "/File/_New", "<control>N", menuitem_cb, 0, "<StockItem>", GTK_STOCK_NEW },
{ "/File/_Open", "<control>O", menuitem_cb, 0, "<StockItem>", GTK_STOCK_OPEN },
{ "/File/_Save", "<control>S", menuitem_cb, 0, "<StockItem>", GTK_STOCK_SAVE },
{ "/File/Save _As...", NULL, menuitem_cb, 0, "<StockItem>", GTK_STOCK_SAVE },
{ "/File/sep1", NULL, menuitem_cb, 0, "<Separator>" },
{ "/File/_Quit", "<control>Q", menuitem_cb, 0, "<StockItem>", GTK_STOCK_QUIT },
{ "/_Preferences", NULL, 0, 0, "<Branch>" },
{ "/_Preferences/_Color", NULL, 0, 0, "<Branch>" },
{ "/_Preferences/Color/_Red", NULL, menuitem_cb, 0, "<RadioItem>" },
{ "/_Preferences/Color/_Green", NULL, menuitem_cb, 0, "/Preferences/Color/Red" },
{ "/_Preferences/Color/_Blue", NULL, menuitem_cb, 0, "/Preferences/Color/Red" },
{ "/_Preferences/_Shape", NULL, 0, 0, "<Branch>" },
{ "/_Preferences/Shape/_Square", NULL, menuitem_cb, 0, "<RadioItem>" },
{ "/_Preferences/Shape/_Rectangle", NULL, menuitem_cb, 0, "/Preferences/Shape/Square" },
{ "/_Preferences/Shape/_Oval", NULL, menuitem_cb, 0, "/Preferences/Shape/Rectangle" },
/* If you wanted this to be right justified you would use "<LastBranch>", not "<Branch>".
* Right justified help menu items are generally considered a bad idea now days.
*/
{ "/_Help", NULL, 0, 0, "<Branch>" },
{ "/Help/_About", NULL, menuitem_cb, 0 },
};
static void
toolbar_cb (GtkWidget *button,
gpointer data)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
"You activated radio action: \"%s\" of type \"%s\".\nCurrent value: %d",
name, typename, value);
dialog = gtk_message_dialog_new (GTK_WINDOW (data),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
"You selected a toolbar button");
/* Close dialog on user response */
g_signal_connect (dialog,
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_widget_show (dialog);
}
/* Close dialog on user response */
g_signal_connect (dialog,
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_widget_show (dialog);
}
static void
activate_email (GtkAboutDialog *about,
const gchar *link,
gpointer data)
{
g_print ("send mail to %s\n", link);
}
static void
activate_url (GtkAboutDialog *about,
const gchar *link,
gpointer data)
{
g_print ("show url %s\n", link);
}
static void
about_cb (GtkAction *action,
GtkWidget *window)
{
GdkPixbuf *pixbuf, *transparent;
gchar *filename;
const gchar *authors[] = {
"Peter Mattis",
"Spencer Kimball",
"Josh MacDonald",
"and many more...",
NULL
};
const gchar *documentors[] = {
"Owen Taylor",
"Tony Gale",
"Matthias Clasen <mclasen@redhat.com>",
"and many more...",
NULL
};
const gchar *license =
"This library is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU Library General Public License as\n"
"published by the Free Software Foundation; either version 2 of the\n"
"License, or (at your option) any later version.\n"
"\n"
"This library is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
"Library General Public License for more details.\n"
"\n"
"You should have received a copy of the GNU Library General Public\n"
"License along with the Gnome Library; see the file COPYING.LIB. If not,\n"
"write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
"Boston, MA 02111-1307, USA.\n";
pixbuf = NULL;
transparent = NULL;
filename = demo_find_file ("gtk-logo-rgb.gif", NULL);
if (filename)
{
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
g_free (filename);
transparent = gdk_pixbuf_add_alpha (pixbuf, TRUE, 0xff, 0xff, 0xff);
g_object_unref (pixbuf);
}
gtk_about_dialog_set_email_hook (activate_email, NULL, NULL);
gtk_about_dialog_set_url_hook (activate_url, NULL, NULL);
gtk_show_about_dialog (GTK_WINDOW (window),
"name", "GTK+ Code Demos",
"version", "2.4.3",
"copyright", "(C) 1997-2004 The GTK+ Team",
"license", license,
"website", "http://www.gtk.org",
"comments", "Program to demonstrate GTK+ functions.",
"authors", authors,
"documenters", documentors,
"logo", transparent,
NULL);
g_object_unref (transparent);
}
static GtkActionEntry entries[] = {
{ "FileMenu", NULL, "_File" }, /* name, stock id, label */
{ "PreferencesMenu", NULL, "_Preferences" }, /* name, stock id, label */
{ "ColorMenu", NULL, "_Color" }, /* name, stock id, label */
{ "ShapeMenu", NULL, "_Shape" }, /* name, stock id, label */
{ "HelpMenu", NULL, "_Help" }, /* name, stock id, label */
{ "New", GTK_STOCK_NEW, /* name, stock id */
"_New", "<control>N", /* label, accelerator */
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Open", GTK_STOCK_OPEN, /* name, stock id */
"_Open","<control>O", /* label, accelerator */
"Open a file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Save", GTK_STOCK_SAVE, /* name, stock id */
"_Save","<control>S", /* label, accelerator */
"Save current file", /* tooltip */
G_CALLBACK (activate_action) },
{ "SaveAs", GTK_STOCK_SAVE, /* name, stock id */
"Save _As...", NULL, /* label, accelerator */
"Save to a file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Quit", GTK_STOCK_QUIT, /* name, stock id */
"_Quit", "<control>Q", /* label, accelerator */
"Quit", /* tooltip */
G_CALLBACK (activate_action) },
{ "About", NULL, /* name, stock id */
"_About", "<control>A", /* label, accelerator */
"About", /* tooltip */
G_CALLBACK (about_cb) },
{ "Logo", "demo-gtk-logo", /* name, stock id */
NULL, NULL, /* label, accelerator */
"GTK+", /* tooltip */
G_CALLBACK (activate_action) },
};
static guint n_entries = G_N_ELEMENTS (entries);
static GtkToggleActionEntry toggle_entries[] = {
{ "Bold", GTK_STOCK_BOLD, /* name, stock id */
"_Bold", "<control>B", /* label, accelerator */
"Bold", /* tooltip */
G_CALLBACK (activate_action),
TRUE }, /* is_active */
};
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
enum {
COLOR_RED,
COLOR_GREEN,
COLOR_BLUE
};
static GtkRadioActionEntry color_entries[] = {
{ "Red", NULL, /* name, stock id */
"_Red", "<control>R", /* label, accelerator */
"Blood", COLOR_RED }, /* tooltip, value */
{ "Green", NULL, /* name, stock id */
"_Green", "<control>G", /* label, accelerator */
"Grass", COLOR_GREEN }, /* tooltip, value */
{ "Blue", NULL, /* name, stock id */
"_Blue", "<control>B", /* label, accelerator */
"Sky", COLOR_BLUE }, /* tooltip, value */
};
static guint n_color_entries = G_N_ELEMENTS (color_entries);
enum {
SHAPE_SQUARE,
SHAPE_RECTANGLE,
SHAPE_OVAL
};
static GtkRadioActionEntry shape_entries[] = {
{ "Square", NULL, /* name, stock id */
"_Square", "<control>S", /* label, accelerator */
"Square", SHAPE_SQUARE }, /* tooltip, value */
{ "Rectangle", NULL, /* name, stock id */
"_Rectangle", "<control>R", /* label, accelerator */
"Rectangle", SHAPE_RECTANGLE }, /* tooltip, value */
{ "Oval", NULL, /* name, stock id */
"_Oval", "<control>O", /* label, accelerator */
"Egg", SHAPE_OVAL }, /* tooltip, value */
};
static guint n_shape_entries = G_N_ELEMENTS (shape_entries);
static const gchar *ui_info =
"<ui>"
" <menubar name='MenuBar'>"
" <menu action='FileMenu'>"
" <menuitem action='New'/>"
" <menuitem action='Open'/>"
" <menuitem action='Save'/>"
" <menuitem action='SaveAs'/>"
" <separator/>"
" <menuitem action='Quit'/>"
" </menu>"
" <menu action='PreferencesMenu'>"
" <menu action='ColorMenu'>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"
" <menuitem action='Blue'/>"
" </menu>"
" <menu action='ShapeMenu'>"
" <menuitem action='Square'/>"
" <menuitem action='Rectangle'/>"
" <menuitem action='Oval'/>"
" </menu>"
" <menuitem action='Bold'/>"
" </menu>"
" <menu action='HelpMenu'>"
" <menuitem action='About'/>"
" </menu>"
" </menubar>"
" <toolbar name='ToolBar'>"
" <toolitem action='Open'/>"
" <toolitem action='Quit'/>"
" <separator action='Sep1'/>"
" <toolitem action='Logo'/>"
" </toolbar>"
"</ui>";
/* This function registers our custom toolbar icons, so they can be themed.
*
* It's totally optional to do this, you could just manually insert icons
@@ -372,30 +185,19 @@ mark_set_callback (GtkTextBuffer *buffer,
update_statusbar (buffer, GTK_STATUSBAR (data));
}
static void
update_resize_grip (GtkWidget *widget,
GdkEventWindowState *event,
GtkStatusbar *statusbar)
{
if (event->changed_mask & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN))
gtk_statusbar_set_has_resize_grip (statusbar, !(event->new_window_state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)));
}
GtkWidget *
do_appwindow (GtkWidget *do_widget)
do_appwindow (void)
{
if (!window)
{
GtkWidget *table;
GtkWidget *toolbar;
GtkWidget *statusbar;
GtkWidget *contents;
GtkWidget *sw;
GtkWidget *bar;
GtkTextBuffer *buffer;
GtkActionGroup *action_group;
GtkUIManager *merge;
GError *error = NULL;
GtkAccelGroup *accel_group;
GtkItemFactory *item_factory;
register_stock_icons ();
@@ -403,8 +205,6 @@ do_appwindow (GtkWidget *do_widget)
*/
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Application Window");
/* NULL window variable when window is closed */
@@ -416,53 +216,66 @@ do_appwindow (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (window), table);
/* Create the menubar and toolbar
/* Create the menubar
*/
action_group = gtk_action_group_new ("AppWindowActions");
gtk_action_group_add_actions (action_group,
entries, n_entries,
window);
gtk_action_group_add_toggle_actions (action_group,
toggle_entries, n_toggle_entries,
NULL);
gtk_action_group_add_radio_actions (action_group,
color_entries, n_color_entries,
COLOR_RED,
G_CALLBACK (activate_radio_action),
NULL);
gtk_action_group_add_radio_actions (action_group,
shape_entries, n_shape_entries,
SHAPE_SQUARE,
G_CALLBACK (activate_radio_action),
NULL);
merge = gtk_ui_manager_new ();
g_object_set_data_full (G_OBJECT (window), "ui-manager", merge, g_object_unref);
gtk_ui_manager_insert_action_group (merge, action_group, 0);
gtk_window_add_accel_group (GTK_WINDOW (window),
gtk_ui_manager_get_accel_group (merge));
accel_group = gtk_accel_group_new ();
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
g_object_unref (accel_group);
if (!gtk_ui_manager_add_ui_from_string (merge, ui_info, -1, &error))
{
g_message ("building menus failed: %s", error->message);
g_error_free (error);
}
item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR, "<main>", accel_group);
/* Set up item factory to go away with the window */
g_object_ref (item_factory);
gtk_object_sink (GTK_OBJECT (item_factory));
g_object_set_data_full (G_OBJECT (window),
"<main>",
item_factory,
(GDestroyNotify) g_object_unref);
/* create menu items */
gtk_item_factory_create_items (item_factory, G_N_ELEMENTS (menu_items),
menu_items, window);
bar = gtk_ui_manager_get_widget (merge, "/MenuBar");
gtk_widget_show (bar);
gtk_table_attach (GTK_TABLE (table),
bar,
gtk_item_factory_get_widget (item_factory, "<main>"),
/* X direction */ /* Y direction */
0, 1, 0, 1,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
bar = gtk_ui_manager_get_widget (merge, "/ToolBar");
gtk_toolbar_set_tooltips (GTK_TOOLBAR (bar), TRUE);
gtk_widget_show (bar);
/* Create the toolbar
*/
toolbar = gtk_toolbar_new ();
gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar),
GTK_STOCK_OPEN,
"This is a demo button with an 'open' icon",
NULL,
G_CALLBACK (toolbar_cb),
window, /* user data for callback */
-1); /* -1 means "append" */
gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar),
GTK_STOCK_QUIT,
"This is a demo button with a 'quit' icon",
NULL,
G_CALLBACK (toolbar_cb),
window, /* user data for callback */
-1); /* -1 means "append" */
gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar),
"demo-gtk-logo",
"This is a demo button with a 'gtk' icon",
NULL,
G_CALLBACK (toolbar_cb),
window, /* user data for callback */
-1); /* -1 means "append" */
gtk_table_attach (GTK_TABLE (table),
bar,
toolbar,
/* X direction */ /* Y direction */
0, 1, 1, 2,
GTK_EXPAND | GTK_FILL, 0,
@@ -491,8 +304,7 @@ do_appwindow (GtkWidget *do_widget)
200, 200);
contents = gtk_text_view_new ();
gtk_widget_grab_focus (contents);
gtk_container_add (GTK_CONTAINER (sw),
contents);
@@ -520,12 +332,6 @@ do_appwindow (GtkWidget *do_widget)
G_CALLBACK (mark_set_callback),
statusbar,
0);
g_signal_connect_object (window,
"window_state_event",
G_CALLBACK (update_resize_grip),
statusbar,
0);
update_statusbar (buffer, GTK_STATUSBAR (statusbar));
}

View File

@@ -41,7 +41,7 @@ create_bbox (gint horizontal,
}
GtkWidget *
do_button_box (GtkWidget *do_widget)
do_button_box (void)
{
static GtkWidget *window = NULL;
GtkWidget *main_vbox;
@@ -53,8 +53,6 @@ do_button_box (GtkWidget *do_widget)
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
g_signal_connect (window, "destroy",

View File

@@ -577,7 +577,7 @@ destroy_cb (GtkObject *object,
* it. Otherwise, destroys it.
*/
GtkWidget *
do_changedisplay (GtkWidget *do_widget)
do_changedisplay (void)
{
static ChangeDisplayInfo *info = NULL;
@@ -589,7 +589,7 @@ do_changedisplay (GtkWidget *do_widget)
info = g_new0 (ChangeDisplayInfo, 1);
info->window = gtk_dialog_new_with_buttons ("Change Screen or display",
GTK_WINDOW (do_widget),
NULL, /* parent */
GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
"Change", GTK_RESPONSE_OK,

View File

@@ -1,123 +0,0 @@
/* Clipboard
*
* GtkClipboard is used for clipboard handling. This demo shows how to
* copy and paste text to and from the clipboard.
*/
#include <gtk/gtk.h>
#include <string.h>
static GtkWidget *window = NULL;
void
copy_button_clicked (GtkWidget *button,
gpointer user_data)
{
GtkWidget *entry;
GtkClipboard *clipboard;
entry = GTK_WIDGET (user_data);
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
/* Set clipboard text */
gtk_clipboard_set_text (clipboard, gtk_entry_get_text (GTK_ENTRY (entry)), -1);
}
void
paste_received (GtkClipboard *clipboard,
const gchar *text,
gpointer user_data)
{
GtkWidget *entry;
entry = GTK_WIDGET (user_data);
/* Set the entry text */
gtk_entry_set_text (GTK_ENTRY (entry), text);
}
void
paste_button_clicked (GtkWidget *button,
gpointer user_data)
{
GtkWidget *entry;
GtkClipboard *clipboard;
entry = GTK_WIDGET (user_data);
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
/* Request the contents of the clipboard, contents_received will be
called when we do get the contents.
*/
gtk_clipboard_request_text (clipboard,
paste_received, entry);
}
GtkWidget *
do_clipboard (GtkWidget *do_widget)
{
if (!window)
{
GtkWidget *vbox, *hbox;
GtkWidget *label;
GtkWidget *entry, *button;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_container_add (GTK_CONTAINER (window), vbox);
label = gtk_label_new ("\"Copy\" will copy the text\nin the entry to the clipboard");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_hbox_new (FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the first entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
button = gtk_button_new_from_stock (GTK_STOCK_COPY);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (copy_button_clicked), entry);
label = gtk_label_new ("\"Paste\" will paste the text from the clipboard to the entry");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_hbox_new (FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the second entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
button = gtk_button_new_from_stock (GTK_STOCK_PASTE);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (paste_button_clicked), entry);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -65,7 +65,7 @@ change_color_callback (GtkWidget *button,
}
GtkWidget *
do_colorsel (GtkWidget *do_widget)
do_colorsel (void)
{
GtkWidget *vbox;
GtkWidget *button;
@@ -78,8 +78,6 @@ do_colorsel (GtkWidget *do_widget)
color.green = 0;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Color Selection");
g_signal_connect (window, "destroy",

View File

@@ -21,9 +21,8 @@ message_dialog_clicked (GtkButton *button,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"This message box has been popped up the following\n"
"number of times:");
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
"%d", i);
"number of times:\n\n"
"%d", i);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
i++;
@@ -94,7 +93,7 @@ interactive_dialog_clicked (GtkButton *button,
}
GtkWidget *
do_dialog (GtkWidget *do_widget)
do_dialog (void)
{
GtkWidget *frame;
GtkWidget *vbox;
@@ -107,8 +106,6 @@ do_dialog (GtkWidget *do_widget)
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Dialogs");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);

View File

@@ -219,7 +219,7 @@ checkerboard_expose (GtkWidget *da,
}
GtkWidget *
do_drawingarea (GtkWidget *do_widget)
do_drawingarea (void)
{
GtkWidget *frame;
GtkWidget *vbox;
@@ -229,8 +229,6 @@ do_drawingarea (GtkWidget *do_widget)
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Drawing Area");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);

View File

@@ -152,11 +152,13 @@ cell_edited (GtkCellRendererText *cell,
GtkTreePath *path = gtk_tree_path_new_from_string (path_string);
GtkTreeIter iter;
gint column = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (cell), "column"));
gint *column;
column = g_object_get_data (G_OBJECT (cell), "column");
gtk_tree_model_get_iter (model, &iter, path);
switch (column)
switch (GPOINTER_TO_INT (column))
{
case COLUMN_NUMBER:
{
@@ -223,7 +225,7 @@ add_columns (GtkTreeView *treeview)
}
GtkWidget *
do_editable_cells (GtkWidget *do_widget)
do_editable_cells (void)
{
if (!window)
{
@@ -236,8 +238,6 @@ do_editable_cells (GtkWidget *do_widget)
/* create window, etc */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Shopping list");
gtk_container_set_border_width (GTK_CONTAINER (window), 5);
g_signal_connect (window, "destroy",

View File

@@ -1,97 +0,0 @@
/* Entry Completion
*
* GtkEntryCompletion provides a mechanism for adding support for
* completion in GtkEntry.
*
*/
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
/* Creates a tree model containing the completions */
GtkTreeModel *
create_completion_model (void)
{
GtkListStore *store;
GtkTreeIter iter;
store = gtk_list_store_new (1, G_TYPE_STRING);
/* Append one word */
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, "GNOME", -1);
/* Append another word */
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, "total", -1);
/* And another word */
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, "totally", -1);
return GTK_TREE_MODEL (store);
}
GtkWidget *
do_entry_completion (GtkWidget *do_widget)
{
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *entry;
GtkEntryCompletion *completion;
GtkTreeModel *completion_model;
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkEntryCompletion",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), "Completion demo, try writing <b>total</b> or <b>gnome</b> for example.");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
/* Create our entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
/* Create the completion object */
completion = gtk_entry_completion_new ();
/* Assign the completion to the entry */
gtk_entry_set_completion (GTK_ENTRY (entry), completion);
g_object_unref (completion);
/* Create a tree model and use it as the completion model */
completion_model = create_completion_model ();
gtk_entry_completion_set_model (completion, completion_model);
g_object_unref (completion_model);
/* Use model column 0 as the text column */
gtk_entry_completion_set_text_column (completion, 0);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
return window;
}

View File

@@ -1,58 +0,0 @@
/* Expander
*
* GtkExpander allows to provide additional content that is initially hidden.
* This is also known as "disclosure triangle".
*
*/
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
GtkWidget *
do_expander (GtkWidget *do_widget)
{
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *expander;
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkExpander",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_vbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), vbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
label = gtk_label_new ("Expander demo. Click on the triangle for details.");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
/* Create the expander */
expander = gtk_expander_new ("Details");
gtk_box_pack_start (GTK_BOX (vbox), expander, FALSE, FALSE, 0);
label = gtk_label_new ("Details can be shown or hidden.");
gtk_container_add (GTK_CONTAINER (expander), label);
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
return window;
}

View File

@@ -1,7 +1,7 @@
#!@PERL@ -w
print <<EOT;
typedef GtkWidget *(*GDoDemoFunc) (GtkWidget *do_widget);
typedef GtkWidget *(*GDoDemoFunc) (void);
typedef struct _Demo Demo;
@@ -27,7 +27,7 @@ for $file (@ARGV) {
close INFO_FILE;
print "GtkWidget *do_$basename (GtkWidget *do_widget);\n";
print "GtkWidget *do_$basename (void);\n";
push @demos, {"title" => $title, "file" => $file,
"func" => "do_$basename"};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,318 +0,0 @@
/* Text Widget/Hypertext
*
* Usually, tags modify the appearance of text in the view, e.g. making it
* bold or colored or underlined. But tags are not restricted to appearance.
* They can also affect the behavior of mouse and key presses, as this demo
* shows.
*/
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
/* Inserts a piece of text into the buffer, giving it the usual
* appearance of a hyperlink in a web browser: blue and underlined.
* Additionally, attaches some data on the tag, to make it recognizable
* as a link.
*/
static void
insert_link (GtkTextBuffer *buffer,
GtkTextIter *iter,
gchar *text,
gint page)
{
GtkTextTag *tag;
tag = gtk_text_buffer_create_tag (buffer, NULL,
"foreground", "blue",
"underline", PANGO_UNDERLINE_SINGLE,
NULL);
g_object_set_data (G_OBJECT (tag), "page", GINT_TO_POINTER (page));
gtk_text_buffer_insert_with_tags (buffer, iter, text, -1, tag, NULL);
}
/* Fills the buffer with text and interspersed links. In any real
* hypertext app, this method would parse a file to identify the links.
*/
static void
show_page (GtkTextBuffer *buffer,
gint page)
{
GtkTextIter iter;
gtk_text_buffer_set_text (buffer, "", 0);
gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0);
if (page == 1)
{
gtk_text_buffer_insert (buffer, &iter, "Some text to show that simple ", -1);
insert_link (buffer, &iter, "hypertext", 3);
gtk_text_buffer_insert (buffer, &iter, " can easily be realized with ", -1);
insert_link (buffer, &iter, "tags", 2);
gtk_text_buffer_insert (buffer, &iter, ".", -1);
}
else if (page == 2)
{
gtk_text_buffer_insert (buffer, &iter,
"A tag is an attribute that can be applied to some range of text. "
"For example, a tag might be called \"bold\" and make the text inside "
"the tag bold. However, the tag concept is more general than that; "
"tags don't have to affect appearance. They can instead affect the "
"behavior of mouse and key presses, \"lock\" a range of text so the "
"user can't edit it, or countless other things.\n", -1);
insert_link (buffer, &iter, "Go back", 1);
}
else if (page == 3)
{
GtkTextTag *tag;
tag = gtk_text_buffer_create_tag (buffer, NULL,
"weight", PANGO_WEIGHT_BOLD,
NULL);
gtk_text_buffer_insert_with_tags (buffer, &iter, "hypertext:\n", -1, tag, NULL);
gtk_text_buffer_insert (buffer, &iter,
"machine-readable text that is not sequential but is organized "
"so that related items of information are connected.\n", -1);
insert_link (buffer, &iter, "Go back", 1);
}
}
/* Looks at all tags covering the position of iter in the text view,
* and if one of them is a link, follow it by showing the page identified
* by the data attached to it.
*/
static void
follow_if_link (GtkWidget *text_view,
GtkTextIter *iter)
{
GSList *tags = NULL, *tagp = NULL;
tags = gtk_text_iter_get_tags (iter);
for (tagp = tags; tagp != NULL; tagp = tagp->next)
{
GtkTextTag *tag = tagp->data;
gint page = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (tag), "page"));
if (page != 0)
{
show_page (gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)), page);
break;
}
}
if (tags)
g_slist_free (tags);
}
/* Links can be activated by pressing Enter.
*/
static gboolean
key_press_event (GtkWidget *text_view,
GdkEventKey *event)
{
GtkTextIter iter;
GtkTextBuffer *buffer;
switch (event->keyval)
{
case GDK_Return:
case GDK_KP_Enter:
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view));
gtk_text_buffer_get_iter_at_mark (buffer, &iter,
gtk_text_buffer_get_insert (buffer));
follow_if_link (text_view, &iter);
break;
default:
break;
}
return FALSE;
}
/* Links can also be activated by clicking.
*/
static gboolean
event_after (GtkWidget *text_view,
GdkEvent *ev)
{
GtkTextIter start, end, iter;
GtkTextBuffer *buffer;
GdkEventButton *event;
gint x, y;
if (ev->type != GDK_BUTTON_RELEASE)
return FALSE;
event = (GdkEventButton *)ev;
if (event->button != 1)
return FALSE;
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view));
/* we shouldn't follow a link if the user has selected something */
gtk_text_buffer_get_selection_bounds (buffer, &start, &end);
if (gtk_text_iter_get_offset (&start) != gtk_text_iter_get_offset (&end))
return FALSE;
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
GTK_TEXT_WINDOW_WIDGET,
event->x, event->y, &x, &y);
gtk_text_view_get_iter_at_location (GTK_TEXT_VIEW (text_view), &iter, x, y);
follow_if_link (text_view, &iter);
return FALSE;
}
gboolean hovering_over_link = FALSE;
GdkCursor *hand_cursor = NULL;
GdkCursor *regular_cursor = NULL;
/* Looks at all tags covering the position (x, y) in the text view,
* and if one of them is a link, change the cursor to the "hands" cursor
* typically used by web browsers.
*/
static void
set_cursor_if_appropriate (GtkTextView *text_view,
gint x,
gint y)
{
GSList *tags = NULL, *tagp = NULL;
GtkTextBuffer *buffer;
GtkTextIter iter;
gboolean hovering = FALSE;
buffer = gtk_text_view_get_buffer (text_view);
gtk_text_view_get_iter_at_location (text_view, &iter, x, y);
tags = gtk_text_iter_get_tags (&iter);
for (tagp = tags; tagp != NULL; tagp = tagp->next)
{
GtkTextTag *tag = tagp->data;
gint page = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (tag), "page"));
if (page != 0)
{
hovering = TRUE;
break;
}
}
if (hovering != hovering_over_link)
{
hovering_over_link = hovering;
if (hovering_over_link)
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), hand_cursor);
else
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), regular_cursor);
}
if (tags)
g_slist_free (tags);
}
/* Update the cursor image if the pointer moved.
*/
static gboolean
motion_notify_event (GtkWidget *text_view,
GdkEventMotion *event)
{
gint x, y;
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
GTK_TEXT_WINDOW_WIDGET,
event->x, event->y, &x, &y);
set_cursor_if_appropriate (GTK_TEXT_VIEW (text_view), x, y);
gdk_window_get_pointer (text_view->window, NULL, NULL, NULL);
return FALSE;
}
/* Also update the cursor image if the window becomes visible
* (e.g. when a window covering it got iconified).
*/
static gboolean
visibility_notify_event (GtkWidget *text_view,
GdkEventVisibility *event)
{
gint wx, wy, bx, by;
gdk_window_get_pointer (text_view->window, &wx, &wy, NULL);
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
GTK_TEXT_WINDOW_WIDGET,
wx, wy, &bx, &by);
set_cursor_if_appropriate (GTK_TEXT_VIEW (text_view), bx, by);
return FALSE;
}
GtkWidget *
do_hypertext (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
if (!window)
{
GtkWidget *view;
GtkWidget *sw;
GtkTextBuffer *buffer;
hand_cursor = gdk_cursor_new (GDK_HAND2);
regular_cursor = gdk_cursor_new (GDK_XTERM);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_default_size (GTK_WINDOW (window),
450, 450);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_window_set_title (GTK_WINDOW (window), "Hypertext");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
view = gtk_text_view_new ();
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view), GTK_WRAP_WORD);
g_signal_connect (view, "key-press-event",
G_CALLBACK (key_press_event), NULL);
g_signal_connect (view, "event-after",
G_CALLBACK (event_after), NULL);
g_signal_connect (view, "motion-notify-event",
G_CALLBACK (motion_notify_event), NULL);
g_signal_connect (view, "visibility-notify-event",
G_CALLBACK (visibility_notify_event), NULL);
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add (GTK_CONTAINER (window), sw);
gtk_container_add (GTK_CONTAINER (sw), view);
show_page (buffer, 1);
gtk_widget_show_all (sw);
}
if (!GTK_WIDGET_VISIBLE (window))
{
gtk_widget_show (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -1,359 +0,0 @@
/* Icon View
*
* The GtkIconView widget is used to display and manipulate icons. It
* uses a GtkTreeModel for data storage, so the list store example
* might be helpful.
*/
#include <gtk/gtk.h>
#include <string.h>
#include "demo-common.h"
static GtkWidget *window = NULL;
#define FOLDER_NAME "gnome-fs-directory.png"
#define FILE_NAME "gnome-fs-regular.png"
enum
{
COL_PATH,
COL_DISPLAY_NAME,
COL_PIXBUF,
COL_IS_DIRECTORY,
NUM_COLS
};
static GdkPixbuf *file_pixbuf, *folder_pixbuf;
gchar *parent;
GtkToolItem *up_button;
/* Loads the images for the demo and returns whether the operation succeeded */
static gboolean
load_pixbufs (GError **error)
{
char *filename;
if (file_pixbuf)
return TRUE; /* already loaded earlier */
/* demo_find_file() looks in the the current directory first,
* so you can run gtk-demo without installing GTK, then looks
* in the location where the file is installed.
*/
filename = demo_find_file (FILE_NAME, error);
if (!filename)
return FALSE; /* note that "error" was filled in and returned */
file_pixbuf = gdk_pixbuf_new_from_file (filename, error);
g_free (filename);
if (!file_pixbuf)
return FALSE; /* Note that "error" was filled with a GError */
filename = demo_find_file (FOLDER_NAME, error);
if (!filename)
return FALSE; /* note that "error" was filled in and returned */
folder_pixbuf = gdk_pixbuf_new_from_file (filename, error);
g_free (filename);
return TRUE;
}
static void
fill_store (GtkListStore *store)
{
GDir *dir;
const gchar *name;
GtkTreeIter iter;
/* First clear the store */
gtk_list_store_clear (store);
/* Now go through the directory and extract all the file
* information */
dir = g_dir_open (parent, 0, NULL);
if (!dir)
return;
name = g_dir_read_name (dir);
while (name != NULL)
{
gchar *path, *display_name;
gboolean is_dir;
/* We ignore hidden files that start with a '.' */
if (name[0] != '.')
{
path = g_build_filename (parent, name, NULL);
is_dir = g_file_test (path, G_FILE_TEST_IS_DIR);
display_name = g_filename_to_utf8 (name, -1, NULL, NULL, NULL);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
COL_PATH, path,
COL_DISPLAY_NAME, display_name,
COL_IS_DIRECTORY, is_dir,
COL_PIXBUF, is_dir ? folder_pixbuf : file_pixbuf,
-1);
g_free (path);
g_free (display_name);
}
name = g_dir_read_name (dir);
}
}
static gint
sort_func (GtkTreeModel *model,
GtkTreeIter *a,
GtkTreeIter *b,
gpointer user_data)
{
gboolean is_dir_a, is_dir_b;
gchar *name_a, *name_b;
int ret;
/* We need this function because we want to sort
* folders before files.
*/
gtk_tree_model_get (model, a,
COL_IS_DIRECTORY, &is_dir_a,
COL_DISPLAY_NAME, &name_a,
-1);
gtk_tree_model_get (model, b,
COL_IS_DIRECTORY, &is_dir_b,
COL_DISPLAY_NAME, &name_b,
-1);
if (!is_dir_a && is_dir_b)
ret = 1;
else if (is_dir_a && !is_dir_b)
ret = -1;
else
{
ret = g_utf8_collate (name_a, name_b);
}
g_free (name_a);
g_free (name_b);
return ret;
}
GtkListStore *
create_store (void)
{
GtkListStore *store;
store = gtk_list_store_new (NUM_COLS,
G_TYPE_STRING,
G_TYPE_STRING,
GDK_TYPE_PIXBUF,
G_TYPE_BOOLEAN);
/* Set sort column and function */
gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (store),
sort_func,
NULL, NULL);
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
GTK_SORT_ASCENDING);
return store;
}
static void
item_activated (GtkIconView *icon_view,
GtkTreePath *tree_path,
gpointer user_data)
{
GtkListStore *store;
gchar *path;
GtkTreeIter iter;
gboolean is_dir;
store = GTK_LIST_STORE (user_data);
gtk_tree_model_get_iter (GTK_TREE_MODEL (store),
&iter, tree_path);
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter,
COL_PATH, &path,
COL_IS_DIRECTORY, &is_dir,
-1);
if (!is_dir)
{
g_free (path);
return;
}
/* Replace parent with path and re-fill the model*/
g_free (parent);
parent = path;
fill_store (store);
/* Sensitize the up button */
gtk_widget_set_sensitive (GTK_WIDGET (up_button), TRUE);
}
static void
up_clicked (GtkToolItem *item,
gpointer user_data)
{
GtkListStore *store;
gchar *dir_name;
store = GTK_LIST_STORE (user_data);
dir_name = g_path_get_dirname (parent);
g_free (parent);
parent = dir_name;
fill_store (store);
/* Maybe de-sensitize the up button */
gtk_widget_set_sensitive (GTK_WIDGET (up_button),
strcmp (parent, "/") != 0);
}
static void
home_clicked (GtkToolItem *item,
gpointer user_data)
{
GtkListStore *store;
store = GTK_LIST_STORE (user_data);
g_free (parent);
parent = g_strdup (g_get_home_dir ());
fill_store (store);
/* Sensitize the up button */
gtk_widget_set_sensitive (GTK_WIDGET (up_button),
TRUE);
}
GtkWidget *
do_iconview (GtkWidget *do_widget)
{
if (!window)
{
GError *error;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "GtkIconView demo");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
error = NULL;
if (!load_pixbufs (&error))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load an image: %s",
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
else
{
GtkWidget *sw;
GtkWidget *icon_view;
GtkListStore *store;
GtkWidget *vbox;
GtkWidget *tool_bar;
GtkToolItem *home_button;
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
tool_bar = gtk_toolbar_new ();
gtk_box_pack_start (GTK_BOX (vbox), tool_bar, FALSE, FALSE, 0);
up_button = gtk_tool_button_new_from_stock (GTK_STOCK_GO_UP);
gtk_tool_item_set_is_important (up_button, TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (up_button), FALSE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), up_button, -1);
home_button = gtk_tool_button_new_from_stock (GTK_STOCK_HOME);
gtk_tool_item_set_is_important (home_button, TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), home_button, -1);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
/* Create the store and fill it with the contents of '/' */
parent = g_strdup ("/");
store = create_store ();
fill_store (store);
icon_view = gtk_icon_view_new_with_model (GTK_TREE_MODEL (store));
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (icon_view),
GTK_SELECTION_MULTIPLE);
g_object_unref (store);
/* Connect to the "clicked" signal of the "Up" tool button */
g_signal_connect (up_button, "clicked",
G_CALLBACK (up_clicked), store);
/* Connect to the "clicked" signal of the "Home" tool button */
g_signal_connect (home_button, "clicked",
G_CALLBACK (home_clicked), store);
/* We now set which model columns that correspont to the text
* and pixbuf of each item
*/
gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), COL_DISPLAY_NAME);
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (icon_view), COL_PIXBUF);
/* Connect to the "item_activated" signal */
g_signal_connect (icon_view, "item_activated",
G_CALLBACK (item_activated), store);
gtk_container_add (GTK_CONTAINER (sw), icon_view);
gtk_widget_grab_focus (icon_view);
}
}
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -13,7 +13,6 @@
*/
#include <gtk/gtk.h>
#include <glib/gstdio.h>
#include <stdio.h>
#include <errno.h>
#include "demo-common.h"
@@ -196,7 +195,7 @@ progressive_timeout (gpointer data)
}
else
{
image_stream = g_fopen (filename, "rb");
image_stream = fopen (filename, "r");
g_free (filename);
if (!image_stream)
@@ -308,7 +307,7 @@ toggle_sensitivity_callback (GtkWidget *togglebutton,
GtkWidget *
do_images (GtkWidget *do_widget)
do_images (void)
{
GtkWidget *frame;
GtkWidget *vbox;
@@ -323,8 +322,6 @@ do_images (GtkWidget *do_widget)
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Images");
g_signal_connect (window, "destroy",

View File

@@ -0,0 +1,120 @@
/* Item Factory
*
* The GtkItemFactory object allows the easy creation of menus
* from an array of descriptions of menu items.
*/
#include <gtk/gtk.h>
static void
gtk_ifactory_cb (gpointer callback_data,
guint callback_action,
GtkWidget *widget)
{
g_message ("ItemFactory: activated \"%s\"",
gtk_item_factory_path_from_widget (widget));
}
static GtkItemFactoryEntry menu_items[] =
{
{ "/_File", NULL, 0, 0, "<Branch>" },
{ "/File/tearoff1", NULL, gtk_ifactory_cb, 0, "<Tearoff>" },
{ "/File/_New", "<control>N", gtk_ifactory_cb, 0 },
{ "/File/_Open", "<control>O", gtk_ifactory_cb, 0 },
{ "/File/_Save", "<control>S", gtk_ifactory_cb, 0 },
{ "/File/Save _As...", NULL, gtk_ifactory_cb, 0 },
{ "/File/sep1", NULL, gtk_ifactory_cb, 0, "<Separator>" },
{ "/File/_Quit", "<control>Q", gtk_ifactory_cb, 0 },
{ "/_Preferences", NULL, 0, 0, "<Branch>" },
{ "/_Preferences/_Color", NULL, 0, 0, "<Branch>" },
{ "/_Preferences/Color/_Red", NULL, gtk_ifactory_cb, 0, "<RadioItem>" },
{ "/_Preferences/Color/_Green", NULL, gtk_ifactory_cb, 0, "/Preferences/Color/Red" },
{ "/_Preferences/Color/_Blue", NULL, gtk_ifactory_cb, 0, "/Preferences/Color/Red" },
{ "/_Preferences/_Shape", NULL, 0, 0, "<Branch>" },
{ "/_Preferences/Shape/_Square", NULL, gtk_ifactory_cb, 0, "<RadioItem>" },
{ "/_Preferences/Shape/_Rectangle", NULL, gtk_ifactory_cb, 0, "/Preferences/Shape/Square" },
{ "/_Preferences/Shape/_Oval", NULL, gtk_ifactory_cb, 0, "/Preferences/Shape/Rectangle" },
{ "/_Help", NULL, 0, 0, "<LastBranch>" },
{ "/Help/_About", NULL, gtk_ifactory_cb, 0 },
};
static int nmenu_items = sizeof (menu_items) / sizeof (menu_items[0]);
GtkWidget *
do_item_factory (void)
{
static GtkWidget *window = NULL;
if (!window)
{
GtkWidget *box1;
GtkWidget *box2;
GtkWidget *separator;
GtkWidget *label;
GtkWidget *button;
GtkAccelGroup *accel_group;
GtkItemFactory *item_factory;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "delete-event",
G_CALLBACK (gtk_true), NULL);
accel_group = gtk_accel_group_new ();
item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR, "<main>", accel_group);
g_object_set_data_full (G_OBJECT (window), "<main>",
item_factory, (GDestroyNotify) g_object_unref);
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
gtk_window_set_title (GTK_WINDOW (window), "Item Factory");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
gtk_item_factory_create_items (item_factory, nmenu_items, menu_items, NULL);
/* preselect /Preferences/Shape/Oval over the other radios
*/
gtk_check_menu_item_set_active
(GTK_CHECK_MENU_ITEM (gtk_item_factory_get_item (item_factory,
"/Preferences/Shape/Oval")),
TRUE);
box1 = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_box_pack_start (GTK_BOX (box1),
gtk_item_factory_get_widget (item_factory, "<main>"),
FALSE, FALSE, 0);
label = gtk_label_new ("Type\n<alt>\nto start");
gtk_widget_set_size_request (label, 200, 200);
gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5);
gtk_box_pack_start (GTK_BOX (box1), label, TRUE, TRUE, 0);
separator = gtk_hseparator_new ();
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
box2 = gtk_vbox_new (FALSE, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
button = gtk_button_new_with_label ("close");
g_signal_connect_swapped (button, "clicked",
G_CALLBACK (gtk_widget_destroy), window);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_widget_grab_default (button);
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -155,7 +155,7 @@ add_columns (GtkTreeView *treeview)
}
GtkWidget *
do_list_store (GtkWidget *do_widget)
do_list_store (void)
{
if (!window)
{
@@ -167,8 +167,6 @@ do_list_store (GtkWidget *do_widget)
/* create window, etc */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "GtkListStore demo");
g_signal_connect (window, "destroy",

View File

@@ -1,11 +1,9 @@
#include <config.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <glib/gstdio.h>
#include <demos.h>
@@ -30,31 +28,6 @@ struct _CallbackData
GtkTreePath *path;
};
#ifdef G_OS_WIN32
#undef DEMOCODEDIR
static char *
get_democodedir (void)
{
static char *result = NULL;
if (result == NULL)
{
result = g_win32_get_package_installation_directory (NULL, NULL);
if (result == NULL)
result = "unknown-location";
result = g_strconcat (result, "\\share\\gtk-2.0\\demo", NULL);
}
return result;
}
#define DEMOCODEDIR get_democodedir ()
#endif
/**
* demo_find_file:
* @base: base filename
@@ -124,7 +97,7 @@ read_line (FILE *stream, GString *str)
{
int c;
#ifdef HAVE_FLOCKFILE
#ifndef G_OS_WIN32
c = getc_unlocked (stream);
#else
c = getc (stream);
@@ -387,7 +360,7 @@ parse_chars (gchar *text,
/* While not as cool as c-mode, this will do as a quick attempt at highlighting */
static void
fontify (void)
fontify ()
{
GtkTextIter start_iter, next_iter, tmp_iter;
gint state;
@@ -466,7 +439,7 @@ load_file (const gchar *filename)
return;
}
file = g_fopen (full_filename, "r");
file = fopen (full_filename, "r");
if (!file)
g_warning ("Cannot open %s: %s\n", full_filename, g_strerror (errno));
@@ -606,7 +579,7 @@ row_activated_cb (GtkTreeView *tree_view,
&iter,
ITALIC_COLUMN, !italic,
-1);
window = (func) (gtk_widget_get_toplevel (GTK_WIDGET (tree_view)));
window = (func) ();
if (window != NULL)
{
@@ -666,7 +639,7 @@ create_text (GtkTextBuffer **buffer,
if (is_source)
{
font_desc = pango_font_description_from_string ("monospace");
font_desc = pango_font_description_from_string ("Courier 12");
gtk_widget_modify_font (text_view, font_desc);
pango_font_description_free (font_desc);
@@ -839,8 +812,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);
putenv ("GDK_PIXBUF_MODULE_FILE=../../gdk-pixbuf/gdk-pixbuf.loaders");
putenv ("GTK_IM_MODULE_FILE=../../modules/input/gtk.immodules");
}
/* -- End of hack -- */

View File

@@ -38,27 +38,20 @@ all : \
DEMOS = \
appwindow.c \
button_box.c \
clipboard.c \
colorsel.c \
dialog.c \
dialog.c \
drawingarea.c \
editable_cells.c \
entry_completion.c \
expander.c \
hypertext.c \
iconview.c \
images.c \
editable_cells.c \
images.c \
item_factory.c \
list_store.c \
menus.c \
panes.c \
pixbufs.c \
rotated_text.c \
pixbufs.c \
sizegroup.c \
stock_browser.c \
textview.c \
tree_store.c \
ui_manager.c \
demos.h: $(DEMOS) geninclude.pl
$(PERL) geninclude.pl $(DEMOS) > demos.h
@@ -66,27 +59,20 @@ demos.h: $(DEMOS) geninclude.pl
OBJECTS = \
appwindow.obj \
button_box.obj \
changedisplay.obj \
clipboard.obj \
colorsel.obj \
dialog.obj \
drawingarea.obj \
editable_cells.obj \
entry_completion.obj \
expander.obj \
hypertext.obj \
iconview.obj \
editable_cells.obj \
images.obj \
item_factory.obj \
list_store.obj \
menus.obj \
panes.obj \
pixbufs.obj \
rotated_text.obj \
sizegroup.obj \
stock_browser.obj \
textview.obj \
tree_store.obj \
ui_manager.obj \
main.obj \
gtk-demo.exe : demos.h $(OBJECTS)

View File

@@ -19,9 +19,12 @@
* up when the menu item is selected. Typically, all menu items in a menu bar
* have submenus.
*
* GtkUIManager provides a higher-level interface for creating menu bars
* The GtkOptionMenu widget is a button that pops up a GtkMenu when clicked.
* It's used inside dialogs and such.
*
* GtkItemFactory provides a higher-level interface for creating menu bars
* and menus; while you can construct menus manually, most people don't
* do that. There's a separate demo for GtkUIManager.
* do that. There's a separate demo for GtkItemFactory.
*
*/
@@ -71,12 +74,14 @@ create_menu (gint depth,
}
GtkWidget *
do_menus (GtkWidget *do_widget)
do_menus (void)
{
static GtkWidget *window = NULL;
GtkWidget *box1;
GtkWidget *box2;
GtkWidget *button;
GtkWidget *optionmenu;
GtkWidget *separator;
if (!window)
{
@@ -86,8 +91,7 @@ do_menus (GtkWidget *do_widget)
GtkAccelGroup *accel_group;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
g_signal_connect (window, "destroy",
G_CALLBACK(gtk_widget_destroyed), &window);
g_signal_connect (window, "delete-event",
@@ -126,6 +130,62 @@ do_menus (GtkWidget *do_widget)
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
box2 = gtk_vbox_new (FALSE, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0);
gtk_widget_show (box2);
menu = create_menu (1, FALSE);
gtk_menu_set_accel_group (GTK_MENU (menu), accel_group);
menuitem = gtk_separator_menu_item_new ();
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
menuitem = gtk_check_menu_item_new_with_label ("Accelerate Me");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
gtk_widget_add_accelerator (menuitem,
"activate",
accel_group,
GDK_F1,
0,
GTK_ACCEL_VISIBLE);
menuitem = gtk_check_menu_item_new_with_label ("Accelerator Locked");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
gtk_widget_add_accelerator (menuitem,
"activate",
accel_group,
GDK_F2,
0,
GTK_ACCEL_VISIBLE | GTK_ACCEL_LOCKED);
menuitem = gtk_check_menu_item_new_with_label ("Accelerators Frozen");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
gtk_widget_add_accelerator (menuitem,
"activate",
accel_group,
GDK_F2,
0,
GTK_ACCEL_VISIBLE);
gtk_widget_add_accelerator (menuitem,
"activate",
accel_group,
GDK_F3,
0,
GTK_ACCEL_VISIBLE);
optionmenu = gtk_option_menu_new ();
gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (optionmenu), 3);
gtk_box_pack_start (GTK_BOX (box2), optionmenu, TRUE, TRUE, 0);
gtk_widget_show (optionmenu);
separator = gtk_hseparator_new ();
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
gtk_widget_show (separator);
box2 = gtk_vbox_new (FALSE, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);

View File

@@ -112,7 +112,7 @@ create_pane_options (GtkPaned *paned,
}
GtkWidget *
do_panes (GtkWidget *do_widget)
do_panes (void)
{
static GtkWidget *window = NULL;
GtkWidget *frame;
@@ -124,8 +124,6 @@ do_panes (GtkWidget *do_widget)
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);

View File

@@ -12,6 +12,7 @@
*
*/
#include <config.h>
#include <stdlib.h>
#include <gtk/gtk.h>
#include <math.h>
@@ -204,15 +205,14 @@ cleanup_callback (GtkObject *object,
}
GtkWidget *
do_pixbufs (GtkWidget *do_widget)
do_pixbufs (void)
{
if (!window)
{
GError *error;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Pixbufs");
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
@@ -264,7 +264,6 @@ do_pixbufs (GtkWidget *do_widget)
{
gtk_widget_destroy (window);
window = NULL;
g_object_unref (frame);
}
return window;

View File

@@ -1,142 +0,0 @@
/* Rotated Text
*
* This demo shows how to use GDK and Pango to draw rotated and transformed
* text. The use of GdkPangoRenderer in this example is a somewhat advanced
* technique; most applications can simply use gdk_draw_layout(). We use
* it here mostly because that allows us to work in user coordinates - that is,
* coordinates prior to the application of the transformation matrix, rather
* than device coordinates.
*
* As of GTK+-2.6, the ability to draw transformed and anti-aliased graphics
* as shown in this example is only present for text. With GTK+-2.8, a new
* graphics system called "Cairo" will be introduced that provides these
* capabilities and many more for all types of graphics.
*/
#include <math.h>
#include <gtk/gtk.h>
static GtkWidget *window = NULL;
static gboolean
rotated_text_expose_event (GtkWidget *widget,
GdkEventExpose *event,
gpointer data)
{
#define RADIUS 150
#define N_WORDS 10
#define FONT "Sans Bold 27"
PangoRenderer *renderer;
PangoMatrix matrix = PANGO_MATRIX_INIT;
PangoContext *context;
PangoLayout *layout;
PangoFontDescription *desc;
int width = widget->allocation.width;
int height = widget->allocation.height;
double device_radius;
int i;
/* Get the default renderer for the screen, and set it up for drawing */
renderer = gdk_pango_renderer_get_default (gtk_widget_get_screen (widget));
gdk_pango_renderer_set_drawable (GDK_PANGO_RENDERER (renderer), widget->window);
gdk_pango_renderer_set_gc (GDK_PANGO_RENDERER (renderer), widget->style->black_gc);
/* Set up a transformation matrix so that the user space coordinates for
* the centered square where we draw are [-RADIUS, RADIUS], [-RADIUS, RADIUS]
* We first center, then change the scale */
device_radius = MIN (width, height) / 2.;
pango_matrix_translate (&matrix,
device_radius + (width - 2 * device_radius) / 2,
device_radius + (height - 2 * device_radius) / 2);
pango_matrix_scale (&matrix, device_radius / RADIUS, device_radius / RADIUS);
/* Create a PangoLayout, set the font and text */
context = gtk_widget_create_pango_context (widget);
layout = pango_layout_new (context);
pango_layout_set_text (layout, "Text", -1);
desc = pango_font_description_from_string (FONT);
pango_layout_set_font_description (layout, desc);
pango_font_description_free (desc);
/* Draw the layout N_WORDS times in a circle */
for (i = 0; i < N_WORDS; i++)
{
GdkColor color;
PangoMatrix rotated_matrix = matrix;
int width, height;
double angle = (360. * i) / N_WORDS;
/* Gradient from red at angle == 60 to blue at angle == 300 */
color.red = 65535 * (1 + cos ((angle - 60) * G_PI / 180.)) / 2;
color.green = 0;
color.blue = 65535 - color.red;
gdk_pango_renderer_set_override_color (GDK_PANGO_RENDERER (renderer),
PANGO_RENDER_PART_FOREGROUND, &color);
pango_matrix_rotate (&rotated_matrix, angle);
pango_context_set_matrix (context, &rotated_matrix);
/* Inform Pango to re-layout the text with the new transformation matrix */
pango_layout_context_changed (layout);
pango_layout_get_size (layout, &width, &height);
pango_renderer_draw_layout (renderer, layout,
- width / 2, - RADIUS * PANGO_SCALE);
}
/* Clean up default renderer, since it is shared */
gdk_pango_renderer_set_override_color (GDK_PANGO_RENDERER (renderer),
PANGO_RENDER_PART_FOREGROUND, NULL);
gdk_pango_renderer_set_drawable (GDK_PANGO_RENDERER (renderer), NULL);
gdk_pango_renderer_set_gc (GDK_PANGO_RENDERER (renderer), NULL);
/* free the objects we created */
g_object_unref (layout);
g_object_unref (context);
return FALSE;
}
GtkWidget *
do_rotated_text (GtkWidget *do_widget)
{
GtkWidget *drawing_area;
if (!window)
{
const GdkColor white = { 0, 0xffff, 0xffff, 0xffff };
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Rotated Text");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
drawing_area = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (window), drawing_area);
/* This overrides the background color from the theme */
gtk_widget_modify_bg (drawing_area, GTK_STATE_NORMAL, &white);
g_signal_connect (drawing_area, "expose-event",
G_CALLBACK (rotated_text_expose_event), NULL);
gtk_window_set_default_size (GTK_WINDOW (window), 2 * RADIUS, 2 * RADIUS);
}
if (!GTK_WIDGET_VISIBLE (window))
{
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -17,22 +17,29 @@
static GtkWidget *window = NULL;
/* Convenience function to create a combo box holding a number of strings
/* Convenience function to create an option menu holding a number of strings
*/
GtkWidget *
create_combo_box (const char **strings)
create_option_menu (const char **strings)
{
GtkWidget *combo_box;
GtkWidget *menu;
GtkWidget *option_menu;
const char **str;
combo_box = gtk_combo_box_new_text ();
menu = gtk_menu_new ();
for (str = strings; *str; str++)
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), *str);
{
GtkWidget *menu_item = gtk_menu_item_new_with_label (*str);
gtk_widget_show (menu_item);
gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 0);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
}
return combo_box;
option_menu = gtk_option_menu_new ();
gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu);
return option_menu;
}
static void
@@ -42,7 +49,7 @@ add_row (GtkTable *table,
const char *label_text,
const char **options)
{
GtkWidget *combo_box;
GtkWidget *option_menu;
GtkWidget *label;
label = gtk_label_new_with_mnemonic (label_text);
@@ -52,10 +59,10 @@ add_row (GtkTable *table,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
combo_box = create_combo_box (options);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo_box);
gtk_size_group_add_widget (size_group, combo_box);
gtk_table_attach (GTK_TABLE (table), combo_box,
option_menu = create_option_menu (options);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), option_menu);
gtk_size_group_add_widget (size_group, option_menu);
gtk_table_attach (GTK_TABLE (table), option_menu,
1, 2, row, row + 1,
0, 0,
0, 0);
@@ -80,7 +87,7 @@ toggle_grouping (GtkToggleButton *check_button,
}
GtkWidget *
do_sizegroup (GtkWidget *do_widget)
do_sizegroup (void)
{
GtkWidget *table;
GtkWidget *frame;
@@ -103,8 +110,7 @@ do_sizegroup (GtkWidget *do_widget)
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkSizeGroup",
GTK_WINDOW (do_widget),
0,
NULL, 0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);

View File

@@ -400,7 +400,7 @@ label_set_func (GtkTreeViewColumn *tree_column,
}
GtkWidget *
do_stock_browser (GtkWidget *do_widget)
do_stock_browser (void)
{
if (!window)
{
@@ -417,8 +417,6 @@ do_stock_browser (GtkWidget *do_widget)
GtkTreeViewColumn *column;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Stock Icons and Items");
gtk_window_set_default_size (GTK_WINDOW (window), -1, 500);

View File

@@ -1,4 +1,4 @@
/* Text Widget/Multiple Views
/* Text Widget
*
* The GtkTextView widget displays a GtkTextBuffer. One GtkTextBuffer
* can be displayed by multiple GtkTextViews. This demo has two views
@@ -399,11 +399,21 @@ attach_widgets (GtkTextView *text_view)
}
else if (i == 1)
{
widget = gtk_combo_box_new_text ();
GtkWidget *menu_item;
GtkWidget *menu;
gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "Option 1");
gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "Option 2");
gtk_combo_box_append_text (GTK_COMBO_BOX (widget), "Option 3");
menu = gtk_menu_new ();
widget = gtk_option_menu_new ();
menu_item = gtk_menu_item_new_with_label ("Option 1");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
menu_item = gtk_menu_item_new_with_label ("Option 2");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
menu_item = gtk_menu_item_new_with_label ("Option 3");
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
gtk_option_menu_set_menu (GTK_OPTION_MENU (widget), menu);
}
else if (i == 2)
{
@@ -438,7 +448,7 @@ attach_widgets (GtkTextView *text_view)
}
GtkWidget *
do_textview (GtkWidget *do_widget)
do_textview (void)
{
static GtkWidget *window = NULL;
@@ -451,8 +461,6 @@ do_textview (GtkWidget *do_widget)
GtkTextBuffer *buffer;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_default_size (GTK_WINDOW (window),
450, 450);

View File

@@ -385,7 +385,7 @@ add_columns (GtkTreeView *treeview)
}
GtkWidget *
do_tree_store (GtkWidget *do_widget)
do_tree_store (void)
{
if (!window)
{
@@ -396,8 +396,6 @@ do_tree_store (GtkWidget *do_widget)
/* create window, etc */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Card planning sheet");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);

View File

@@ -1,234 +0,0 @@
/* UI Manager
*
* The GtkUIManager object allows the easy creation of menus
* from an array of actions and a description of the menu hierarchy.
*/
#include <gtk/gtk.h>
static void
activate_action (GtkAction *action)
{
g_message ("Action \"%s\" activated", gtk_action_get_name (action));
}
static void
activate_radio_action (GtkAction *action, GtkRadioAction *current)
{
g_message ("Radio action \"%s\" selected",
gtk_action_get_name (GTK_ACTION (current)));
}
static GtkActionEntry entries[] = {
{ "FileMenu", NULL, "_File" }, /* name, stock id, label */
{ "PreferencesMenu", NULL, "_Preferences" }, /* name, stock id, label */
{ "ColorMenu", NULL, "_Color" }, /* name, stock id, label */
{ "ShapeMenu", NULL, "_Shape" }, /* name, stock id, label */
{ "HelpMenu", NULL, "_Help" }, /* name, stock id, label */
{ "New", GTK_STOCK_NEW, /* name, stock id */
"_New", "<control>N", /* label, accelerator */
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Open", GTK_STOCK_OPEN, /* name, stock id */
"_Open","<control>O", /* label, accelerator */
"Open a file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Save", GTK_STOCK_SAVE, /* name, stock id */
"_Save","<control>S", /* label, accelerator */
"Save current file", /* tooltip */
G_CALLBACK (activate_action) },
{ "SaveAs", GTK_STOCK_SAVE, /* name, stock id */
"Save _As...", NULL, /* label, accelerator */
"Save to a file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Quit", GTK_STOCK_QUIT, /* name, stock id */
"_Quit", "<control>Q", /* label, accelerator */
"Quit", /* tooltip */
G_CALLBACK (activate_action) },
{ "About", NULL, /* name, stock id */
"_About", "<control>A", /* label, accelerator */
"About", /* tooltip */
G_CALLBACK (activate_action) },
{ "Logo", "demo-gtk-logo", /* name, stock id */
NULL, NULL, /* label, accelerator */
"GTK+", /* tooltip */
G_CALLBACK (activate_action) },
};
static guint n_entries = G_N_ELEMENTS (entries);
static GtkToggleActionEntry toggle_entries[] = {
{ "Bold", GTK_STOCK_BOLD, /* name, stock id */
"_Bold", "<control>B", /* label, accelerator */
"Bold", /* tooltip */
G_CALLBACK (activate_action),
TRUE }, /* is_active */
};
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
enum {
COLOR_RED,
COLOR_GREEN,
COLOR_BLUE
};
static GtkRadioActionEntry color_entries[] = {
{ "Red", NULL, /* name, stock id */
"_Red", "<control>R", /* label, accelerator */
"Blood", COLOR_RED }, /* tooltip, value */
{ "Green", NULL, /* name, stock id */
"_Green", "<control>G", /* label, accelerator */
"Grass", COLOR_GREEN }, /* tooltip, value */
{ "Blue", NULL, /* name, stock id */
"_Blue", "<control>B", /* label, accelerator */
"Sky", COLOR_BLUE }, /* tooltip, value */
};
static guint n_color_entries = G_N_ELEMENTS (color_entries);
enum {
SHAPE_SQUARE,
SHAPE_RECTANGLE,
SHAPE_OVAL
};
static GtkRadioActionEntry shape_entries[] = {
{ "Square", NULL, /* name, stock id */
"_Square", "<control>S", /* label, accelerator */
"Square", SHAPE_SQUARE }, /* tooltip, value */
{ "Rectangle", NULL, /* name, stock id */
"_Rectangle", "<control>R", /* label, accelerator */
"Rectangle", SHAPE_RECTANGLE }, /* tooltip, value */
{ "Oval", NULL, /* name, stock id */
"_Oval", "<control>O", /* label, accelerator */
"Egg", SHAPE_OVAL }, /* tooltip, value */
};
static guint n_shape_entries = G_N_ELEMENTS (shape_entries);
static const gchar *ui_info =
"<ui>"
" <menubar name='MenuBar'>"
" <menu action='FileMenu'>"
" <menuitem action='New'/>"
" <menuitem action='Open'/>"
" <menuitem action='Save'/>"
" <menuitem action='SaveAs'/>"
" <separator/>"
" <menuitem action='Quit'/>"
" </menu>"
" <menu action='PreferencesMenu'>"
" <menu action='ColorMenu'>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"
" <menuitem action='Blue'/>"
" </menu>"
" <menu action='ShapeMenu'>"
" <menuitem action='Square'/>"
" <menuitem action='Rectangle'/>"
" <menuitem action='Oval'/>"
" </menu>"
" <menuitem action='Bold'/>"
" </menu>"
" <menu action='HelpMenu'>"
" <menuitem action='About'/>"
" </menu>"
" </menubar>"
" <toolbar name='ToolBar'>"
" <toolitem action='Open'/>"
" <toolitem action='Quit'/>"
" <separator action='Sep1'/>"
" <toolitem action='Logo'/>"
" </toolbar>"
"</ui>";
GtkWidget *
do_ui_manager (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
if (!window)
{
GtkWidget *box1;
GtkWidget *box2;
GtkWidget *separator;
GtkWidget *label;
GtkWidget *button;
GtkUIManager *ui;
GtkActionGroup *actions;
GError *error = NULL;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "delete-event",
G_CALLBACK (gtk_true), NULL);
actions = gtk_action_group_new ("Actions");
gtk_action_group_add_actions (actions, entries, n_entries, NULL);
gtk_action_group_add_toggle_actions (actions,
toggle_entries, n_toggle_entries,
NULL);
gtk_action_group_add_radio_actions (actions,
color_entries, n_color_entries,
COLOR_RED,
G_CALLBACK (activate_radio_action),
NULL);
gtk_action_group_add_radio_actions (actions,
shape_entries, n_shape_entries,
SHAPE_OVAL,
G_CALLBACK (activate_radio_action),
NULL);
ui = gtk_ui_manager_new ();
gtk_ui_manager_insert_action_group (ui, actions, 0);
gtk_window_add_accel_group (GTK_WINDOW (window),
gtk_ui_manager_get_accel_group (ui));
gtk_window_set_title (GTK_WINDOW (window), "UI Manager");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
if (!gtk_ui_manager_add_ui_from_string (ui, ui_info, -1, &error))
{
g_message ("building menus failed: %s", error->message);
g_error_free (error);
}
box1 = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_box_pack_start (GTK_BOX (box1),
gtk_ui_manager_get_widget (ui, "/MenuBar"),
FALSE, FALSE, 0);
label = gtk_label_new ("Type\n<alt>\nto start");
gtk_widget_set_size_request (label, 200, 200);
gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5);
gtk_box_pack_start (GTK_BOX (box1), label, TRUE, TRUE, 0);
separator = gtk_hseparator_new ();
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
box2 = gtk_vbox_new (FALSE, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
button = gtk_button_new_with_label ("close");
g_signal_connect_swapped (button, "clicked",
G_CALLBACK (gtk_widget_destroy), window);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
gtk_widget_grab_default (button);
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -1,4 +1,3 @@
#include <config.h>
#include <glib.h>
#include <sys/stat.h>
@@ -16,5 +15,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);
putenv ("GDK_PIXBUF_MODULE_FILE=../gdk-pixbuf/gdk-pixbuf.loaders");
}

View File

@@ -67,96 +67,18 @@ compare_pixbufs (GdkPixbuf *pixbuf, GdkPixbuf *compare, const gchar *file_type)
}
}
static gboolean
save_to_loader (const gchar *buf, gsize count, GError **err, gpointer data)
{
GdkPixbufLoader *loader = data;
return gdk_pixbuf_loader_write (loader, buf, count, err);
}
static GdkPixbuf *
buffer_to_pixbuf (const gchar *buf, gsize count, GError **err)
{
GdkPixbufLoader *loader;
GdkPixbuf *pixbuf;
loader = gdk_pixbuf_loader_new ();
if (gdk_pixbuf_loader_write (loader, buf, count, err) &&
gdk_pixbuf_loader_close (loader, err)) {
pixbuf = g_object_ref (gdk_pixbuf_loader_get_pixbuf (loader));
g_object_unref (loader);
return pixbuf;
} else {
return NULL;
}
}
static void
do_compare (GdkPixbuf *pixbuf, GdkPixbuf *compare, GError *err)
{
if (compare == NULL) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
compare_pixbufs (pixbuf, compare, "jpeg");
g_object_unref (compare);
}
}
static void
keypress_check (GtkWidget *widget, GdkEventKey *evt, gpointer data)
{
GdkPixbuf *pixbuf;
GtkDrawingArea *da = (GtkDrawingArea*)data;
GError *err = NULL;
gchar *buffer;
gsize count;
GdkPixbufLoader *loader;
pixbuf = (GdkPixbuf *) g_object_get_data (G_OBJECT (da), "pixbuf");
if (evt->keyval == 'q')
gtk_main_quit ();
if (evt->keyval == 's' && (evt->state & GDK_CONTROL_MASK)) {
/* save to callback */
if (pixbuf == NULL) {
fprintf (stderr, "PIXBUF NULL\n");
return;
}
loader = gdk_pixbuf_loader_new ();
if (!gdk_pixbuf_save_to_callback (pixbuf, save_to_loader, loader, "jpeg",
&err,
"quality", "100",
NULL) ||
!gdk_pixbuf_loader_close (loader, &err)) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare (pixbuf,
g_object_ref (gdk_pixbuf_loader_get_pixbuf (loader)),
err);
g_object_unref (loader);
}
}
else if (evt->keyval == 'S') {
/* save to buffer */
if (!gdk_pixbuf_save_to_buffer (pixbuf, &buffer, &count, "jpeg",
&err,
"quality", "100",
NULL)) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare (pixbuf,
buffer_to_pixbuf (buffer, count, &err),
err);
}
}
else if (evt->keyval == 's') {
/* save normally */
if (evt->keyval == 's') {
if (pixbuf == NULL) {
fprintf (stderr, "PIXBUF NULL\n");
return;
@@ -169,49 +91,20 @@ keypress_check (GtkWidget *widget, GdkEventKey *evt, gpointer data)
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare (pixbuf,
gdk_pixbuf_new_from_file ("foo.jpg", &err),
err);
}
}
GdkPixbuf *compare;
if (evt->keyval == 'p' && (evt->state & GDK_CONTROL_MASK)) {
/* save to callback */
if (pixbuf == NULL) {
fprintf (stderr, "PIXBUF NULL\n");
return;
}
compare = gdk_pixbuf_new_from_file ("foo.jpg", &err);
loader = gdk_pixbuf_loader_new ();
if (!gdk_pixbuf_save_to_callback (pixbuf, save_to_loader, loader, "png",
&err,
"tEXt::Software", "testpixbuf-save",
NULL)
|| !gdk_pixbuf_loader_close (loader, &err)) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare (pixbuf,
g_object_ref (gdk_pixbuf_loader_get_pixbuf (loader)),
err);
g_object_unref (loader);
if (!compare) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
compare_pixbufs (pixbuf, compare, "jpeg");
g_object_unref (compare);
}
}
}
else if (evt->keyval == 'P') {
/* save to buffer */
if (!gdk_pixbuf_save_to_buffer (pixbuf, &buffer, &count, "png",
&err,
"tEXt::Software", "testpixbuf-save",
NULL)) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare (pixbuf,
buffer_to_pixbuf (buffer, count, &err),
err);
}
}
else if (evt->keyval == 'p') {
} else if (evt->keyval == 'p') {
if (pixbuf == NULL) {
fprintf (stderr, "PIXBUF NULL\n");
return;
@@ -224,65 +117,20 @@ keypress_check (GtkWidget *widget, GdkEventKey *evt, gpointer data)
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare(pixbuf,
gdk_pixbuf_new_from_file ("foo.png", &err),
err);
}
}
GdkPixbuf *compare;
if (evt->keyval == 'i' && (evt->state & GDK_CONTROL_MASK)) {
/* save to callback */
if (pixbuf == NULL) {
fprintf (stderr, "PIXBUF NULL\n");
return;
}
compare = gdk_pixbuf_new_from_file ("foo.png", &err);
loader = gdk_pixbuf_loader_new ();
if (!gdk_pixbuf_save_to_callback (pixbuf, save_to_loader, loader, "ico",
&err,
NULL)
|| !gdk_pixbuf_loader_close (loader, &err)) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare (pixbuf,
g_object_ref (gdk_pixbuf_loader_get_pixbuf (loader)),
err);
g_object_unref (loader);
if (!compare) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
compare_pixbufs (pixbuf, compare, "png");
g_object_unref (compare);
}
}
}
else if (evt->keyval == 'I') {
/* save to buffer */
if (!gdk_pixbuf_save_to_buffer (pixbuf, &buffer, &count, "ico",
&err,
NULL)) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare (pixbuf,
buffer_to_pixbuf (buffer, count, &err),
err);
}
}
else if (evt->keyval == 'i') {
if (pixbuf == NULL) {
fprintf (stderr, "PIXBUF NULL\n");
return;
}
if (!gdk_pixbuf_save (pixbuf, "foo.ico", "ico",
&err,
NULL)) {
fprintf (stderr, "%s", err->message);
g_error_free (err);
} else {
do_compare(pixbuf,
gdk_pixbuf_new_from_file ("foo.ico", &err),
err);
}
}
if (evt->keyval == 'a') {
} else if (evt->keyval == 'a') {
if (pixbuf == NULL) {
fprintf (stderr, "PIXBUF NULL\n");
return;

View File

@@ -1,4 +1,3 @@
#include <config.h>
#include <gtk/gtk.h>
#include <stdio.h>
@@ -12,12 +11,7 @@ GtkWidget *darea;
void
set_interp_type (GtkWidget *widget, gpointer data)
{
guint types[] = { GDK_INTERP_NEAREST,
GDK_INTERP_BILINEAR,
GDK_INTERP_TILES,
GDK_INTERP_HYPER };
interp_type = types[gtk_combo_box_get_active (GTK_COMBO_BOX (widget))];
interp_type = GPOINTER_TO_UINT (data);
gtk_widget_queue_draw (darea);
}
@@ -64,7 +58,7 @@ int
main(int argc, char **argv)
{
GtkWidget *window, *vbox;
GtkWidget *combo_box;
GtkWidget *menuitem, *optionmenu, *menu;
GtkWidget *alignment;
GtkWidget *hbox, *label, *hscale;
GtkAdjustment *adjustment;
@@ -101,18 +95,37 @@ main(int argc, char **argv)
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
combo_box = gtk_combo_box_new_text ();
menu = gtk_menu_new ();
menuitem = gtk_menu_item_new_with_label ("NEAREST");
g_signal_connect (menuitem, "activate",
G_CALLBACK (set_interp_type),
GUINT_TO_POINTER (GDK_INTERP_NEAREST));
gtk_widget_show (menuitem);
gtk_container_add (GTK_CONTAINER (menu), menuitem);
menuitem = gtk_menu_item_new_with_label ("BILINEAR");
g_signal_connect (menuitem, "activate",
G_CALLBACK (set_interp_type),
GUINT_TO_POINTER (GDK_INTERP_BILINEAR));
gtk_widget_show (menuitem);
gtk_container_add (GTK_CONTAINER (menu), menuitem);
menuitem = gtk_menu_item_new_with_label ("TILES");
g_signal_connect (menuitem, "activate",
G_CALLBACK (set_interp_type),
GUINT_TO_POINTER (GDK_INTERP_TILES));
gtk_container_add (GTK_CONTAINER (menu), menuitem);
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "NEAREST");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "BILINEAR");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "TILES");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "HYPER");
menuitem = gtk_menu_item_new_with_label ("HYPER");
g_signal_connect (menuitem, "activate",
G_CALLBACK (set_interp_type),
GUINT_TO_POINTER (GDK_INTERP_HYPER));
gtk_container_add (GTK_CONTAINER (menu), menuitem);
gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 1);
g_signal_connect (combo_box, "changed",
G_CALLBACK (set_interp_type),
NULL);
optionmenu = gtk_option_menu_new ();
gtk_option_menu_set_menu (GTK_OPTION_MENU (optionmenu), menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (optionmenu), 1);
alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.5);
gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);
@@ -131,7 +144,7 @@ main(int argc, char **argv)
gtk_scale_set_digits (GTK_SCALE (hscale), 0);
gtk_box_pack_start (GTK_BOX (hbox), hscale, TRUE, TRUE, 0);
gtk_container_add (GTK_CONTAINER (alignment), combo_box);
gtk_container_add (GTK_CONTAINER (alignment), optionmenu);
gtk_widget_show_all (vbox);
/* Compute the size without the drawing area, so we know how big to make the default size */

View File

@@ -427,7 +427,7 @@ new_testrgb_window (GdkPixbuf *pixbuf, gchar *title)
gtk_widget_show (window);
return drawing_area;
return window;
}
@@ -439,8 +439,7 @@ update_timeout (gpointer data)
GError *error;
done = FALSE;
error = NULL;
error = FALSE;
if (!feof (status->imagefile)) {
gint nbytes;
@@ -448,6 +447,7 @@ update_timeout (gpointer data)
status->imagefile);
error = NULL;
if (!gdk_pixbuf_loader_write (GDK_PIXBUF_LOADER (status->loader), status->buf, nbytes, &error)) {
g_warning ("Error writing to loader: %s",
error->message);
@@ -458,7 +458,7 @@ update_timeout (gpointer data)
}
else
done = TRUE;
done = TRUE;
if (done) {
/* ignoring errors, we should not do that. */
@@ -508,7 +508,7 @@ extern void pixbuf_init ();
void size_func (GdkPixbufLoader *loader, gint width, gint height, gpointer data)
{
gdk_pixbuf_loader_set_size (loader, width*2, height*2);
gdk_pixbuf_loader_set_size (loader, width*2, height*2);
}
@@ -525,7 +525,7 @@ main (int argc, char **argv)
gtk_init (&argc, &argv);
// gdk_rgb_set_verbose (TRUE);
gdk_rgb_set_verbose (TRUE);
gtk_widget_set_default_colormap (gdk_rgb_get_colormap ());
@@ -611,10 +611,8 @@ main (int argc, char **argv)
status.buf = g_malloc (readlen);
#if 0
g_signal_connect (pixbuf_loader, "size_prepared",
G_CALLBACK (size_func), NULL);
#endif
g_signal_connect (pixbuf_loader, "area_prepared",
G_CALLBACK (progressive_prepared_callback),

View File

@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = tutorial faq reference tools
SUBDIRS = tutorial faq reference
EXTRA_DIST = \
defsformat.txt \
@@ -11,7 +11,6 @@ EXTRA_DIST = \
sizing-test.txt \
styles.txt \
text_widget.txt \
text_widget_internals.txt \
tree-column-sizing.txt \
widget_geometry.txt \
widget_system.txt \

View File

@@ -4,8 +4,8 @@ How to do a GTK+ release?
Make sure you have Owen's special autoconf and libtool RPMs, available at:
http://people.redhat.com/otaylor/gtk/autotools/.
Also make sure you have the following packages installed with all their
dependencies (I used the RPM package names from RedHat 9):
Also make sure you have the following packages installed (I used the RPM
package names from RedHat 8.0):
* gtk-doc
* linuxdoc-tools
* docbook-utils
@@ -15,31 +15,23 @@ Without those packages make distcheck will *not* pass.
0) Blow away your gtk+ directory, check a new version out
1) autogen and build it, make sure to enable docs.
2) Update NEWS based on the various ChangeLog files
3) Verify that the version in configure.in has been bumped after the last
release. (Note that this is critical, a slip-up here will cause the soname
2) Update NEWS based on ChangeLog
3) Update version in configure.in, increase MICRO, interface and binary
age by 1. (Note that this is critical, a slip-up here will cause the soname
to change).
4) Make sure that make check is happy (If you don't do it here, make distcheck
will also catch it, but it is kind of disheartening to see make distcheck fail
due to an extraneous symbol after watching it build the docs for an hour...)
5) Add === Released 2.x.y === at the top of all ChangeLog files
6) make distcheck
7) Fix broken stuff found by 5) repeat
8) cvs commit; you'll have a bunch of po file changes, and maybe some
4) Add === Released 2.0.x === at the top of the ChangeLog
5) make mydistcheck
6) Fix broken stuff found by 4) repeat
7) cvs commit; you'll have a bunch of po file changes, and maybe some
doc changes too (NOTE: be sure to use cvs with compression, else you'll
end up waiting for a long time :).
9) If 7) fails because someone else committed inbetween, curse, cvs up,
8) If 7) fails because someone else committed inbetween, curse, cvs up
fix conflicts and go to 5)
10) type 'cvs tag GTK_2_x_y' in the toplevel directory
11) You now have the tarball, and the CVS tag, now upload the tarball to
9) type 'cvs tag GTK_2_0_9' in the toplevel directory
10) You now have the tarball, and the CVS tag, now upload the tarball to
gnome.org and gtk.org
12) Go to the gnome-announce list archives, find the last announce message,
11) Go to the gnome-announce list archives, find the last announce message,
create a new message in the same form, replacing version numbers, commentary
at the top about "what this release is about" and the Summary of changes.
13) Send it to gnome-announce-list, gtk-list, gtk-app-devel-list and
12) Send it to gnome-announce-list, gtk-list, gtk-app-devel-list and
gtk-devel-list. Set reply-to to gnome-hackers.
14) Bump the version number in configure.in.
15) Create a new milestone in bugzilla and move the remaining bugs from the
2.x.y milestone over to the new one.
16) Add a link to the release announcement to www.gtk.org which lives in
the gtk-web cvs module.

View File

@@ -2,18 +2,14 @@ EXTRA_DIST = \
gtk-faq.sgml
if HAVE_DOCBOOK
html:
if test -w $(srcdir); then \
(cd $(srcdir); \
db2html gtk-faq.sgml; \
test -d html && rm -r html; \
mv gtk-faq html); \
fi
html:
(cd $(srcdir); \
db2html gtk-faq.sgml; \
test -d html && rm -r html; \
mv gtk-faq html)
pdf:
if test -w $(srcdir); then \
(cd $(srcdir); db2pdf gtk-faq.sgml); \
fi
(cd $(srcdir); db2pdf gtk-faq.sgml)
dist-hook: html
cp -Rp $(srcdir)/html $(distdir)
@@ -30,7 +26,7 @@ pdf:
dist-hook:
echo "***"
echo "*** Warning: FAQ not built"
echo "*** Warning: Tutorial not built"
echo "*** DISTRIBUTION IS INCOMPLETE"
echo "***"
endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -9,7 +9,6 @@ gdk-pixbuf.hierarchy
gdk-pixbuf.interfaces
gdk-pixbuf.prerequisites
gdk-pixbuf.signals
deprecated
html
xml
*.stamp

View File

@@ -1,18 +1,22 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gdk-pixbuf
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gdk-pixbuf.sgml
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../gdk-pixbuf
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--source-dir=../../../contrib/gdk-pixbuf-xlib --deprecated-guards="GDK_PIXBUF_ENABLE_BROKEN|GDK_PIXBUF_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../gdk-pixbuf
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/gdk-pixbuf/*.h $(top_srcdir)/contrib/gdk-pixbuf-xlib/*.h
@@ -21,7 +25,6 @@ CFILE_GLOB=$(top_srcdir)/gdk-pixbuf/*.c $(top_srcdir)/contrib/gdk-pixbuf-xlib/*.
# Header files to ignore when scanning
IGNORE_HFILES= \
pixops \
gdk-pixbuf-alias.h \
gdk-pixbuf-marshal.h \
gdk-pixbuf-xlib-private.h \
gdk-pixbuf-i18n.h \
@@ -30,22 +33,11 @@ IGNORE_HFILES= \
io-ani-animation.h \
test-images.h
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
# Extra files to add when scanning
EXTRA_HFILES=
GTKDOC_LIBS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(GTK_DEP_LIBS)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--main-sgml-file=$(DOC_MAIN_SGML_FILE) --sgml-mode --source-dir=../../../contrib/gdk-pixbuf-xlib --output-format=xml
# Images to copy into HTML directory
HTML_IMAGES =
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
@@ -53,41 +45,160 @@ content_files = \
gdk-pixbuf-from-drawables.sgml \
gdk-pixbuf-rendering.sgml \
gdk-pixbuf.sgml \
porting-from-imlib.sgml \
gdk-pixbuf-csource.xml \
gdk-pixbuf-query-loaders.xml
# Images to copy into HTML directory
HTML_IMAGES = composite.png
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
include $(top_srcdir)/gtk-doc.make
porting-from-imlib.sgml
# Other files to distribute
EXTRA_DIST += version.xml.in \
composite.png \
composite.dia \
apple-red-1a.png \
apple-red-2c.png \
gnome-gmush-1.png
extra_files = version.xml.in
########################################################################
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
GTKDOC_CFLAGS = @STRIP_BEGIN@ \
@CFLAGS@ \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
@GTK_DEBUG_FLAGS@ \
@GTK_DEP_CFLAGS@ \
@STRIP_END@
man_MANS = gdk-pixbuf-csource.1 gdk-pixbuf-query-loaders.1
GTKDOC_LIBS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
@GTK_DEP_LIBS@ \
@STRIP_END@
if ENABLE_MAN
GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
%.1 : %.xml
@XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
####################################
# Everything below here is generic #
####################################
# We set GPATH here; this gives us semantics for GNU make
# which are more like other make's VPATH, when it comes to
# whether a source that is a target of one rule is then
# searched for in VPATH/GPATH.
#
GPATH = $(srcdir)
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
EXTRA_DIST = \
$(content_files) \
$(extra_files) \
$(HTML_IMAGES) \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE).types \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
$(DOC_MODULE).signals
if ENABLE_GTK_DOC
all-local: html-build.stamp
#### scan ####
scan-build.stamp: $(HFILE_GLOB)
@echo '*** Scanning header files ***'
if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
else \
cd $(srcdir) ; \
for i in $(SCANOBJ_FILES) ; do \
test -f $$i || touch $$i ; \
done \
fi
cd $(srcdir) && \
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
touch scan-build.stamp
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
@true
#### templates ####
tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
@echo '*** Rebuilding template files ***'
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
touch tmpl-build.stamp
tmpl.stamp: tmpl-build.stamp
@true
#### sgml ####
sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
@echo '*** Building SGML ***'
cd $(srcdir) && \
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
touch sgml-build.stamp
sgml.stamp: sgml-build.stamp
@true
#### html ####
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
@echo '*** Building HTML ***'
rm -rf $(srcdir)/html
mkdir $(srcdir)/html
cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
@echo '-- Fixing Crossreferences'
cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
touch html-build.stamp
endif
BUILT_EXTRA_DIST = $(man_MANS)
##############
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
clean-local:
rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS)
maintainer-clean-local: clean
cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
(installfiles=`echo $(srcdir)/html/*`; \
if test "$$installfiles" = '$(srcdir)/html/*'; \
then echo '-- Nothing to install' ; \
else \
for i in $$installfiles; do \
echo '-- Installing '$$i ; \
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
echo '-- Installing $(srcdir)/html/index.sgml' ; \
$(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
fi)
#
# Require gtk-doc when making dist
#
if ENABLE_GTK_DOC
dist-check-gtkdoc:
else
dist-check-gtkdoc:
@echo "*** gtk-doc must be installed and enabled in order to make dist"
@false
endif
dist-hook: dist-check-gtkdoc dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/xml
mkdir $(distdir)/html
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/xml/*.xml $(distdir)/xml
-cp $(srcdir)/html/* $(distdir)/html
.PHONY : dist-hook-local

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

View File

@@ -1,118 +0,0 @@
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GDK-PIXBUF-CSOURCE" 1 "" "" ""
.SH NAME
gdk-pixbuf-csource \- C code generation utility for GdkPixbuf images
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 19
\fBgdk\-pixbuf\-csource\fR [options] [image]
.ad
.hy
.ad l
.hy 0
.HP 19
\fBgdk\-pixbuf\-csource\fR [options] \-\-build\-list [[name]\ [image]...]
.ad
.hy
.SH "DESCRIPTION"
.PP
\fBgdk\-pixbuf\-csource\fR is a small utility that generates C code containing images, useful for compiling images directly into programs\&.
.SH "INVOCATION"
.PP
\fBgdk\-pixbuf\-csource\fR either takes as input one image file name to generate code for, or, using the \fB\-\-build\-list\fR option, a list of (\fIname\fR, \fIimage\fR) pairs to generate code for a list of images into named variables\&.
.SS "Options"
.TP
\fB\-\-stream\fR
Generate pixbuf data stream (a single string containing a serialized GdkPixdata structure in network byte order)\&.
.TP
\fB\-\-struct\fR
Generate GdkPixdata structure (needs the GdkPixdata structure definition from \fIgdk\-pixdata\&.h\fR)\&.
.TP
\fB\-\-macros\fR
Generate *_ROWSTRIDE, *_WIDTH, *_HEIGHT, *_BYTES_PER_PIXEL and *_RLE_PIXEL_DATA or *_PIXEL_DATA macro definitions for the image\&.
.TP
\fB\-\-rle\fR
Enables run\-length encoding for the generated pixel data (default)\&.
.TP
\fB\-\-raw\fR
Disables run\-length encoding for the generated pixel data\&.
.TP
\fB\-\-extern\fR
Generate extern symbols\&.
.TP
\fB\-\-static\fR
Generate static symbols (default)\&.
.TP
\fB\-\-decoder\fR
Provide a *_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp) macro definition to decode run\-length encoded image data\&.
.TP
\fB\-\-name=identifier\fR
Specifies the identifier name (prefix) for the generated variables or macros (useful only if \fB\-\-build\-list\fR was not specified)\&.
.TP
\fB\-\-build\-list\fR
Enables (\fIname\fR, \fIimage\fR) pair parsing mode\&.
.TP
\fB\-h\fR, \fB\-\-help\fR
Print brief help and exit\&.
.TP
\fB\-v\fR, \fB\-\-version\fR
Print version and exit\&.
.TP
\fB\-\-g\-fatal\-warnings\fR
Make warnings fatal (causes the program to abort)\&.
.SH "SEE ALSO"
.PP
The GdkPixbuf documentation, shipped with the Gtk+ distribution, available from www\&.gtk\&.org: \fIhttp://www.gtk.org\fR\&.
.SH "BUGS"
.PP
The runlength encoder gets out of sync with the pixel boundaries, since it includes the rowstride padding in the encoded stream\&. Furthermore, it generates pixbufs with suboptimal rowstride in some cases\&.
.SH "AUTHOR"
.PP
\fBgdk\-pixbuf\-csource\fR was written by Tim Janik <timj@gtk\&.org>\&.
.PP
This manual page was provided by Tim Janik <timj@gtk\&.org>\&.

View File

@@ -1,173 +0,0 @@
<refentry id="gdk-pixbuf-csource">
<refmeta>
<refentrytitle>gdk-pixbuf-csource</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>gdk-pixbuf-csource</refname>
<refpurpose>C code generation utility for GdkPixbuf images</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>gdk-pixbuf-csource</command>
<arg choice="opt">options</arg>
<arg choice="opt">image</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>gdk-pixbuf-csource</command>
<arg choice="opt">options</arg>
<arg choice="plain">--build-list</arg>
<arg rep="repeat">
<arg>name</arg>
<arg>image</arg>
</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
<command>gdk-pixbuf-csource</command> is a small utility that generates C code
containing images, useful for compiling images directly into programs.
</para>
</refsect1>
<refsect1><title>Invocation</title>
<para>
<command>gdk-pixbuf-csource</command> either takes as input one image file name
to generate code for, or, using the <option>--build-list</option> option, a
list of (<replaceable>name</replaceable>, <replaceable>image</replaceable>)
pairs to generate code for a list of images into named variables.
</para>
<refsect2><title>Options</title>
<variablelist>
<varlistentry>
<term><option>--stream</option></term>
<listitem><para>
Generate pixbuf data stream (a single string containing a serialized
<structname>GdkPixdata</structname> structure in network byte order).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--struct</option></term>
<listitem><para>
Generate GdkPixdata structure (needs the <structname>GdkPixdata</structname>
structure definition from <filename>gdk-pixdata.h</filename>).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--macros</option></term>
<listitem><para>
Generate *_ROWSTRIDE, *_WIDTH, *_HEIGHT, *_BYTES_PER_PIXEL and
*_RLE_PIXEL_DATA or *_PIXEL_DATA macro definitions for the image.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--rle</option></term>
<listitem><para>
Enables run-length encoding for the generated pixel data (default).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--raw</option></term>
<listitem><para>
Disables run-length encoding for the generated pixel data.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--extern</option></term>
<listitem><para>
Generate extern symbols.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--static</option></term>
<listitem><para>
Generate static symbols (default).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--decoder</option></term>
<listitem><para>
Provide a *_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp) macro definition
to decode run-length encoded image data.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--name=identifier</option></term>
<listitem><para>
Specifies the identifier name (prefix) for the generated variables or
macros (useful only if <option>--build-list</option> was not specified).
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--build-list</option></term>
<listitem><para>
Enables (<replaceable>name</replaceable>, <replaceable>image</replaceable>)
pair parsing mode.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-h</option>, <option>--help</option></term>
<listitem><para>
Print brief help and exit.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-v</option>, <option>--version</option></term>
<listitem><para>
Print version and exit.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--g-fatal-warnings</option></term>
<listitem><para>
Make warnings fatal (causes the program to abort).
</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1><title>See also</title>
<para>
The <structname>GdkPixbuf</structname> documentation, shipped with the
Gtk+ distribution, available from <ulink url="http://www.gtk.org">www.gtk.org</ulink>.
</para>
</refsect1>
<refsect1><title>Bugs</title>
<para>
The runlength encoder gets out of sync with the pixel boundaries, since
it includes the rowstride padding in the encoded stream. Furthermore, it
generates pixbufs with suboptimal rowstride in some cases.
</para>
</refsect1>
<refsect1><title>Author</title>
<para>
<command>gdk-pixbuf-csource</command> was written by Tim Janik
<email>timj@gtk.org</email>.
</para>
<para>
This manual page was provided by Tim Janik <email>timj@gtk.org</email>.
</para>
</refsect1>
</refentry>

View File

@@ -1,49 +0,0 @@
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GDK-PIXBUF-QUERY" 1 "" "" ""
.SH NAME
gdk-pixbuf-query-loaders \- GdkPixbuf loader registration utility
.SH "SYNOPSIS"
.nf
\fBgdk-pixbuf-query-loaders\fR [module...]
.fi
.SH "DESCRIPTION"
.PP
\fBgdk-pixbuf-query-loaders\fR collects information about loadable modules for gdk-pixbuf and writes it to \fIstdout\fR\&.
.PP
If called without arguments, it looks for modules in the gdk-pixbuf loader directory\&.
.PP
If called with arguments, it looks for the specified modules\&. The arguments may be absolute or relative paths\&.
.SH "ENVIRONMENT"
.PP
The environment variable \fBGDK_PIXBUF_MODULEDIR\fR can be used to specify a different loader directory\&. The default gdk-pixbuf loader directory is \fI\fIlibdir\fR/gtk-2\&.0/\fIversion\fR/loaders\fR\&.
.SH "BUGS"
.PP
None known yet\&.

View File

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

View File

@@ -6,16 +6,10 @@
<SUBSECTION>
gdk_pixbuf_version
gdk_pixbuf_major_version
gdk_pixbuf_minor_version
gdk_pixbuf_micro_version
GDK_PIXBUF_VERSION
GDK_PIXBUF_MAJOR
GDK_PIXBUF_MINOR
GDK_PIXBUF_MICRO
<SUBSECTION Private>
GDK_PIXBUF_VAR
</SECTION>
<SECTION>
@@ -62,20 +56,12 @@ GdkPixbufDestroyNotify
<SECTION>
<FILE>file-loading</FILE>
gdk_pixbuf_new_from_file
gdk_pixbuf_new_from_file_at_size
gdk_pixbuf_new_from_file_at_scale
gdk_pixbuf_get_file_info
</SECTION>
<SECTION>
<FILE>file-saving</FILE>
gdk_pixbuf_savev
gdk_pixbuf_save
GdkPixbufSaveFunc
gdk_pixbuf_save_to_callback
gdk_pixbuf_save_to_callbackv
gdk_pixbuf_save_to_buffer
gdk_pixbuf_save_to_bufferv
</SECTION>
<SECTION>
@@ -150,17 +136,12 @@ gdk_pixbuf_scale
gdk_pixbuf_composite_color_simple
gdk_pixbuf_composite
gdk_pixbuf_composite_color
GdkPixbufRotation
gdk_pixbuf_rotate_simple
gdk_pixbuf_flip
<SUBSECTION Standard>
GDK_TYPE_INTERP_TYPE
GDK_TYPE_PIXBUF_ROTATION
<SUBSECTION Private>
gdk_interp_type_get_type
gdk_pixbuf_rotation_get_type
</SECTION>
<SECTION>
@@ -169,7 +150,6 @@ gdk_pixbuf_rotation_get_type
GdkPixbufLoader
gdk_pixbuf_loader_new
gdk_pixbuf_loader_new_with_type
gdk_pixbuf_loader_new_with_mime_type
gdk_pixbuf_loader_get_format
gdk_pixbuf_loader_write
gdk_pixbuf_loader_set_size
@@ -184,7 +164,6 @@ GDK_IS_PIXBUF_LOADER
GDK_PIXBUF_LOADER_CLASS
GDK_IS_PIXBUF_LOADER_CLASS
<SUBSECTION Private>
GdkPixbufLoaderClass
gdk_pixbuf_loader_get_type
</SECTION>
@@ -198,10 +177,6 @@ gdk_pixbuf_format_get_description
gdk_pixbuf_format_get_mime_types
gdk_pixbuf_format_get_extensions
gdk_pixbuf_format_is_writable
gdk_pixbuf_format_is_scalable
gdk_pixbuf_format_is_disabled
gdk_pixbuf_format_set_disabled
gdk_pixbuf_format_get_license
GdkPixbufFormat
GdkPixbufFormatFlags
GdkPixbufModulePattern

View File

@@ -25,8 +25,6 @@
<!ENTITY gdk-pixbuf "<application>gdk-pixbuf</application>">
<!ENTITY Imlib "<application>Imlib</application>">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY gdk-pixbuf-csource SYSTEM "gdk-pixbuf-csource.xml">
<!ENTITY gdk-pixbuf-query-loaders SYSTEM "gdk-pixbuf-query-loaders.xml">
]>
<book id="index">
@@ -116,36 +114,6 @@
&gdk-pixbuf-gdk-pixbuf-xlib-rgb;
</reference>
<reference>
<title>Tools Reference</title>
<partintro>
<para>
This part presents the tools which are shipped with the
&gdk-pixbuf; library.
</para>
</partintro>
&gdk-pixbuf-csource;
&gdk-pixbuf-query-loaders;
</reference>
<index>
<title>Index</title>
</index>
<index role="deprecated">
<title>Index of deprecated symbols</title>
</index>
<index role="2.2">
<title>Index of new symbols in 2.2</title>
</index>
<index role="2.4">
<title>Index of new symbols in 2.4</title>
</index>
<index role="2.6">
<title>Index of new symbols in 2.6</title>
</index>
&Porting-From-Imlib;
<!-- License -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -40,41 +40,3 @@ End:
-->
<!-- ##### FUNCTION gdk_pixbuf_new_from_file_at_size ##### -->
<para>
</para>
@filename:
@width:
@height:
@error:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_from_file_at_scale ##### -->
<para>
</para>
@filename:
@width:
@height:
@preserve_aspect_ratio:
@error:
@Returns:
<!-- # Unused Parameters # -->
@keep_aspect_ratio:
<!-- ##### FUNCTION gdk_pixbuf_get_file_info ##### -->
<para>
</para>
@filename:
@width:
@height:
@Returns:

View File

@@ -41,79 +41,3 @@ Saving a pixbuf to a file.
@Returns:
<!-- ##### USER_FUNCTION GdkPixbufSaveFunc ##### -->
<para>
Specifies the type of the function passed to
gdk_pixbuf_save_to_callback(). It is called once for each block of
bytes that is "written" by gdk_pixbuf_save_to_callback(). If
successful it should return %TRUE. If an error occurs it should set
@error and return %FALSE, in which case gdk_pixbuf_save_to_callback()
will fail with the same error.
</para>
@buf: bytes to be written.
@count: number of bytes in @buf.
@error: A location to return an error.
@data: user data passed to gdk_pixbuf_save_to_callback().
@Returns: %TRUE if successful, %FALSE (with @error set) if failed.
@Since: 2.4
<!-- ##### FUNCTION gdk_pixbuf_save_to_callback ##### -->
<para>
</para>
@pixbuf:
@save_func:
@user_data:
@type:
@error:
@Varargs:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_save_to_callbackv ##### -->
<para>
</para>
@pixbuf:
@save_func:
@user_data:
@type:
@option_keys:
@option_values:
@error:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_save_to_buffer ##### -->
<para>
</para>
@pixbuf:
@buffer:
@buffer_size:
@type:
@error:
@Varargs:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_save_to_bufferv ##### -->
<para>
</para>
@pixbuf:
@buffer:
@buffer_size:
@type:
@option_keys:
@option_values:
@error:
@Returns:

View File

@@ -76,36 +76,6 @@ fields.
</para>
<!-- ##### SIGNAL GdkPixbufLoader::area-prepared ##### -->
<para>
</para>
@gdkpixbufloader:
<!-- ##### SIGNAL GdkPixbufLoader::area-updated ##### -->
<para>
</para>
@gdkpixbufloader:
@arg1:
@arg2:
@arg3:
@arg4:
<!-- ##### SIGNAL GdkPixbufLoader::closed ##### -->
<para>
</para>
@gdkpixbufloader:
<!-- ##### SIGNAL GdkPixbufLoader::size-prepared ##### -->
<para>
</para>
@gdkpixbufloader:
@arg1:
@arg2:
<!-- ##### FUNCTION gdk_pixbuf_loader_new ##### -->
<para>
@@ -124,16 +94,6 @@ fields.
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_new_with_mime_type ##### -->
<para>
</para>
@mime_type:
@error:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_get_format ##### -->
<para>
@@ -192,6 +152,46 @@ fields.
@error:
@Returns:
<!-- ##### SIGNAL GdkPixbufLoader::area-prepared ##### -->
<para>
This signal is emitted when the pixbuf loader has allocated the pixbuf
in the desired size. After this signal is emitted, applications can
call gdk_pixbuf_loader_get_pixbuf() to fetch the partially-loaded pixbuf.
</para>
@gdkpixbufloader: the object which received the signal.
<!-- ##### SIGNAL GdkPixbufLoader::area-updated ##### -->
<para>
This signal is emitted when a significant area of the image being
loaded has been updated. Normally it means that a complete
scanline has been read in, but it could be a different area as
well. Applications can use this signal to know when to repaint
areas of an image that is being loaded.
</para>
@gdkpixbufloader: Loader which emitted the signal.
@arg1:
@arg2:
@arg3:
@arg4:
<!-- # Unused Parameters # -->
@x: X offset of upper-left corner of the updated area.
@y: Y offset of upper-left corner of the updated area.
@width: Width of updated area.
@height: Height of updated area.
<!-- ##### SIGNAL GdkPixbufLoader::closed ##### -->
<para>
This signal is emitted when gdk_pixbuf_loader_close() is called.
It can be used by different parts of an application to receive
notification when an image loader is closed by the code that
drives it.
</para>
@gdkpixbufloader: the object which received the signal.
<!--
Local variables:
mode: sgml
@@ -199,4 +199,19 @@ sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->
<!-- ##### SIGNAL GdkPixbufLoader::size-prepared ##### -->
<para>
This signal is emitted when the pixbuf loader has been fed the
initial amount of data that is required to figure out the size
of the image that it will create. Applications can call
gdk_pixbuf_loader_set_size() in response to this signal to set
the desired size to which the image should be scaled.
</para>
@gdkpixbufloader: the object which received the signal.
@arg1:
@arg2:
<!-- # Unused Parameters # -->
@width: the original width of the image
@height: the original height of the image

View File

@@ -11,81 +11,6 @@ Information that describes an image.
information that describes an image in memory.
</para>
<section id="image-data">
<title>Image Data</title>
<para>
Image data in a pixbuf is stored in memory in uncompressed,
packed format. Rows in the image are stored top to bottom, and
in each row pixels are stored from left to right. There may be
padding at the end of a row. The "rowstride" value of a pixbuf,
as returned by gdk_pixbuf_get_rowstride(), indicates the number
of bytes between rows.
</para>
<example id="put-pixel">
<title>put_pixel(<!-- -->) example</title>
<para>
The following code illustrates a simple put_pixel(<!-- -->)
function for RGB pixbufs with 8 bits per channel with an alpha
channel. It is not included in the gdk-pixbuf library for
performance reasons; rather than making several function calls
for each pixel, your own code can take shortcuts.
</para>
<programlisting>
static void
put_pixel (GdkPixbuf *pixbuf, int x, int y, guchar red, guchar green, guchar blue, guchar alpha)
{
int width, height, rowstride, n_channels;
guchar *pixels, *p;
n_channels = gdk_pixbuf_get_n_channels (pixbuf);
g_assert (gdk_pixbuf_get_colorspace (pixbuf) == GDK_COLORSPACE_RGB);
g_assert (gdk_pixbuf_get_bits_per_sample (pixbuf) == 8);
g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
g_assert (n_channels == 4);
width = gdk_pixbuf_get_width (pixbuf);
height = gdk_pixbuf_get_height (pixbuf);
g_assert (x &gt;= 0 &amp;&amp; x &lt; width);
g_assert (y &gt;= 0 &amp;&amp; y &lt; height);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
pixels = gdk_pixbuf_get_pixels (pixbuf);
p = pixels + y * rowstride + x * n_channels;
p[0] = red;
p[1] = green;
p[2] = blue;
p[3] = alpha;
}
</programlisting>
<para>
This function will not work for pixbufs with images that are
other than 8 bits per sample or channel, but it will work for
most of the pixbufs that GTK+ uses.
</para>
</example>
<note>
<para>
If you are doing memcpy() of raw pixbuf data, note that the
last row in the pixbuf may not be as wide as the full
rowstride, but rather just as wide as the pixel data needs to
be. That is, it is unsafe to do <literal>memcpy (dest,
pixels, rowstride * height)</literal> to copy a whole pixbuf.
Use gdk_pixbuf_copy() instead, or compute the width in bytes
of the last row as <literal>width * ((n_channels *
bits_per_sample + 7) / 8)</literal>.
</para>
</note>
</section>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
@@ -126,7 +51,7 @@ information on error domains and error codes.
<para>
These values can be passed to
gdk_pixbuf_render_to_drawable_alpha() to control how the alpha
channel of an image should be handled. This function can create a
chanel of an image should be handled. This function can create a
bilevel clipping mask (black and white) and use it while painting
the image. In the future, when the X Window System gets an alpha
channel extension, it will be possible to do full alpha
@@ -146,51 +71,10 @@ In the future it will do full alpha compositing.
This is the main structure in the &gdk-pixbuf; library. It is
used to represent images. It contains information about the
image's pixel data, its color space, bits per sample, width and
height, and the rowstride (the number of bytes between the start of
one row and the start of the next).
height, and the rowstride or number of bytes between rows.
</para>
<!-- ##### ARG GdkPixbuf:bits-per-sample ##### -->
<para>
</para>
<!-- ##### ARG GdkPixbuf:colorspace ##### -->
<para>
</para>
<!-- ##### ARG GdkPixbuf:has-alpha ##### -->
<para>
</para>
<!-- ##### ARG GdkPixbuf:height ##### -->
<para>
</para>
<!-- ##### ARG GdkPixbuf:n-channels ##### -->
<para>
</para>
<!-- ##### ARG GdkPixbuf:pixels ##### -->
<para>
</para>
<!-- ##### ARG GdkPixbuf:rowstride ##### -->
<para>
</para>
<!-- ##### ARG GdkPixbuf:width ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_get_colorspace ##### -->
<para>
@@ -278,11 +162,3 @@ End:
@Returns:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2")
End:
-->

View File

@@ -23,48 +23,6 @@ This is the version currently in use by a running program.
</para>
<!-- ##### VARIABLE gdk_pixbuf_major_version ##### -->
<para>
The major version number of the &gdk-pixbuf; library. (e.g. in
&gdk-pixbuf; version 1.2.5 this is 1.)
</para>
<para>
This variable is in the library, so represents the
&gdk-pixbuf; library you have linked against. Contrast with the
#GDK_PIXBUF_MAJOR macro, which represents the major version of the
&gdk-pixbuf; headers you have included.
</para>
<!-- ##### VARIABLE gdk_pixbuf_minor_version ##### -->
<para>
The minor version number of the &gdk-pixbuf; library. (e.g. in
&gdk-pixbuf; version 1.2.5 this is 2.)
</para>
<para>
This variable is in the library, so represents the
&gdk-pixbuf; library you have linked against. Contrast with the
#GDK_PIXBUF_MINOR macro, which represents the minor version of the
&gdk-pixbuf; headers you have included.
</para>
<!-- ##### VARIABLE gdk_pixbuf_micro_version ##### -->
<para>
The micro version number of the &gdk-pixbuf; library. (e.g. in
&gdk-pixbuf; version 1.2.5 this is 5.)
</para>
<para>
This variable is in the library, so represents the
&gdk-pixbuf; library you have linked against. Contrast with the
#GDK_PIXBUF_MICRO macro, which represents the micro version of the
&gdk-pixbuf; headers you have included.
</para>
<!-- ##### MACRO GDK_PIXBUF_VERSION ##### -->
<para>
Contains the full version of the &gdk-pixbuf; header as a string.

View File

@@ -18,8 +18,8 @@ a #GdkPixbufModuleFillVtableFunc function named
In order to make format-checking work before actually loading the modules
(which may require dlopening image libraries), modules export their
signatures (and other information) via the <function>fill_info</function>
function. An external utility, <command>gdk-pixbuf-query-loaders</command>,
uses this to create a text file containing a list of all available loaders and
function. An external utility, <command>gdk-pixbuf-query-loaders</command>, uses
this to create a text file containing a list of all available loaders and
their signatures. This file is then read at runtime by &gdk-pixbuf; to obtain
the list of available loaders and their signatures.
</para>
@@ -129,42 +129,6 @@ They are not covered by the same stability guarantees as the regular
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_format_is_scalable ##### -->
<para>
</para>
@format:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_format_is_disabled ##### -->
<para>
</para>
@format:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_format_set_disabled ##### -->
<para>
</para>
@format:
@disabled:
<!-- ##### FUNCTION gdk_pixbuf_format_get_license ##### -->
<para>
</para>
@format:
@Returns:
<!-- ##### STRUCT GdkPixbufFormat ##### -->
<para>
A #GdkPixbufFormat contains information about the image format accepted by a
@@ -180,9 +144,6 @@ use the <function>gdk_pixbuf_format_*</function> functions.
@extensions: a %NULL-terminated array of typical filename extensions for the
image format.
@flags: a combination of #GdkPixbufFormatFlags.
@disabled: a boolean determining whether the loader is disabled.
@license: a string containing license information, typically set to
shorthands like "GPL", "LGPL", etc.
@Since: 2.2
<!-- ##### ENUM GdkPixbufFormatFlags ##### -->
@@ -192,39 +153,23 @@ operations.
</para>
@GDK_PIXBUF_FORMAT_WRITABLE: the module can write out images in the format.
@GDK_PIXBUF_FORMAT_SCALABLE: the image format is scalable
@GDK_PIXBUF_FORMAT_THREADSAFE: the module is threadsafe. If this flag is not
set, &gdk-pixbuf; will use a lock to prevent multiple threads from using
this module at the same time. (Since 2.6)
@Since: 2.2
<!-- ##### STRUCT GdkPixbufModulePattern ##### -->
<para>
The signature of a module is a set of prefixes. Prefixes are encoded as
pairs of ordinary strings, where the second string, 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.
pairs of ordinary strings, where the second string, if not %NULL,
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>
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.
#GdkPixbufModulePattern<!-- -->s.
</para>
<informalexample><programlisting>
GdkPixbufModulePattern *signature[] = {
{ "abcdx", " !x z", 100 },
{ "bla", NULL, 90 },
{ NULL, NULL, 0 }
};
</programlisting>
The example matches e.g. "auud\0" with relevance 100, and "blau" with
relevance 90.</informalexample>
@prefix: the prefix for this pattern
@mask: mask containing bytes which modify how the prefix is matched against
test data
@@ -263,12 +208,6 @@ way to achieve the desired scaling during the loading of the image, it may
either ignore the size request, or only approximate it -- &gdk-pixbuf; will
then perform the required scaling on the completely loaded image.
</para>
<para>
If the function sets @width or @height to zero, the module should interpret
this as a hint that it will be closed soon and shouldn't allocate further
resources. This convention is used to implement gdk_pixbuf_get_file_info()
efficiently.
</para>
@width: pointer to a location containing the current image width
@height: pointer to a location containing the current image height
@@ -337,7 +276,6 @@ is loaded and must set the function pointers of the #GdkPixbufModule.
@load_increment: continues an incremental load.
@load_animation: loads an animation from a file.
@save: saves a #GdkPixbuf to a file.
@save_to_callback:
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
<para>

View File

@@ -200,34 +200,3 @@ End:
@color2:
<!-- ##### ENUM GdkPixbufRotation ##### -->
<para>
The possible rotations which can be passed to gdk_pixbuf_rotate_simple().
To make them easier to use, their numerical values are the actual degrees.
</para>
@GDK_PIXBUF_ROTATE_NONE: No rotation.
@GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE: Rotate by 90 degrees.
@GDK_PIXBUF_ROTATE_UPSIDEDOWN: Rotate by 180 degrees.
@GDK_PIXBUF_ROTATE_CLOCKWISE: Rotate by 270 degrees.
<!-- ##### FUNCTION gdk_pixbuf_rotate_simple ##### -->
<para>
</para>
@src:
@angle:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_flip ##### -->
<para>
</para>
@src:
@horizontal:
@Returns:

View File

@@ -9,7 +9,6 @@ gdk.hierarchy
gdk.interfaces
gdk.prerequisites
gdk.signals
deprecated
html
xml
*.stamp

View File

@@ -1,18 +1,22 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gdk
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gdk-docs.sgml
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../gdk
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="GDK_ENABLE_BROKEN|GDK_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../gdk
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/gdk/*.h $(top_srcdir)/gdk/x11/gdkx.h
@@ -20,7 +24,6 @@ CFILE_GLOB=$(top_srcdir)/gdk/*.c
# Header files to ignore when scanning
IGNORE_HFILES= \
gdkalias.h \
gdkintl.h \
gdkmarshalers.h \
gdkkeysyms.h \
@@ -37,30 +40,8 @@ IGNORE_HFILES= \
EXTRA_HFILES= \
../../../gdk/x11/gdkx.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
GTKDOC_LIBS = $(top_builddir)/gdk/$(gdktargetlib)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
version.xml \
multihead.sgml
# Images to copy into HTML directory
HTML_IMAGES = \
images/rotated-text.png \
\
images/X_cursor.png \
images/arrow.png \
images/based_arrow_down.png \
@@ -139,10 +120,161 @@ HTML_IMAGES = \
images/watch.png \
images/xterm.png
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html
include $(top_srcdir)/gtk-doc.make
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
version.xml \
multihead.sgml
# Other files to distribute
EXTRA_DIST += version.xml.in
extra_files = version.xml.in
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
GTKDOC_CFLAGS = @STRIP_BEGIN@ \
@CFLAGS@ \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
@GTK_DEBUG_FLAGS@ \
@GDK_DEP_CFLAGS@ \
@STRIP_END@
GTKDOC_LIBS = @STRIP_BEGIN@ \
$(top_builddir)/gdk/@gdktargetlib@ \
@STRIP_END@
# Commands for compiling and linking
GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
####################################
# Everything below here is generic #
####################################
# We set GPATH here; this gives us semantics for GNU make
# which are more like other make's VPATH, when it comes to
# whether a source that is a target of one rule is then
# searched for in VPATH/GPATH.
#
GPATH = $(srcdir)
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
EXTRA_DIST = \
$(content_files) \
$(extra_files) \
$(HTML_IMAGES) \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE).types \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
SCANOBJ_FILES = \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
$(DOC_MODULE).prerequisites \
$(DOC_MODULE).signals
if ENABLE_GTK_DOC
all-local: html-build.stamp
#### scan ####
scan-build.stamp: $(HFILE_GLOB)
@echo '*** Scanning header files ***'
if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
else \
cd $(srcdir) ; \
for i in $(SCANOBJ_FILES) ; do \
test -f $$i || touch $$i ; \
done \
fi
cd $(srcdir) && \
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
touch scan-build.stamp
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
@true
#### templates ####
tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
@echo '*** Rebuilding template files ***'
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
touch tmpl-build.stamp
tmpl.stamp: tmpl-build.stamp
@true
#### sgml ####
sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
@echo '*** Building SGML ***'
cd $(srcdir) && \
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
touch sgml-build.stamp
sgml.stamp: sgml-build.stamp
@true
#### html ####
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
@echo '*** Building HTML ***'
rm -rf $(srcdir)/html
mkdir $(srcdir)/html
cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
@echo '-- Fixing Crossreferences'
cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
touch html-build.stamp
endif
##############
clean-local:
rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS)
maintainer-clean-local: clean
cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
(installfiles=`echo $(srcdir)/html/*`; \
if test "$$installfiles" = '$(srcdir)/html/*'; \
then echo '-- Nothing to install' ; \
else \
for i in $$installfiles; do \
echo '-- Installing '$$i ; \
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
done; \
echo '-- Installing $(srcdir)/html/index.sgml' ; \
$(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
fi)
#
# Require gtk-doc when making dist
#
if ENABLE_GTK_DOC
dist-check-gtkdoc:
else
dist-check-gtkdoc:
@echo "*** gtk-doc must be installed and enabled in order to make dist"
@false
endif
dist-hook: dist-check-gtkdoc dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/xml
mkdir $(distdir)/html
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/xml/*.xml $(distdir)/xml
-cp $(srcdir)/html/* $(distdir)/html
.PHONY : dist-hook-local

View File

@@ -84,24 +84,4 @@
&gdk-X-Window-System-Interaction;
</reference>
<index>
<title>Index</title>
</index>
<index role="deprecated">
<title>Index of deprecated symbols</title>
</index>
<index role="2.2">
<title>Index of new symbols in 2.2</title>
</index>
<index role="2.4">
<title>Index of new symbols in 2.4</title>
</index>
<index role="2.6">
<title>Index of new symbols in 2.6</title>
</index>
<index role="2.6">
<title>Index of new symbols in 2.8</title>
</index>
</book>

View File

@@ -61,6 +61,8 @@ GDK_TYPE_GRAB_STATUS
<SUBSECTION Private>
GDK_TYPE_STATUS
<SUBSECTION Private>
GdkStatus
GDKVAR
gdk_axis_use_get_type
@@ -108,10 +110,6 @@ 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_add_option_entries_libgtk_only
gdk_pre_parse_libgtk_only
</SECTION>
<SECTION>
@@ -129,7 +127,6 @@ gdk_display_keyboard_ungrab
gdk_display_pointer_is_grabbed
gdk_display_beep
gdk_display_sync
gdk_display_flush
gdk_display_close
gdk_display_list_devices
gdk_display_get_event
@@ -137,33 +134,22 @@ gdk_display_peek_event
gdk_display_put_event
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_window_at_pointer
GdkDisplayPointerHooks
gdk_display_set_pointer_hooks
gdk_display_warp_pointer
gdk_display_supports_cursor_color
gdk_display_supports_cursor_alpha
gdk_display_get_default_cursor_size
gdk_display_get_maximal_cursor_size
gdk_display_get_default_group
gdk_display_supports_selection_notification
gdk_display_request_selection_notification
gdk_display_supports_clipboard_persistence
gdk_display_store_clipboard
<SUBSECTION Standard>
GDK_DISPLAY_OBJECT
GDK_IS_DISPLAY
GDK_TYPE_DISPLAY
gdk_display_get_type
GDK_DISPLAY_CLASS
GDK_IS_DISPLAY_CLASS
GDK_DISPLAY_GET_CLASS
<SUBSECTION Private>
gdk_display_open_default_libgtk_only
gdk_display_get_type
GdkDisplayClass
</SECTION>
<SECTION>
@@ -213,21 +199,14 @@ gdk_screen_get_monitor_at_point
gdk_screen_get_monitor_at_window
gdk_screen_broadcast_client_message
gdk_screen_get_setting
<SUBSECTION Spawning>
gdk_spawn_on_screen
gdk_spawn_on_screen_with_pipes
gdk_spawn_command_line_on_screen
<SUBSECTION Standard>
GDK_SCREEN
GDK_IS_SCREEN
GDK_TYPE_SCREEN
gdk_screen_get_type
GDK_SCREEN_CLASS
GDK_IS_SCREEN_CLASS
GDK_SCREEN_GET_CLASS
<SUBSECTION Private>
GdkScreenClass
gdk_screen_get_type
</SECTION>
<SECTION>
@@ -326,7 +305,6 @@ gdk_rgb_get_visual
gdk_rgb_get_colormap
gdk_rgb_get_cmap
gdk_rgb_ditherable
gdk_rgb_colormap_ditherable
gdk_rgb_set_verbose
<SUBSECTION Standard>
@@ -465,10 +443,7 @@ GdkSegment
gdk_draw_rectangle
gdk_draw_arc
gdk_draw_polygon
gdk_draw_trapezoids
GdkTrapezoid
gdk_draw_glyphs
gdk_draw_glyphs_transformed
gdk_draw_layout_line
gdk_draw_layout_line_with_colors
gdk_draw_layout
@@ -483,7 +458,6 @@ gdk_draw_pixmap
gdk_draw_drawable
gdk_draw_image
gdk_drawable_get_image
gdk_drawable_copy_to_image
<SUBSECTION Standard>
GDK_DRAWABLE
@@ -496,7 +470,6 @@ GDK_IS_DRAWABLE_CLASS
<SUBSECTION Private>
GdkDrawableClass
gdk_draw_bitmap
gdk_draw_rectangle_alpha_libgtk_only
</SECTION>
<SECTION>
@@ -636,8 +609,6 @@ gdk_window_maximize
gdk_window_unmaximize
gdk_window_fullscreen
gdk_window_unfullscreen
gdk_window_set_keep_above
gdk_window_set_keep_below
gdk_window_move
gdk_window_resize
gdk_window_move_resize
@@ -671,14 +642,10 @@ gdk_window_process_all_updates
gdk_window_process_updates
gdk_window_set_debug_updates
gdk_window_get_internal_paint_info
gdk_window_enable_synchronized_configure
gdk_window_configure_finished
<SUBSECTION>
gdk_window_set_user_data
gdk_window_set_override_redirect
gdk_window_set_accept_focus
gdk_window_set_focus_on_map
gdk_window_add_filter
gdk_window_remove_filter
GdkFilterFunc
@@ -726,7 +693,6 @@ gdk_window_set_icon_name
gdk_window_set_transient_for
gdk_window_set_role
gdk_window_set_group
gdk_window_get_group
gdk_window_set_decorations
gdk_window_get_decorations
GdkWMDecoration
@@ -831,14 +797,6 @@ GDK_TYPE_PROP_MODE
<SECTION>
<TITLE>Pango Interaction</TITLE>
<FILE>pango_interaction</FILE>
GdkPangoRenderer
GdkPangoRendererClass
gdk_pango_renderer_new
gdk_pango_renderer_get_default
gdk_pango_renderer_set_drawable
gdk_pango_renderer_set_gc
gdk_pango_renderer_set_stipple
gdk_pango_renderer_set_override_color
gdk_pango_context_get
gdk_pango_context_get_for_screen
gdk_pango_context_set_colormap
@@ -848,17 +806,6 @@ gdk_pango_attr_embossed_new
gdk_pango_attr_stipple_new
gdk_pango_layout_get_clip_region
gdk_pango_layout_line_get_clip_region
<SUBSECTION Standard>
GDK_TYPE_PANGO_RENDERER
GDK_PANGO_RENDERER
GDK_IS_PANGO_RENDERER
GDK_PANGO_RENDERER_CLASS
GDK_IS_PANGO_RENDERER_CLASS
GDK_PANGO_RENDERER_GET_CLASS
<SUBSECTION Private>
gdk_pango_renderer_get_type
GdkPangoRendererPrivate
</SECTION>
<SECTION>
@@ -920,11 +867,6 @@ gdk_threads_init
gdk_threads_enter
gdk_threads_leave
gdk_threads_mutex
gdk_threads_set_lock_functions
<SUBSECTION Private>
gdk_threads_lock
gdk_threads_unlock
</SECTION>
<SECTION>
@@ -1087,7 +1029,6 @@ GdkEventClient
GdkEventNoExpose
GdkEventWindowState
GdkEventSetting
GdkEventOwnerChange
<SUBSECTION>
GdkScrollDirection
@@ -1097,7 +1038,6 @@ GdkNotifyType
GdkPropertyState
GdkWindowState
GdkSettingAction
GdkOwnerChange
<SUBSECTION Standard>
GDK_TYPE_CROSSING_MODE
@@ -1108,11 +1048,9 @@ GDK_TYPE_SCROLL_DIRECTION
GDK_TYPE_SETTING_ACTION
GDK_TYPE_VISIBILITY_STATE
GDK_TYPE_WINDOW_STATE
GDK_TYPE_OWNER_CHANGE
<SUBSECTION Private>
gdk_event_get_type
gdk_owner_change_get_type
</SECTION>
<SECTION>
@@ -1122,7 +1060,6 @@ GdkCursor
GdkCursorType
gdk_cursor_new
gdk_cursor_new_from_pixmap
gdk_cursor_new_from_pixbuf
gdk_cursor_new_for_display
gdk_cursor_get_display
gdk_cursor_ref
@@ -1172,7 +1109,6 @@ gdk_drag_context_unref
GdkDragContext
GdkDragAction
gdk_drag_status
gdk_drag_drop_succeeded
<SUBSECTION Standard>
GDK_DRAG_CONTEXT
@@ -1190,7 +1126,6 @@ gdk_drag_context_get_type
</SECTION>
<SECTION>
<INCLUDE>gdk/gdkx.h</INCLUDE>
<TITLE>X Window System Interaction</TITLE>
<FILE>x_interaction</FILE>
GDK_ROOT_WINDOW
@@ -1239,8 +1174,6 @@ gdk_net_wm_supports
gdk_x11_screen_supports_net_wm_hint
gdk_x11_screen_get_window_manager_name
gdk_x11_screen_lookup_visual
gdk_x11_window_set_user_time
gdk_x11_display_get_user_time
gdk_x11_colormap_foreign_new
gdk_x11_colormap_get_xcolormap
gdk_x11_colormap_get_xdisplay
@@ -1249,7 +1182,6 @@ gdk_x11_cursor_get_xdisplay
gdk_x11_display_get_xdisplay
gdk_x11_display_grab
gdk_x11_display_ungrab
gdk_x11_register_standard_event_type
gdk_x11_drawable_get_xdisplay
gdk_x11_drawable_get_xid
gdk_x11_font_get_name

View File

@@ -5,7 +5,6 @@ gdk_display_manager_get_type
gdk_screen_get_type
gdk_drawable_get_type
gdk_window_object_get_type
gdk_pango_renderer_get_type
gdk_pixmap_get_type
gdk_gc_get_type
gdk_keymap_get_type

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -130,18 +130,6 @@ The standard cursors available.
@Returns:
<!-- ##### FUNCTION gdk_cursor_new_from_pixbuf ##### -->
<para>
</para>
@display:
@pixbuf:
@x:
@y:
@Returns:
<!-- ##### FUNCTION gdk_cursor_new_for_display ##### -->
<para>

View File

@@ -213,12 +213,3 @@ should do with the dropped data.
@time_:
<!-- ##### FUNCTION gdk_drag_drop_succeeded ##### -->
<para>
</para>
@context:
@Returns:

View File

@@ -19,12 +19,6 @@ the number of arguments needed for each drawing operation. See the
<link linkend="gdk-Graphics-Contexts">Graphics Contexts</link> section for
more information.
</para>
<para id="pango-data-structures">
Some of the drawing operations take Pango data structures like #PangoContext,
#PangoLayout or #PangoLayoutLine as arguments. If you're using GTK+, the ususal
way to obtain these structures is via gtk_widget_create_pango_context() or
gtk_widget_create_pango_layout().
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
@@ -285,31 +279,6 @@ function.
@npoints:
<!-- ##### FUNCTION gdk_draw_trapezoids ##### -->
<para>
</para>
@drawable:
@gc:
@trapezoids:
@n_trapezoids:
<!-- ##### STRUCT GdkTrapezoid ##### -->
<para>
Specifies a trapezpoid for use by the gdk_draw_trapezoids().
The trapezoids used here have parallel, horizontal top and
bottom edges.
</para>
@y1: the y coordinate of the start point.
@x11: the x coordinate of the top left corner
@x21: the x coordinate of the top right corner
@y2: the y coordinate of the end point.
@x12: the x coordinate of the bottom left corner
@x22: the x coordinate of the bottom right corner
<!-- ##### FUNCTION gdk_draw_glyphs ##### -->
<para>
@@ -323,20 +292,6 @@ bottom edges.
@glyphs:
<!-- ##### FUNCTION gdk_draw_glyphs_transformed ##### -->
<para>
</para>
@drawable:
@gc:
@matrix:
@font:
@x:
@y:
@glyphs:
<!-- ##### FUNCTION gdk_draw_layout_line ##### -->
<para>
@@ -432,7 +387,6 @@ bottom edges.
Draws a pixmap, or a part of a pixmap, onto another drawable.
</para>
@Deprecated: Use gdk_draw_drawable() instead.
<!-- ##### FUNCTION gdk_draw_drawable ##### -->
@@ -479,19 +433,3 @@ Draws a pixmap, or a part of a pixmap, onto another drawable.
@Returns:
<!-- ##### FUNCTION gdk_drawable_copy_to_image ##### -->
<para>
</para>
@drawable:
@image:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@Returns:

View File

@@ -88,8 +88,7 @@ Describes a key press or key release event.
@time: the time of the event in milliseconds.
@state: a bit-mask representing the state of the modifier keys (e.g. Control,
Shift and Alt) and the pointer buttons. See #GdkModifierType.
@keyval: the key that was pressed or released. See the
<filename>&lt;gdk/gdkkeysyms.h&gt;</filename>
@keyval: the key that was pressed or released. See the <filename>&lt;gdk/gdkkeysym.h&gt;</filename>
header file for a complete list of GDK key codes.
@length: the length of @string.
@string: a string containing the an approximation of the text that
@@ -204,8 +203,7 @@ Generated when the pointer moves.
the mouse.
@state: a bit-mask representing the state of the modifier keys (e.g. Control,
Shift and Alt) and the pointer buttons. See #GdkModifierType.
@is_hint: set to 1 if this event is just a hint, see the %GDK_POINTER_MOTION_HINT_MASK
value of #GdkEventMask.
@is_hint:
@device: the device where the event originated.
@x_root: the x coordinate of the pointer relative to the root of the screen.
@y_root: the y coordinate of the pointer relative to the root of the screen.
@@ -405,22 +403,6 @@ Generated when a setting is modified.
%GDK_SETTING_ACTION_CHANGED or %GDK_SETTING_ACTION_DELETED).
@name: the name of the setting.
<!-- ##### STRUCT GdkEventOwnerChange ##### -->
<para>
Generated when the owner of a selection changes. On X11, this information is
only available if the X server supports the XFIXES extension.
</para>
@type: the type of the event (%GDK_OWNER_CHANGE).
@window: the window which received the event
@send_event: %TRUE if the event was sent explicitly (e.g. using <function>XSendEvent</function>).
@owner: the new owner of the selection
@reason: the reason for the ownership change as a #GdkOwnerChange value
@selection: the atom identifying the selection
@time: the timestamp of the event
@selection_time: the time at which the selection ownership was taken over
@Since: 2.6
<!-- ##### ENUM GdkScrollDirection ##### -->
<para>
Specifies the direction for #GdkEventScroll.
@@ -489,9 +471,7 @@ Specifies the state of a toplevel window.
@GDK_WINDOW_STATE_ICONIFIED: the window is minimized.
@GDK_WINDOW_STATE_MAXIMIZED: the window is maximized.
@GDK_WINDOW_STATE_STICKY: the window is sticky.
@GDK_WINDOW_STATE_FULLSCREEN: the window is maximized without decorations.
@GDK_WINDOW_STATE_ABOVE: the window is kept above other windows.
@GDK_WINDOW_STATE_BELOW: the window is kept below other windows.
@GDK_WINDOW_STATE_FULLSCREEN:
<!-- ##### ENUM GdkSettingAction ##### -->
<para>
@@ -502,12 +482,3 @@ Specifies the kind of modification applied to a setting in a #GdkEventSetting.
@GDK_SETTING_ACTION_CHANGED: a setting was changed.
@GDK_SETTING_ACTION_DELETED: a setting was deleted.
<!-- ##### ENUM GdkOwnerChange ##### -->
<para>
Specifies why a selection ownership was changed.
</para>
@GDK_OWNER_CHANGE_NEW_OWNER: some other app claimed the ownership
@GDK_OWNER_CHANGE_DESTROY: the window was destroyed
@GDK_OWNER_CHANGE_CLOSE: the client was closed

View File

@@ -84,8 +84,6 @@ when parts of a drawable were copied. This is not very useful.
@GDK_SCROLL:
@GDK_WINDOW_STATE:
@GDK_SETTING:
@GDK_OWNER_CHANGE: the owner of a selection has changed. This event type
was added in 2.6
<!-- ##### ENUM GdkEventMask ##### -->
<para>
@@ -99,9 +97,8 @@ number of %GDK_MOTION_NOTIFY events received. Normally a %GDK_MOTION_NOTIFY
event is received each time the mouse moves. However, if the application
spends a lot of time processing the event (updating the display, for example),
it can easily lag behind the position of the mouse. When using the
%GDK_POINTER_MOTION_HINT_MASK the server will only send a single %GDK_MOTION_NOTIFY
event (which is marked as a hint) until the application asks for more, by calling
gdk_window_get_pointer().
%GDK_POINTER_MOTION_HINT_MASK the server will only send %GDK_MOTION_NOTIFY
events when the application asks for them, by calling gdk_window_get_pointer().
</para>
@GDK_EXPOSURE_MASK:

View File

@@ -44,10 +44,8 @@ The #GdkGCValues structure holds a set of values used
to create or modify a graphics context.
</para>
@foreground: the foreground color. Note that gdk_gc_get_values()
only sets the pixel value.
@background: the background color. Note that gdk_gc_get_values()
only sets the pixel value.
@foreground: the foreground color.
@background: the background color.
@font: the default font.
@function: the bitwise operation used when drawing.
@fill: the fill style.
@@ -119,21 +117,25 @@ useful. For bitmaps, %GDK_AND and %GDK_OR are also useful.
<!-- ##### FUNCTION gdk_gc_new ##### -->
<para>
Create a new graphics context with default values.
</para>
@drawable:
@Returns:
@drawable: a #GdkDrawable. The created GC must always be used
with drawables of the same depth as this one.
@Returns: the new graphics context.
<!-- ##### FUNCTION gdk_gc_new_with_values ##### -->
<para>
Create a new GC with the given initial values.
</para>
@drawable:
@values:
@values_mask:
@Returns:
@drawable: a #GdkDrawable. The created GC must always be used
with drawables of the same depth as this one.
@values: a structure containing initial values for the GC.
@values_mask: a bit mask indicating which fields in @values
are set.
@Returns: the new graphics context.
<!-- ##### FUNCTION gdk_gc_get_screen ##### -->
@@ -164,10 +166,10 @@ useful. For bitmaps, %GDK_AND and %GDK_OR are also useful.
<!-- ##### MACRO gdk_gc_destroy ##### -->
<para>
This function is obsolete and should not be used.
Identical to gdk_gc_unref(). This function is obsolete
and should not be used.
</para>
@Deprecated: Use gdk_object_unref() instead
<!-- # Unused Parameters # -->
@gc: a #GdkGC.
@@ -184,29 +186,29 @@ This function is obsolete and should not be used.
<!-- ##### FUNCTION gdk_gc_get_values ##### -->
<para>
Retrieves the current values from a graphics context.
</para>
@gc:
@values:
@gc: a #GdkGC.
@values: the #GdkGCValues structure in which to store the results.
<!-- ##### FUNCTION gdk_gc_set_foreground ##### -->
<para>
Sets the foreground color for a graphics context.
</para>
@gc:
@color:
@gc: a #GdkGC.
@color: the new foreground color.
<!-- ##### FUNCTION gdk_gc_set_background ##### -->
<para>
Sets the background color for a graphics context.
</para>
@gc:
@color:
@gc: a #GdkGC.
@color: the new background color.
<!-- ##### FUNCTION gdk_gc_set_rgb_fg_color ##### -->
@@ -229,29 +231,34 @@ This function is obsolete and should not be used.
<!-- ##### FUNCTION gdk_gc_set_font ##### -->
<para>
Sets the font for a graphics context. (Note that
all text-drawing functions in GDK take a @font
argument; the value set here is used when that
argument is %NULL.)
</para>
@gc:
@font:
@gc: a #GdkGC.
@font: the new font.
<!-- ##### FUNCTION gdk_gc_set_function ##### -->
<para>
Determines how the current pixel values and the
pixel values being drawn are combined to produce
the final pixel values.
</para>
@gc:
@gc: a #GdkGC.
@function:
<!-- ##### FUNCTION gdk_gc_set_fill ##### -->
<para>
Set the fill mode for a graphics context.
</para>
@gc:
@fill:
@gc: a #GdkGC.
@fill: the new fill mode.
<!-- ##### ENUM GdkFill ##### -->
@@ -272,75 +279,93 @@ Determines how primitives are drawn.
<!-- ##### FUNCTION gdk_gc_set_tile ##### -->
<para>
Set a tile pixmap for a graphics context.
This will only be used if the fill mode
is %GDK_TILED.
</para>
@gc:
@tile:
@gc: a #GdkGC.
@tile: the new tile pixmap.
<!-- ##### FUNCTION gdk_gc_set_stipple ##### -->
<para>
Set the stipple bitmap for a graphics context. The
stipple will only be used if the fill mode is
%GDK_STIPPLED or %GDK_OPAQUE_STIPPLED.
</para>
@gc:
@stipple:
@gc: a #GdkGC.
@stipple: the new stipple bitmap.
<!-- ##### FUNCTION gdk_gc_set_ts_origin ##### -->
<para>
Set the origin when using tiles or stipples with
the GC. The tile or stipple will be aligned such
that the upper left corner of the tile or stipple
will coincide with this point.
</para>
@gc:
@x:
@y:
@gc: a #GdkGC.
@x: the x-coordinate of the origin.
@y: the y-coordinate of the origin.
<!-- ##### FUNCTION gdk_gc_set_clip_origin ##### -->
<para>
Sets the origin of the clip mask. The coordinates are
interpreted relative to the upper-left corner of
the destination drawable of the current operation.
</para>
@gc:
@x:
@y:
@gc: a #GdkGC.
@x: the x-coordinate of the origin.
@y: the y-coordinate of the origin.
<!-- ##### FUNCTION gdk_gc_set_clip_mask ##### -->
<para>
Sets the clip mask for a graphics context from a bitmap.
The clip mask is interpreted relative to the clip
origin. (See gdk_gc_set_clip_origin()).
</para>
@gc:
@mask:
@gc: the #GdkGC.
@mask: a bitmap.
<!-- ##### FUNCTION gdk_gc_set_clip_rectangle ##### -->
<para>
Sets the clip mask for a graphics context from a
rectangle. The clip mask is interpreted relative to the clip
origin. (See gdk_gc_set_clip_origin()).
</para>
@gc:
@rectangle:
@gc: a #GdkGC.
@rectangle: the rectangle to clip to.
<!-- ##### FUNCTION gdk_gc_set_clip_region ##### -->
<para>
Sets the clip mask for a graphics context from a region structure.
The clip mask is interpreted relative to the clip origin. (See
gdk_gc_set_clip_origin()).
</para>
@gc:
@region:
@gc: a #GdkGC.
@region: the #GdkRegion.
<!-- ##### FUNCTION gdk_gc_set_subwindow ##### -->
<para>
Sets how drawing with this GC on a window will affect child
windows of that window.
</para>
@gc:
@mode:
@gc: a #GdkGC.
@mode: the subwindow mode.
<!-- ##### ENUM GdkSubwindowMode ##### -->
@@ -354,23 +379,28 @@ windows of that window.
<!-- ##### FUNCTION gdk_gc_set_exposures ##### -->
<para>
Sets whether copying non-visible portions of a drawable
using this graphics context generate exposure events
for the corresponding regions of the destination
drawable. (See gdk_draw_drawable()).
</para>
@gc:
@exposures:
@gc: a #GdkGC.
@exposures: if %TRUE, exposure events will be generated.
<!-- ##### FUNCTION gdk_gc_set_line_attributes ##### -->
<para>
Sets various attributes of how lines are drawn. See
the corresponding members of #GdkGCValues for full
explanations of the arguments.
</para>
@gc:
@line_width:
@line_style:
@cap_style:
@join_style:
@gc: a #GdkGC.
@line_width: the width of lines.
@line_style: the dash-style for lines.
@cap_style: the manner in which the ends of lines are drawn.
@join_style: the in which lines are joined together.
<!-- ##### ENUM GdkLineStyle ##### -->
@@ -410,22 +440,28 @@ Determines how the joins between segments of a polygon are drawn.
<!-- ##### FUNCTION gdk_gc_set_dashes ##### -->
<para>
Sets the way dashed-lines are drawn. Lines will be
drawn with alternating on and off segments of the
lengths specified in @dash_list. The manner in
which the on and off segments are drawn is determined
by the @line_style value of the GC. (This can
be changed with gdk_gc_set_line_attributes())
</para>
@gc:
@dash_offset:
@dash_list:
@n:
@gc: a #GdkGC.
@dash_offset: the
@dash_list: an array of dash lengths.
@n: the number of elements in @dash_list.
<!-- ##### FUNCTION gdk_gc_copy ##### -->
<para>
Copy the set of values from one graphics context
onto another graphics context.
</para>
@dst_gc:
@src_gc:
@dst_gc: the destination graphics context.
@src_gc: the source graphics context.
<!-- ##### FUNCTION gdk_gc_set_colormap ##### -->

View File

@@ -36,14 +36,6 @@ of an X display. All its fields are private and should not be accessed directly.
@Since: 2.2
<!-- ##### SIGNAL GdkDisplay::closed ##### -->
<para>
</para>
@gdkdisplay: the object which received the signal.
@arg1:
<!-- ##### FUNCTION gdk_display_open ##### -->
<para>
@@ -141,14 +133,6 @@ of an X display. All its fields are private and should not be accessed directly.
@display:
<!-- ##### FUNCTION gdk_display_flush ##### -->
<para>
</para>
@display:
<!-- ##### FUNCTION gdk_display_close ##### -->
<para>
@@ -213,15 +197,6 @@ of an X display. All its fields are private and should not be accessed directly.
@msec:
<!-- ##### FUNCTION gdk_display_set_double_click_distance ##### -->
<para>
</para>
@display:
@distance:
<!-- ##### FUNCTION gdk_display_get_pointer ##### -->
<para>
@@ -278,100 +253,11 @@ Applications should never have any reason to use this facility
@Returns:
<!-- ##### FUNCTION gdk_display_warp_pointer ##### -->
<!-- ##### SIGNAL GdkDisplay::closed ##### -->
<para>
</para>
@display:
@screen:
@x:
@y:
<!-- ##### FUNCTION gdk_display_supports_cursor_color ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_supports_cursor_alpha ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_get_default_cursor_size ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_get_maximal_cursor_size ##### -->
<para>
</para>
@display:
@width:
@height:
<!-- ##### FUNCTION gdk_display_get_default_group ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_supports_selection_notification ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_request_selection_notification ##### -->
<para>
</para>
@display:
@selection:
@Returns:
<!-- ##### FUNCTION gdk_display_supports_clipboard_persistence ##### -->
<para>
</para>
@display:
@Returns:
<!-- ##### FUNCTION gdk_display_store_clipboard ##### -->
<para>
</para>
@display:
@clipboard_window:
@time_:
@targets:
@n_targets:
@gdkdisplay: the object which received the signal.
@arg1:

View File

@@ -24,19 +24,6 @@ fields.
@Since: 2.2
<!-- ##### SIGNAL GdkDisplayManager::display-opened ##### -->
<para>
</para>
@gdkdisplaymanager: the object which received the signal.
@arg1:
<!-- ##### ARG GdkDisplayManager:default-display ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_display_manager_get ##### -->
<para>
@@ -81,3 +68,16 @@ fields.
@Returns:
<!-- ##### SIGNAL GdkDisplayManager::display-opened ##### -->
<para>
</para>
@gdkdisplaymanager: the object which received the signal.
@arg1:
<!-- ##### ARG GdkDisplayManager:default-display ##### -->
<para>
</para>

View File

@@ -31,13 +31,6 @@ when GDK gets multihead support.
@Since: 2.2
<!-- ##### SIGNAL GdkScreen::size-changed ##### -->
<para>
</para>
@gdkscreen: the object which received the signal.
<!-- ##### FUNCTION gdk_screen_get_default ##### -->
<para>
@@ -254,51 +247,10 @@ when GDK gets multihead support.
@Returns:
<!-- ##### FUNCTION gdk_spawn_on_screen ##### -->
<!-- ##### SIGNAL GdkScreen::size-changed ##### -->
<para>
</para>
@screen:
@working_directory:
@argv:
@envp:
@flags:
@child_setup:
@user_data:
@child_pid:
@error:
@Returns:
<!-- ##### FUNCTION gdk_spawn_on_screen_with_pipes ##### -->
<para>
</para>
@screen:
@working_directory:
@argv:
@envp:
@flags:
@child_setup:
@user_data:
@child_pid:
@standard_input:
@standard_output:
@standard_error:
@error:
@Returns:
<!-- ##### FUNCTION gdk_spawn_command_line_on_screen ##### -->
<para>
</para>
@screen:
@command_line:
@error:
@Returns:
@gdkscreen: the object which received the signal.

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