Compare commits

..

266 Commits

Author SHA1 Message Date
Owen Taylor
257e0f26ef Rip out support for multiple locales; that simple doesn't work reliably
Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>

	* modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
	out support for multiple locales; that simple doesn't
	work reliably with current Xlib

	* gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
	gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c:
	Add support for positioning the cursor within the preedit string.

	* modules/input/gtkimcontextxim.[ch]:
2000-09-19 15:17:13 +00:00
Owen Taylor
f787ebb03f Start at XIM input method module.
Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>

        * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
        at XIM input method module.

        * gtk/gtktextview.c: Check for bindings after passing
        events to im context filter.
2000-09-19 04:01:21 +00:00
Owen Taylor
5d24f08d0a Handle empty attribute lists properly.
Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (add_preedit_attrs): Handle
	empty attribute lists properly.
2000-09-18 17:38:05 +00:00
Owen Taylor
f3eb790c9e Return non-zero exit status if errors were encountered querying any
Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/queryimmodules.c (main): Return non-zero exit
	status if errors were encountered querying any
	modules.

	* modules/input/Makefile.am (moduledir): remove
	leftover bin program target.

	* docs/make-todo: Fix typo in error message.
2000-09-18 15:42:55 +00:00
Owen Taylor
9624060bda added input/ to subdirs 2000-09-16 18:07:54 +00:00
Owen Taylor
d24b426b92 Add modules/input/Makefile
Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Add modules/input/Makefile
2000-09-16 18:06:13 +00:00
Owen Taylor
f109da8d74 include gtkmodule.h gtkoldeditable.h, don't include gtkthemes.h.
Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
	don't include gtkthemes.h.

	* gtk/testgtk.c gtk/testtext.c: Set environment variables
	to point

	* gtk/Makefile.am: Add new .c and .h files, build
	gtk-query-immodules and use it to create a gtk.immodules
	file for use of test programs.

        * gtk/gtkpreview.c: remove extra blank line.
2000-09-16 18:02:58 +00:00
Owen Taylor
e31ae4384b Add gtk_text_layout_set_preedit_string() to set preedit string and
Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
	to set preedit string and attributes; display preedit string by
	inserting string and attributes at cursor when creating the
	GtkTextLineDisplay.

	* gtk/gtktextlayout.c: Move all conversions between byte
	positions in PangoLayout and GtkTextIter into new functions
	line_display_iter_to_index/index_to_iter that properly
	handle the preedit string.

	* gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
	it to return const char * (eventually will end up
	as GCONST char *, most likely.)

	* gtk/gtktextview.[ch]: Handle the preedit string, call
	gtk_im_context_reset() as necessary, add a menu to switch
	input methods.

	* gtk/gtktextlayout.[ch]: Remove useless
	gtk_text_layout_get_log_attrs() function.
2000-09-16 17:46:57 +00:00
Owen Taylor
850653e8c7 Adopt to match above changes.
* gtk/gtktext.c gtk/gtkcombo.c gtk/gtkspinbutton.c:
	Adopt to match above changes.
2000-09-16 17:38:14 +00:00
Owen Taylor
cc7c62e0e2 Convert GtkEditable from a class into an interface
Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkeditable.[ch]: Convert GtkEditable from
	a class into an interface

	* gtk/gtkoldeditable.[ch]: Move the old editable
	implementation into here, so legacy widgets can
	still rely on the implemenation. GtkOldEditable
	exports GtkEditable. Make selection handling
	code use new text conversion functions (and
	handle UTF-8 as a side-effect). Use GtkClipboard
	for CLIPBOARD.

	* gtk/gtktext.c gtk/gtkcombo.c gtk/gtkspinbutton.c:
	Adopt to match above changes.

	* gtk/gtkentry.[ch]: Implement GtkEditable directly,
	avoid GtkOldEditable implementation. Restructure
	to reduce number of places that modify state directly.
	Move to GtkBindingSet. Display the preedit string.
        Queue recomputation of PangoLayout and scroll position
	to improve effiency of doing complex changes naively.
	Add a menu with cut/copy/paste and input method selection.
2000-09-16 17:29:50 +00:00
Owen Taylor
0dcf14976d Add the ability to add extra tables beyond the default one, and also the
Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table):
	Add the ability to add extra tables beyond the default
	one, and also the ability to have compose sequences
	that are prefixes of other compose sequences.

	* gtk/gtkimcontextsimple.c: Export a preedit string which
	consists of possible candidates for keystrokes that have
	been entered but not yet committed.

	* gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
	gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()

	* gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems):
	Add a function to add input-method switching menu items
	to a menu.

	* gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
	when switching input methods.

        * gtk/gtkimcontextsimple.[ch]: Change the format of
	the compose table to allow compose tables of different
	lengths / sequence.
2000-09-16 17:23:29 +00:00
Owen Taylor
4ca0a710cd Support routines for loading GtkIMContext implementations dynamically at
Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimmodule.[ch]: Support routines for loading
	GtkIMContext implementations dynamically at runtime.

	* modules/input/imcyrillic-translit.c: A sample input
	method (based on GtkIMContextSimple with an extra table),
	which demonstrates preedit strings and the module
	system for input modules

	* gtk/queryimmodules.c: Program to query the available
	input modules and write the results into a file.

	* gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
	extra config options "im_module_file" (cache file for
	input method modules), and "im_module_path" - path
	to look for modules when generating cache file.

	This doesn't scale.
2000-09-16 17:15:52 +00:00
Owen Taylor
6ae1449a66 Move most of the generic code from gtkthemes into a new abstraction
Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the
	generic code from gtkthemes into a new abstraction
	GtkModule which has the logic for implementing
	a loadable module which implements a number of
	GObject types.
2000-09-16 17:11:25 +00:00
Owen Taylor
2a9abf57ce Remove g_convert (moved to glib) and now useless utf_to_latin1()
Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
	glib) and now useless utf_to_latin1() latin1_to_utf()
2000-09-14 21:19:11 +00:00
Owen Taylor
5fea69440e Add gtkclipboard.[ch
Thu Sep 14 12:43:30 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtk.h gtk/Makefile.am: Add gtkclipboard.[ch
2000-09-14 16:44:04 +00:00
Owen Taylor
e6169335e2 updates 2000-09-14 16:41:37 +00:00
Owen Taylor
39339f14f5 Remove g_convert (moved to glib) and now useless utf_to_latin1()
Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
	glib) and now useless utf_to_latin1() latin1_to_utf()

	* gtk/gtktextview.[ch]: Change ::move_insert and
	::delete_text action signals to ::move and ::delete;
	create the signals with the right enumeration type,
	not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
	C-v bindings, change Home, End to move to beginning/end
	of line, Add C-Home C-End to move to beginning/end
	of buffer. Change ::cut_text to ::cut_clipboard, etc;
	combine ::scroll_text into ::move; use new GtkSelectionData
	functions to simplify DND text handling.

	* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
	deletion enumerations here, rename enumeration values to
	be consistently plural.

	* gtk/gtktextbuffer.c: Use new clipboard interfaces
	for cut/copy/paste and primary selection.

	* gtk/gtktextbuffer.[ch]: Remove excess time and
	'interactive' arguments from cut/copy/paste;
	rename cut to cut_clipboard, etc; remove
	gtk_text_buffer_get_clipboard_contents().

	* gtk/gtktextlayout.[ch]: Add
	gtk_text_layout_move_iter_to_line_end() to move	the iter to
	line ends.

	* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
	Functions to set or get a UTF-8 string on the selection
	data.

	* gtk/gtkclipboard.[ch]: New, simplified selection handling
	interfaces.

	* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
	created widgets - one of these is useless if we don't.

	* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
	a public function clear all targets registered for the
	widget.

	* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
	Never call gtk_widget_realize() - that was just asking
	for bizarre side-effects.

	* gtk/gtkselection.c (gtk_selection_owner_set): Call
	gdk_selection_owner_set even if the widget is the
	same so that we reliably update the timestamp on
	the server.

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a
	gdk_x11_get_server_time() function.

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
	gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
	Add some tricky filtering on serial numbers for
	selection clear events to fix up long-standard
	race condition FIXME's in gtkselection.c.

	* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
	routines to convert from utf8 to compound text or
	STRING and from a text property to UTF-8.

	* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add
	a convenience function gdk_get_current_event_time().

	* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
	and free selection_data->data properly
2000-09-14 16:41:20 +00:00
Owen Taylor
42e44b9fa5 Updates for new functions
Thu Sep 14 12:38:33 2000  Owen Taylor  <otaylor@redhat.com>

        * docs/reference/gdk/: Updates for new functions

	* docs/reference/gdk/tmpl/gtkclipboard.sgml
	docs/reference/gdk/tmpl/gtkselection.sgml: Updates
	and new information.
2000-09-14 16:39:16 +00:00
Seán Ó Ceallaigh/Irish translations
03db6a411b Update to translations. 2000-09-09 03:07:24 +00:00
Jonathan Blandford
8ff6644c76 gtk/gtktextdisplay.c gtk/gtktextlayout.c gtk/gtktexttag.c gtk/gtktexttag.h
2000-09-08  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktextdisplay.c
	* gtk/gtktextlayout.c
	* gtk/gtktexttag.c
	* gtk/gtktexttag.h
	* gtk/testtext.c: Change the overstrike property to strikethrough,
	to closer match pango.
2000-09-08 23:29:46 +00:00
Owen Taylor
2e2272aac1 Fix up visibility so that focus, cursor_visible and blink interact
Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c: Fix up visibility so that focus,
	cursor_visible and blink interact properly.  Reenable cursor blink
	which had been roughly disabled. Make blink and focus
	properly per-view.

	* gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
	Add a flag for whether to display insertion cursor and
	a function to set the flag.

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
	get_line_y() to get_line_yrange(), to be a bit more generally
	useful.
2000-09-08 18:33:03 +00:00
George Lebl
38a656ab18 in gtk_menu_set_submenu_navigation_region do stop_navigating_submenu, to
Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>

	* gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
	  do stop_navigating_submenu, to clear last timeout properly.
	  Also in gtk_menu_motion_notify move ignore_enter above
	  the conditional to make it always happen as suggested by Owen
2000-09-08 01:53:46 +00:00
Tor Lillqvist
7e928a4b2d Oops, cut&paste error. 2000-09-07 19:55:36 +00:00
Tor Lillqvist
6ffe1dcf10 Use -Wall. Add gdkpango-win32.o
2000-09-07  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o

	* gdk/win32/gdkwin32.h: Add more definitions missing from the free
	w32api headers.

	* gdk/win32/gdkprivate-win32.h: Add a couple of missing
	declarations.

	* gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
	(gdk_win32_get_colormap): A line had been deleted by mistake.

	* gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
	(gdk_event_translate): Handle more virtual keycodes to be able to
	generate GDK events for Control-comma, Control-period, etc.

	* gtk/gtk.def: Add some missing entry points.

2000-09-07  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
	like on Unix.
2000-09-07 19:51:32 +00:00
Owen Taylor
2bcef62f0b add some new files for new sections of docs 2000-09-07 18:18:04 +00:00
Owen Taylor
71337db92e Move gtk-reference files into GTK+ tree proper.
Thu Sep  7 14:15:03 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk/* gtk/*: Move gtk-reference files into GTK+ tree proper.

	* Update sections.txt files to correspond to current code,
	tweak .sgml files and Makefiles to correspond.

	* gtk/tmpl/gtkradiomenuitem.sgml (this): Remove extra <para>
2000-09-07 18:17:06 +00:00
Owen Taylor
21b538970e Doc comment fixing. (Mostly non-matching parameter names.)
Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
	Doc comment fixing. (Mostly non-matching parameter names.)

	* gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
	comments a little to avoid looking like a doc comment.

	* gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
	GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
	conversions be changed to GError?)

	* gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT):
	Move private #defines into .c file.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
	order of argument addition, remove duplicates.

	* gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
	parent class is FrameClass, not BinClass.

	* gtk/gtk.h: Add gtkinvisible, which was missing.
	(It's occasionalyl useful for client apps, if seldom.)

	* gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
	#define.
2000-09-07 18:07:59 +00:00
Sebastian Wilhelmi
8c4980ed54 Remove conftest* after use along the lines of AC_TRY_COMPILE.
2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in (use_mmx_asm): Remove conftest* after use along the
	lines of AC_TRY_COMPILE.

        * .cvsignore updates
2000-09-05 14:07:55 +00:00
Sebastian Wilhelmi
f4fc70e3c7 Use g_path_get_dirname instead of g_dirname, which is deprecated.
2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
	of g_dirname, which is deprecated.
	(gtk_rc_parse_any): Removed calls to
	g_scanner_{freeze,thaw}_symbol_table, which are deprecated.

	* gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
	Removed calls to g_hash_table_{freeze,thaw}, as they are
	deprecated now.

	* gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
	instead of g_basename.
2000-09-05 12:13:24 +00:00
Elliot Lee
2c8fc56d21 Put text after #endif inside a comment to avoid ANSI warning.
* gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid ANSI warning.
2000-09-04 20:54:39 +00:00
George Lebl
49a6b8335d Add some documenting comments about GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and
Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>

	* gtk/gtkwidget.h:  Add some documenting comments about
	  GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
	  just as owen said on irc.

	* gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
	  set HAS_DEFAULT.  Only set it if there isn't another window
	  holding it (a focus window which RECEIVES_DEFAULT) and only unset
	  it if the widget is not the focused window with RECEIVES_DEFAULT.
	  This fixes weird double default bugs in dialogs which has things
	  call gtk_window_set_default at times.
2000-09-03 05:49:34 +00:00
Owen Taylor
e4229e9c4b Apply patch from Nils Barth and David Santiago to improve submenu
Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmenu.[ch] TODO.xml: Apply patch from
	Nils Barth and David Santiago to improve submenu
	navigation. The patch does this by creating a triangular
	region from the point where the pointer leaves the
	menu to the submenu.  While the pointer is in
	that region and a timeout has not expired, events
	that would cause the active submenu to change are
	ignored.
2000-09-02 02:43:50 +00:00
Owen Taylor
6e3a2369b3 Fix bug where moving a toplevel window immediately after sizing it would
Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
	moving a toplevel window immediately after sizing it would
	result in it being sized back to the old size since
	impl->width, impl->height aren't updated until we hear
	back from the server. There is still a (longstanding) bug
	here that gdk_window_get_size() will give the wrong size
	until we do hear back.
2000-09-01 20:10:58 +00:00
Havoc Pennington
78500e9045 Rename GtkTextStyleValues to GtkTextAttributes
2000-08-31  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h,
	gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c,
	gtk/gtktexttagprivate.h, gtk/gtktextview.c:
	Rename GtkTextStyleValues to GtkTextAttributes
2000-08-31 17:08:45 +00:00
Havoc Pennington
41b5d5d26d cache end line, for rapid testing whether an iterator is the end iterator
2000-08-31  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextbtree.c (GtkTextBTree): cache end line,
for rapid testing whether an iterator is the end iterator
(gtk_text_btree_new): init end line cache
(gtk_text_line_is_last): use fast cached line to
see if we're the last line.
(get_last_line): use cached line here too, should
speed up some random unrelated code.
2000-08-31 04:20:59 +00:00
Havoc Pennington
a9de95392e Add marshallers for changed GtkTextBuffer signals.
2000-08-30  Havoc Pennington  <hp@pobox.com>

* gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
signals.

* gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
delete_text signals. This allows the signals to be used for
implementing undo.

* gtk/gtktextbuffer.c: Change signal handler signatures;
provide "interactive" argument when emitting insert_text or
delete_text signal.
2000-08-31 03:48:50 +00:00
Havoc Pennington
b968041627 Docs
2000-08-30  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextbuffer.c: Docs
2000-08-31 03:23:14 +00:00
Owen Taylor
d717bbe4df remove GDK_IMAGE_SHARED_PIXMAP from switch statements, since Tor removed
Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
	from switch statements, since Tor removed the enumeration
	value.

	* gdk/x11/gdkimage-x11.c (gdk_image_get):
	s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
2000-08-31 02:04:54 +00:00
Elliot Lee
0176b387c8 Use G_GNUC_CONST.
Use G_GNUC_CONST.
2000-08-30 00:33:38 +00:00
Havoc Pennington
a10a7350f3 wrote lots of API docs, minor indentation fixes, inserted some FIXME about
2000-08-27  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
minor indentation fixes, inserted some FIXME about stuff I
realized was broken while documenting it.
(gtk_text_iter_get_pixmap): allow out params to be NULL, following
GTK convention
2000-08-28 03:44:06 +00:00
Seán Ó Ceallaigh/Irish translations
ea1210765d Update Irish trans. 2000-08-27 00:17:24 +00:00
Elliot Lee
3c8161925e Try to fix a bug where a window move, with a non-rectangular region
Try to fix a bug where a window move, with a non-rectangular region unobstructed, would cause
pieces of the window to be moved twice. Effectively, sort of implement a
gdk_draw_drawable_region(drawable, gc, drawable, region, dx, dy);

Am going blind trying to find the off-by-one thing, especially since it doesn't happen except for
the preview tests. Still not fixed, have at it.
2000-08-23 00:50:32 +00:00
Owen Taylor
3f14b4598f Fix double free of font desc.
Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c (create_styles): Fix double free of
	font desc.
2000-08-22 16:34:43 +00:00
Owen Taylor
c6dfddd233 Updated percentages 2000-08-22 03:30:17 +00:00
Owen Taylor
92b2246581 Add gtk_widget_modify_{fg,bg,text,base,font}.
Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.

	* gtk/testgtk.c (create_styles): Add a test for modifying
	the style through gtk_widget_modify_*.

	* gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
	a function to get the current modifier style.

	* gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
	of the passed in GtkRcStyle instead of ref'ing it.

	* gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
2000-08-22 03:05:14 +00:00
Andraz Tori
cae2af57d5 Updated Slovenian translation 2000-08-20 10:16:05 +00:00
Tor Lillqvist
617e17da3f gdk/gdkimage.h No need any longer on Win32 for the shared memory
2000-08-20  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdkimage.h
	* gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
	shared memory image+pixmap GdkImage type, or
	gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
	I am dropping that.

	* gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
	actually call gtk_init_abi_check(), passing also
	sizeof(GtkWindow). Ditto for gtk_init_check().

	* gtk/gtk.def
	* gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
	New functions, used to check that the GTK+-using code has been
	compiled using the correct compiler and switches. In particular,
	with gcc one has to use the -fnative-struct switch as GTK+ is
	compiled with that.
2000-08-19 21:46:05 +00:00
Owen Taylor
41885abc7c Don't leave dangling ->prev fields when merging lists. (Found
Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
	->prev fields when merging lists. (Found simultaneously
	by Pawel Salek and Jakub Jelinek)
2000-08-18 21:32:48 +00:00
Christopher R. Gabriel
843b1789a3 updated italian translation 2000-08-17 16:36:36 +00:00
Yuri Syrota
8b6e32e690 Updated Ukrainian translation 2000-08-14 14:43:56 +00:00
Tor Lillqvist
e0833cd52a gdk/gdk.def Add missing entries.
2000-08-12  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def
	* gtk/gtk.def: Add missing entries.

	* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
	OUT_TT_ONLY_PRECIS, try to get a TrueType font.

	* gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
	function. Dummy implementation at this point.

	* gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
	rules. Undefine GTK_COMPILATION when compiling the test programs.

	* gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.

	* gdk_pixbuf.def: Add missing entry point.
2000-08-12 19:51:05 +00:00
Anders Carlsson
247fd85f7c Make it compile 2000-08-12 15:02:17 +00:00
Tor Lillqvist
8421d02a4c A few more variables renamed, relating to the "system" charset vs UTF-8
pathname issue. Plug a memory leak.
2000-08-12 07:45:56 +00:00
Tor Lillqvist
33f56c79b0 Improve previous commit a bit, use better variable names. 2000-08-12 07:37:27 +00:00
Tor Lillqvist
b4d6a19524 Add more calls to g_filename_{to,from}_utf8() to convert back and forth
2000-08-11  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
	to convert back and forth from UTF-8 and the "system" (or "current
	locale") charset when necessary. Indentation/spacing cleanup.
2000-08-12 07:25:55 +00:00
Havoc Pennington
fcc951506d Change the format of the snapshot version to match glib
2000-08-10  Havoc Pennington  <hp@redhat.com>

* Makefile.am (snapshot): Change the format of the snapshot
version to match glib

* gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
from EXTRA_DIST since it doesn't seem to exist

2000-08-10  Havoc Pennington  <hp@redhat.com>

* Makefile.am (EXTRA_DIST): The *.def files had the wrong names
(s/pixbuf_/pixbufloader_)
2000-08-11 02:58:59 +00:00
Havoc Pennington
5d048f3365 some sort of line number changes to .po files that make performed, dunno 2000-08-11 02:56:24 +00:00
Elliot Lee
cbfcca98b0 Ref window before returning.
Ref window before returning.
2000-08-09 21:53:50 +00:00
Tor Lillqvist
3e4c24c96e Use the "system codepage" version of the directory name (not the UTF-8
2000-08-10  Tor Lillqvist  <tml@iki.fi>

	* gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
	version of the directory name (not the UTF-8 one) when building
	the path name to stat().
2000-08-09 20:54:58 +00:00
Elliot Lee
a6895b64fd Make numeric keypad work.
Make numeric keypad work.
2000-08-09 19:58:10 +00:00
Elliot Lee
98bacfb792 Bugfixorama
Bugfixorama
2000-08-09 17:26:29 +00:00
Elliot Lee
d72659968c Some hacks to stop screen blanking.
Some hacks to stop screen blanking.
2000-08-09 17:24:47 +00:00
Elliot Lee
06fd9e335d Implement gdk_beep() (woohoo!)
Implement gdk_beep() (woohoo!)
2000-08-09 16:12:06 +00:00
Elliot Lee
9ecfc48c12 Fix compiler warnings 2000-08-09 02:56:13 +00:00
Elliot Lee
d1da582ab8 Fix GDK_Left position in table.
Fix GDK_Left position in table.
2000-08-09 01:36:37 +00:00
Elliot Lee
f14eca7043 At init time, read data from the PS/2 mouse until there's nothing left to
At init time, read data from the PS/2 mouse until there's nothing left to read, in an attempt to
synchronize up with the event stream.
2000-08-08 16:44:25 +00:00
Elliot Lee
b9ac96e591 Handle GDK_INCLUDE_INFERIORS subwindow_mode.
Handle GDK_INCLUDE_INFERIORS subwindow_mode.

Call gobject finalize routine in gdk_gc_finalize.

Unrememberable etcs.
2000-08-07 23:00:38 +00:00
Elliot Lee
bc3f1cfc43 Store mouse coords as doubles not ints...
Store mouse coords as doubles not ints...
2000-08-07 18:21:18 +00:00
Elliot Lee
73f441ccbb Works. 2000-08-07 18:19:43 +00:00
Elliot Lee
10ce43ece5 fidmour support, mouse genericization (the file is now quite misnamed, I'm
fidmour support, mouse genericization (the file is now quite misnamed, I'm afraid).
2000-08-07 03:31:12 +00:00
Elliot Lee
c6bf7f0c5f Warning fixes. 2000-08-07 03:26:05 +00:00
Elliot Lee
08b87727f0 Implement gdkcc (visually broken, but can be fixed by someone with a clue
Implement gdkcc (visually broken, but can be fixed by someone with a clue w/o problems).
2000-08-04 01:30:54 +00:00
Elliot Lee
5ad55596f9 sync to ps2-less anode
sync to ps2-less anode
2000-08-03 21:19:04 +00:00
Elliot Lee
b3dd84048d Fix the second bug, draw underlines.
Fix the second bug, draw underlines.
2000-08-03 20:43:47 +00:00
Elliot Lee
aa88a217a5 Bugfix.
Bugfix.
2000-08-03 20:33:38 +00:00
Alastair McKinstry
157b6fd7ec minor update 2000-08-03 20:29:50 +00:00
Elliot Lee
98f8f4d229 Don't draw runs with a PANGO_ATTR_SHAPE set.
* gdk/gdkpango.c (gdk_draw_layout_line): Don't draw runs with a PANGO_ATTR_SHAPE set.
2000-08-03 20:15:37 +00:00
Owen Taylor
96e4699c30 Add missing file 2000-08-03 15:55:27 +00:00
Owen Taylor
c4384ce24f Applied patch from Peter Osterlund to simplify the code while keeping the
Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
        Peter Osterlund to simplify the code while keeping the
        functionality the same.
2000-08-03 13:18:01 +00:00
Elliot Lee
b427cec028 Set serif font to something sane.
Set serif font to something sane.

Add cursors so it will compile anywhere (hopefully).
2000-08-03 02:33:46 +00:00
Owen Taylor
1b6dbf0ea2 Move is_viewable() test further inside the function, since removing the
Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
	is_viewable() test further inside the function, since removing the
	window from the redraw list without clearing ->update_area
	was also very broken.
2000-08-02 19:07:00 +00:00
Tor Lillqvist
7bc2cb6e6e Check for <unistd.h>.
2000-08-02  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Check for <unistd.h>.

2000-08-02  Tor Lillqvist  <tml@iki.fi>

	* io-bmp.c
	* io-ico.c
	* io-ras.c
	* io-tiff.c
	* io-wbmp.c: Conditionalise inclusion of <unistd.h>.

	* makefile.mingw.in: List loaders alphabetically. Add the wbmp
	one. Fix names of DLLs to have '-' instead of '_'.
2000-08-01 21:43:56 +00:00
Martin Baulig
d0893cc5dd Use g_message() and not g_warning() to display the message that this is a
2000-08-01  Martin Baulig  <baulig@suse.de>

	* gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
	to display the message that this is a development version of GTK+.
2000-08-01 10:06:53 +00:00
Elliot Lee
4d72175087 Some bug fixes - now tested to work.
* io-wbmp.c: Some bug fixes - now tested to work.
2000-08-01 00:33:49 +00:00
Elliot Lee
75225b9f21 Add a 'w' in the right spot.
Add a 'w' in the right spot.
2000-08-01 00:15:02 +00:00
Owen Taylor
e9a03443c7 Fix problem where computation was depending on widget->allocation instead
Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
	was depending on widget->allocation instead of the width of text_area,
	which was incorrect for subclasses like GtkSpinButton.

	* gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
	with width == 1 tests that should be width == -1.
2000-07-31 22:59:29 +00:00
Owen Taylor
44afc537b3 Replace broken, (broken, Elliot, every single window blank on X) custom
Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken,
	(broken, Elliot, every single window blank on X) custom code with call
	to gdk_window_is_viewable() which a) prevents code duplicate and
	b) works.
2000-07-31 20:48:38 +00:00
Elliot Lee
d9e05d7009 We really do need to include gdkfb.h in order to get the GDK_PARENT_ROOT()
* gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order to get the GDK_PARENT_ROOT()
macro to work.
* gtk/gtkmarshal.list: Add NONE:STRING,POINTER
* gdk/gdkwindow.c: Don't send expose events, or invalidate pieces of, windows that aren't shown.
* gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of pointer grab stuff.
2000-07-31 17:18:36 +00:00
BST 2000 Tony Gale
621639b754 s/gtk_main_iteration/g_main_iteration/
Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>

        * docs/gtkfaq.sgml docs/gtk-faq.sgml:
          s/gtk_main_iteration/g_main_iteration/

          Did this already in change:
                Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
          don't know how it got reverted.
2000-07-31 13:00:21 +00:00
Stanislav Brabec
e4d140d5aa #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and gdk_arg_no_debug_cb to
2000-07-31  Stanislav Brabec  <utx@penguin.cz>

        * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
        gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.

        * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
        not gdk_pixbuf.
2000-07-31 10:16:45 +00:00
Pablo Saratxaga
3d8f790e2d updated Serbian files 2000-07-30 13:15:52 +00:00
Tor Lillqvist
471396fdd4 Add makefile.mingw.in to EXTRA_DIST.
2000-07-30  Tor Lillqvist  <tml@iki.fi>

	* gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.

	* gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
	Remove the g_pipe_readable_msg stuff. Not needed with new GLib
	GIOChannel implementation.

	* gdk/win32/gdkinput.c
	* gdk/win32/gdkpango-win32.c: Update license name here, too.

	* gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
	definition to match prototype.

	* gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
2000-07-30 08:11:28 +00:00
Kenneth Christiansen
9ff07fdad9 minor fix 2000-07-28 12:06:28 +00:00
Elliot Lee
9d72f811ee Part 2 of previous commit (aka "it compiles now, ma")
Part 2 of previous commit (aka "it compiles now, ma")
2000-07-28 00:16:17 +00:00
Elliot Lee
3ddaa73578 Add gdk_pixbuf_loader_new_with_type function, to allow handling image
2000-07-27  Elliot Lee  <sopwith@redhat.com>

	* gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
	function, to allow handling image formats that cannot be detected
	by looking at content alone.

gdk-pixbuf/
2000-07-27  Elliot Lee  <sopwith@redhat.com>
	* gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add gdk_pixbuf_get_named_module() function to facilitate above change
	* io-bmp.c: Don't malloc a temporary buffer - use stack instead.
	* io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile: Implement loader for WBMP format.

**NOTE: I haven't tested this yet, I need to sync it to another machine, but it if it is broken
I'm already working on fixing it
2000-07-28 00:09:36 +00:00
BST 2000 Tony Gale
de9e8979fd docs/tutorial/*.gif *.jpg *.eps Update these to the same look-n-feel. Why
Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/*.gif *.jpg *.eps
          Update these to the same look-n-feel.
          Why does including images in DocBook suck so badly?
2000-07-27 12:17:17 +00:00
Kenneth Christiansen
f9576e58ee i18n stuff 2000-07-27 12:05:21 +00:00
Tim Janik
bd91876973 applied patch from Phil Thompson <phil@river-bank.demon.co.uk> that
Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtktable.c: applied patch from Phil Thompson
        <phil@river-bank.demon.co.uk> that enables space settings for
        the last row/columns as well.
2000-07-27 03:13:07 +00:00
Tim Janik
afee2c67c5 applied patch from Andreas Persenius <ndap@swipnet.se> that updates the
Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>

        * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
        updates the license headers to the GNU Lesser General Public License,
        as well as updating the copyright year to 2000.
2000-07-26 11:33:08 +00:00
Robert Brady
cbc86c2b90 remove <<<<. oops. 2000-07-26 00:58:46 +00:00
Robert Brady
6c4f3568d5 Cause GETTEXT_PACKAGE to be consistent in config.h and po/Makefile, was
2000-07-26  Robert Brady  <rwb197@zepler.org>

        * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
          and po/Makefile, was installing and looking for them under gtk20
          and gtk2 respectively.
2000-07-26 00:55:42 +00:00
Havoc Pennington
e8138cd803 Comment out some stuff that depends on the rest of my patches.
2000-07-25  Havoc Pennington  <hp@redhat.com>

* gtk/testtext.c: Comment out some stuff that depends on the rest
of my patches.
2000-07-26 00:32:39 +00:00
Havoc Pennington
bbaeb8aa28 Add NONE:POINTER,POINTER,INT for the text buffer
2000-07-25  Havoc Pennington  <hp@redhat.com>

* gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
buffer
2000-07-26 00:02:31 +00:00
Havoc Pennington
a4762fbff4 update to reflect text widget changes.
2000-07-25  Havoc Pennington  <hp@redhat.com>

* gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
widget changes.

* gtk/gtktextview.h: To be consistent with usage of "line"
throughout the API to mean "newline-terminated thingy", change
MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
to MOVEMENT_LINE.

(GtkTextView): Add flags for default editability, and whether to
show the cursor. Add functions to get/set that. Add

(gtk_text_view_get_iter_location): new function

* gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
gtktextlayout.h
(g_convert): Add g_convert temporarily, will go in glib in a bit

* gtk/gtktexttagtable.h: include gtktexttag.h, and define
GtkTextTagTableForeach instead of brokenly using GHFunc.
Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.

* gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
moved to public header.

* gtk/gtktexttag.h: Rename the "elide" attribute of tags to
"invisible", since "elide" was a bad name.
(gtk_text_tag_get_priority): Added

(GtkTextStyleValues): put this in public header, along with
functions to use it.

* gtk/gtktextmarkprivate.h: Include more headers, since we no
longer include gtktextbtree.h.

* gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
gtk_text_mark_deleted

* gtk/gtktextlayout.h: Don't include the "really private" headers,
only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
to make this possible. Now we only need to install
gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
(However the Makefile.am isn't changed yet because of the
logistics of merging gtk-hp-patches piecemeal)

* gtk/gtktextiterprivate.h: include btree header, so it compiles;
rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
gtk_text_iter_get_line is now used in the public API for a
different purpose.

* gtk/gtktextiter.h: Clean up function names to be more
consistent. Always call char offset "offset" and byte index
"index". A "line" is always a line number.

(gtk_text_iter_is_last): new function, more efficient than
the existing way to check
(gtk_text_iter_is_first): new function, also more efficient

(gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these

(gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from
gtk_text_iter_forward_char, etc.

(gtk_text_iter_forward_to_tag_toggle): Renamed from
forward_find_tag_toggle, since this isn't a linear search

(GtkTextCharPredicate): rename from GtkTextViewCharPredicate

(gtk_text_iter_forward_search, gtk_text_iter_backward_search):
New functions, search for a buffer substring.

* gtk/gtktextbuffer.h: Add fields to store whether a paste is
interactive and default editable (since we need to store that info
until we receive the selection data).

Remove all the _at_char and at_line etc. versions of functions;
only have iterator versions.

Add _interactive() versions of functions, that consider the
editability of text. (FIXME add interactive flag to the
insert/delete signals per Darin's suggestion)

(gtk_text_buffer_get_tag_table): new function, demand-creates the
tag table if necessary

Remove declaration of gtk_text_buffer_get_iter_from_string

(_gtk_text_buffer_get_btree): private/internal function, added.


* gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
(gtk_text_line_is_last): new function
2000-07-25 23:59:38 +00:00
Havoc Pennington
f56297c534 Implement new sane, 5-function API for using GtkProgressBar. See
2000-07-25  Havoc Pennington  <hp@redhat.com>

* gtk/gtkprogressbar.h: Implement new sane, 5-function API for
using GtkProgressBar. See Changes-2.0.txt for details.

* gtk/gtkprogressbar.c: Add object arguments "fraction" and
"pulse_step" which are the equivalent of
gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
Implement new API.

* gtk/gtkprogress.h (struct _GtkProgress): Add a field
(use_text_format) to mark whether text set on the progress bar is
a format string. Deprecate entire GtkProgress interface.

* gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
(gtk_progress_build_string): make this a no-op if use_text_format
is FALSE

* docs/Changes-2.0.txt: Describe progress bar changes.
2000-07-25 22:58:17 +00:00
Tor Lillqvist
d1a4a1ea28 Generate gdk/, gdk/win32/, and gtk/makefile.mingw.
* configure.in: Generate gdk/, gdk/win32/, and gtk/makefile.mingw.
2000-07-25 20:43:17 +00:00
Tor Lillqvist
20e675e1a3 Generate gtk/makefile.mingw.
2000-07-25  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Generate gtk/makefile.mingw.

	* config.h.win32: Add GETTEXT_PACKAGE.

	* gdk/gdk.def
	* gtk/gtk.def: Updates.

	* gdk/gdkfont.h
	* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
	need them any longer.

	* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.

	* gdk/win32/*.c: More work.

	* gdk/win32/gdkpango-win32.c: New file.

	* gtk/makefile.mingw.in: New file

	* gtk/makefile.cygwin: Removed

	* gtk/Makefile.am: Update accordingly.

	* gtk/gtkmain.c: Use gtk_win32_get_installation_directory().

	* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
	is enough.

	* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
2000-07-25 20:38:35 +00:00
Tor Lillqvist
5ac61d3eee Include the build directory.
2000-07-25  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: Include the build directory.

	* configure.in: Generate build/Makefile and build/win32/Makefile.

	* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.

	* gdk/gdk.def
	* gtk/gtk.def: Updates.

	* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
	PANGOWIN32_LIBS and gdk_pixbuf.

	* gdk/win32: Compiles, but no doubt doesn't work at all.

	* gdk/win32/makefile.mingw.in: Define GDK_COMPILATION.

	* gdk/win32/gdkinput.c: New file, temporarily.

	* gdk/win32/gdkinput-win32.h: New file

	* gdk/win32/gdkinputprivate.h: Remove.

	* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
	made externally visible.
2000-07-25 17:31:05 +00:00
Tor Lillqvist
37e809867e *** empty log message *** 2000-07-25 17:14:16 +00:00
Tor Lillqvist
1623b0fcfe makefile.cygwin Renamed. Use iconv, not native2ascii.
2000-07-25  Tor Lillqvist  <tml@iki.fi>

	* makefile.cygwin
	* makefile.mingw: Renamed. Use iconv, not native2ascii.
2000-07-25 17:12:23 +00:00
Elliot Lee
838e2f341b revert
revert
2000-07-24 18:50:22 +00:00
Elliot Lee
6d7a643f7c (Part 2) Remove gdk_*_lookup() defines, since they are defined by the
(Part 2)
	* gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
	individual backends already.
	* gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
	again. Yes, there really is a good reason for this, if you are using the gdkregion
	internals, and if you're not, why do you care?
	* gdk/gdkwindow.c: Fix inverted condition
	* gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
	* gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
	* gtk/gtkrange.c: Redraw trough when moving.
	* gtk/gtktypeutils.c: Fix warning by adding const cast.
	* modules/linux-fb/basic.c: Fix unknown glyph retrieval.
2000-07-24 16:19:00 +00:00
Elliot Lee
72aa0d6611 Part 1 of a multipart commit
Part 1 of a multipart commit
2000-07-24 16:10:43 +00:00
Szabolcs BAN
824bc30f68 Updated Hungarian translations.
2000-07-24  Szabolcs BAN <shooby@gnome.hu>

	* hu.po: Updated Hungarian translations.
2000-07-24 07:36:02 +00:00
Tor Lillqvist
4658795817 More work on the Win32 backend. More files compile now. 2000-07-23 21:43:23 +00:00
Tor Lillqvist
20b5d8ec2f More work on GDK for Win32. Still in an intermediate state.
2000-07-23  Tor Lillqvist  <tml@iki.fi>

	More work on GDK for Win32. Still in an intermediate state.

	* gdk/makefile.cygwin
	* gdk/win32/makefile.cygwin: Removed.

	* gdk/makefile.mingw.in
	* gdk/win32/makefile.mingw.in: New files.

	* gdk/Makefile.am
	* gdk/win32/Makefile.am: Generate and distribute them.

	* gdk/win32/gdkwindow-win32.h
	* gdk/win32/gdkdrawable-win32.h
	* gdk/win32/gdkpixmap-win32.h: New files.

	* gdk/win32/gdkcolor-win32.c
	* gdk/win32/gdkcursor-win32.c
	* gdk/win32/gdkgc-win32.c
	* gdk/win32/gdkimage-win32.c
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
	don't use fields and variables called xcursor, xid, etc (leftovers
	from the X11 backend).
2000-07-23 01:18:34 +00:00
Tor Lillqvist
a52f7c348e Check for mkstemp and sigsetjmp. Output gdk-pixbuf/makefile.mingw and
2000-07-23  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Check for mkstemp and sigsetjmp. Output
	gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
2000-07-22 23:56:56 +00:00
Tor Lillqvist
85cca4f33f Typos. 2000-07-22 23:53:45 +00:00
Tor Lillqvist
773aacf9b6 Win32 build setup:
2000-07-23  Tor Lillqvist  <tml@iki.fi>

	Win32 build setup:

	* makefile.mingw.in
	* pixops/makefile.mingw.in
	* pixbuf_*.def: New files.

	* Makefile.am
	* pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.

	* gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
	New function, to get the GTK+ installation directory from
	the Windows Registry, where the installation program
	for whatever software includes GTK+ has stored it.

	Used to avoid having hardcoding the directory where to look for
	loaders. This function is needed by gtk, too, so it should
	really be just in one place. Maybe a small static library
	one level up from here?

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
	Open file in binary mode. This *is* standard C. (No-op on Unix,
	of course.)

	* io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().

	* io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
	mktemp() and open().
	(gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.

	* pixops/*.S: The Gas from mingw32 doesn't like the .type
	pseudo-op. Conditionalise on __MINGW32__, but probably
	should conditionalise on Gas version instead? Or could we
	do without .type on all systems?

	* pixops/timescale.c: Use g_get_current_time()
	instead of gettimeofday().
2000-07-22 23:50:19 +00:00
Owen Taylor
a338544d1a Fix some problems with vertical alignment.
Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.[ch]: Fix some problems with vertical
	alignment.

	* gtk/gtkentry.c (gtk_entry_find_position): Fix
	char/byte confusion.
2000-07-22 21:45:15 +00:00
Owen Taylor
6a2c2edf05 Fix bug where redraw wasn't being done properly when height of dirty
Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c (changed_handler): Fix bug where
	redraw wasn't being done properly when height of
	dirty region changed.

	* demos/Makefile.am: Remove various references to
	-lgmodule

	* Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
2000-07-22 15:21:31 +00:00
Owen Taylor
e6be8f3f6a Use new PangoAttrShape to reserve space for pixmaps, add GSList *pixmaps
Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
	PangoAttrShape to reserve space for pixmaps, add
	GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
	in the display functions.

	* gtk/testgtk.c (create_layout): Set some more exotic
	scrolled window options

	* gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
	Add function to set the shadow type of a window, to allow
	putting a shadow around widgets such as GtkLayout or GnomeCanvas
	which don't draw their own frame.
2000-07-21 19:30:22 +00:00
BST 2000 Tony Gale
fa5d7c7709 New file for packaging DocBook format tutorial
Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/package-db-tutorial.sh: New file for
          packaging DocBook format tutorial
2000-07-21 15:38:08 +00:00
BST 2000 Tony Gale
a7ac5157d0 Minor updates
Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/gtk-tut.sgml: Minor updates

        * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
2000-07-21 13:26:25 +00:00
Tor Lillqvist
631205ddc7 Fix C++ comment.
2000-07-19  Tor Lillqvist  <tml@iki.fi>

* gtk/gtksignal.c: Fix C++ comment.

* gtk/gtkimmulticontext.c
* gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
don't return value from void functions.

* gtk/gtk.def: Add gtk_rc_style_unref.
2000-07-20 05:40:49 +00:00
Sebastian Wilhelmi
1e166c0693 Include files outside of the extern "C" block. Makes some C++ compiler
2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
	gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
	gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
	gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
	gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
	gtk/gtktypeutils.h: Include files outside of the extern "C"
	block. Makes some C++ compiler happy. Reported by Denis Vakatov
	<vakatov@peony.nlm.nih.gov>.

	I really hope not to have caused a merging nightmare for all
	the branches out there. Otherwise I'll be available for crucifixion.
2000-07-19 16:11:40 +00:00
BST 2000 Tony Gale
8ac34068ba Yet more clean ups. Completes first pass. Hurrah!
Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
          Completes first pass. Hurrah!
2000-07-19 13:10:41 +00:00
Owen Taylor
2aa67df2e1 Updates to work with GTK+-2.0 theme engine architecture. It won't even
Tue Jul 18 12:13:19 2000  Owen Taylor  <otaylor@redhat.com>

        Updates to work with GTK+-2.0 theme engine architecture.
	It won't even sort of work with GTK+-1.2 any more.

	* configure.in src/Makefile.am: Look for GTK+-2.0,
	install engine into GTK+-2.0 location.

	* src/pixbuf-style.h src/pixbuf-rc-style.[ch]: New
	files for GtkRcStyle and GtkStyle subclasses. Parsing,
	etc, moves to pixbuf-rc-style.[ch]

	* src/pixbuf-draw.c: Chain up to parent implementation
	when images aren't found for a certain element.
2000-07-18 16:21:33 +00:00
BST 2000 Tony Gale
18e2da3360 More clean ups.
Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/gtk-tut.sgml: More clean ups.
2000-07-18 16:19:49 +00:00
Owen Taylor
b8dcd76c99 Restore code to paint the background of the text area which was
Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
	paint the background of the text area which was accidentally
	removed at some point.

	* gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]:

	 - Move	most of the functionality from the theme vtable
	   into GtkRcStyleClass and GtkStyleClass. The moved
	   vtable functions were changed a bit in the move to
	   work better in their new home.

	 - Get rid of the engine and engine_data fields from
	   GtkRcStyle and GtkStyle; instead the theme
	   engine derives theme-specific subclasses of GtkRcStyle
	   and GtkStyle

	 - Add extra dlsym() found entry point to themes,
	   theme_create_rc_style().

	* gtk/gtkstyle.c: Copy xthickness, ythickness fields
	in gtk_style_real_copy.

 	* gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
	to register a type associated with an engine. (The engine
	won't be unloaded as there is an instance of the type.)
2000-07-17 23:18:29 +00:00
BST 2000 Tony Gale
2465ad85f9 Clean ups.
Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>

        * docs/tutorial/gtk-tut.sgml: Clean ups.
2000-07-17 17:21:13 +00:00
BST 2000 Tony Gale
6c9b8cab3b Initial DocBook version. Lots of cleaning up to do.
Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@dera.gov.uk>

        * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
          of cleaning up to do.
2000-07-17 13:02:05 +00:00
Tor Lillqvist
2f8d209e5d New file, quick hack to test backends for pixel-by-pixel correctness of
2000-07-15  Tor Lillqvist  <tml@iki.fi>

* gdk/testgdk.c: New file, quick hack to test backends for
pixel-by-pixel correctness of the most simple graphic operations.
2000-07-15 02:15:44 +00:00
Owen Taylor
cc87344c1f Really release 1.3.1
Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>

        * Really release 1.3.1

	* gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
	include structure.
2000-07-15 01:07:42 +00:00
Owen Taylor
72fe20c132 Released 1.3.1
Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>

	* Released 1.3.1
2000-07-14 22:41:09 +00:00
Owen Taylor
32784edafa include <string.h>.
Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
	include <string.h>.
2000-07-14 20:25:22 +00:00
Owen Taylor
0bcf86c032 use FALSE for size_only most of the time when calling
Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c: use FALSE for size_only most
	of the time when calling gtk_text_layout_get_line_display()
	to avoid causing double reshapes when a redraw follows
	immediately after.

Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
	appropriate region and gdk_window_process_updates() so trough
	updating doesn't lag behind the window being scrolled.

        * gdk/gdkgc.c: Make parent_class pointer static.

Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
	include <string.h>.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
	cut-and-paste error in computing memory offset for 4 channels.
2000-07-14 20:24:14 +00:00
Owen Taylor
ed7408e1ff Remove gtk_rc_append_default_pixmap_path(), since it wasn't adding an
Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
	gtk_rc_append_default_pixmap_path(), since it wasn't
	adding an interesting path and we don't have a meaningful
	default for this value.
2000-07-14 20:20:03 +00:00
Owen Taylor
bb26890024 Move gtk-config to gtk-config-2.0 move gtk_.m4 to gtk-2.0.m4
Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in Makefile.am gtk-config.m4 gtk.m4: Move
	gtk-config to gtk-config-2.0 move gtk_.m4 to
	gtk-2.0.m4

	* Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
	gdk/Makefile.am demos/Makefile.am: Change
	library names to libgtk-1.3.la, etc, so that we
	can distinguish gtk-1.2 and gtk-2.0 on the linkline.

	* Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
	gdk/Makefile.am gdk/x11/Makfile.am
	Move include files into /usr/include/gtk-2.0,
	/usr/lib/gtk-2.0/include/

	* autogen.sh acconfig.h configure.in gtk/gtkmain.c
	gtk/gtkintl.h: Change package for gettext from
	gtk+ to gtk20. Put hack in autogen.sh to modify
	po/Makefile.in.in after gettextize to make this
	possible.

	* gtk+.spec: Some updates, not tested.

	* gdk-pixbuf/Makefile.am: Move loaders into
	$(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.

	* gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
	$(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
	to THEMENAME/gtk-2.0/. Move engine directory  to
	$(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
2000-07-14 20:08:10 +00:00
Valek Frob
9332748007 Updated russian translation. 2000-07-14 07:48:58 +00:00
Kjartan Maraas
e8afc471f9 Added gtkcolorseldialog.c Updated Norwegian translation.
2000-07-12  Kjartan Maraas  <kmaraas@gnome.org>

	* POTFILES.in: Added gtkcolorseldialog.c
	* no.po: Updated Norwegian translation.
2000-07-13 11:43:56 +00:00
Benedikt Roth
4b7246d9e9 de.po: Updated German translation
nl.po: Updated Dutch translation from Dennis Smit <synap@area101.penguin.nl>
2000-07-12 21:25:03 +00:00
Jorge Godoy
4e514e817e updated pt_BR translations 2000-07-12 16:36:48 +00:00
Tor Lillqvist
1f581a961e gdk/win32/gdkcolor-win32.c gdk/win32/gdkprivate-win32.h Changes to make
2000-07-12  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkcc-win32.c:
* gdk/win32/gdkcolor-win32.c
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkwin32.h: Changes to make compilable, with new
GDK object structure.
2000-07-11 22:39:34 +00:00
Tor Lillqvist
2823963703 Win32 changes, still doesn't build though.
2000-07-12  Tor Lillqvist  <tml@iki.fi>

Win32 changes, still doesn't build though.

* gdk/makefile.cygwin
* gdk/win32/makefile.cygwin
* gtk/makefile.cygwin: Updates.

* gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
default values for fg and bg pixel as X11 does (0 and 1), not
black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
Use 0 for pen width by default (treated as 1 anyway later, but for
apps that might check the value in the GdkGC).
(gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
interface to gdk_gc_predraw and _postdraw.

* gdk/win32/gdkwin32.h
* gdk/gdk.def: Add gdk_win32_hdc_{get,release}.

* gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
extraneous semicolon.

* gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.

* gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
not the Win32 bitspixel value.
2000-07-11 21:42:15 +00:00
Tim Janik
5fc106081f scratched notion of completely outdated email adress:
Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>

        * docs/tutorial/gtk_tut_12.es.sgml (name):
        * docs/tutorial/gtk_tut_it.sgml (name):
        * docs/tutorial/gtk_tut_fr.sgml (name):
        * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
        outdated email adress: s/timj@psynet.net/timj@gtk.org/.
2000-07-11 19:34:44 +00:00
BST 2000 Tony Gale
30973dd7a2 Cleanup indenting and various small changes.
Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>

        * docs/faq/gtk-faq.sgml: Cleanup indenting and various
          small changes.
2000-07-11 12:13:53 +00:00
Tim Janik
fc5ee9256d eek, i've never seen a bug here, never been here and never fixed anything
Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
        a bug here, never been here and never fixed anything ;(
        (don't segfault if tree->root_tree is NULL, which happens prior
        to widget realization, but puke instead).
2000-07-11 06:08:24 +00:00
Tim Janik
64911ddc44 add xthickness and ythickness to GtkRcStyle and add the necessary tokens.
Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
        add the necessary tokens.

        * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
        (gtk_rc_style_to_style): copy thicknesses.
        (gtk_rc_init_style): apply thicknesses.
        (gtk_rc_parse_style): parse xthickness and ythickness.

        * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.

        * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new):
        (gdk_window_new):
        (_gdk_windowing_window_init):
        * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new):
        (gdk_pixmap_create_from_data):
        (gdk_bitmap_create_from_data):
        (gdk_pixmap_new):
        * gdk/x11/gdkimage-x11.c (gdk_image_get):
        (gdk_image_new):
        * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new):
        * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new):
        * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
        (gdk_colormap_get_system):
        (gdk_colormap_new):
        * gdk/gdkwindow.c (gdk_window_init):
        * gtk/gtkstyle.c (gtk_style_new):
        * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
        * gdk/gdkpixmap.c (gdk_pixmap_init):
        * gtk/gtkrc.c (gtk_rc_style_new):
        use g_object_new() instead of g_type_create_instance() which
        is a private function for fundamental type implementations.

Tue Jul 11 06:20:14 2000  Tim Janik  <timj@gtk.org>

        * io-gif.c (gdk_pixbuf__gif_image_load_animation):
        * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
        * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
        use g_object_new() instead of g_type_create_instance() which
        is a private function for fundamental type implementations.
2000-07-11 04:46:11 +00:00
Jesus Bravo Alvarez
1e72328181 Updated Galician translation 2000-07-10 21:22:37 +00:00
Owen Taylor
06df244dd5 Add -Wall for gcc.
Sun Jul  9 18:15:58 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in (ACLOCAL): Add -Wall for gcc.

	* src/pixbuf-render.c (pixbuf_render): Fix problem
	using gdk_rectangle_intersect() from GTK+-1.2.

	* src/pixbuf-render.c src/pixbuf-draw.c: Remove
	direct access to pixbuf internals.
2000-07-09 22:18:21 +00:00
George Lebl
c70fd21648 s/Liebl/Lebl/ :) 2000-07-07 18:54:12 +00:00
Owen Taylor
359307231a Add check for db2html
Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Add check for db2html

Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktypeutils.c (gtk_type_init): Add a temporary
	hack to set glib_debug_objects based on gtk_debug_flags.

Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>

	* INSTALL.in: Update the Prerequisites section.

	* Makefile.am demos/Makefile.am docs/Makefile.am
	docs/tutorial/Makefile.am gdk/x11/Makefile.am
	gdk/linux-fb/Makefile.am: Dist fixes
2000-07-06 21:09:25 +00:00
Owen Taylor
d375c92f6c 10,000 foot view of 1.3.1 changes.
Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>

	* NEWS: 10,000 foot view of 1.3.1 changes.
2000-07-06 16:26:39 +00:00
Owen Taylor
0611f06b5a Patch from George Liebl to add a GdkGrabStatus enumeration to use as a
Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
	gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
	gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
	gdk/x11/gdkmain-x11.c:

	Patch from George Liebl to add a GdkGrabStatus enumeration to use
	as a return value of gdk_*_grab(). Previously, we just
	returned the X11 values directly.
2000-07-06 16:20:45 +00:00
Owen Taylor
f60e216527 Patch from George Liebl to install all the headers in the right place.
Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/Makefile.am: Patch from George Liebl to
	install all the headers in the right place.
2000-07-06 15:51:10 +00:00
Owen Taylor
166ba89af8 Use GTK+ version soname scheme for gdk-pixbuf.
Thu Jul  6 11:49:47 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
	soname scheme for gdk-pixbuf.
2000-07-06 15:50:54 +00:00
BST 2000 Tony Gale
f3d8cf9252 Add remaining sections. Completes initial conversion to DocBook.
Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>

	* docs/faq/gtk-faq.sgml: Add remaining sections. Completes
	  initial conversion to DocBook.
2000-07-04 12:14:41 +00:00
Valek Frob
f3f6fa88a5 Updated russian translation. 2000-07-04 10:04:18 +00:00
Tor Lillqvist
186cc0624b Improve a bit.
2000-07-04  Tor Lillqvist  <tml@iki.fi>

* README.win32: Improve a bit.
2000-07-04 06:19:29 +00:00
Tor Lillqvist
a1260f864d Handle also WM_SYSCHAR, and other changes to get handling of Alt+nnn or
2000-07-04  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
WM_SYSCHAR, and other changes to get handling of Alt+nnn or
Alt+0nnn on the numpad (used to enter characters by numeric code
from current DOS or ANSI codepage) working correctly, as in other
Windows apps.

* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
same argument validity tests as in X11 version.
(_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.

* gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
definitions in case missing from headers.

* gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): ALso
destroy the window-specific cursor.
(RegisterGdkClass): Use the global gdk_ProgInstance instead of
calling GetModuleHandle(NULL).
(gdk_window_set_cursor): Reworked to always copy the passed cursor
with CopyCursor before setting it. It is OK for the caller to
destroy the GdkCursor (and thus also the Windows cursor) after
calling this function. Also, destroy any previous cursor for this
window.

2000-05-29  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
variable should be of type GdkEventPrivate.
2000-07-04 06:12:54 +00:00
Owen Taylor
ceac1c16fd font charset is iso8859-1, not iso-8859-1.
Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
	font charset is iso8859-1, not iso-8859-1.
2000-07-03 21:56:27 +00:00
Owen Taylor
50b1a5a9dc Use g_get_charset() instead of g_get_codeset().
Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
	Use g_get_charset() instead of g_get_codeset().

	* gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h:
	Comment out some strdup'ing functions to keep timj
	happy until we finish fighting this out.
2000-07-03 21:21:25 +00:00
Owen Taylor
01212ce170 Ignore calls with <= width or height.
Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
	<= width or height.

	* gtk/gtktable.c (gtk_table_attach): Fix missed merge
	from 1.2 for parent/child states.

	* gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
	of typos.

	* gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
	event structures, replace with a generic axes field. Replace
	deviceid/source with GdkDevice *device.

	* gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
	to extract particular axis use value from event. (Also
	can be used for normal X/Y.)

	* gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
	allow for arbitrary number of axes, namespace everything
	as gdk_device_*. Replace guint32 deviceid with GdkDevice *
	everywhere.

	* gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}:
	Get rid of the gdk_input_vtable setup if favor of simply
	defining the functions in gdkinput-none/gxi/xfree.c in
	a similar fashion to the way that the port structure is
	done.

	* gtk/gtkdnd.c: Fix fields of synthesized button press event
	for new event structures.

	* gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
	new device interfaces.
2000-07-03 19:00:23 +00:00
Owen Taylor
0c2240ba37 Add a 'text' argument to set the initial text.
Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
	set the initial text.

	* gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
	gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
	gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
	gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().

	* gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
	pango_layout_set_font_description to simplify.
2000-07-02 22:30:54 +00:00
Owen Taylor
4e09f86e48 *** empty log message *** 2000-07-02 22:09:13 +00:00
Owen Taylor
bf87b7c628 Use pango_layout_get_pixel_extents() to remove a large number of '/
Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
	gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
	pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.

	* gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
	PANGO_PIXELS() macro.
2000-07-02 21:32:56 +00:00
Owen Taylor
b02ebc65e4 Call gtk_widget_size_request() on reparented child, if one. Otherwise,
Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call
	gtk_widget_size_request() on reparented child, if one. Otherwise,
	queue_resize() on the child never results in it getting size-requested
	at all.

	* gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
	in option menus, so that (with luck) people won't copy it into
	their apps in the future.

	* gtk/gtkoptionmenu.c: Connect ::size_request on the menu
	to gtk_option_menu_calc_size. This isn't perfect, but should fix
	a lot of problems with changing the size of the menu's menu
	items after adding it to the option menu.

	* gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().

	* gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
	the text direction for a widget changes.

	* gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
	::direction_changed to get rid of various hacks.
2000-07-02 18:41:29 +00:00
Owen Taylor
d2058c2875 Move Changes-1.4.txt to the appropriate name.
Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>

	* docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
	name.
2000-07-02 17:19:45 +00:00
Owen Taylor
fe7fb8c62f Add a is_foreign flag to the structure. Do not call XFreePixmap on pixmaps
Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
	flag to the structure. Do not call XFreePixmap on pixmaps created
	by gdk_pixmap_foreign_new().
2000-07-02 17:16:54 +00:00
Owen Taylor
4f1ccca594 Add gdk_rgb_find_color() to get a pixel value using GdkRGB functionality
Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
	value using GdkRGB functionality given GdkColormap and GdkColor.
	(name not final, waiting for inspiration.)

	* gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
	set the foreground/background of a GC using the GC's colormap
	and GdkRGB. (name not final, waiting for inspiration.)

	* gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from
	gdk_rgb_get_cmap(), put #define in gdkcompat.h.

	* gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
	gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
	purely a function of the corresponding colormap. Make
	gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.

	* gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
	gdk_pixbuf_*create_from_xpm_* in terms of
	gdk_pixbuf_new_from_xpm_data(), move into platform independent
	code.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
	advantage of the new draw_rgb_32_image_dithalign.

	* gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.

	* gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
	on each created GC.

	* gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.

	* gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
	which we initialize from the drawable when the GC is created,
	if the drawable has a colormap.

	* gdk/x11/gdkgc-x11.c: include string.h for memset.

	* gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.

	* gtk/gtklayout.[ch]: Remove unsed configure serial member.
2000-07-02 17:03:21 +00:00
Owen Taylor
7164c0acb1 When actually returning expose events, make sure to set the count field
Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
	actually returning expose events, make sure to set
	the count field properly.

	* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
	accidentally reintroced bug which always cleared
	the graphics_exposures value.
2000-07-01 21:15:05 +00:00
BST 2000 Tony Gale
a893dba084 Change DocBook layout slightly
Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>

        * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
2000-06-28 17:06:30 +00:00
BST 2000 Tony Gale
09e06dffde Finish Section 6. Add Section 7.
Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>

        * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
2000-06-28 16:52:06 +00:00
BST 2000 Tony Gale
edacfcb766 Start of Section 6.
Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>

	* docs/faq/gtk-faq.sgml: Start of Section 6.
2000-06-28 12:34:56 +00:00
Owen Taylor
c5c75ece06 Put 1.3.1 in warning message, not 1.3.0.
Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Put 1.3.1 in warning message, not 1.3.0.

        (Fixes problem with drawing childless frames. Pointed out
	by and a first patch from Anders)

	* gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
	compute a child_allocation, even if we don't have a child.

	* gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
	Always chain to the parent's impl, even if we don't have a child.
2000-06-26 23:44:19 +00:00
Owen Taylor
2bb4bcff5d If possible, create only a single shm segment and use multiple parts of it
Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkrgb.c: If possible, create only a single shm segment and
	use multiple parts of it instead of creating a bunch of separate
	segments, since the maximum number of segments per system is not
	large. (This might be worth backporting to GTK+-1.2.x if we make a
	new release )

	* gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
	structure in preparation for per-colormap GdkRGB.

	* gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
	to False when we get EINVAL from shmget so that the caller of
	gdk_image_new can retry with a smaller segment size.
2000-06-26 22:55:42 +00:00
Havoc Pennington
d872631bae file dialog_default.png was initially added on branch gtk-hp-patches. 2000-06-26 20:28:05 +00:00
BST 2000 Tony Gale
68810d1794 Add Sections 4 & 5.
Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>

        * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
2000-06-26 12:05:53 +00:00
Tim Janik
af35c6542c remove gtkfeatures. 2000-06-24 22:32:17 +00:00
Tim Janik
100c9594d6 make the current version number 1.3.1 (binary age 0, interface age 0).
Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>

        * configure.in: make the current version number 1.3.1 (binary age 0,
        interface age 0).

        * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
        gtkcompat.h is all we want.

        * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
        GLib primitive types. fixed g_type_register_fundamental() argument
        ordering.

        * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
        compiles.

        * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
        object code cleanup, comment trigraph fixes, etc...
2000-06-24 22:32:05 +00:00
Andraz Tori
3ef478ecd7 Updated Slovenian translations 2000-06-24 08:03:39 +00:00
Havoc Pennington
797642a563 Use anonymous mark instead of making up a bogus name for first_para_mark
2000-06-23  Havoc Pennington  <hp@redhat.com>

* gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark
instead of making up a bogus name for first_para_mark

* gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow
0 as a context ID
2000-06-23 19:41:56 +00:00
Havoc Pennington
a626ad31e8 - A number of types in GDK have become subclasses of GObject. For the
most part, this should not break anyone's code. However, it's now
    possible/encouraged to use g_object_ref()/g_object_unref() and other
      GObject features with these GDK types. The converted types are:
        GdkWindow, GdkDrawable, GdkPixmap, GdkImage, GdkGC, GdkDragContext,
	  GdkColormap

	  - All drawables including pixmaps used to have a type tag, the
	    GdkWindowType enumeration, which included GDK_WINDOW_PIXMAP.
	      GdkWindowType is now a property of GdkWindow _only_, and there is
	        no GDK_WINDOW_PIXMAP. You can use the GDK_IS_PIXMAP() macro
to see
  if you have a pixmap, if you need to know that.

  - GtkStyle and GtkRcStyle are now subclasses of GObject as well.
    This breaks theme engines quite badly, but shouldn't affect most
      other code.

      - xthickness/ythickness have moved from GtkStyleClass to GtkStyle
        (from class to instance). This gives themes a bit more flexibility
	  and is generally more of the Right Thing. You can trivially fix
	    your code with s/style->klass->xthickness/style->xthickness/g and
	      same for ythickness.
2000-06-23 18:41:16 +00:00
Christopher R. Gabriel
eef2692ad6 updated italian translation
2000-06-23  Christopher R. Gabriel  <cgabriel@mixadlive.com>

        * it.po: updated italian translation
2000-06-23 03:03:50 +00:00
BST 2000 Tony Gale
8aeed4867c Change filename. Add Section 3.
Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>

        * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
2000-06-22 16:46:25 +00:00
Havoc Pennington
3a422541e3 Convert GdkPixbuf to GObject, leaving it opaque (i.e. derivation is not
2000-06-21  Havoc Pennington  <hp@pobox.com>

* gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
(i.e. derivation is not allowed, and there are no virtual methods
anyway).
(gdk_pixbuf_preinit): Call g_type_init() here.
(gdk_pixbuf_init): Add a user-friendly init function, for users
of standalone gdk-pixbuf

* gdk-pixbuf-animation.c: Convert to GObject, in the same
way GdkPixbufAnimation was done.

* gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
gdk_pixbuf_finalize() from API, since these are broken and don't
make sense with new GObject stuff.

2000-06-21  Havoc Pennington  <hp@pobox.com>

* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
we didn't check window->bg_pixmap != GDK_NO_BG.

* gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
gdk-pixbuf
2000-06-22 15:36:12 +00:00
BST 2000 Tony Gale
7b6c38f544 Move file to here. TODO: Update Makfile.am
Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>

        * docs/faq/gtk-faq.sgm: Move file to here.
          TODO: Update Makfile.am
2000-06-22 13:05:24 +00:00
BST 2000 Tony Gale
c4018b0221 Add Section 2
Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>

        * docs/gtk-faq.sgm: Add Section 2
2000-06-22 12:43:24 +00:00
BST 2000 Tony Gale
527b872757 New file. Start of DocBook version of the FAQ.
Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>

        * docs/gtk-faq.sgm: New file. Start of DocBook
          version of the FAQ.
2000-06-22 07:46:38 +00:00
Owen Taylor
cef3331e64 Define version numbers for GDK_PIXBUF_*, as they get substituted into a
Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in (GDK_PIXBUF_MAJOR): Define version
	numbers for GDK_PIXBUF_*, as they get substituted
	into a header file. Need to consider versioning
	for gdk-pixbuf more carefully later.
2000-06-22 03:06:30 +00:00
Raja R Harinath
30bd71e2ae Work with srcdir != builddir.
* demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
<gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
* demos/testpixbuf.c: Likewise.
* demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
* demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
<gdk/x11/gdkx.h>.
* demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
"gdk-pixbuf.h".
* demos/Makefile.am (INCLUDES): Remove unneeded directories.
2000-06-22 00:05:44 +00:00
Owen Taylor
8a7664a1ae Change 1.4 version numbers to 2.0.
Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>

	* TODO.xml: Change 1.4 version numbers to 2.0.
2000-06-21 23:45:41 +00:00
Owen Taylor
ba55612d48 Indentation fixups to GTK+ standard.
Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
	fixups to GTK+ standard.
2000-06-21 23:29:51 +00:00
Owen Taylor
11056f564b Welcome aboard, gdk-pixbuf.
Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
	gdk-pixbuf.

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
	fixups for GObject.

	* gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of
	gdk-pixbuf with GDK dependencies moved into GDK.

	* gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
	move gdk-pixbuf-loader here until GObject has signals.

	* demos/: New directory of demos. Move demos from
	gdk-pixbuf here.

	* demos/pixbuf-init.c: Small bit of code to check for
	loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
	set GDK_PIXBUF_MODULEDIR appropriately.

	* gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
	define which no longer makes sense.
2000-06-21 20:47:22 +00:00
Havoc Pennington
443e8c395e Use gtk_get_default_language
2000-06-21  Havoc Pennington  <hp@redhat.com>

* gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
gtk_get_default_language

* gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language):
new function to get the default language

* gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c:
s/gtk_text_view_style_values/gtk_text_style_values/

* gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
Add a "language" field to tags.

(gtk_text_tag_set_arg): Fix bug in setting
"bg_full_height_set" tag.
2000-06-21 20:41:15 +00:00
Owen Taylor
f534125777 Revert accidental changes from Federico's last commit.
2000-06-21  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/testpixbuf-scale.c: Revert accidental changes
	from Federico's last commit.
2000-06-21 19:48:47 +00:00
Havoc Pennington
ee0895169d Use gunichar instead of gint when appropriate in the interfaces
2000-06-21  Havoc Pennington  <hp@redhat.com>

* gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
in the interfaces

* gtk/gtktexttypes.c: Remove UTF functions, use glib
stuff instead when possible.

* gtk/gtktexttypes.h: Delete some unused constants

* gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
testtextbuffer.c: use glib instead of custom unicode routines
2000-06-21 18:51:36 +00:00
Owen Taylor
39440b43cd Removed mistakenly added generated sgml
Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>

	* docs/es/: Removed mistakenly added generated sgml

	* docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
	Remove outdated info files.

	* docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
	Moved tutorial files into subdir

	* docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
	subdir.

	* docs/man/gtk_button.pod: Remove. (contents will be
	integrated into gtk-reference button page.)

	* configure.in docs/Makefile.am docs/tutorial/Makefile.am
	docs/faq/Makefile.am: Adjust for new organization
2000-06-21 18:18:00 +00:00
Christopher Blizzard
e01a43253a use $(mkinstalldirs) not $(MKINSTALLDIRS)
2000-06-21 Christopher Blizzard  <blizzard@redhat.com>

        * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
        not $(MKINSTALLDIRS)
2000-06-21 16:44:40 +00:00
Owen Taylor
c319839d8e Finish the job Elliot started of removing font setting test for text
Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c (create_text): Finish the job Elliot started
	of removing font setting test for text widget. (Since text widget
	and GdkFont are not deprecated, and cause portability problems.)
2000-06-21 16:26:50 +00:00
Owen Taylor
dd46dfaae3 .cvsignore additions 2000-06-21 16:21:15 +00:00
Owen Taylor
2a98bc6a31 Remove use of libunicode in favor of new GLib functions.
Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
	gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
	Remove use of libunicode in favor of new GLib functions.

	* gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
	nano-x, framebuffer. The X11 include is just a hack until we get
	the necessary functions in gdkcolor.h, so there is no reason to
	add other includes of platforms.

	* gtk/gtkwindow.c (gtk_window_compute_default_size): Revert
	window bigger than the screen change.

        * gtk/testgtk.c: Revert some random changes from Elliot
	that had no particular point and were causing testgtkrc
	not to function correctly.

	* gdk/gdkregion-generic.h: Revert change from Elliot. Just
	because GdkSegment and GdkRegionBox have the same fields,
	it doesn't mean that 'typedef GdkSegment GdkRegionBox'
	results in clearer code.

	* gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
	gdk_input_translate_coordinates): Fix missed GdkObjectification
2000-06-21 16:19:59 +00:00
Jing-Jong Shyue
8a01e98fdf Triditional Chinese PO File 2000/06/21 2000-06-21 07:06:01 +00:00
Elliot Lee
2a1b3edd18 Fix conditionality to work the "right" way. Missed commits from previous.
2000-06-18  Elliot Lee  <sopwith@redhat.com>

* gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
* gtk/gtk{plug,socket}.h: Missed commits from previous.
2000-06-20 22:24:49 +00:00
Havoc Pennington
df4fc36721 Make this compile without framebuffer enabled
2000-06-20  Havoc Pennington  <hp@redhat.com>

* modules/linux-fb/Makefile.am: Make this compile
without framebuffer enabled

* gdk/linux-fb/Makefile.am: Add conditional to not build
framebuffer unless specified in configure

* gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
the size of the target instead of source if -1 was passed for
width/height

* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix
width/height confusion.

2000-06-19  Havoc Pennington  <hp@redhat.com>

* gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
GDK_DRAWABLE_XID. In the future, we probably want to make it
faster with G_DISABLE_CHECKS turned on.

2000-06-14  Havoc Pennington  <hp@redhat.com>

        * gdk/Makefile.am: add gdkpixmap.c

	* gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
	s/gdk_image_init/_gdk_windowing_image_init

	* gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
	ref/unref

	* gdk/gdkcolor.h: make GdkColormap a GObject subclass

	* gdk/gdkcompat.h: remove GdkWindowType compat, since
	GdkWindowType is now non-deprecated;
	change gdk_window_get_type() compat to be
	gdk_window_get_window_type().

	* gdk/gdkdnd.h: make GdkDragContext a GObject.

	* gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
	virtual GObject. Make all functions call into the vtable.
	Move gdk_image_put() guts in here. Remove GdkDrawableType
	and gdk_drawable_get_type(), these are now GdkWindow-specific.
	draw_image, get_depth, get_size, set_colormap, get_colormap,
	get_visual added to the vtable.

	* gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual
	GObject. Virtualize everything.
	(gdk_gc_new_with_values): remove check for destroyed window,
	because now GdkWindow::create_gc will check this.
	(gdk_gc_set_values): New function to set GC values, this
	was already implemented but wasn't in the header

	* gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.

	* gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
	_gdk_window_draw_image(), remove _gdk_windowing_window_class,
	remove _gdk_window_class; add _gdk_window_impl_get_type() and
	_gdk_pixmap_impl_get_type(). Rename gdk_window_init to
	_gdk_windowing_window_init, rename gdk_image_init to
	_gdk_windowing_image_init.

	* gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
	(gdk_draw_layout): Remove check for destroyed window,
	because all the drawable methods already check it.

	* gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
	Add gdkpixmap.c which contains implementation of GdkDrawable
	virtual table (by chaining to a platform-specific implementation
	object).

	* gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP,
	GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
	GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
	GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
	GdkColormapPrivate.

	* gdk/gdktypes.h: #include <glib-object.h>

	* gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
	Move most functionality to platform-specific implementation
	object. GdkWindow itself now handles the backing store, then
	chains to the platform-specific implementation.
	(gdk_window_get_window_type): return GdkWindowType of the window.
	(gdk_window_peek_children): New routine, returns the children of
	a GdkWindow
	(gdk_window_get_children): Was in X11-specific code and did
	XQueryTree. Changed to simply return a copy of window->children;
	so it can go in cross-platform code.

	* gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path

	* gdk/x11/gdkcolor-x11.c: implement X-specific parts of
	GdkColormap; just changed to use the new private data instead
	of casting to GdkColormapPrivate.

	* gdk/x11/gdkcursor-x11.c: added a couple typechecks to
	gdk_cursor_new().

	* gdk/x11/gdkdnd-x11.c: Change the way we access private fields
	(private data member in the GObject).
	(xdnd_manager_source_filter): Function had broken
	error handling, fix it (use gdk_error_trap_push).

	* gdk/x11/gdkdrawable-x11.c: This file now implements
	a base class for GdkWindowImplX11/GdkPixmapImplX11. This
	base class is purely for the convenience of the X port,
	and not part of the interface to cross-platform GDK.

	* gdk/x11/gdkevents-x11.c: Reflect various renamings.

	* gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
	specific to X, and returned by the create_gc virtual method
	of GdkDrawableImplX11.
	(gdk_x11_gc_set_dashes): Change this to take an array of gint8
	rather than gchar, this was also changed in the GdkGC vtable.
	(gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
	mask is 0, return immediately, instead of checking every flag.
	This is faster, and keeps us from segfaulting if values is NULL
	and the mask contains some nonzero flags.

	* gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
	GdkWindow.

	* gdk/x11/gdkglobals-x11.c: change type of grab window, since
	GdkWindowPrivate is gone.

	* gdk/x11/gdkim-x11.c: rename things that got renamed.

	* gdk/x11/gdkimage-x11.c: implement in terms of GObject, and
	remove the image_put stuff that got transferred to GdkDrawable.

	* gdk/x11/gdkinput.c: renamings

	* gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>

	* gdk/x11/gdkpixmap-x11.c: GObject conversion

	* gdk/x11/gdkprivate-x11.h: indentation fixes

	* gdk/x11/gdkproperty-x11.c: renamings

	* gdk/x11/gdkselection-x11.c: renamings

	* gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now
	implements the platform-specific "impl" object.
	Moved gdk_window_get_children to gdk/gdkwindow.c

	* gdk/x11/gdkx.h: Remove all the private structs and private datas
	that no longer exist. Add declaration of GdkGCX11 object here.
	Fix all the macros to still work.

	* gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
	GdkDragContext from the boxed types since they are now GObjects.

	* gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
	moved xthickness/ythickness into the instance. GtkStyleClass
	functions are now in the standard vtable for GtkStyle, so you have
	to create a GObject subclass to write a theme engine.
	(gtk_style_copy): fixed a leaked PangoFontDescription
	(gtk_style_init): renamed gtk_style_realize, so gtk_style_init
	can be the standard GObject function.

	* Throughout GTK:
	s/style->klass->[xy]thickness/style->[xy]thickness
	s/pango_layout_unref/g_object_unref/

	* gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.

	* gtk/gtksocket.c: Use gdk_window_get_user_data() instead of
	accessing GDK internals.

	* gtk/gtkwidget.c: Use gdk_window_peek_children() instead of
	accessing GDK internals.
2000-06-20 21:04:44 +00:00
Elliot Lee
2ad30e9fc1 Oops.
Oops.
2000-06-20 20:51:29 +00:00
Elliot Lee
8f4f35b392 (follow-on from previous commit)
(follow-on from previous commit)
2000-06-18  Elliot Lee  <sopwith@redhat.com>

* gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.

* gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
problem by calculating event position relative to the trough
rather than the slider.
* gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.

* gdk/gdkgc.h: Add GDK_NOR.
* configure.in, Makefile.am: Add modules top level dir
* configure.in: Only use pangox library if building x11 target.
* gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
2000-06-20 20:22:05 +00:00
Elliot Lee
dd7510dccb *** empty log message *** 2000-06-20 20:20:38 +00:00
Pablo Saratxaga
2eb7985b0b removed the trailing space after a '\' 2000-06-19 21:43:05 +00:00
Christopher Blizzard
f327889ac4 Change private class member to be named private_data throughout the file.
Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>

        * gtk/gtkcolorsel.c: Change private class member to be named
        private_data throughout the file.

        * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
        private_data to avoid clashing with keyword.

Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>

        * gdk/gdkdnd.h: Add comment to remove warning.
2000-06-19 03:00:56 +00:00
Pablo Saratxaga
4060ae7bd1 moved gtkrc.bg to more generic gtkrc.cp1251 2000-06-18 13:40:50 +00:00
Owen Taylor
bae5667ca3 Call gdk_window_withdraw rather than gdk_window_hide; this makes things
Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
	rather than gdk_window_hide; this makes things work
	correctly if the window is programmatically hidden while
	iconified.
2000-06-12 21:08:07 +00:00
Christopher Blizzard
8b72011482 forgot to commit my ChangeLog changes when I checked in a couple of days ago 2000-06-12 21:08:05 +00:00
Owen Taylor
cbe220de09 Call gdk_window_withdraw rather than gdk_window_hide; this makes things
Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
	rather than gdk_window_hide; this makes things work
	correctly if the window is programmatically hidden while
	iconified.
2000-06-12 21:08:05 +00:00
Federico Mena Quintero
9df3e65391 It was cold and rainy this Saturday morning, so I needed something to warm
2000-06-10  Federico Mena Quintero  <federico@helixcode.com>

	* demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
	so I needed something to warm my thighs.  Running plain infinite
	loops on your laptop to make it hot is not very much fun.  A demo
	of the gdk-pixbuf scaling functions is way better, and looks
	prettier, too.

	* configure.in (AC_OUTPUT): Added the demo Makefile.

	* Makefile.am (SUBDIRS): Added the demo directory.
2000-06-11 18:18:28 +00:00
Owen Taylor
62e5119872 Fix cut and paste typo where wrong pixmap was being unref'ed. (Pointed out
Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
	cut and paste typo where wrong pixmap was being
	unref'ed. (Pointed out by a friend of KUSANO Takayuki.)

Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_selection_bytes_per_item):
	Add helper function to compute format / bytes
	relationship. Use in a couple places to fix up
	errors which assume 8 * format.

	* gtk/gtkselection.c (gtk_selection_request): Use 32
	rather than 8 * sizeof (GdkAtom), to work correctly
	on Alpha.
2000-06-11 18:06:04 +00:00
Larry Ewing
b166924b0c setjmp for the png error handler. It seems setting the error handling
2000-06-09  Larry Ewing  <lewing@helixcode.com>

	* gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
	setjmp for the png error handler.  It seems setting the error
	handling functions does not avoid the jump, and so not calling
	setjmp was causing the incremental loader to jump into lala land.
	(gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
	not sure this one is actually required but the docs say it must be
	set for every call to a png_* function.
	Also changed the comment to reflect the fact that setting the
	error handlers does _not_ avoid the longjmp.
2000-06-09 19:41:29 +00:00
Christopher Blizzard
40298ef908 deps include libgtk-x11.la, not libgtk.la (LDADDS): include libgtk-x11.la
Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>

	* gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
	libgtk.la
	(LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
	versions

	* gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
	checking macros return NULL since the function has a return value.
2000-06-09 02:05:17 +00:00
Elliot Lee
ba0567786b Save cflags for all backends, not just X11.
Save cflags for all backends, not just X11.
2000-06-08 22:52:21 +00:00
Elliot Lee
d23c74dd44 Use $PANGO_CONFIG instead of pango-config
* configure.in: Use $PANGO_CONFIG instead of pango-config
2000-06-07 21:39:09 +00:00
Owen Taylor
60d3ad3e0b Add missing backslash that was keeping GTK+ from building at all.
Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
	GTK+ from building at all.

	* gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
2000-06-07 19:45:21 +00:00
CEST 2000 Paolo Molaro
4bacc3ecd0 make it possible to configure gtk for different targets on the same
Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>

	* configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
	gtk/Makefile.am: make it possible to configure gtk for different
	targets on the same platform. The library name is now
	libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
	flag. Only the x11 target compiles right now.
	* gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
	gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
	* gdk/nanox/gdk*generic*: delete generic region code.
	* gdk/linux-fb/gdk*generic*: delete generic region code.
	* README.nanox: update information.
2000-06-07 16:44:29 +00:00
Havoc Pennington
544b6cb26e file gdkpixmap.c was initially added on branch gdk-object-with-pango. 2000-06-07 16:31:41 +00:00
Larry Ewing
315c3511be slight changelog fixups.
--Larry
2000-06-06 20:41:23 +00:00
Larry Ewing
93d6686ce9 take frame offest into account when trying to calculate the animation
2000-06-06  Larry Ewing  <lewing@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
	take frame offest into account when trying to calculate the
	animation bbox.  Also set the width to the width not the height.
	(gdk_pixbuf_loader_frame_done): cycle over the frames to calculate
	bbox since only now do we have all the offset information for each
	frame.
2000-06-06 20:37:28 +00:00
Mathieu Lacage
65c1ef36ad one more patch for strange prefixes around... getting tiring... 2000-06-06 16:41:09 +00:00
Owen Taylor
caf18947ca Fix to prepend not append. (Pointed out by Brett Hall.)
Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
	prepend not append. (Pointed out by Brett Hall.)
2000-06-06 14:55:26 +00:00
Owen Taylor
a03f62c641 Unref the entry's layout.
Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
2000-06-06 02:02:04 +00:00
Owen Taylor
3a917e9da7 Add call to g_type_init() - we'll need this later, and this makes sure
Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
	need this later, and this makes sure that the atexit for
	glib gets called after that for GDK, so atexits are
	properly ordered for object leak checking.

	* gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().

	* gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call
	pango_x_shutdown_display()

	* gtk/simple.c (main): Close window on destroy.
2000-06-06 00:56:00 +00:00
Owen Taylor
eaa77a4754 We need to treat initial creation different from setting with regards to
Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
	to treat initial creation different from setting with
	regards to the graphics-exposures parameter, so add a parameter
	indicating whether this is initial or not.
2000-06-05 15:54:32 +00:00
Owen Taylor
eb34d19399 Hack gdk_event_get_graphics_expose() to sort of work by adding an extra
Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
	to sort of work by adding an extra return_exposes arg
	to gdk_event_translate() - it might be better to simply
	deprecate the function altogether and force people to rewrite
	without it. gdk_window_scroll() handles most of it, and where
	gdk_window_scroll() doesn't work, simply redrawing more does.

	* gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
	assertion.

	* gtk-config.in: Include PANGO_CFLAGS/LIBS.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a
	bunch of pretty much useless /* Print debugging info */ comments
	which had drifted away from the code they were commenting.
2000-06-05 15:24:59 +00:00
Owen Taylor
f6b5d39189 Fix gdk_pointer_grab description
Mon Jun  5 11:17:25 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/tmpl/general.sgml: Fix gdk_pointer_grab description
2000-06-05 15:18:20 +00:00
Damon Chaplin
e79504746a added a note about no-window widgets.
2000-06-14  Damon Chaplin  <damon@helixcode.com>

	* gtk/tmpl/gtktooltips.sgml: added a note about no-window widgets.
2000-06-05 15:18:19 +00:00
Owen Taylor
c76e9c5e75 Fix gdk_pointer_grab description
Mon Jun  5 11:17:25 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/tmpl/general.sgml: Fix gdk_pointer_grab description
2000-06-05 15:18:19 +00:00
Valek Frob
7d7ecf515a Updated russian translation. 2000-06-03 14:49:32 +00:00
Havoc Pennington
e86329d5d4 Test program to make sure GtkTextBuffer is in working order.
2000-06-02  Havoc Pennington  <hp@pobox.com>

        * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
	is in working order.

	* gtk/testtext.c: Change to reflect anonymous mark API

	* gtk/gtktextview.c: Convert from mark names to GtkTextMark*.

	* gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
	field, which was unused.

	* gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
	saves some typing.

	* gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*

	* gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
	flag on the insertion point and selection bound

	Throughout, use GtkTextMark instead of GtkTextLineSegment, and
	make mark-manipulation functions take a GtkTextMark* instead of a
	mark name.

	* gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to
	GtkTextMarkBody; will be used to detect attempts to delete
	the permanent marks (insert and selection bound)
2000-06-02 17:27:21 +00:00
Owen Taylor
bb77f4e6b9 Initialize DOUBLE_BUFFERED flag to on.
Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
	flag to on.

	* gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event):
	Honor DOUBLE_BUFFRED_FLAG

	* gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
	function to set the DOUBLE_BUFFERED flag.

	* gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
	or not exposes done on the widget should be double-buffered.

	* gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
	to be what would be expected. (Fixes problem with a
	g_return_if_fail() validating a TextDirection enumeration)
2000-06-02 17:02:16 +00:00
Havoc Pennington
9ae724bf4d Remove all references to offscreen flag which was no longer used.
Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c: Remove all references to
	offscreen flag which was no longer used.

	* gtk/gtkprivate.h (enum): Remove unused flags and compress.

	* gtk/gtkframe.c (gtk_frame_set_label_widget): Check
	for non-null label_widget->parent.

	* gtk/gtkentry.c: Get rid of code to deal with PangoAttribute
	which no longer was used.

	* gdk/gdkpango.c (gdk_pango_context_get_info): make static.

	* gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
	for null arguments.

	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
	check for destroyed windows.

Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimmulticontext.c: Add a finalize method and unref
	the slave context there.

	* gtk/gtkinvisible.[ch]: Make reference counting behavior
	identical to GtkWindow.

Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am gdk/gdkpango.c: Copy the layout render function from
	pangox to here, so we can write them independent of rendering
	system, using GDK primitives.

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
	gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
	since we have a rendering-system independent implementation in
	terms of draw_glyphs().

	* gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
	function to render a single line.

	* gdk/x11/gdkpango.c: Move the guts of this file mostly
	into ../gdkpango.c, which simplifies things, since we
	don't have to deal with raw X gc's.

Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
	get the logical attributes for a given GtkTextLine.

Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
	g_locale_get_codeset() to g_get_codeset() change.

Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testcalendar.c (calendar_font_selection_ok): Use font
	descriptions.

	* gtk/gtkentry.c (gtk_entry_draw_text): Center text within
	the entry.

	* gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
	redoing (vastly simplifying) for Pango. Still needs quite
	a bit of work. (Size selection is currently poor. List of
	predefined sizes is not a good idea, since all of these
	sizes won't necessarily be distinct.)

Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
	CODESET results for LANG=C.

Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
	which takes a stringized pango font description;
	ignore the older 'font' and 'fontset' declarations.

	* gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
	field with a GdkFont derived via gdk_font_from_description(),
	for compatibility. (Should we just remove it entirely?
	Probably too much compatibility breakage, but people
	should be migrating to the new Pango stuff as quickly
	as possible.)

Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.

Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcalender.c: Roughly pango-ized. Really needs
	redoing; there are some bugs in size allocation right
	now, the semi-existant distinction between header / day
	fonts was removed, but, with Pango, could actually
	be made functional in a nice way.

	* gtk/testcalender: Move calender from examples into this
	directory as a test program. (We really need to restrcture
	testgtk into a whole directory full of tests for every
	widget or functionality group, separated into multiple .c
	files.)

Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c (file_exists): Fix stupid typo that
	was keeping RC file from being loaded.

	* gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
	RC file font code.

Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
	Add function to load a GdkFont from a PangoFontDescription.

Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
	to have any widget for the label, use a GtkLabel widget
	to display the text. (Based partially on a patch from
	Anders Carlson.)

	(Quite a bit of code reorganization - strip 90% of the
	guts out of gtkaspectframe and add a single virtual
	func to GtkFrameClass - compute_child_allocation.)

Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
	(Removed clist->row_center_offset field because caching
	it wasn't saving time or code, added private function
	_gtk_clist_create_cell_layout()).

Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkaccellabel.c: Pangoized.

	* gtk/[hv]ruler.c: Pangoized

Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkfilesel.c (gtk_file_selection_init):
	Use gtk_clist_set_column_auto_resize() to remove need
	need for manual column width computations.

Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel,
	ensuring Pango correctness, and considerably simplifying the
	code.

	* gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.

	* gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
	getting of numbers of lines.

	* gtk/gtklabel.c (gtk_label_size_request): Set the requisition
	to the actual requested width of the lable, not to the wrap
	width we set.

	* gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.

	* gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
	  gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.

	* gtk/gtktextview.c: Fix structure inheritance.

	* gtk/gtkprogressbar.c: Pangoize.

Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
	in a function.

	* gtk/gtktextlayout.c (find_display_line_above): Fixed
	bug with computing line tops.

	* gtk/gtktextview.c (changed_handler): Fix < , <= confusion.

Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
	and y_offset coordinates to do what we need now. (The offset between
	buffer and layout coordinates has been reintroduced, but is a
	bit different than before.)

	* gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
	handle the adjustments ourselves, and scroll as necessary using
	the new gdk_window_scroll().

	The advantage of this is that when we are incrementally revalidating,
	we are essentially rearranging things around the visible portion
	of the screen. With the old setup, the visible portion of the
	screen was moved around in the layout, so scrolling and redrawing
	to track that caused jumping of the display. Since we now
	control the scrolling ourselves, we can suppress this and
	only redraw when things actually change.

Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
	the region not just redisplay it after-all, since we store the
	cursors in the LineDisplay. (Ugly interactions here between
	GtkLayout and GtkTextBTree here.)

	* gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.

Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
	Added function to scroll contents of a window while keeping the
	window constant. Works by XCopyArea or guffaw-scrolling depending
	on the details of how the window is set up. (guffaw-scrolling
	still needs to be filled in.)

Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
	move the debugging that was tied to a global variable
	to that.

	* gtk/gtkmarshal.list: Add NONE:INT,INT,INT

	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
	validated flag, in line data instead of setting height/width to
	-1. This allows us to perform operations with partially invalid
	buffer (using the old size for invalid lines) and thus to do
	incremental vaidation. Keep height/width aggregates up to date
	when deleting text and rebalancing the tree.

	* gtk/gtktextbtree.[ch]: Add functions validate a line
	(gtk_text_btree_validate_line), and to validate up
	to a number of pixels (gtk_text_btree_validate).

	* gtk/gtktextlayout.[ch]: Add an ::invalidated signal
	that indicates that something is changed and a revalidation
	pass is needed. Change ::need_repaint to ::changed, and
	make it take old and new yranges instead of a rectangle.

	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
	the line_data_destroy() function from
	gtk_text_btree_add_view() to a virtual function in
	GtkTextLayout

	* gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
	since we are handling partial repaints in a different fashion
	now.

	* gtk/gtktextbtree.[ch]: Only repaint the changed portion
	of the selection instead of queueing a repaint on the
	entire widget.

	* gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
	get_selection_bounds() down to btree, make the function
	in buffer a wrapper around the btree function.

	* gtk/gtktextlayout.[ch]: Add functions to check if the
	layout is valid and to recompute either a range of pixels
	aroudn a line or a certain total number of pixels.

	* gtk/gtktextlayout.[ch]: Cache a single line display;
	now that we only redraw the needed portions, the hit rate
	for this cache is quite high.

	* gtk/gtktextview.[ch]: Keep track of the first paragraph
	on the screen so that when re-laying-out the buffer, we can
	keep the same place. This requires connecting to ::value_changed
	on the adjustments

	* gtk/gtktextview.[ch]: Add idle functions to revalidate
	the buffer after we receive an ::invalidated signal.

Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
	to max of allocation and layout size, not just to the
	layout size.

	* gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size):
	Invalidate window so it gets redrawn properly.

	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
	to mean the entire window.

	* gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
	into public header.

Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
	to get the name of a mark.

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
	to find the paragraph from a y position.

Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
	nodes have width/height >= 0, not > 0.

Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
	Add a size_only flag, so when we only need the size, we don't create
	useless appearance attributes.

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
	duplicate setting of font description.

	* gtk/gtkscale.c: Use PANGO_SCALE instead of 1000

Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into
	EXTRA_DIST. It does not work well when the file that
	everything depends on is not in the tarball.

Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c: Some hacks and fixes so that it basically
	works when not sitting in the GTK+ build tree.

2000-05-03  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
	Properly determine the ordering of the tag root and the current
	line within the tree. Previous algorithm only worked if the tag
	root's immediate parent was the common root of both the current
	line and the tag root.

Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (set_para_values): Fix some bugs in
	alignment.

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
	the widget text directional dynamically.

	* gtk/gtktextview.[ch]: Added functions to get and set default
	wrap mode.

Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
	in cursor location computation.

Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
	vadjusment values properly when layout gets smaller.

	* gtk/gtktextview.c (need_repaint_handler): Areas being
	passed in are far completely inaccurate, and sometimes
	too small, so, for now, just queue a redraw on the
	whole visible region.

2000-04-25  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (summary_destroy): new function to
	destroy tag summary nodes
	(gtk_text_line_next_could_contain_tag): this function was
	totally broken if the line passed in wasn't below the tag
	root. Fix it.
	(gtk_text_btree_first_could_contain_tag): In the tag == NULL
	"wildcard" case, we have to do a linear scan. Blah.
	(gtk_text_btree_last_could_contain_tag): In tag == NULL case,
	we have to do the linear scan
	(tag_removed_cb): When a tag is removed from the tag table,
	remove the GtkTextTagInfo node from the btree.
	(gtk_text_btree_spew): Implement the spew function, for
	our debugging pleasure.

Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
	a problem with referring to the wrong buffer.

	* gtk/gtkentry.c: Fix focus-in/focus-out confusion.

	* gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
	font description to gtk_style_new() - otherwise things
	don't work without a .gtkrc file.

	* gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
	tags table if we create it ourself, too.

	* gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
	it was conflicting with XKB modifiers.

	* gtk/gtktextview.[ch]: Add simple support for
	GtkIMContext.

Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
	with deletion from last commit.

Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
	in the context from the current locale.

	* gtk/gtkentry.c (gtk_entry_size_request): Use language from the
	context, not hardcoded value.

	* gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
	not logical.

Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
	attributes - that doesn't handle partial-glyph selection
	properly. Instead use new pango_layout_line_get_x_ranges()
	functionality to draw the selection.

	* gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
	now properly handles out-of-range coordinates.

	* gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.

	* gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
	public.

	* gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
	for paragraphs opposite to the base direction of the widget.

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.

	* gtk/gtktextlayout.c: Don't split segments on marks, since that
	causes Arabic words to reshape as you cursor through.

	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
	cursor position when moving vertically with the arrow keys and
	scrolling with page-up/page-down. (Arrow keys save only the X,
	scrolling saves both X and Y.)

	This means you can line-up / line-down or page-up / page-down
	without losing your place, and also that moving vertically
	with the cursor keys keeps the same X position, not the same
	character count:

	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
	arrow keys move by display lines, not paragraphs.

Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.c: Make sure that the bin window is at least
	as big as the allocation. (Should we also make sure that the
	bin window is big enough to completely cover widget->window?)

	* gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
	function to get the onscreen rectangle.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
	for offsets in window coordinates.

Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
	confusion.

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
	from the widget direction.

	* gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg):
	Add a "direction" attribute.

	* gtk/gtktextview.c: global s/tkxt/text_view/.

	* gtk/testtext.c: Added long block of text in Arabic, to test out
	the direction attributes. (Some problems with the shaping system
	for arabic become obvious - like the fact the cursor splits words
	into unjoined pieces.)

Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextdisplay.c (render_layout): Add overstrike handling.

	* gtk/gtktextlayout.c: Fix up alignment.

	* gtk/testtext.c: Add some tests for centering, wrapping.

Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
	Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
	If we wrote GTK+-specific layout-render function this could just replace
	the draw_layout() operation in the vtable.

	* gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to
	pango_layout_get_cursor_pos() and use that function.

	* gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
	is a non-static symbol.

	* gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
	with gtk_text_btree_find_line_by_y()

	* gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
	renderer that handles GtkTextAppearance attributes.

	* gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h:

	  - Move the values in the style that don't affect geometry into a
	    GtkTextAppearance structure.
	  - Change underline to take a PangoUnderline and "font" a string
	    representation of a font description
	  - Add a "font_desc" attribute which takes a FontDescription structure.

	* gtk/gtktextlayout.[ch]:

	  - Get rid of the display-line list per each line. Instead, we
	    generate, on demand, a GtkTextLineDisplay structure which]
	    contains a PangoLayout * and other necesary information
	    (offsets, cursor locations) for displaying a paragraph.
	  - Get rid of the code to wrap lines, create display chunks,
	    etc. Instead, we just go through a paragraph and convert
	    it into the necessary inputs to a PangoLayout.
	  - Implement a new attribute type, GtkTextAttrAppearance. This
	    holds a GtkTextAppearance, and is used to pass colors,
	    stipple, etc, through from the layout to the display without
	    having to use lots and lots of individual attributes.
	  - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
	    in terms of PangoLayout functions.

	* gtk/gtktextview.c:

	  - Handle passing the necessary PangoContext to the layout
	  - Some fixups in painting to deal with the automatic backing store
	    and offsetting of GTK+-1.4
	  - Add a style_set handler so that the default style reacts
	    properly to theme changes.

	* gtk/gtktext?*.[ch]: Random code-style fixes.

	* gtk/testtext.c: Substitute in languages that Pango handles now for Thai

Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
	in original form preparatory to Pango-ization and gdkimcontext-ization.

Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
	so that we can derive from gtkimcontext in language bindings properly.

Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
	Add a compose table including (almost) all the compose combinations
	from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
	data in the XIM implementation.

	* gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
	Moved functions to convert keyvalues from and to unicode here from
	the win32 port and made them public.

Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.

Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontext.[ch]: Base class for new input context system

	* gtk/gtkimmulticontext.[ch]: Proxy input context that allows
	the real input context implementation to be loaded from modules
	and switched on the fly.

	* gtk/gtkcontextsimple.[ch]: Simple implementation of an input
	context that just does direct keysymbol => unicode translation.

	* gtk/gtkentry.[ch]: Start switching editing over to using
	GtkInputContext. (No handling of preedit yet.)

Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
	many substitutions. (klass should not be subsituted.)

Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Add checks for Pango

	* configure.in docs/Makefile.am: Add test for sgml2html
	and allow 'make dist' without building html, but print out
	warnings in that case. (For making snapshots)

	* gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
	Add Pango libraries and C flags

	* gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
	Add function (gdk_draw_layout) to draw a pango layout.

	* gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
	for getting Pango contexts for GDK.

	* gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()

	* gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
	editing.

	* gtk/gtkentry.c: Hack in simple Hebrew input with direct
	keysym => unicode translations. More languages can be added
	here, but real input-method support is needed.

	* docs/Changes-1.4.txt: Added note about entry behavior.

	* gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
	to set the reading direction for a widget and the global direction.
	Add test which allows toggling the global direction. Two private
	flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)

	* gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
	  gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c

	* gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango

	* gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
	underlining now handled by Pango.

	* gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
	to RCStyle and Style. (Having both this and the old font name and GdkFont
	is temporary.)

	* gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added
	convenience functions for creating contexts and layouts for widgets.

	* gtk/testgtk.c: Enhance label tests with multilingual labels.
2000-06-02 03:14:07 +00:00
Elliot Lee
3f0092c4e6 Remove deadwood code.
Remove deadwood code.
2000-06-01 21:59:31 +00:00
Elliot Lee
c496211676 Put it into CVS.
Put it into CVS.
2000-05-31 21:50:38 +00:00
Not Zed
85e7a89b13 Initialise the error handler exit routine to our own. Note this means that
2000-05-30  Not Zed  <NotZed@HelixCode.com>

	* gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
	Initialise the error handler exit routine to our own.  Note this
	means that every function that accesses the jpeg lib on this
	object MUST do a setjmp.
	(gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
	lib for handling fatal error.
	(gdk_pixbuf__jpeg_image_load_increment): And here too.  So now
	your applications dont quit if there's a jpeg error!
2000-05-31 02:07:07 +00:00
Federico Mena Quintero
379da28de8 Include all the loader libraries. Patch from Frank de Lange
2000-05-30  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf.spec.in: Include all the loader libraries.  Patch
	from Frank de Lange <frank@unternet.org>.
2000-05-30 14:52:32 +00:00
Yuri Syrota
b07bab344a Updated Ukrainian translation 2000-05-30 06:12:04 +00:00
Jonathan Blandford
4ceed6bf51 let you set the titles to be active, even if they aren't visible.
2000-05-29  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
	titles to be active, even if they aren't visible.
	(gtk_clist_column_titles_passive):  Ditto.
2000-05-29 21:29:38 +00:00
Jonathan Blandford
bace0659d2 let you set the titles to be active, even if they aren't visible.
2000-05-29  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
	titles to be active, even if they aren't visible.
2000-05-29 21:26:54 +00:00
Owen Taylor
15434db63e Fix typo
Sun May 28 12:16:01 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/tmpl/gtkaspectframe.sgml: Fix typo
2000-05-28 16:17:07 +00:00
Damon Chaplin
8cd73f2fde typo.
2000-05-28  Damon Chaplin  <damon@helixcode.com>

        * gdk/tmpl/event_structs.sgml: typo.
2000-05-28 11:36:14 +00:00
Darin Adler
288b44b2d2 Oops. 2000-05-28 03:19:28 +00:00
Darin Adler
e5206ce903 Fixed includes to get rid of accidental GNOME dependency. 2000-05-28 03:17:16 +00:00
Cody Russell
9a08b87fee Makefile.am - Added gdk-pixbuf.spec to EXTRA_DIST 2000-05-27 02:58:04 +00:00
Tim Janik
8dde9abbaf newline 2000-05-26 11:25:14 +00:00
Nils Barth
63af6ead1f added entry for gtkmenu.c gtkmenu.h gtktypeutils.h spelling/grammar fixes
2000-05-23  Nils Barth  <nils_barth@post.harvard.edu>

	* ChangeLog: added entry for gtkmenu.c gtkmenu.h gtktypeutils.h
	  spelling/grammar fixes
2000-05-24 00:17:27 +00:00
Valek Frob
978f327f7f Updated russian translation and update.sh. 2000-05-23 17:18:04 +00:00
CEST 2000 lupus
a357ab820a add missing header files.
Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>

	* gdk/nanox/*.h: add missing header files.
2000-05-23 10:26:25 +00:00
Federico Mena Quintero
1839240c72 0.8 - Federico 2000-05-22 19:09:27 +00:00
Pablo Saratxaga
1b51476458 Added rule for Latvian language gtkrc file 2000-05-22 15:11:21 +00:00
Nils Barth
c4b632e781 Spelling/grammar fixes in comments.
2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>

	* Spelling/grammar fixes in comments.
2000-05-21 06:13:34 +00:00
Tim Janik
48d8ec36d5 set send_event to TRUE. (gtk_drawing_area_size): queue a resize.
Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
        send_event to TRUE.
        (gtk_drawing_area_size): queue a resize.
2000-05-19 10:00:46 +00:00
Tim Janik
9ce7ba8df8 when unref-ing the handlers, also invalidate them. bug nailed down by Karl
Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
        the handlers, also invalidate them. bug nailed down by Karl Nelson
        <kenelson@ece.ucdavis.edu>.
2000-05-19 08:22:39 +00:00
Tim Janik
719f258bc6 handle "(nil)" foundries, patch from Grigorios Magklis.
Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
        "(nil)" foundries, patch from Grigorios Magklis.

        * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
        on non-available fonts, based on a patch by Grigorios Magklis
        <maglis@cs.rochester.edu>.
2000-05-19 05:50:46 +00:00
Elliot Lee
31fa339113 If a region does not have any rectangles, or if the specified rectangle is
If a region does not have any rectangles, or if the specified rectangle is
not in the region, then return GDK_OVERLAP_RECTANGLE_OUT instead of
GDK_OVERLAP_RECTANGLE_IN.
2000-05-18 22:44:19 +00:00
Ville Hautamaki
26b2cbe5ae Minor finnish update
Ville
2000-05-18 10:57:40 +00:00
Jonathan Blandford
fccaf53bfb Remember to save the file before committing. 2000-05-17 16:11:29 +00:00
Jonathan Blandford
f43ab0c41d Remove references to OFFSCREEN, as it is no longer necessary.
2000-05-17  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtklayout.c (gtk_layout_map): Remove references to
	OFFSCREEN, as it is no longer necessary.
2000-05-17 16:10:43 +00:00
Owen Taylor
b9d4205044 Patch from David Santiago <mrcooger@cyberverse.com> to change things so
Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorsel.c: Patch from David Santiago
	<mrcooger@cyberverse.com> to change things so that the
	indicator of the active palette entry is done independently,
	not via the focus, since it should always be visible.
2000-05-17 14:56:11 +00:00
789 changed files with 162997 additions and 104687 deletions

View File

@@ -9,7 +9,7 @@ Makefile
Makefile.in
aclocal.m4
configure
gtk-config
gtk-config-2.0
config.cache
ABOUT-NLS
intl

2664
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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

33
INSTALL
View File

@@ -1,14 +1,35 @@
Prerequisites
=============
GTK+ requires the GLIB library, available at the same location as
you got this package.
GTK+ requires the following packages:
- The GLIB library, available at the same location as GTK+
- The Pango library, available from:
http://www.pango.org/download.shtml
Pango also requires the FriBidi library, available from:
http://imagic.weizmann.ac.il/~dov/freesw/FriBidi/
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not
these libraries are available from:
http://www.libtiff.org/
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+-1.2.7.tar.gz | tar xvf - # unpack the sources
% cd gtk+-1.2.7 # change to the toplevel directory
% gzip -cd gtk+-1.3.1.tar.gz | tar xvf - # unpack the sources
% cd gtk+-1.3.1 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK
[ Become root if necessary ]
@@ -118,7 +139,7 @@ You can compile GTK+ against a copy of GLIB that you have not
yet installed. To do this, give the --with-glib=DIR options
to ./configure. For instance:
./configure --with-glib=../glib-1.2.7
./configure --with-glib=../glib-1.3.1
This, however, will not work if you built GLIB with different
source and build directories.
@@ -169,7 +190,7 @@ C library multibyte functions. Unless your C library has support
for Japanese locales, this is incorrect, and will cause problems
for GTK's internationalization.
(In particular, this occurs with GNU libc 2.0 and 2.1, in which
(In particular, this occurs with GNU libc 2.0 in which
the multibyte functions always translate to and from UTF-8; but
the problem may occur for other C libraries, and other operating
systems as well.)

View File

@@ -1,8 +1,29 @@
Prerequisites
=============
GTK+ requires the GLIB library, available at the same location as
you got this package.
GTK+ requires the following packages:
- The GLIB library, available at the same location as GTK+
- The Pango library, available from:
http://www.pango.org/download.shtml
Pango also requires the FriBidi library, available from:
http://imagic.weizmann.ac.il/~dov/freesw/FriBidi/
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not
these libraries are available from:
http://www.libtiff.org/
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
========================

View File

@@ -1,23 +1,26 @@
## Makefile.am for GTK+
SRC_SUBDIRS = gdk gtk
SUBDIRS = po $(SRC_SUBDIRS) docs
SRC_SUBDIRS = gdk-pixbuf gdk modules gtk demos
SUBDIRS = po $(SRC_SUBDIRS) docs build
bin_SCRIPTS = gtk-config
bin_SCRIPTS = gtk-config-2.0
# require automake 1.4
AUTOMAKE_OPTIONS = 1.4
EXTRA_DIST = \
HACKING \
gtk+.spec.in \
gtk.m4 \
makecopyright \
TODO \
NEWS.pre-1-0 \
EXTRA_DIST = \
HACKING \
gtk+.spec.in \
gtk-2.0.m4 \
makecopyright \
TODO \
TODO.xml \
NEWS.pre-1-0 \
ChangeLog.pre-1-0 \
ChangeLog.pre-1-2 \
README.cvs-commits \
README.win32 \
README.win32 \
README.nanox \
intl/libgettext.h \
intl/po2tbl.sed.in \
examples/aspectframe/Makefile \
@@ -26,8 +29,12 @@ EXTRA_DIST = \
examples/README.1ST \
examples/extract.awk \
examples/extract.sh \
examples/arrow/Makefile \
examples/arrow/arrow.c \
examples/base/Makefile \
examples/base/base.c \
examples/buttonbox/Makefile \
examples/buttonbox/buttonbox.c \
examples/buttons/Makefile \
examples/buttons/buttons.c \
examples/buttons/info.xpm \
@@ -49,6 +56,8 @@ EXTRA_DIST = \
examples/helloworld/helloworld.c \
examples/helloworld2/Makefile \
examples/helloworld2/helloworld2.c \
examples/label/Makefile \
examples/label/label.c \
examples/list/Makefile \
examples/list/list.c \
examples/menu/Makefile \
@@ -74,6 +83,8 @@ EXTRA_DIST = \
examples/rulers/rulers.c \
examples/scribble-simple/Makefile \
examples/scribble-simple/scribble-simple.c \
examples/scribble-xinput/Makefile \
examples/scribble-xinput/scribble-xinput.c \
examples/scrolledwin/Makefile \
examples/scrolledwin/scrolledwin.c \
examples/selection/Makefile \
@@ -111,7 +122,7 @@ dist-hook: gtk+.spec
&& cp gtk+.spec $(distdir)
m4datadir = $(datadir)/aclocal
m4data_DATA = gtk.m4
m4data_DATA = gtk-2.0.m4
.PHONY: files release sanity snapshot
@@ -135,4 +146,4 @@ sanity:
snapshot:
$(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`

41
NEWS
View File

@@ -1,3 +1,44 @@
Overview of Changes in GTK+ 1.3.1:
* GTK+ now uses the Pango library for text manipulation. All
strings in GTK+ now are in Unicode, languages written
from right-to-left, and complex-text languages are now supported.
* The gdk-pixbuf library for image loading and manipulation is
has been integrated with GTK+.
* The GTK+ object system has mostly been moved to GLib, separating
it from the GUI code. Many significant enhancements have been
made as part of this.
* A new text widget is now included. This started as a port
of the Tk text widget, and includes such features of the Tk
text widget as tags, marks, and unicode text support. It
has been enhanced to support model-view operation and the
full power of Pango.
* The GDK library has been extensively revised to support multiple
windowing systems. The only fully functional backend in 1.3.1
is the X11 backend, however, ports to Win32, Linux-framebuffer,
Nano-X, BeOS, and MacOS exist in various states of completion,
and at least some of these will be finished and integrated in
before the final GTK+-2.0 release.
* 32-bit coordinates are now supported throughout GDK and GTK+
(they are emulated where not supported by the windowing system.)
* Many minor bug fixes and enhancements. Incompatible changes
are documented in docs/Changes-2.0.txt
Overview of Changes in GTK+ 1.2.8:
* GNU Make 3.79 bug workaround
* FAQ and tutorial updates and improvements
* Miscellaneous bug fixes: CList, Calendar, rc-files, FontSelection
Overview of Changes in GTK+ 1.2.7:
* More header cleanups.
* Fixed activation bug for insensitive widgets.
* Locale fixes to RC file parsing code.
* Miscellaneous bugfixes for Item Factory, CList, CTree, X Selections,
HScale, VScale, Pixmap, Viewport, OptionMenu, Entry and Notebook.
* Upgrade to libtool 1.3.4.
Overview of Changes in GTK+ 1.2.6:
* container queue_resize fixes

8
README
View File

@@ -1,7 +1,7 @@
General Information
===================
This is GTK+ version 1.2.7. GTK+, which stands for the Gimp ToolKit,
This is GTK+ version 1.3.1. GTK+, which stands for the Gimp ToolKit,
is a library for creating graphical user interfaces for the X Window
System. It is designed to be small, efficient, and flexible. GTK+ is
written in C with a very object-oriented approach.
@@ -37,9 +37,9 @@ version number. This should be separated by a blank
line from the actual headers.
Package: gtk+
Version: 1.2.7
Version: 1.3.1
[ Please substitute 1.2.7 with the version of GTK+ that
[ Please substitute 1.3.1 with the version of GTK+ that
you have installed ]
Then describe the bug. Include:
@@ -82,7 +82,7 @@ From: yourname@your.address.org
Subject: handlebox test in testgtk is misnamed.
Package: gtk+
Version: 1.2.7
Version: 1.3.1
When I run gtk/testgtk, the button "handle box"
is misnamed. There are multiple handle boxes in

View File

@@ -21,134 +21,12 @@ We need to be able to clip and change the background of windows at runtime
for apps to not look so ugly!
Fonts: wait for better nano-X font implementation.
Properties on windows.
Provide a pango module.
If you want to work on this port or get additional informnation, get in
touch with me.
To get the beast to compile you also need to apply the patch below
(any auto* wizard here?): the issue of having two gtk libraries in the
system needs to be addressed too, maybe use libgtk-x11-1.4.so and
libgtk-nanox-1.4.so ...
Configure gtk with the --with-gdktarget=nanox to compile with nano-X support.
Paolo Molaro
lupus@linuxcare.com
Index: acconfig.h
===================================================================
RCS file: /cvs/gnome/gtk+/acconfig.h,v
retrieving revision 1.16
diff -u -r1.16 acconfig.h
--- acconfig.h 1999/03/20 00:52:29 1.16
+++ acconfig.h 2000/05/06 11:52:38
@@ -49,6 +49,8 @@
/* Most machines will be happy with int or void. IRIX requires '...' */
#undef SIGNAL_ARG_TYPE
+#undef USE_NANOX
+
/* #undef PACKAGE */
/* #undef VERSION */
Index: configure.in
===================================================================
RCS file: /cvs/gnome/gtk+/configure.in,v
retrieving revision 1.142
diff -u -r1.142 configure.in
--- configure.in 2000/05/04 00:29:46 1.142
+++ configure.in 2000/05/06 11:52:38
@@ -99,6 +99,8 @@
AC_ARG_WITH(locale, [ --with-locale=LOCALE locale name you want to use ])
AC_ARG_WITH(xinput, [ --with-xinput=[no/gxi/xfree] support XInput ])
+AC_ARG_ENABLE(nanox, [ --enable-nanox use nano-X instead of X11 [default=no]],
+ , enable_nanox="no")
if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
@@ -322,6 +324,8 @@
saved_cflags="$CFLAGS"
saved_ldflags="$LDFLAGS"
+if text "x$enable_nanox" = "xno"; then
+
CFLAGS="$CFLAGS $X_CFLAGS"
LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
@@ -465,6 +469,13 @@
GTK_LOCALE_FLAGS="-DX_LOCALE"
fi
+else
+AC_CHECK_LIB(nano-X, GrOpen)
+LIBS="-lnano-X $LIBS"
+ AC_DEFINE(USE_NANOX)
+AM_CONDITIONAL(USE_NANOX, test x$enable_nanox = xyes)
+fi # if enable_nanox
+
# Checks for header files.
AC_HEADER_STDC
@@ -602,8 +613,13 @@
esac
],[
# Currently we always use X11 on those systems where we run configure...
+if test x$enable_nanox = xno; then
gdk_windowing='
#define GDK_WINDOWING_X11'
+else
+gdk_windowing='
+#define GDK_WINDOWING_NANOX'
+fi
if test x$gdk_wchar_h = xyes; then
gdk_wc='
#define GDK_HAVE_WCHAR_H 1'
@@ -629,6 +645,7 @@
docs/Makefile
gdk/Makefile
gdk/x11/Makefile
+gdk/nanox/Makefile
gdk/win32/Makefile
gtk/Makefile
gtk/gtkfeatures.h
Index: gdk/Makefile.am
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/Makefile.am,v
retrieving revision 1.41
diff -u -r1.41 Makefile.am
--- gdk/Makefile.am 2000/04/05 04:11:10 1.41
+++ gdk/Makefile.am 2000/05/06 11:52:38
@@ -1,6 +1,10 @@
## Makefile.am for gtk+/gdk
+if USE_NANOX
+SUBDIRS=win32 nanox
+else
SUBDIRS=x11 win32
+endif
EXTRA_DIST = \
gdkconfig.h.win32 \
@@ -36,8 +40,13 @@
-lm \
@STRIP_END@
+if USE_NANOX
libgdk_la_LIBADD = \
+ nanox/libgdk-nanox.la
+else
+libgdk_la_LIBADD = \
x11/libgdk-x11.la
+endif
#
# setup source file variables
@@ -138,3 +147,8 @@
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
+
+noinst_PROGRAMS = simple
+simple_DEPENDENCIES = libgdk.la simple.c
+simple_LDADD = libgdk.la
+

View File

@@ -1,14 +1,16 @@
This current (CVS) version of the Win32 backend does *not* even
compile properly. A zipfile with an older snapshot (from before the
merge of the no-flicker branch, and the other recent additions), is
available from http://www.gimp.org/win32/. That should be use by
"production" code until this CVS version is useable. (But note, the
Win32 backend has never been claimed to be "production quality",
although it works OK for the GIMP.)
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, see http://www.gimp.org/tml/gimp/win32/ or
port, see http://www.gimp.org/win32/ or
http://www.iki.fi/tml/gimp/win32/ .
The current (CVS) version of the Win32 backend is *not* as stable as it
was before the no-flicker branch was merged. A zipfile with that
version is available from http://www.gimp.org/win32/. That should be
use by "production" code until this CVS version is usable. (But note,
the Win32 backend has never been claimed to be "production quality".)
To build GTk+ on Win32, you need either the Microsoft compiler and
tools, or gcc-2.95 or later. The mingw setup of gcc is preferred, but
you can run gcc also under cygwin-b20.1 or later. Compile in
@@ -19,8 +21,8 @@ really be called makefile.mingw.
See the README.win32 file in the GLib distribution for instructions
how to build with gcc.
To use GTk+ on Win32, you also need either of the above mentioned
compilers. Other compilers might work, but don't count on it. The
To use GTk+ on Win32, you also need either one of the above mentioned
compilers. Other compilers might work, but don't count on it. The
same instructions on how to set up a correct version of gcc should
also be followed if you want to build applications that use GTk+ with
gcc.
@@ -39,7 +41,7 @@ undefine ENABLE_NLS, HAVE_GETTEXT and HAVE_LIBINTL in the
config.h.win32 file, and remove references to the gnu-intl library
from the makefiles.
Note that while the GNU gettext package is under the GPL, the "intl"
part of it which is distributed with GNU libc is under the LGPL (like
GTk+ or GLib). We want the LGPL one, even if they are the same, more
or less.
Note that while the GNU gettext package is under the GPL license, the
"intl" part of it is also distributed as part of the GNU C library
(glibc) where it is under the LGPL license (as is GTk+ or GLib). We
want the LGPL licensed version. The code is more or less the same.

102
TODO.xml
View File

@@ -12,7 +12,7 @@
<section>
<title>GDK</title>
<entry size="medium" status="70%" target="1.4">
<entry size="medium" status="90%" target="2.0">
<title>Add backing store support</title>
<description>
<p>
@@ -39,7 +39,7 @@
<contact>Owen Taylor &lt;otaylor@redhat.com&gt;</contact>
</entry>
<entry size="medium" status="70%" target="1.4">
<entry size="medium" status="90%" target="2.0">
<title>32 Bit Coordinates</title>
<description>
<p>
@@ -60,7 +60,7 @@
<contact>Owen Taylor &lt;otaylor@redhat.com&gt;</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Customizable double-click timeout</title>
<description>
<p>
@@ -73,7 +73,7 @@
<bugs>#3958</bugs>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Make color handling more convenient</title>
<description>
<p>
@@ -88,7 +88,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Cursors</title>
<description>
<p>
@@ -105,7 +105,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="1.4">
<entry size="medium" status="100%" target="2.0">
<title>Make GdkRGB work on any visual</title>
<description>
<p>
@@ -123,7 +123,7 @@
<section>
<title>Internationalization</title>
<entry size="big" status="70%" target="1.4">
<entry size="big" status="90%" target="2.0">
<title>Integrate Pango</title>
<description>
<p>
@@ -136,7 +136,7 @@
<contact>gtk-i18n-list@redhat.com</contact>
</entry>
<entry size="medium" status="80%" target="1.4">
<entry size="medium" status="90%" target="2.0">
<title>Switch to using UTF-8</title>
<description>
<p>
@@ -158,7 +158,7 @@
<contact>gtk-i18n-list@redhat.com</contact>
</entry>
<entry size="big" status="40%" target="1.4">
<entry size="big" status="60%" target="2.0">
<title>Rewrite Input Method Support</title>
<description>
<p>
@@ -172,7 +172,7 @@
set of callbacks that are invoked by the input methods.
</p>
<p>
GTK+-1.4 will have a new system with loadable input method
GTK+-2.0 will have a new system with loadable input method
modules. These modules can either be implemented using XIM,
or written from scratch.
</p>
@@ -184,7 +184,7 @@
<section>
<title>GTK+ Core</title>
<entry size="big" status="5%" target="1.4">
<entry size="big" status="60%" target="2.0">
<title>GLib based object and type system</title>
<description>
<p>
@@ -197,7 +197,7 @@
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="big" status="1%" target="1.4">
<entry size="big" status="1%" target="2.0">
<title>Overall callback improvements</title>
<description>
<p>
@@ -213,7 +213,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="0%" target="1.4">
<entry size="big" status="0%" target="2.0">
<title>State change notification</title>
<description>
<p>
@@ -233,7 +233,7 @@
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="big" status="5%" target="1.4">
<entry size="big" status="5%" target="2.0">
<title>Widget as sensitivity/grab state machine</title>
<description>
<p>
@@ -253,7 +253,7 @@
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="big" status="0%" target="1.4">
<entry size="big" status="0%" target="2.0">
<title>Allow argument customization</title>
<description>
<p>
@@ -269,7 +269,7 @@
</description>
</entry>
<entry size="medium" status="0%" target="1.4">
<entry size="medium" status="0%" target="2.0">
<title>Allow global customization</title>
<description>
<p>
@@ -286,7 +286,7 @@
</description>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Gtk+ Modules installation directory</title>
<description>
<p>
@@ -301,7 +301,7 @@
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="20%" target="2.0">
<title>Convenient widget setup</title>
<description>
<p>
@@ -322,7 +322,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="> 1.4">
<entry size="medium" status="0%" target="> 2.0">
<title>Make selections/clipboard more convenient</title>
<description>
<p>
@@ -334,7 +334,7 @@
</entry>
<entry size="small" status="50%" target="1.4">
<entry size="small" status="80%" target="2.0">
<title>Stock label/icon system</title>
<description>
<p>
@@ -347,7 +347,7 @@
</entry>
<entry size="big" status="0%" target="> 1.4">
<entry size="big" status="0%" target="> 2.0">
<title>Session Management</title>
<description>
<p>
@@ -359,14 +359,14 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="0%" target="> 1.4">
<entry size="big" status="0%" target="> 2.0">
<title>Online help enhancements</title>
<description>
<p>
Look at a small "What's This" popup widget,
and a What's This system in general (this part
could maybe be done for 1.4). A more difficult, probably
a post-1.4 task, is to integrate a very simple little
could maybe be done for 2.0). A more difficult, probably
a post-2.0 task, is to integrate a very simple little
help browser gizmo into GTK.
</p>
</description>
@@ -374,7 +374,7 @@
</entry>
<entry size="medium" status="0%" target="1.4">
<entry size="medium" status="0%" target="2.0">
<title>GUI-editable means of user configuration</title>
<description>
<p>
@@ -390,7 +390,7 @@
<section>
<title>GTK+ Widgets</title>
<entry size="small" status="50%" target="1.4">
<entry size="small" status="100%" target="2.0">
<title>Make GtkFrame use a label</title>
<description>
<p>
@@ -405,7 +405,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="75%" target="1.4">
<entry size="big" status="90%" target="2.0">
<title>Replace GtkText Widget</title>
<description>
<p>
@@ -426,7 +426,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="20%" target="2.0">
<title>Improve Radio/Checkbutton Look</title>
<description>
<p>
@@ -441,7 +441,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="99%" target="2.0">
<title>Improve Submenu Navigation</title>
<description>
<p>
@@ -457,7 +457,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="1.4 ?">
<entry size="small" status="0%" target="2.0 ?">
<title>Improve Spinbutton Look</title>
<description>
<p>
@@ -478,20 +478,20 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="90%" target="1.4">
<entry size="big" status="90%" target="2.0">
<title>Supply horizontable/vertical wrapping boxes</title>
<description>
<p>
An often requested feature are wrapping containers, at this
point, gimp's development version already uses such widgets:
horizontable/vertical wrap boxes, that need to go into 1.4
horizontable/vertical wrap boxes, that need to go into 2.0
proper at some point.
</p>
</description>
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="medium" status="90%" target="1.4">
<entry size="medium" status="90%" target="2.0">
<title>Improved generic combo support</title>
<description>
<p>
@@ -504,7 +504,7 @@
<contact>Tim Janik &lt;timj@gtk.org&gt;</contact>
</entry>
<entry size="big" status="0%" target="> 1.4">
<entry size="big" status="40%" target="2.0?">
<title>Add unified set of List/Tree/Grid widgets</title>
<description>
<p>
@@ -529,8 +529,8 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<title>GtkPixbuf</title>
<entry size="small" status="0%" target="2.0">
<title>GtkImage</title>
<description>
<p>
gdk-pixbuf is moving to become a GTK+ dependency, a new image-display
@@ -540,7 +540,7 @@
<contact>hp@redhat.com</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Attempt to fix GtkStatusbar</title>
<description>
<p>
@@ -553,7 +553,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="95%" target="1.4">
<entry size="small" status="95%" target="2.0">
<title>Decruft GtkProgress, GtkProgressbar</title>
<description>
<p>UPDATE: this is done, just need to apply the patch.
@@ -571,7 +571,7 @@
<contact>hp@redhat.com</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Entry validation hooks</title>
<description>
<p>
@@ -586,7 +586,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="0%" target="> 1.4">
<entry size="big" status="0%" target="> 2.0">
<title>pseudo-MDI Widget</title>
<description>
<p>
@@ -607,7 +607,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="> 1.4">
<entry size="medium" status="0%" target="> 2.0">
<title>Icon List Widget</title>
<description>
<p>
@@ -618,7 +618,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="> 1.4">
<entry size="medium" status="0%" target="> 2.0">
<title>Dock widget</title>
<description>
<p>
@@ -631,7 +631,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="big" status="0%" target="> 1.4">
<entry size="big" status="0%" target="> 2.0">
<title>Canvas widget</title>
<description>
<p>
@@ -641,7 +641,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="1.4">
<entry size="medium" status="40%" target="2.0">
<title>Menu scroll</title>
<description>
<p>
@@ -652,7 +652,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="1.4">
<entry size="medium" status="20%" target="2.0">
<title>Toolbar/menubar wrap</title>
<description>
<p>
@@ -663,7 +663,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Blink cursor in GtkEntry</title>
<description>
<p>
@@ -674,7 +674,7 @@
<contact>otaylor@redhat.com</contact>
</entry>
<entry size="small" status="100%" target="1.4">
<entry size="small" status="100%" target="2.0">
<title>Don't highlight first menu item when menus come up</title>
<description>
<p>
@@ -684,7 +684,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="95%" target="1.4">
<entry size="small" status="100%" target="2.0">
<title>Integrate new color selector</title>
<description>
<p>
@@ -697,7 +697,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="medium" status="0%" target="1.4">
<entry size="medium" status="70%" target="2.0">
<title>Write new font selector</title>
<description>
<p>
@@ -710,7 +710,7 @@
<contact>gtk-devel-list@gnome.org</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Stack Widget</title>
<description>
<p>
@@ -723,7 +723,7 @@
<contact>gtk-devel-list@gnome.org, jrb@redhat.com</contact>
</entry>
<entry size="small" status="0%" target="1.4">
<entry size="small" status="0%" target="2.0">
<title>Clean up GtkNotebook</title>
<description>
<p>

View File

@@ -23,6 +23,7 @@
#undef HAVE_GETTEXT
#undef HAVE_IPC_H
#undef HAVE_LC_MESSAGES
#undef HAVE_PROGRESSIVE_JPEG
#undef HAVE_PWD_H
#undef HAVE_SHM_H
#undef HAVE_STPCPY
@@ -36,9 +37,13 @@
#undef RESOURCE_BASE
#undef USE_GMODULE
#undef USE_MMX
/* Define to use X11R6 additions to XIM */
#undef USE_X11R6_XIM
#undef XINPUT_NONE
#undef XINPUT_GXI
#undef XINPUT_XFREE
@@ -49,6 +54,8 @@
/* Most machines will be happy with int or void. IRIX requires '...' */
#undef SIGNAL_ARG_TYPE
#undef GETTEXT_PACKAGE
/* #undef PACKAGE */
/* #undef VERSION */

View File

@@ -71,6 +71,12 @@ echo "Running gettextize... Ignore non-fatal messages."
# while making dist.
echo "no" | gettextize --copy --force
#
# Really bad hack
echo "Munging po/Makefile.in.in"
sed s%@PACKAGE@%@GETTEXT_PACKAGE@% < po/Makefile.in.in > po/Makefile.in.in.new
mv po/Makefile.in.in.new po/Makefile.in.in
aclocal $ACLOCAL_FLAGS
# optionally feature autoheader

View File

@@ -190,3 +190,10 @@
* (available in the Platform SDK)
*/
/* #define HAVE_DIMM_H 1 */
#define USE_GMODULE 1
#define USE_MMX 1
/* #undef HAVE_SIGSETJMP */
#define GETTEXT_PACKAGE "gtk20"

View File

@@ -29,7 +29,7 @@ AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
#
GTK_MAJOR_VERSION=1
GTK_MINOR_VERSION=3
GTK_MICRO_VERSION=0
GTK_MICRO_VERSION=1
GTK_INTERFACE_AGE=0
GTK_BINARY_AGE=0
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
@@ -53,10 +53,27 @@ AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
#
# gdk-pixbuf gets versioned separately, and for now, using standard
# libtool versioning, not GTK+-style versioning
#
GDK_PIXBUF_MAJOR=0
GDK_PIXBUF_MINOR=8
GDK_PIXBUF_MICRO=0
GDK_PIXBUF_VERSION="${GDK_PIXBUF_MAJOR}.${GDK_PIXBUF_MINOR}.${GDK_PIXBUF_MICRO}"
AC_SUBST(GDK_PIXBUF_MAJOR)
AC_SUBST(GDK_PIXBUF_MINOR)
AC_SUBST(GDK_PIXBUF_MICRO)
AC_SUBST(GDK_PIXBUF_VERSION)
# For automake.
VERSION=$GTK_VERSION
PACKAGE=gtk+
GETTEXT_PACKAGE=gtk20
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}
@@ -100,6 +117,18 @@ AC_ARG_WITH(locale, [ --with-locale=LOCALE locale name you want to use ])
AC_ARG_WITH(xinput, [ --with-xinput=[no/gxi/xfree] support XInput ])
gdktarget=x11
gdktargetlib=libgdk-x11-1.3.la
gtktargetlib=libgtk-x11-1.3.la
AC_ARG_WITH(gdktarget, [ --with-gdktarget=[x11/nanox/linux-fb] select GDK target [default=x11] ],
gdktarget=$with_gdktarget)
AC_SUBST(gdktarget)
case $gdktarget in
x11|nanox|linux-fb) ;;
*) AC_MSG_ERROR([Invalid target for GDK: use x11, nanox or linux-fb.]);;
esac
if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
@@ -165,7 +194,7 @@ if test "x$enable_rebuilds" = "xyes" && \
fi
AC_SUBST(REBUILD)
AC_CHECK_FUNCS(lstat)
AC_CHECK_FUNCS(lstat mkstemp sigsetjmp)
AC_MSG_CHECKING(whether make is GNU Make)
STRIP_BEGIN=
@@ -183,7 +212,7 @@ AC_SUBST(STRIP_BEGIN)
AC_SUBST(STRIP_END)
# i18n stuff
ALL_LINGUAS="ca cs da de el es et eu fi fr ga gl hr hu it ja ko lt nl no pl pt pt_BR ro ru sk sl sv tr uk wa zh_TW.Big5 zh_CN.GB2312"
ALL_LINGUAS="ca cs da de el es et eu fi fr ga gl he hr hu it ja ko lt nl no pl pt pt_BR ro ru sk sl sp sr sv tr uk wa zh_TW.Big5 zh_CN.GB2312"
AM_GTK_GNU_GETTEXT
LIBS="$LIBS $INTLLIBS"
@@ -201,13 +230,13 @@ LIBS="$LIBS -lm"
AC_TRY_RUN([#include <math.h>
int main (void) { return (log(1) != log(1.)); }],
AC_MSG_RESULT(none needed),
gtk_save_CFLAGS=$CFLAGS
gtk_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -std1"
AC_TRY_RUN([#include <math.h>
int main (void) { return (log(1) != log(1.)); }],
AC_MSG_RESULT(-std1),
AC_MSG_RESULT()
CFLAGS=$gtk_save_CFLAGS
CFLAGS="$gtk_save_CFLAGS"
AC_MSG_WARN(
[No ANSI prototypes found in library. (-std1 didn't work.)]),
true
@@ -236,12 +265,12 @@ dnl NeXTStep cc seems to need this
AC_MSG_CHECKING([for extra flags for POSIX compliance])
AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
AC_MSG_RESULT(none needed),
gtk_save_CFLAGS=$CFLAGS
gtk_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -posix"
AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
AC_MSG_RESULT(-posix),
AC_MSG_RESULT()
CFLAGS=$gtk_save_CFLAGS
CFLAGS="$gtk_save_CFLAGS"
AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
if test x$with_glib = xyes ; then
@@ -252,36 +281,36 @@ fi
if test x$with_glib = x ; then
# Look for separately installed glib
AM_PATH_GLIB(1.3.1,,
AM_PATH_GLIB_2_0(1.3.1,,
AC_MSG_ERROR([
*** GLIB 1.3.0 or better is required. The latest version of GLIB
*** GLIB 1.3.1 or better is required. The latest version of GLIB
*** is always available from ftp://ftp.gtk.org/.]),
gobject gmodule gthread)
# we do not want to make all gtk progs to link to thread libraries.
glib_cflags=`$GLIB_CONFIG glib gobject gmodule --cflags`
glib_cflags=`$GLIB_CONFIG_2_0 glib gobject gmodule --cflags`
glib_thread_cflags="$GLIB_CFLAGS"
glib_libs=`$GLIB_CONFIG glib gobject gmodule --libs`
glib_libs=`$GLIB_CONFIG_2_0 glib gobject gmodule --libs`
glib_thread_libs="$GLIB_LIBS"
GLIB_LIBS="$glib_libs"
GLIB_DEPLIBS="$glib_libs"
else
# Use uninstalled glib (assume they got the version right)
GLIB_CONFIG=$with_glib/glib-config
if test -x $GLIB_CONFIG ; then
GLIB_CONFIG_2_0=$with_glib/glib-config-2.0
if test -x $GLIB_CONFIG_2_0 ; then
:
else
AC_MSG_ERROR([GLIB directory ($with_glib) not present or not configured])
fi
# For use in gtk-config
glib_cflags=`$GLIB_CONFIG --cflags gmodule`
glib_thread_cflags=`$GLIB_CONFIG --cflags gmodule gthread`
glib_libs=`$GLIB_CONFIG --libs gmodule`
glib_thread_libs=`$GLIB_CONFIG --libs gmodule gthread`
glib_cflags=`$GLIB_CONFIG_2_0 --cflags gmodule`
glib_thread_cflags=`$GLIB_CONFIG_2_0 --cflags gmodule gthread`
glib_libs=`$GLIB_CONFIG_2_0 --libs gmodule`
glib_thread_libs=`$GLIB_CONFIG_2_0 --libs gmodule gthread`
glib_release=`$GLIB_CONFIG --version | sed 's%\\.[[0-9]]*$%%'`
glib_release=`$GLIB_CONFIG_2_0 --version | sed 's%\\.[[0-9]]*$%%'`
# canonicalize relative paths
case $with_glib in
@@ -294,7 +323,7 @@ else
esac
GLIB_CFLAGS="-I$glib_dir -I$glib_dir/gmodule"
GLIB_LIBS="$glib_dir/libglib.la $glib_dir/gmodule/libgmodule.la"
GLIB_LIBS="$glib_dir/libglib-1.3.la $glib_dir/gmodule/libgmodule-1.3.la"
GLIB_DEPLIBS=
AC_SUBST(GLIB_CFLAGS)
@@ -310,47 +339,49 @@ AC_SUBST(GLIB_DEPLIBS)
AC_CHECK_HEADERS(dirent.h, AC_DEFINE(HAVE_DIRENT_H))
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
# Find the X11 include and library directories
AC_PATH_X
AC_PATH_XTRA
if test "x$x_includes" = "x"; then
x_includes="/usr/include"
fi
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
saved_cflags="$CFLAGS"
saved_ldflags="$LDFLAGS"
CFLAGS="$CFLAGS $X_CFLAGS"
LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
if test "x$gdktarget" = "xx11"; then
# Find the X11 include and library directories
AC_PATH_X
AC_PATH_XTRA
if test "x$no_x" = "xyes"; then
AC_MSG_ERROR([
if test "x$x_includes" = "x"; then
x_includes="/usr/include"
fi
CFLAGS="$CFLAGS $X_CFLAGS"
LDFLAGS="$LDFLAGS $X_LDFLAGS $X_LIBS"
if test "x$no_x" = "xyes"; then
AC_MSG_ERROR([
*** X libraries or include files not found. Check 'config.log' for
*** more details.])
fi
fi
# Checks for libraries.
# Check for the X11 library
AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS",
AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
$X_EXTRA_LIBS)
# Checks for libraries.
# Check for the X11 library
AC_CHECK_LIB(X11, XOpenDisplay, x_libs="-lX11 $X_EXTRA_LIBS",
AC_MSG_ERROR([*** libX11 not found. Check 'config.log' for more details.]),
$X_EXTRA_LIBS)
if test "x$enable_shm" = "xyes"; then
# Check for the Xext library (needed for XShm extention)
AC_CHECK_LIB(Xext, XShmAttach,
x_libs="-lXext $x_libs",
# On AIX, it is in XextSam instead, but we still need -lXext
AC_CHECK_LIB(XextSam, XShmAttach,
x_libs="-lXextSam -lXext $x_libs",
no_xext_lib=yes, $x_libs),
$x_libs)
fi
if test "x$enable_shm" = "xyes"; then
# Check for the Xext library (needed for XShm extention)
AC_CHECK_LIB(Xext, XShmAttach,
x_libs="-lXext $x_libs",
# On AIX, it is in XextSam instead, but we still need -lXext
AC_CHECK_LIB(XextSam, XShmAttach,
x_libs="-lXextSam -lXext $x_libs",
no_xext_lib=yes, $x_libs),
$x_libs)
fi
# Check for shaped window extension
# Check for shaped window extension
AC_CHECK_LIB(Xext, XShapeCombineMask,
AC_CHECK_LIB(Xext, XShapeCombineMask,
if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
x_libs="-lXext $x_libs"
fi
@@ -358,60 +389,163 @@ AC_CHECK_LIB(Xext, XShapeCombineMask,
,
$x_libs)
# Check for XConvertCase (X11R6 specific)
# Check for XConvertCase (X11R6 specific)
AC_CHECK_LIB(X11, XConvertCase,
AC_CHECK_LIB(X11, XConvertCase,
AC_DEFINE(HAVE_XCONVERTCASE),
,
$x_libs)
# Check for XIM support.
# Check for XIM support.
AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
AC_CHECK_LIB(X11, XUnregisterIMInstantiateCallback,
: ,
enable_xim_inst="no",
$x_libs)
# On Solaris, calling XRegisterIMInstantiateCallback seems to
# cause an immediate segfault, so we disable it, unless
# the user specifically forces it to be on.
# On Solaris, calling XRegisterIMInstantiateCallback seems to
# cause an immediate segfault, so we disable it, unless
# the user specifically forces it to be on.
if test x$enable_xim_inst = xmaybe ; then
case host in
*-*-solaris*)
if test x$enable_xim_inst = xmaybe ; then
case host in
*-*-solaris*)
enable_xim_inst="no"
;;
*)
*)
enable_xim_inst="yes"
;;
esac
fi
if test "x$enable_xim" = "xyes"; then
GTK_XIM_FLAGS="-DUSE_XIM"
if test "x$enable_xim_inst" = "xyes"; then
AC_DEFINE(USE_X11R6_XIM)
esac
fi
fi
x_cflags="$X_CFLAGS"
x_ldflags="$X_LDFLAGS $X_LIBS"
if test "x$enable_xim" = "xyes"; then
GTK_XIM_FLAGS="-DUSE_XIM"
if test "x$enable_xim_inst" = "xyes"; then
AC_DEFINE(USE_X11R6_XIM)
fi
fi
# set up things for XInput
x_cflags="$X_CFLAGS"
x_ldflags="$X_LDFLAGS $X_LIBS"
if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
AC_DEFINE(XINPUT_GXI)
xinput_progs=gxid
x_libs="-lXi $x_libs"
elif test "x$with_xinput" = "xxfree"; then
AC_DEFINE(XINPUT_XFREE)
x_libs="-lXi $x_libs"
# set up things for XInput
if test "x$with_xinput" = "xgxi" || test "x$with_xinput" = "xyes"; then
AC_DEFINE(XINPUT_GXI)
xinput_progs=gxid
x_libs="-lXi $x_libs"
elif test "x$with_xinput" = "xxfree"; then
AC_DEFINE(XINPUT_XFREE)
x_libs="-lXi $x_libs"
else
AC_DEFINE(XINPUT_NONE)
fi
AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
if test "x$enable_shm" = "xyes"; then
# Check for shared memory
AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
# Check for the X shared memory extension header file
AC_MSG_CHECKING(X11/extensions/XShm.h)
if test "x$no_xext_lib" = "xyes"; then
AC_MSG_RESULT(no)
no_xshm=yes
else
if test -f "$x_includes/X11/extensions/XShm.h"; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_XSHM_H)
else
AC_MSG_RESULT(no)
no_xshm=yes
fi
fi
fi
more_cflags="$x_cflags"
more_ldflags="$x_ldflags"
more_libs="$x_libs"
more_includes="$x_includes"
# these are already defined above
#gdktargetlib = "libgdk-x11-1.3.la"
#gtktargetlib = "libgtk-x11-1.3.la"
AM_CONDITIONAL(USE_X11, true)
else
AC_DEFINE(XINPUT_NONE)
AM_CONDITIONAL(USE_X11, false)
fi
AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
if test "x$gdktarget" = "xnanox"; then
AC_CHECK_LIB(nano-X, GrOpen,,AC_MSG_ERROR([nano-X libraries not found.]))
# nano-X may require additional libraries
more_cflags=
more_ldflags=
more_libs="-lnano-X"
more_includes=
gdktargetlib="libgdk-nanox-1.3.la"
gtktargetlib="libgtk-nanox-1.3.la"
with_xinput=no
AC_DEFINE(XINPUT_NONE)
x_cflags=
x_includes=
x_ldflags=
x_libs=
xinput_progs=
AM_CONDITIONAL(USE_NANOX, true)
else
AM_CONDITIONAL(USE_NANOX, false)
fi
if test "x$gdktarget" = "xlinux-fb"; then
more_cflags=
more_ldflags=
more_libs=
more_includes=
gdktargetlib="libgdk-linux-fb-1.3.la"
gtktargetlib="libgtk-linux-fb-1.3.la"
with_xinput=no
AC_DEFINE(XINPUT_NONE)
x_cflags=
x_includes=
x_ldflags=
x_libs=
xinput_progs=
AM_CONDITIONAL(USE_LINUX_FB, true)
else
AM_CONDITIONAL(USE_LINUX_FB, false)
fi
#
# Check for Pango
#
AC_PATH_PROG(PANGO_CONFIG, pango-config, no)
if test x$PANGO_CONFIG = xno ; then
AC_MSG_ERROR([*** pango-config not found])
fi
if test "x$gdktarget" = "xx11"; then
PANGO_CFLAGS="`$PANGO_CONFIG --cflags pangox`"
PANGO_LIBS="`$PANGO_CONFIG --libs pangox`"
else
PANGO_CFLAGS="`$PANGO_CONFIG --cflags pango`"
PANGO_LIBS="`$PANGO_CONFIG --libs pango`"
fi
CFLAGS="$CFLAGS $PANGO_CFLAGS"
AC_SUBST(PANGO_LIBS)
AC_SUBST(PANGO_CFLAGS)
AC_CHECK_LIB(pango, pango_context_new, :, AC_MSG_ERROR([
*** Pango not found. Pango is required to build
*** GTK+. For more information see http://www.pango.org]), $PANGO_LIBS $x_ldflags $x_libs)
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
@@ -422,26 +556,13 @@ AC_SUBST(x_ldflags)
AC_SUBST(x_libs)
AC_SUBST(xinput_progs)
if test "x$enable_shm" = "xyes"; then
# Check for shared memory
AC_CHECK_HEADER(sys/ipc.h, AC_DEFINE(HAVE_IPC_H), no_sys_ipc=yes)
AC_CHECK_HEADER(sys/shm.h, AC_DEFINE(HAVE_SHM_H), no_sys_shm=yes)
AC_SUBST(more_cflags)
AC_SUBST(more_includes)
AC_SUBST(more_ldflags)
AC_SUBST(more_libs)
AC_SUBST(gdktargetlib)
AC_SUBST(gtktargetlib)
# Check for the X shared memory extension header file
AC_MSG_CHECKING(X11/extensions/XShm.h)
if test "x$no_xext_lib" = "xyes"; then
AC_MSG_RESULT(no)
no_xshm=yes
else
if test -f "$x_includes/X11/extensions/XShm.h"; then
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_XSHM_H)
else
AC_MSG_RESULT(no)
no_xshm=yes
fi
fi
fi
# Check if X_LOCALE definition is necessary
@@ -543,6 +664,252 @@ AC_SUBST(GTK_DEBUG_FLAGS)
AC_SUBST(GTK_XIM_FLAGS)
AC_SUBST(GTK_LOCALE_FLAGS)
##################################################
# Checks for gdk-pixbuf
##################################################
AC_MSG_CHECKING(whether to build gmodulized gdk-pixbuf)
AC_ARG_ENABLE(modules, [ --disable-modules Disables dynamic module loading],[
if test x$withval = xyes; then
with_modules=yes
else
with_modules=no
fi
])
dynworks=false
deps=
if test x$with_modules = xno; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
AC_MSG_CHECKING(whether dynamic modules work)
oLIBS="$LIBS"
oCFLAGS="$CFLAGS"
CFLAGS="$GLIB_CFLAGS"
LIBS="$GLIB_LIBS"
AC_TRY_RUN([
#include <glib.h>
#include <gmodule.h>
main ()
{
if (g_module_supported ())
exit (0);
else
exit (1);
}
], dynworks=true)
LIBS="$oLIBS"
CFLAGS="$oCFLAGS"
fi
dnl Now we check to see if our libtool supports shared lib deps
dnl (in a rather ugly way even)
if $dynworks; then
pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} libtool --config"
pixbuf_deplibs_check=`$pixbuf_libtool_config | \
grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
if test "x$pixbuf_deplibs_check" = "xnone" || \
test "x$pixbuf_deplibs_check" = "xunknown" || \
test "x$pixbuf_deplibs_check" = "x"; then
dynworks=false
fi
fi
if $dynworks; then
AC_DEFINE(USE_GMODULE)
GMODULE_LIBS="`$GLIB_CONFIG_2_0 --libs gmodule`"
GMODULE_FLAGS="`$GLIB_CONFIG_2_0 --cflags gmodule`"
AC_SUBST(GMODULE_LIBS)
AC_SUBST(GMODULE_FLAGS)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
dnl Test for libtiff
if test -z "$LIBTIFF"; then
AC_CHECK_LIB(tiff, TIFFReadScanline,
AC_CHECK_HEADER(tiffio.h,
TIFF='tiff'; LIBTIFF='-ltiff',
AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
AC_CHECK_LIB(tiff, TIFFWriteScanline,
AC_CHECK_HEADER(tiffio.h,
TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
AC_CHECK_LIB(tiff34, TIFFFlushData,
AC_CHECK_HEADER(tiffio.h,
TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***)),
AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***), -ljpeg -lz -lm), -ljpeg -lz -lm), -lm)
fi
dnl Test for libjpeg
if test -z "$LIBJPEG"; then
AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
jpeg_ok=yes,
jpeg_ok=no
AC_MSG_WARN(*** JPEG loader will not be built (JPEG library not found) ***))
if test "$jpeg_ok" = yes; then
AC_MSG_CHECKING([for jpeglib.h])
AC_TRY_CPP(
[#include <stdio.h>
#undef PACKAGE
#undef VERSION
#include <jpeglib.h>],
jpeg_ok=yes,
jpeg_ok=no)
AC_MSG_RESULT($jpeg_ok)
if test "$jpeg_ok" = yes; then
LIBJPEG='-ljpeg'
AC_CHECK_LIB(jpeg, jpeg_simple_progression,
AC_DEFINE(HAVE_PROGRESSIVE_JPEG),
AC_MSG_WARN(JPEG library does not support progressive saving.))
else
AC_MSG_WARN(*** JPEG loader will not be built (JPEG header file not found) ***)
fi
fi
fi
dnl Test for libpng
if test -z "$LIBPNG"; then
AC_CHECK_LIB(png, png_read_info,
AC_CHECK_HEADER(png.h,
png_ok=yes,
png_ok=no),
AC_MSG_WARN(*** PNG loader will not be built (PNG library not found) ***), -lz -lm)
if test "$png_ok" = yes; then
AC_MSG_CHECKING([for png_structp in png.h])
AC_TRY_COMPILE([#include <png.h>],
[png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
png_ok=yes,
png_ok=no)
AC_MSG_RESULT($png_ok)
if test "$png_ok" = yes; then
PNG='png'; LIBPNG='-lpng -lz'
else
AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
fi
else
AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
fi
fi
deps="$LIBTIFF $LIBJPEG $LIBPNG"
AC_SUBST(LIBTIFF)
AC_SUBST(LIBJPEG)
AC_SUBST(LIBPNG)
AM_CONDITIONAL(BUILD_DYNAMIC_MODULES, $dynworks)
AC_HEADER_STDC
AC_HEADER_DIRENT
AC_HEADER_SYS_WAIT
AC_TYPE_SIGNAL
AM_CONDITIONAL(HAVE_TIFF, test "x$LIBTIFF" != x)
AM_CONDITIONAL(HAVE_PNG, test "x$LIBPNG" != x)
AM_CONDITIONAL(HAVE_JPEG, test "x$LIBJPEG" != x)
GDK_PIXBUF_LIBDIR='-L${libdir}'
GDK_PIXBUF_INCLUDEDIR="-I${includedir} $GTK_CFLAGS"
GDK_PIXBUF_LIBS="$GLIB_LIBS -lgdk_pixbuf $deps $GTK_LIBS"
AC_SUBST(STATIC_LIB_DEPS)
STATIC_LIB_DEPS="$deps"
AC_SUBST(GDK_PIXBUF_LIBDIR)
AC_SUBST(GDK_PIXBUF_INCLUDEDIR)
AC_SUBST(GDK_PIXBUF_LIBS)
# Checks to see if we should compile in MMX support (there will be
# a runtime test when the code is actually run to see if it should
# be used - this just checks if we can compile it.)
#
# This code is partially taken from Mesa
#
AC_MSG_CHECKING(for x86 platform)
case $host_cpu in
i386|i486|i586|i686|i786|k6|k7)
use_x86_asm=yes
;;
*)
use_x86_asm=no
esac
AC_MSG_RESULT($use_x86_asm)
use_mmx_asm=no
if test $use_x86_asm = yes; then
save_ac_ext=$ac_ext
ac_ext=S
AC_MSG_CHECKING(compiler support for MMX)
cp $srcdir/gdk-pixbuf/pixops/scale_line_22_33_mmx.S conftest.S
if AC_TRY_EVAL(ac_compile); then
use_mmx_asm=yes
fi
rm -rf conftest*
ac_ext=$save_ac_ext
if test $use_mmx_asm = yes; then
AC_DEFINE(USE_MMX)
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
fi
AM_CONDITIONAL(USE_MMX, test x$use_mmx_asm = xyes)
##################################################
# Checks for gtk-doc and docbook-tools
##################################################
AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
if test "x$with_html_dir" = "x" ; then
HTML_DIR='${datadir}/gtk-doc/html'
else
HTML_DIR=$with_html_dir
fi
AC_SUBST(HTML_DIR)
AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
AM_CONDITIONAL(HAVE_GTK_DOC, $GTKDOC)
AC_SUBST(HAVE_GTK_DOC)
AC_CHECK_PROG(DB2HTML, db2html, true, false)
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
dnl Let people disable the gtk-doc stuff.
AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
if test x$enable_gtk_doc = xauto ; then
if test x$GTKDOC = xtrue ; then
enable_gtk_doc=yes
else
enable_gtk_doc=no
fi
fi
dnl NOTE: We need to use a separate automake conditional for this
dnl to make this work with the tarballs.
AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
GDK_PIXBUF_DIR=`(cd $srcdir; pwd)`
AC_SUBST(GDK_PIXBUF_DIR)
##################################################
# Output commands
##################################################
AC_OUTPUT_COMMANDS([
## Generate `gdk/gdkconfig.h' in two cases
@@ -602,8 +969,18 @@ _______EOF
esac
],[
# Currently we always use X11 on those systems where we run configure...
gdk_windowing='
if test "x$gdktarget" = "xx11" ; then
gdk_windowing='
#define GDK_WINDOWING_X11'
elif test "x$gdktarget" = "xnanox" ; then
gdk_windowing='
#define GDK_WINDOWING_NANOX'
elif test "x$gdktarget" = "xlinux-fb" ; then
gdk_windowing='
#define GDK_WINDOWING_FB
#define GDK_NATIVE_WINDOW_POINTER'
fi
if test x$gdk_wchar_h = xyes; then
gdk_wc='
#define GDK_HAVE_WCHAR_H 1'
@@ -620,17 +997,41 @@ fi
])
AC_PATH_PROG(SGML2HTML, sgml2html, no)
AM_CONDITIONAL(HAVE_SGML2HTML, ! test x$SGML2HTML = xno)
AC_OUTPUT([
gtk+.spec
docs/gtk-config.1
Makefile
gtk-config
gtk-config-2.0
po/Makefile.in
build/Makefile
build/win32/Makefile
demos/Makefile
docs/Makefile
docs/reference/Makefile
docs/reference/gdk-pixbuf/Makefile
docs/reference/gdk/Makefile
docs/reference/gtk/Makefile
docs/faq/Makefile
docs/tutorial/Makefile
gdk-pixbuf/Makefile
gdk-pixbuf/makefile.mingw
gdk-pixbuf/gdk-pixbuf-features.h
gdk-pixbuf/pixops/Makefile
gdk-pixbuf/pixops/makefile.mingw
gdk/Makefile
gdk/makefile.mingw
gdk/x11/Makefile
gdk/win32/Makefile
gdk/win32/makefile.mingw
gdk/nanox/Makefile
gdk/linux-fb/Makefile
gtk/Makefile
gtk/gtkfeatures.h
gtk/makefile.mingw
gtk/gtkcompat.h
], [chmod +x gtk-config])
modules/Makefile
modules/linux-fb/Makefile
modules/input/Makefile
], [chmod +x gtk-config-2.0])

9
demos/.cvsignore Normal file
View File

@@ -0,0 +1,9 @@
Makefile
Makefile.in
.libs
.deps
testanimation
testpixbuf-drawable
testpixbuf-scale
testpixbuf
pixbuf-demo

67
demos/Makefile.am Normal file
View File

@@ -0,0 +1,67 @@
## Makefile.am for gtk+/demos
INCLUDES = @STRIP_BEGIN@ \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGTK_DISABLE_COMPAT_H \
@GTK_DEBUG_FLAGS@ \
@GTK_XIM_FLAGS@ \
@GTK_LOCALE_FLAGS@ \
@PANGO_CFLAGS@ \
@GLIB_CFLAGS@ \
@more_cflags@ \
@STRIP_END@
DEPS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@
LDADDS = @STRIP_BEGIN@ \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
$(top_builddir)/gdk/@gdktargetlib@ \
$(top_builddir)/gtk/@gtktargetlib@ \
@more_ldflags@ \
@more_libs@ \
@GDK_WLIBS@ \
@PANGO_LIBS@ \
@GLIB_LIBS@ \
@GTK_LIBS_EXTRA@ \
-lm \
@STRIP_END@
noinst_PROGRAMS = \
testpixbuf \
testpixbuf-drawable \
testanimation \
testpixbuf-scale \
pixbuf-demo
testpixbuf_DEPENDENCIES = $(DEPS)
testpixbuf_drawable_DEPENDENCIES = $(DEPS)
testpixbuf_scale_DEPENDENCIES = $(DEPS)
testanimation_DEPENDENCIES = $(DEPS)
pixbuf_demo_DEPENDENCIES = $(DEPS)
testpixbuf_LDADD = $(LDADDS)
testpixbuf_drawable_LDADD = $(LDADDS)
testpixbuf_scale_LDADD = $(LDADDS)
testanimation_LDADD = $(LDADDS)
pixbuf_demo_LDADD = $(LDADDS)
testpixbuf_SOURCES = testpixbuf.c pixbuf-init.c
testpixbuf_drawable_SOURCES = testpixbuf-drawable.c pixbuf-init.c
testpixbuf_scale_SOURCES = testpixbuf-scale.c pixbuf-init.c
testanimation_SOURCES = testanimation.c pixbuf-init.c
pixbuf_demo_SOURCES = pixbuf-demo.c pixbuf-init.c
EXTRA_DIST = \
apple-red.png \
background.jpg \
gnome-applets.png \
gnome-calendar.png \
gnome-foot.png \
gnome-gimp.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png

BIN
demos/apple-red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
demos/background.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
demos/gnome-applets.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
demos/gnome-calendar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
demos/gnome-foot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
demos/gnome-gimp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
demos/gnome-gmush.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
demos/gnome-gsame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
demos/gnu-keys.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

230
demos/pixbuf-demo.c Normal file
View File

@@ -0,0 +1,230 @@
/* GdkPixbuf library - Scaling and compositing demo
*
* Copyright (C) 1999 The Free Software Foundation
*
* Authors: Federico Mena-Quintero <federico@gimp.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <stdlib.h>
#include <gtk/gtk.h>
#include <math.h>
#define FRAME_DELAY 50
#define BACKGROUND_NAME "background.jpg"
static const char *image_names[] = {
"apple-red.png",
"gnome-applets.png",
"gnome-calendar.png",
"gnome-foot.png",
"gnome-gmush.png",
"gnome-gimp.png",
"gnome-gsame.png",
"gnu-keys.png"
};
#define N_IMAGES (sizeof (image_names) / sizeof (image_names[0]))
/* Current frame */
static GdkPixbuf *frame;
/* Background image */
static GdkPixbuf *background;
int back_width, back_height;
/* Images */
static GdkPixbuf *images[N_IMAGES];
/* Widgets */
GtkWidget *da;
/* Loads the images for the demo and returns whether the operation succeeded */
static gboolean
load_pixbufs (void)
{
int i;
background = gdk_pixbuf_new_from_file (BACKGROUND_NAME);
if (!background)
return FALSE;
back_width = gdk_pixbuf_get_width (background);
back_height = gdk_pixbuf_get_height (background);
for (i = 0; i < N_IMAGES; i++) {
images[i] = gdk_pixbuf_new_from_file (image_names[i]);
if (!images[i])
return FALSE;
}
return TRUE;
}
/* Expose callback for the drawing area */
static gint
expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
guchar *pixels;
int rowstride;
rowstride = gdk_pixbuf_get_rowstride (frame);
pixels = gdk_pixbuf_get_pixels (frame) + rowstride * event->area.y + event->area.x * 3;
gdk_draw_rgb_image_dithalign (widget->window,
widget->style->black_gc,
event->area.x, event->area.y,
event->area.width, event->area.height,
GDK_RGB_DITHER_NORMAL,
pixels, rowstride,
event->area.x, event->area.y);
return TRUE;
}
#define CYCLE_LEN 60
static int frame_num;
/* Timeout handler to regenerate the frame */
static gint
timeout (gpointer data)
{
double f;
int i;
double xmid, ymid;
double radius;
gdk_pixbuf_copy_area (background, 0, 0, back_width, back_height,
frame, 0, 0);
f = (double) (frame_num % CYCLE_LEN) / CYCLE_LEN;
xmid = back_width / 2.0;
ymid = back_height / 2.0;
radius = MIN (xmid, ymid) / 2.0;
for (i = 0; i < N_IMAGES; i++) {
double ang;
int xpos, ypos;
int iw, ih;
double r;
GdkRectangle r1, r2, dest;
double k;
ang = 2.0 * M_PI * (double) i / N_IMAGES - f * 2.0 * M_PI;
iw = gdk_pixbuf_get_width (images[i]);
ih = gdk_pixbuf_get_height (images[i]);
r = radius + (radius / 3.0) * sin (f * 2.0 * M_PI);
xpos = floor (xmid + r * cos (ang) - iw / 2.0 + 0.5);
ypos = floor (ymid + r * sin (ang) - ih / 2.0 + 0.5);
k = (i & 1) ? sin (f * 2.0 * M_PI) : cos (f * 2.0 * M_PI);
k = 2.0 * k * k;
k = MAX (0.25, k);
r1.x = xpos;
r1.y = ypos;
r1.width = iw * k;
r1.height = ih * k;
r2.x = 0;
r2.y = 0;
r2.width = back_width;
r2.height = back_height;
if (gdk_rectangle_intersect (&r1, &r2, &dest))
gdk_pixbuf_composite (images[i],
frame,
dest.x, dest.y,
dest.width, dest.height,
xpos, ypos,
k, k,
GDK_INTERP_NEAREST,
((i & 1)
? MAX (127, fabs (255 * sin (f * 2.0 * M_PI)))
: MAX (127, fabs (255 * cos (f * 2.0 * M_PI)))));
}
gtk_widget_draw (da, NULL);
frame_num++;
return TRUE;
}
static guint timeout_id;
/* Destroy handler for the window */
static void
destroy_cb (GtkObject *object, gpointer data)
{
gtk_timeout_remove (timeout_id);
timeout_id = 0;
gtk_main_quit ();
}
extern void pixbuf_init();
int
main (int argc, char **argv)
{
GtkWidget *window;
pixbuf_init ();
gtk_init (&argc, &argv);
gdk_rgb_init ();
if (!load_pixbufs ()) {
g_message ("main(): Could not load all the pixbufs!");
exit (EXIT_FAILURE);
}
frame = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, back_width, back_height);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_usize (window, back_width, back_height);
gtk_window_set_policy (GTK_WINDOW (window), FALSE, FALSE, FALSE);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (destroy_cb), NULL);
da = gtk_drawing_area_new ();
gtk_signal_connect (GTK_OBJECT (da), "expose_event",
GTK_SIGNAL_FUNC (expose_cb), NULL);
gtk_container_add (GTK_CONTAINER (window), da);
timeout_id = gtk_timeout_add (FRAME_DELAY, timeout, NULL);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}

19
demos/pixbuf-init.c Normal file
View File

@@ -0,0 +1,19 @@
#include <glib.h>
#include <sys/stat.h>
#include <stdlib.h>
static gboolean
file_exists (const char *filename)
{
struct stat statbuf;
return stat (filename, &statbuf) == 0;
}
void
pixbuf_init ()
{
if (file_exists ("../gdk-pixbuf/.libs/libpixbufloader-pnm.so"))
putenv ("GDK_PIXBUF_MODULEDIR=../gdk-pixbuf/.libs");
}

View File

@@ -3,16 +3,16 @@
* Copyright (C) 1999 Mark Crichton, Larry Ewing
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
@@ -24,8 +24,7 @@
#include <unistd.h>
#include <string.h>
#include <gtk/gtk.h>
#include "gdk-pixbuf.h"
#include "gdk-pixbuf-loader.h"
#include <gtk/gdk-pixbuf-loader.h>
typedef struct {
FILE *imagefile;
@@ -367,6 +366,8 @@ progressive_updated_callback(GdkPixbufLoader* loader, guint x, guint y, guint wi
static int readlen = 4096;
extern void pixbuf_init();
int
main (int argc, char **argv)
{
@@ -375,6 +376,8 @@ main (int argc, char **argv)
GdkPixbufAnimation *animation;
pixbuf_init ();
gtk_init (&argc, &argv);
gdk_rgb_set_verbose (TRUE);
@@ -382,7 +385,6 @@ main (int argc, char **argv)
gdk_rgb_init ();
gtk_widget_set_default_colormap (gdk_rgb_get_cmap ());
gtk_widget_set_default_visual (gdk_rgb_get_visual ());
{
char *tbf_readlen = getenv("TBF_READLEN");

View File

@@ -1,7 +1,6 @@
#include <config.h>
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
#include "gdk-pixbuf.h"
#include <gdk/x11/gdkx.h>
int close_app(GtkWidget *widget, gpointer data)
{
@@ -67,6 +66,8 @@ int configure_cb(GtkWidget *drawing_area, GdkEventConfigure *evt, gpointer data)
return FALSE;
}
extern void pixbuf_init();
int main(int argc, char **argv)
{
GdkWindow *root;
@@ -75,12 +76,13 @@ int main(int argc, char **argv)
GtkWidget *drawing_area;
GdkPixbuf *pixbuf;
pixbuf_init ();
gtk_init(&argc, &argv);
gdk_rgb_set_verbose(TRUE);
gdk_rgb_init();
gtk_widget_set_default_colormap(gdk_rgb_get_cmap());
gtk_widget_set_default_visual(gdk_rgb_get_visual());
root = GDK_ROOT_PARENT();
pixbuf = gdk_pixbuf_get_from_drawable(NULL, root, NULL,

View File

@@ -1,5 +1,4 @@
#include <gtk/gtk.h>
#include "gdk-pixbuf.h"
#include <stdio.h>
@@ -52,6 +51,8 @@ expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
return TRUE;
}
extern void pixbuf_init();
int
main(int argc, char **argv)
{
@@ -62,6 +63,8 @@ main(int argc, char **argv)
GtkAdjustment *adjustment;
GtkRequisition scratch_requisition;
pixbuf_init ();
gtk_init (&argc, &argv);
gdk_rgb_init ();

View File

@@ -2,16 +2,16 @@
* Copyright (C) 1999 Mark Crichton, Larry Ewing
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
@@ -23,8 +23,7 @@
#include <unistd.h>
#include <string.h>
#include <gtk/gtk.h>
#include "gdk-pixbuf.h"
#include "gdk-pixbuf-loader.h"
#include <gtk/gdk-pixbuf-loader.h>
typedef struct {
FILE *imagefile;
@@ -484,6 +483,8 @@ progressive_updated_callback(GdkPixbufLoader* loader, guint x, guint y, guint wi
static int readlen = 4096;
extern void pixbuf_init();
int
main (int argc, char **argv)
{
@@ -493,6 +494,8 @@ main (int argc, char **argv)
GdkPixbuf *pixbuf;
GdkPixbufLoader *pixbuf_loader;
pixbuf_init ();
gtk_init (&argc, &argv);
gdk_rgb_set_verbose (TRUE);
@@ -500,7 +503,6 @@ main (int argc, char **argv)
gdk_rgb_init ();
gtk_widget_set_default_colormap (gdk_rgb_get_cmap ());
gtk_widget_set_default_visual (gdk_rgb_get_visual ());
{
char *tbf_readlen = getenv("TBF_READLEN");

View File

@@ -1,7 +1,6 @@
Makefile
Makefile.in
*.html
*.info*
*.dvi
*.ps
*.pg

View File

@@ -1,108 +0,0 @@
Incompatible Changes from GTK+-1.2 to GTK+-1.4:
* The gdk_time* functions have been removed. This functionality
has been unused since the main loop was moved into GLib
prior to 1.2.
* The signature for GtkPrintFunc (used for gtk_item_factory_dump_items)
has been changed to take a 'const gchar *' instead of 'gchar *', to
match what we do for glib, and other similar cases.
* The detail arguments in the GtkStyleClass structure are now 'const gchar *'.
* gtk_paned_set_gutter_size() has been removed, since the small handle tab
has been changed to include the entire area previously occupied by
the gutter.
* GDK no longer selects OwnerGrabButtonMask for button presses. This means
that the automatic grab that occurs when the user presses a button
will have owner_events = FALSE, so all events are redirected to the
grab window, even events that would normally go to other windows of the
window's owner.
* GtkColorSelectionDialog has now been moved into it's own set of files,
gtkcolorseldialog.c and gtkcolorseldialog.h.
* gtk_widget_shape_combine_mask() now keeps a reference count on the
mask pixmap that is passed in.
* Type system changes:
- GTK_TYPE_OBJECT is not a fundamental type anymore. Type checks of the
style (GTK_FUNDAMENTAL_TYPE (some_type) == GTK_TYPE_OBJECT)
will not work anymore. As a replacement, (GTK_TYPE_IS_OBJECT (some_type))
can be used now.
- The following types vanished: GTK_TYPE_ARGS, GTK_TYPE_CALLBACK,
GTK_TYPE_C_CALLBACK, GTK_TYPE_FOREIGN. The corresponding GtkArg
fields and field access macros are also gone.
- The following type aliases vanished: GTK_TYPE_FLAT_FIRST,
GTK_TYPE_FLAT_LAST, GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST.
- The type macros GTK_TYPE_MAKE() and GTK_TYPE_SEQNO() vanished, use of
GTK_FUNDAMENTAL_TYPE() is discouraged. Instead, the corresponding GType
API should be used: G_TYPE_FUNDAMENTAL(), G_TYPE_DERIVE_ID(),
G_TYPE_BRANCH_SEQNO(). Note that the GLib type system doesn't build new
type ids based on a global incremental sequential number anymore, but
numbers new type ids sequentially per fundamental type branch.
- The following type functions vanished/were replaced:
Old Function Replacement
gtk_type_query() - being investigated -
gtk_type_set_varargs_type() -
gtk_type_get_varargs_type() -
gtk_type_check_object_cast() g_type_check_instance_cast()
gtk_type_check_class_cast() g_type_check_class_cast()
gtk_type_describe_tree() -
gtk_type_describe_heritage() -
gtk_type_free() -
gtk_type_children_types() g_type_children()
gtk_type_set_chunk_alloc() GTypeInfo.n_preallocs
gtk_type_register_enum() g_enum_register_static()
gtk_type_register_flags() g_flags_register_static()
gtk_type_parent_class() g_type_parent() / g_type_class_peek_parent()
Use of g_type_class_ref() / g_type_class_unref() and g_type_class_peek()
is recommended over usage of gtk_type_class().
Use of g_type_register_static() / g_type_register_dynamic() is recommended
over usage of gtk_type_unique().
* Object system changes:
GtkObject derives from GObject, so is not the basic object type anymore.
This imposes the following source incompatible changes:
- GtkObject has no klass field anymore, an object's class can be retrived
with the object's coresponding GTK_<OBJECT>_GET_CLASS (object) macro.
- GtkObjectClass has no type field anymore, a class's type can be retrived
with the GTK_CLASS_TYPE (class) macro.
- GtkObjectClass does not introduce the finalize() and shutdown() methods
anymore. While shutdown() is intended for GTK+ internal use only, finalize()
is required by a variety of object implementations. GObjectClass.finalize
should be overriden here, e.g.:
static void gtk_label_finalize (GObject *gobject)
{
GtkLabel *label = GTK_LABEL (gobject);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void gtk_label_class_init (GtkLabelClass *class)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (class);
gobject_class->finalize = gtk_label_finalize;
}
- the GtkObject::destroy signal can now be emitted multiple times on an object.
::destroy implementations should check that make sure that they take this
into account, by checking to make sure that resources are there before
freeing them. For example:
if (object->foo_data)
{
g_free (object->foo_data);
object->foo_data = NULL;
}
Also, ::destroy implementations have to release object references that
the object holds. Code in finalize implementations such as:
if (object->adjustment)
{
gtk_object_unref (object->adjustment);
object->adjustment = NULL;
}
have to be moved into the ::destroy implementations. The reason for doing
this is that all object reference cycles should be broken at destruction
time.

232
docs/Changes-2.0.txt Normal file
View File

@@ -0,0 +1,232 @@
Incompatible Changes from GTK+-1.2 to GTK+-1.4:
* The gdk_time* functions have been removed. This functionality
has been unused since the main loop was moved into GLib
prior to 1.2.
* The signature for GtkPrintFunc (used for gtk_item_factory_dump_items)
has been changed to take a 'const gchar *' instead of 'gchar *', to
match what we do for glib, and other similar cases.
* The detail arguments in the GtkStyleClass structure are now 'const gchar *'.
* gtk_paned_set_gutter_size() has been removed, since the small handle tab
has been changed to include the entire area previously occupied by
the gutter.
* GDK no longer selects OwnerGrabButtonMask for button presses. This means
that the automatic grab that occurs when the user presses a button
will have owner_events = FALSE, so all events are redirected to the
grab window, even events that would normally go to other windows of the
window's owner.
* GtkColorSelectionDialog has now been moved into it's own set of files,
gtkcolorseldialog.c and gtkcolorseldialog.h.
* gtk_widget_shape_combine_mask() now keeps a reference count on the
mask pixmap that is passed in.
* Type system changes:
- GTK_TYPE_OBJECT is not a fundamental type anymore. Type checks of the
style (GTK_FUNDAMENTAL_TYPE (some_type) == GTK_TYPE_OBJECT)
will not work anymore. As a replacement, (GTK_TYPE_IS_OBJECT (some_type))
can be used now.
- The following types vanished: GTK_TYPE_ARGS, GTK_TYPE_CALLBACK,
GTK_TYPE_C_CALLBACK, GTK_TYPE_FOREIGN. The corresponding GtkArg
fields and field access macros are also gone.
- The following type aliases vanished: GTK_TYPE_FLAT_FIRST,
GTK_TYPE_FLAT_LAST, GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST.
- The type macros GTK_TYPE_MAKE() and GTK_TYPE_SEQNO() vanished, use of
GTK_FUNDAMENTAL_TYPE() is discouraged. Instead, the corresponding GType
API should be used: G_TYPE_FUNDAMENTAL(), G_TYPE_DERIVE_ID(),
G_TYPE_BRANCH_SEQNO(). Note that the GLib type system doesn't build new
type ids based on a global incremental sequential number anymore, but
numbers new type ids sequentially per fundamental type branch.
- The following type functions vanished/were replaced:
Old Function Replacement
gtk_type_query() - being investigated -
gtk_type_set_varargs_type() -
gtk_type_get_varargs_type() -
gtk_type_check_object_cast() g_type_check_instance_cast()
gtk_type_check_class_cast() g_type_check_class_cast()
gtk_type_describe_tree() -
gtk_type_describe_heritage() -
gtk_type_free() -
gtk_type_children_types() g_type_children()
gtk_type_set_chunk_alloc() GTypeInfo.n_preallocs
gtk_type_register_enum() g_enum_register_static()
gtk_type_register_flags() g_flags_register_static()
gtk_type_parent_class() g_type_parent() / g_type_class_peek_parent()
Use of g_type_class_ref() / g_type_class_unref() and g_type_class_peek()
is recommended over usage of gtk_type_class().
Use of g_type_register_static() / g_type_register_dynamic() is recommended
over usage of gtk_type_unique().
* Object system changes:
GtkObject derives from GObject, so is not the basic object type anymore.
This imposes the following source incompatible changes:
- GtkObject has no klass field anymore, an object's class can be retrived
with the object's coresponding GTK_<OBJECT>_GET_CLASS (object) macro.
- GtkObjectClass has no type field anymore, a class's type can be retrived
with the GTK_CLASS_TYPE (class) macro.
- GtkObjectClass does not introduce the finalize() and shutdown() methods
anymore. While shutdown() is intended for GTK+ internal use only, finalize()
is required by a variety of object implementations. GObjectClass.finalize
should be overriden here, e.g.:
static void gtk_label_finalize (GObject *gobject)
{
GtkLabel *label = GTK_LABEL (gobject);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void gtk_label_class_init (GtkLabelClass *class)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (class);
gobject_class->finalize = gtk_label_finalize;
}
- the GtkObject::destroy signal can now be emitted multiple times on an object.
::destroy implementations should check that make sure that they take this
into account, by checking to make sure that resources are there before
freeing them. For example:
if (object->foo_data)
{
g_free (object->foo_data);
object->foo_data = NULL;
}
Also, ::destroy implementations have to release object references that
the object holds. Code in finalize implementations such as:
if (object->adjustment)
{
gtk_object_unref (object->adjustment);
object->adjustment = NULL;
}
have to be moved into the ::destroy implementations. The reason for doing
this is that all object reference cycles should be broken at destruction
time.
- Inserting and deleting text in GtkEntry though functions such
as gtk_entry_insert_text() now leave the cursor at its original
position in the text instead of moving it to the location of
the insertion/deletion.
- The ->label field of GtkFrame widgets has been removed. (As part of
a change to allow the arbitrary widgets in the title position.) The
text can now be retrieved with the new function gtk_frame_get_text().
- The 'font' and 'font_set' declarations in RC files are now ignored. There
is a new 'font_name' field that holds the string form of a Pango font
- A number of types in GDK have become subclasses of GObject. For the
most part, this should not break anyone's code. However, it's now
possible/encouraged to use g_object_ref()/g_object_unref() and other
GObject features with these GDK types. The converted types are:
GdkWindow, GdkDrawable, GdkPixmap, GdkImage, GdkGC, GdkDragContext,
GdkColormap
- All drawables including pixmaps used to have a type tag, the
GdkWindowType enumeration, which included GDK_WINDOW_PIXMAP.
GdkWindowType is now a property of GdkWindow _only_, and there is
no GDK_WINDOW_PIXMAP. You can use the GDK_IS_PIXMAP() macro to see
if you have a pixmap, if you need to know that.
- GtkStyle and GtkRcStyle are now subclasses of GObject as well. This
requires fairly extensive changes to theme engines quite badly, but
shouldn't affect most other code.
- xthickness/ythickness have moved from GtkStyleClass to GtkStyle
(from class to instance). This gives themes a bit more flexibility
and is generally more of the Right Thing. You can trivially fix
your code with s/style->klass->xthickness/style->xthickness/g and
same for ythickness.
- If you were using private GDK types, they have been rearranged
significantly. You shouldn't use private types. ;-)
- The visual for a widget, and also the default visual is now derived
from the colormap for the widget and the default colormap.
gtk_widget_set_visual(), gtk_widget_set_default_visual(), gtk_widget_push_visual()
and gtk_widget_pop_visual() now do nothing. Since the visual always
had to match that of the colormap, it is safe to simply delete
all references to these functions.
- A number of functions in GDK have been renamed for consistency and
clarity. #defines to provide backwards compatibility have been
included, but can be disabled by defineing GDK_DISABLE_COMPAT_H.
#define gdk_draw_pixmap gdk_draw_drawable
#define gdk_draw_bitmap gdk_draw_drawable
#define gdk_window_get_size gdk_drawable_get_size
#define gdk_window_get_type gdk_window_get_window_type
#define gdk_window_get_colormap gdk_drawable_get_colormap
#define gdk_window_set_colormap gdk_drawable_set_colormap
#define gdk_window_get_visual gdk_drawable_get_visual
#define gdk_window_ref gdk_drawable_ref
#define gdk_window_unref gdk_drawable_unref
#define gdk_bitmap_ref gdk_drawable_ref
#define gdk_bitmap_unref gdk_drawable_unref
#define gdk_pixmap_ref gdk_drawable_ref
#define gdk_pixmap_unref gdk_drawable_unref
#define gdk_gc_destroy gdk_gc_unref
#define gdk_image_destroy gdk_image_unref
#define gdk_cursor_destroy gdk_cursor_unref
(Note that g_object_ref() and g_object_unref() may be used for all of
the above.)
#define gdk_window_copy_area(drawable,gc,x,y,source_drawable,source_x,source_y,width,height) \
gdk_draw_pixmap(drawable,gc,source_drawable,source_x,source_y,x,y,width,height)
#define gdk_rgb_get_cmap gdk_rgb_get_colormap
- gdk_pixmap_foreign_new() no longer calls XFreePixmap() on the
pixmap when the GdkPixmap is finalized. This change corresponds
to the behavior of gdk_window_foreign_new(), and fixes a lot
of problems with code where the pixmap wasn't supposed to be
freed. If XFreePixmap() is needed, it can be done using the
destroy-notification facilities of g_object_set_data().
- GtkProgress/GtkProgressBar had serious problems in GTK 1.2.
- Only 3 or 4 functions are really needed for 95% of progress
interfaces; GtkProgress[Bar] had about 25 functions, and
didn't even include these 3 or 4.
- In activity mode, the API involves setting the adjustment
to any random value, just to have the side effect of
calling the progress bar update function - the adjustment
is totally ignored in activity mode
- You set the activity step as a pixel value, which means to
set the activity step you basically need to connect to
size_allocate
- There are ctree_set_expander_style()-functions, to randomly
change look-and-feel for no good reason
- The split between GtkProgress and GtkProgressBar makes no sense
to me whatsoever.
This was a big wart on GTK and made people waste lots of time,
both learning and using the interface.
So, we have added what we feel is the correct API, and marked all the
rest deprecated. However, the changes are 100% backward-compatible and
should break no existing code.
The following 5 functions are the new programming interface and you
should consider changing your code to use them:
void gtk_progress_bar_pulse (GtkProgressBar *pbar);
void gtk_progress_bar_set_text (GtkProgressBar *pbar,
const gchar *text);
void gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
gfloat fraction);
void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
gfloat fraction);
void gtk_progress_bar_set_orientation (GtkProgressBar *pbar,
GtkProgressBarOrientation orientation);

View File

@@ -1,176 +1,16 @@
## Process this file with automake to produce Makefile.in
info_TEXINFOS = gdk.texi gtk.texi
SUBDIRS = tutorial faq reference
man_MANS = gtk-config.1
TUTORIAL_FR_FILES=html/gtk_tut_fr-1.html \
html/gtk_tut_fr-2.html \
html/gtk_tut_fr-3.html \
html/gtk_tut_fr-4.html \
html/gtk_tut_fr-5.html \
html/gtk_tut_fr-6.html \
html/gtk_tut_fr-7.html \
html/gtk_tut_fr-8.html \
html/gtk_tut_fr-9.html \
html/gtk_tut_fr-10.html \
html/gtk_tut_fr-11.html \
html/gtk_tut_fr-12.html \
html/gtk_tut_fr-13.html \
html/gtk_tut_fr-14.html \
html/gtk_tut_fr-15.html \
html/gtk_tut_fr-16.html \
html/gtk_tut_fr-17.html \
html/gtk_tut_fr-18.html \
html/gtk_tut_fr-19.html \
html/gtk_tut_fr-20.html \
html/gtk_tut_fr-21.html \
html/gtk_tut_fr-22.html \
html/gtk_tut_fr-23.html \
html/gtk_tut_fr-24.html \
html/gtk_tut_fr.html text/gtk_tut_fr.txt
TUTORIAL_FILES=text/gtk_tut.txt html/gtk_tut.html \
html/gtk_tut.html \
html/gtk_tut-1.html \
html/gtk_tut-2.html \
html/gtk_tut-3.html \
html/gtk_tut-4.html \
html/gtk_tut-5.html \
html/gtk_tut-6.html \
html/gtk_tut-7.html \
html/gtk_tut-8.html \
html/gtk_tut-9.html \
html/gtk_tut-10.html \
html/gtk_tut-11.html \
html/gtk_tut-12.html \
html/gtk_tut-13.html \
html/gtk_tut-14.html \
html/gtk_tut-15.html \
html/gtk_tut-16.html \
html/gtk_tut-17.html \
html/gtk_tut-18.html \
html/gtk_tut-19.html \
html/gtk_tut-20.html \
html/gtk_tut-21.html \
html/gtk_tut-22.html \
html/gtk_tut-23.html \
html/gtk_tut-24.html \
html/gtk_tut-25.html \
html/gtk_tut-26.html \
html/gtk_tut-27.html \
html/gtk_tut-28.html \
html/gtk_tut-29.html \
html/gtk_tut-30.html \
html/gtk_tut-31.html
TUTORIAL_IT_FILES= html/gtk_tut_it.html \
html/gtk_tut_it-1.html \
html/gtk_tut_it-2.html \
html/gtk_tut_it-3.html \
html/gtk_tut_it-4.html \
html/gtk_tut_it-5.html \
html/gtk_tut_it-6.html \
html/gtk_tut_it-7.html \
html/gtk_tut_it-8.html \
html/gtk_tut_it-9.html \
html/gtk_tut_it-10.html \
html/gtk_tut_it-11.html \
html/gtk_tut_it-12.html \
html/gtk_tut_it-13.html \
html/gtk_tut_it-14.html \
html/gtk_tut_it-15.html \
html/gtk_tut_it-16.html \
html/gtk_tut_it-17.html \
html/gtk_tut_it-18.html \
html/gtk_tut_it-19.html \
html/gtk_tut_it-20.html \
html/gtk_tut_it-21.html \
html/gtk_tut_it-22.html \
html/gtk_tut_it-23.html \
html/gtk_tut_it-24.html \
text/gtk_tut_it.txt
FAQ_FILES=html/gtkfaq.html \
html/gtkfaq-1.html \
html/gtkfaq-2.html \
html/gtkfaq-3.html \
html/gtkfaq-4.html \
html/gtkfaq-5.html \
html/gtkfaq-6.html \
html/gtkfaq-7.html \
text/gtkfaq.txt
html/gtk_tut_table.gif: gdk.html gtk.html
.PHONY: html htmldir faq tutorial tutorial_it tutorial_fr files
distdocs: gdk.html gtk.html faq tutorial tutorial_it tutorial_fr
htmldir:
(cd $(srcdir); mkdir -p html; cp gtk_tut*gif html)
textdir:
mkdir -p $(srcdir)/text
gdk.html gdk_toc.html: gdk.texi
(cd $(srcdir); texi2html gdk.texi)
gtk.html gtk_toc.html: gtk.texi
(cd $(srcdir); texi2html gtk.texi)
html/gdk.html html/gdk_toc.html: htmldir gdk.html gdk_toc.html
(cd $(srcdir); cp gdk.html gdk_toc.html html/)
html/gtk.html html/gtk_toc.html: htmldir gtk.html gtk_toc.html
(cd $(srcdir); cp gtk.html gtk_toc.html html/)
$(FAQ_FILES): faq
faq: htmldir textdir
(cd $(srcdir); sgml2html gtkfaq.sgml; \
perl gtkdocs_fix gtkfaq*html; \
mv gtkfaq*html html/; \
sgml2txt gtkfaq.sgml; \
mv gtkfaq.txt text/)
$(TUTORIAL_FILES): tutorial
$(TUTORIAL_FR_FILES): tutorial_fr
$(TUTORIAL_IT_FILES): tutorial_it
tutorial: htmldir textdir
(cd $(srcdir); sgml2html gtk_tut.sgml; \
perl gtkdocs_fix gtk_tut*html; \
mv gtk_tut*html html/; \
sgml2txt gtk_tut.sgml; \
mv gtk_tut.txt text/)
tutorial_it: htmldir textdir
(cd $(srcdir); sgml2html --language=it gtk_tut_it.sgml; \
perl gtkdocs_fix gtk_tut_it*html; \
mv gtk_tut_it*html html/; \
sgml2txt --language=it gtk_tut_it.sgml; \
mv gtk_tut_it.txt text/)
tutorial_fr: htmldir textdir
(cd $(srcdir); sgml2html --language=fr gtk_tut_fr.sgml; \
perl gtkdocs_fix gtk_tut_fr*html; \
mv gtk_tut_fr*html html/; \
sgml2txt --language=fr gtk_tut_fr.sgml; \
mv gtk_tut_fr.txt text/)
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
EXTRA_DIST += \
Changes-1.2.txt \
Changes-2.0.txt \
debugging.txt \
developers.txt \
dnd_internals.txt \
make-todo \
refcounting.txt \
styles.txt \
text_widget.txt \
@@ -178,24 +18,5 @@ EXTRA_DIST += \
generation.txt \
gtk-config.txt \
gtk-config.1.in \
texinfo.tex \
macros.texi \
gtkdocs_fix \
gtkfaq.sgml \
gtk_tut.sgml \
gtk_tut_it.sgml \
gtk_tut_fr.sgml \
gtk_tut_packbox1.gif \
gtk_tut_packbox2.gif \
html/gtk_tut_table.gif \
html/gtk_tut_packbox1.gif \
html/gtk_tut_packbox2.gif \
gtk_tut_table.gif \
html/gdk.html \
html/gdk_toc.html \
html/gtk.html \
html/gtk_toc.html \
$(TUTORIAL_FILES) \
$(TUTORIAL_FR_FILES) \
$(TUTORIAL_IT_FILES) \
$(FAQ_FILES)
gtkdocs_fix

View File

@@ -1,103 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ</TITLE>
<LINK HREF="gtkfaq-es-1.html" REL=next>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-1.html">Next</A>
Previous
Contents
<HR NOSHADE>
<H1>GTK+ FAQ</H1>
<H2>Nathan Froyd, Tony Gale, Shawn T. Amundson.</H2>Seis de Julio de 1998
<P><HR NOSHADE>
<EM>La intenci<63>n de este documento es dar respuesta a las preguntas
realizadas con m<>s frecuencia por parte de los programadores que utilizan GTK+ o simplemente por personas que desean utilizar GTK+. </EM>
<HR NOSHADE>
<P>
<H2><A NAME="toc1">1.</A> <A HREF="gtkfaq-es-1.html">Informaci<EFBFBD>n General</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-1.html#ss1.1">1.1 Autores</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.2">1.2 <20>Qu<51> es GTK+?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.3">1.3 <20>Qu<51> es el + en GTK+?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.4">1.4 <20>La G en GTK+ significa General, Gimp, o GNU?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.5">1.5 <20>D<EFBFBD>nde est<73> la documentaci<63>n para GTK?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.6">1.6 <20>Hay alguna lista de correo (o archivo de lista de correo) para GTK+?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.7">1.7 <20>La lista gtk-list no ha tenido tr<74>fico alguno por d<>as,</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.8">1.8 C<>mo conseguir ayuda con GTK+</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.9">1.9 C<>mo reportar errores en GTK+</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.10">1.10 <20>Qu<51> aplicaciones se han escrito con GTK+?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.11">1.11 Estoy buscando una aplicaci<63>n que escribir en GTK+. <20>Qu<51> tal un cliente IRC?</A>
</UL>
<P>
<H2><A NAME="toc2">2.</A> <A HREF="gtkfaq-es-2.html">C<EFBFBD>mo encontrar, configurar, instalar y comprobar GTK+</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-2.html#ss2.1">2.1 <20>Qu<51> necesito para correr GTK+?</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.2">2.2 <20>D<EFBFBD>nde puedo conseguir GTK+?</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.3">2.3 <20>C<EFBFBD>mo configuro/compilo GTK+?</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.4">2.4 Cuando compilo GTK+ obtengo un error como: <CODE>make: file `Makefile' line 456: Syntax error</CODE></A>
<LI><A HREF="gtkfaq-es-2.html#ss2.5">2.5 <20>He compilado e instalado GTK+, pero no puedo lograr que los programas se enlacen con <20>l!</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.6">2.6 Cuando compilo programas con GTK+, obtengo mensajes de error del compilador diciendo que no es capaz de encontrar <CODE>"glibconfig.h"</CODE>.</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.7">2.7 Cuando instalo El GIMP, configure reporta que no puede encontrar GTK.</A>
</UL>
<P>
<H2><A NAME="toc3">3.</A> <A HREF="gtkfaq-es-3.html">Desarrollo de GTK+</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-3.html#ss3.1">3.1 <20>Qu<51> es esta cosa CVS de la cual todo el mundo habla, y c<>mo puedo acceder a ella?</A>
<LI><A HREF="gtkfaq-es-3.html#ss3.2">3.2 <20>C<EFBFBD>mo puedo contribu<62>r a GTK+?</A>
<LI><A HREF="gtkfaq-es-3.html#ss3.3">3.3 <20>C<EFBFBD>mo averiguo si mi parche fue aplicado, y si no, por qu<71> no?</A>
<LI><A HREF="gtkfaq-es-3.html#ss3.4">3.4 <20>Cu<43>l es la pol<6F>tica sobre la incorporaci<63>n de nuevos <EM>widgets</EM> en la librer<65>a?</A>
<LI><A HREF="gtkfaq-es-3.html#ss3.5">3.5 <20>Hay alguien trabajando en atamientos para otros lenguajes distintos a C?</A>
</UL>
<P>
<H2><A NAME="toc4">4.</A> <A HREF="gtkfaq-es-4.html">Desarrollo con GTK+</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-4.html#ss4.1">4.1 <20>C<EFBFBD>mo empiezo?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.2">4.2 <20>Qu<51> <EM>widgets</EM> existen en GTK?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.3">4.3 <20>GTK+ es seguro ante m<>ltiples hilos?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.4">4.4 <20>C<EFBFBD>mo puedo prevenir el redibujar y reacomodar tama<6D>os mientras cambio m<>ltiples <EM>widgets</EM>?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.5">4.5 <20>C<EFBFBD>mo atrapo un evento de doble tecleo (en un <EM>widget</EM> de lista, por ejemplo)?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.6">4.6 <20>C<EFBFBD>mo puedo averiguar cu<63>l es la selecci<63>n de un GtkList?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.7">4.7 <20>Acaso es posible desplegar un texto que se recorte para que quepa dentro del lugar que tenga asignado?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.8">4.8 <20>Por qu<71> el contenido de un bot<6F>n no se mueve al presionar el bot<6F>n? Aqu<71> les env<6E>o un parche para que funcione de esa forma...</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.9">4.9 <20>C<EFBFBD>mo puedo definir una l<>nea de separaci<63>n como en un men<65>?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.10">4.10 <20>C<EFBFBD>mo puedo darle justificaci<63>n a la derecha a un men<65>, como Help, cuando utilizo MenuFactory?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.11">4.11 <20>C<EFBFBD>mo hago mi ventana modal? / <20>C<EFBFBD>mo hago una s<>la ventana activa?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.12">4.12 <20>Por qu<71> mi <EM>widget</EM> (ej. progressbar) no se actualiza?</A>
</UL>
<P>
<H2><A NAME="toc5">5.</A> <A HREF="gtkfaq-es-5.html">Acerca de gdk</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-5.html#ss5.1">5.1 <20>Qu<51> es gdk?</A>
<LI><A HREF="gtkfaq-es-5.html#ss5.2">5.2 <20>C<EFBFBD>mo utilizo la asignaci<63>n de colores?</A>
</UL>
<P>
<H2><A NAME="toc6">6.</A> <A HREF="gtkfaq-es-6.html">Acerca de glib</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-6.html#ss6.1">6.1 <20>Qu<51> es glib?</A>
<LI><A HREF="gtkfaq-es-6.html#ss6.2">6.2 <20>Por qu<71> utilizar g_print, g_malloc, g_strdup y funciones compa<70>eras de glib?</A>
</UL>
<P>
<H2><A NAME="toc7">7.</A> <A HREF="gtkfaq-es-7.html">Contribuciones al GTK+ FAQ, Mantenedores y Copyright</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-7.html#ss7.1">7.1 Nota del Traductor</A>
</UL>
<HR NOSHADE>
<A HREF="gtkfaq-es-1.html">Next</A>
Previous
Contents
</BODY>
</HTML>

View File

@@ -1,192 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ: Informaci<63>n General</TITLE>
<LINK HREF="gtkfaq-es-2.html" REL=next>
<LINK HREF="gtkfaq-es.html#toc1" REL=contents>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-2.html">Next</A>
Previous
<A HREF="gtkfaq-es.html#toc1">Contents</A>
<HR NOSHADE>
<H2><A NAME="s1">1. Informaci<63>n General</A></H2>
<H2><A NAME="ss1.1">1.1 Autores</A>
</H2>
<P>Los autores de GTK+ son:
<P>
<UL>
<LI>Peter Mattis (petm@xcf.berkeley.edu)</LI>
<LI>Spencer Kimball (spencer@xcf.berkeley.edu)</LI>
<LI>Josh MacDonald (jmacd@xcf.berkeley.edu)</LI>
</UL>
GTK+ se ditribuye bajo la licencia de Librer<65>a P<>blica General de GNU
<P>
<H2><A NAME="ss1.2">1.2 <20>Qu<51> es GTK+?</A>
</H2>
<P>GTK+ es un peque<75>o y eficiente conjunto de <EM>widgets</EM>, dise<73>ados
con un aspecto y sentir general a Motif. Contiene <EM>widgets</EM> com<6F>nes
y alg<6C>nos <EM>widgets</EM> m<>s complejos como una selecci<63>n de
archivos, y <EM>widgets</EM> de selecci<63>n de colores.
<P>GTK+ proporciona algunas caracter<65>sticas <20>nicas. (No tengo conocimiento
de otra librer<65>a de <EM>widge>
<HR><H3>Transfer interrupted!</H3>
enos).
Por ejemplo, un bot<6F>n no contiene una etiqueta, contiene un <EM>widget</EM>
hijo, que en muchas instancias ser<65> una etiqueta. Sin embargo, el
<EM>widget</EM> hijo tambi<62>n puede ser un <EM>pixmap</EM> (mapa de pixels),
imag<EFBFBD>n o cualquier combinaci<63>n posible que desee el programador. Toda la
librer<EFBFBD>a es as<61> de flexible.
<P>
<H2><A NAME="ss1.3">1.3 <20>Qu<51> es el + en GTK+?</A>
</H2>
<P>Peter Mattis inform<72> a la lista de correo gtk:
<BLOCKQUOTE>
"Escrib<69> originalmente gtk el cual inclu<6C>a tres librer<65>as,
libglib, libgdk y libgtk. Era caracterizado por una jerarqu<71>a de
<EM>widget</EM> plana. O sea, no pod<6F>as derivar un nuevo
<EM>widget</EM> de uno ya existente. Conten<65>a un mecanismo de
<EM>callback</EM> (llamada) m<>s est<73>ndar en lugar del mecanismo
de se<73>ales ahora presente en gtk+. El + fue agregado para distinguir
entre la versi<73>n original de gtk y la nueva versi<73>n. Pueden pensar
en ello como una ampliaci<63>n al gtk original que agrega caracter<65>sticas
orientadas o objetos."
</BLOCKQUOTE>
<P>
<H2><A NAME="ss1.4">1.4 <20>La G en GTK+ significa General, Gimp, o GNU?</A>
</H2>
<P>Peter Mattis inform<72> a la lista de correo gtk:
<BLOCKQUOTE>
"Pienso que la <20>ltima vez que Spencer y yo hablamos al respecto nos
decidimos por GTK = Gimp ToolKit. Pero no estoy seguro. Sin embargo,
definitivamente no es GNU."
</BLOCKQUOTE>
<P>
<H2><A NAME="ss1.5">1.5 <20>D<EFBFBD>nde est<73> la documentaci<63>n para GTK?</A>
</H2>
<P>
En el directorio doc/ de la distribuci<63>n de GTK+ encontrar<61>s
el material de referencia para GTK y GDK, este FAQ y el tutor de GTK.
<P>Adicionalmente, puedes encontrar enlaces a versiones HTML de estos
documentos al ir a
<A HREF="http://www.gtk.org/">http://www.gtk.org/</A>.
<P>El Tutor y el FAQ tambi<62>n se pueden encontrar en
<A HREF="http://www.geocities.com/ResearchTriangle/Lab/4299/">http://www.geocities.com/ResearchTriangle/Lab/4299/</A>.
<P>
<H2><A NAME="ss1.6">1.6 <20>Hay alguna lista de correo (o archivo de lista de correo) para GTK+?</A>
</H2>
<P>Hay dos listas de correo:
<UL>
<LI>Una lista de correo para la discusi<73>n del desarrollo de aplicaciones
basadas en GTK se hospeda en gtk-app-devel-list@redhat.com. Para suscribirse
env<EFBFBD>e un correo electr<74>nico a
<A HREF="mailto:gtk-app-devel-list-request@redhat.com">gtk-app-devel-list-request@redhat.com</A> con <EM>subscribe</EM> en el
campo <B>subject</B>.
<P>
</LI>
<LI>Una lista de correo para la discusi<73>n del desarrollo de GTK se hospeda
en gtk-list@redhat.com. Para suscribirse env<6E>e un correo electr<74>nico
a
<A HREF="mailto:gtk-list-request@redhat.com">gtk-list-request@redhat.com</A> con <EM>subscribe</EM>
en el campo <B>subject</B>.
<P>Un archivo escudri<72>able de la lista de correo puede ser encontrado en
<A HREF="http://archive.redhat.com/gtk-list">http://archive.redhat.com/gtk-list</A></LI>
</UL>
<H2><A NAME="ss1.7">1.7 <20>La lista gtk-list no ha tenido tr<74>fico alguno por d<>as,</A>
est<EFBFBD> muerta?</H2>
<P>No, todos est<73>n ocupados codificando.
<P>
<H2><A NAME="ss1.8">1.8 C<>mo conseguir ayuda con GTK+</A>
</H2>
<P>Primero, aseg<65>rate que tu pregunta no est<73> respondida en la
documentaci<EFBFBD>n, este FAQ o el tutor. <20>Hecho? <20>Est<73>s seguro de que
lo has hecho, verdad? En ese caso, el mejor lugar para hacer preguntas es
la lista de correo de GTK+.
<P>
<H2><A NAME="ss1.9">1.9 C<>mo reportar errores en GTK+</A>
</H2>
<P>Los reportes de errores se deben enviar a la lista de correo de GTK+.
<P>
<H2><A NAME="ss1.10">1.10 <20>Qu<51> aplicaciones se han escrito con GTK+?</A>
</H2>
<P>Algunas aplicaciones que utilizan GTK+ son:
<UL>
<LI>GIMP (
<A HREF="http://www.XCF.Berkeley.EDU/~gimp/">http://www.XCF.Berkeley.EDU/~gimp/</A> ),
un programa de manipulaci<63>n de im<69>genes</LI>
<LI>Gsumi (
<A HREF="http://www.msc.cornell.edu/~otaylor/gsumi/gsumi.html">http://www.msc.cornell.edu/~otaylor/gsumi/gsumi.html</A>),
un divertido programa para rayar en blanco y negro con soporte para
XInput.</LI>
<LI>GUBI (
<A HREF="http://www.SoftHome.net/pub/users/timj/gubi/index.htm">http://www.SoftHome.net/pub/users/timj/gubi/index.htm</A>),
un constructor de interface de usuario</LI>
<LI>Gzilla (
<A HREF="http://www.levien.com/gzilla/">http://www.levien.com/gzilla/</A>),
un navegador del web</LI>
<LI>SANE (
<A HREF="http://www.azstarnet.com/~axplinux/sane/">http://www.azstarnet.com/~axplinux/sane/</A> ),
una interface universal para <EM>scanner</EM></LI>
<LI>XQF (
<A HREF="http://www.botik.ru/~roma/quake/">http://www.botik.ru/~roma/quake/</A>),
un lanzador y navegador de servidores de QuakeWorld/Quake2</LI>
<LI>ElectricEyes (
<A HREF="http://www.labs.redhat.com/ee.shtml">http://www.labs.redhat.com/ee.shtml</A>),
un visor de im<69>genes que se dirige a ser un reemplazo libre de xv</LI>
<LI>GPK - the General Proxy Kit (
<A HREF="http://www.humanfactor.com/gpk/">http://www.humanfactor.com/gpk/</A>),
una librer<65>a agregable que permite accesso seguro a GTK+
ante m<>ltiples hilos</LI>
<LI>GCK - the General Convenience Kit (
<A HREF="http://www.ii.uib.no/~tomb/gck.html">http://www.ii.uib.no/~tomb/gck.html</A>),
funciones miscel<65>neas cuya intenci<63>n es facilitar el manejo de
colores, construcci<63>n de IU (interfaces de usuario), operaciones
vectoriales, y funciones matem<65>ticas</LI>
<LI>GDK Imlib (
<A HREF="http://www.labs.redhat.com/imlib/">http://www.labs.redhat.com/imlib/</A>),
una librer<65>a de manipulaci<63>n y carga r<>pida de im<69>genes para
GDK </LI>
</UL>
<P>Adicionalmente a lo de arriba, el proyecto GNOME
(
<A HREF="http://www.gnome.org">http://www.gnome.org</A>)
utiliza GTK+ para constru<72>r un escritorio libre para Linux. Muchos m<>s
programas pueden ser encontrados ah<61>.
<P>
<H2><A NAME="ss1.11">1.11 Estoy buscando una aplicaci<63>n que escribir en GTK+. <20>Qu<51> tal un cliente IRC?</A>
</H2>
<P>
<P>Pregunte en gtk-list para sugerencias. Actualmente hay por lo menos cuatro
clientes IRC endesarrollo.
<P>
<UL>
<LI>girc. (Inclu<6C>do con GNOME)</LI>
<LI>Bezerk (
<A HREF="http://www.gtk.org/~trog/">http://www.gtk.org/~trog/</A>)</LI>
<LI>gsirc. (<28>Localizaci<63>n?)</LI>
<LI>Gnirc. (
<A HREF="http://www.imaginet.fr/~dramboz/gnirc">http://www.imaginet.fr/~dramboz/gnirc</A>)</LI>
</UL>
<P>
<P>
<HR NOSHADE>
<A HREF="gtkfaq-es-2.html">Next</A>
Previous
<A HREF="gtkfaq-es.html#toc1">Contents</A>
</BODY>
</HTML>

View File

@@ -1,195 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ: C<>mo encontrar, configurar, instalar y comprobar GTK+</TITLE>
<LINK HREF="gtkfaq-es-3.html" REL=next>
<LINK HREF="gtkfaq-es-1.html" REL=previous>
<LINK HREF="gtkfaq-es.html#toc2" REL=contents>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-3.html">Next</A>
<A HREF="gtkfaq-es-1.html">Previous</A>
<A HREF="gtkfaq-es.html#toc2">Contents</A>
<HR NOSHADE>
<H2><A NAME="s2">2. C<>mo encontrar, configurar, instalar y comprobar GTK+</A></H2>
<H2><A NAME="ss2.1">2.1 <20>Qu<51> necesito para correr GTK+?</A>
</H2>
<P>Para compilar GTK+, todo lo que necesita es un compilador de C (gcc) y
el Sistema X Windows y librer<65>as asociadas en su sistema.
<P>
<H2><A NAME="ss2.2">2.2 <20>D<EFBFBD>nde puedo conseguir GTK+?</A>
</H2>
<P>El sitio can<61>nico es:
<PRE>
ftp://ftp.gtk.org/pub/gtk
</PRE>
Por supuesto, cualquier espejo de ftp.gtk.org debe tener las <20>ltimas
versiones tambi<62>n.
<P>
<H2><A NAME="ss2.3">2.3 <20>C<EFBFBD>mo configuro/compilo GTK+?</A>
</H2>
<P>Por lo general, todo lo que necesita es emititir los comandos:
<PRE>
./configure
make
</PRE>
en el directorio gtk+-version/.
<P>
<H2><A NAME="ss2.4">2.4 Cuando compilo GTK+ obtengo un error como: <CODE>make: file `Makefile' line 456: Syntax error</CODE></A>
</H2>
<P>Aseg<EFBFBD>rese de que utiliza GNU make (verifique con <CODE>make -v</CODE>). Hay
varias versiones extra<72>as y maravillosas de make por ah<61>, y no todas
manejan los <EM>Makefiles</EM> generados autom<6F>ticamente.
<P>
<P>
<H2><A NAME="ss2.5">2.5 <20>He compilado e instalado GTK+, pero no puedo lograr que los programas se enlacen con <20>l!</A>
</H2>
<P>Este problema se encuentra com<6F>nmente cuando las librer<65>as GTK+ no pueden
ser localizadas o tienen la versi<73>n incorrecta. Generalmente, el compilador
se quejar<61> de un 'unresolved symbol' (s<>mbolo no resuelto). Hay dos cosas
que necesita verificar:
<P>
<UL>
<LI>Aseg<EFBFBD>rese de que las librer<65>as pueden ser encontradas. Usted desea editar
/etc/ld.so.conf para inclu<6C>r los directorios que contienen las librer<65>as
GTK, de manera que luzca como:
<PRE>
/usr/X11R6/lib
/usr/local/lib
</PRE>
Luego necesita correr /sbin/ldconfig como root. Puede encontrar que directorio
utiliza GTK al ejecutar
<PRE>
gtk-config --libs
</PRE>
Si su sitema no utiliza ld.so para encontrar librer<65>as (como Solaris),
entonces tendr<64> que utilizar la variable de ambiente LD_LIBRARY_PATH
(o compilar el camino en su programa, lo cual no voy a cubrir aqu<71>). As<41>
que, con un shell tipo Bourne usted puede hacer (si sus librer<65>as GTK
est<EFBFBD>n en /usr/local/lib):
<PRE>
export LD_LIBRARY_PATH=/usr/local/lib
</PRE>
y en un csh, usted puede hacer:
<PRE>
setenv LD_LIBRARY_PATH /usr/local/lib
</PRE>
</LI>
<LI>Aseg<EFBFBD>rese de que el enlazador est<73> ha encontrado el conjunto correcto de
librer<EFBFBD>as. Si tiene una distribuci<63>n de Linux que instala GTK+ (ej.
RedHat 5.0) entonces esta versi<73>n anterior puede ser utilizada. Ahora
(asumiendo que tiene un sistema RedHat), emita el comando
<PRE>
rpm -e gtk gtk-devel
</PRE>
Tambi<EFBFBD>n puede querer remover los paquetes que dependen de gtk (rpm le
dir<EFBFBD> cu<63>les son). Si no tiene un sistema Linux RedHat, verifique
para estar seguro que ni
<PRE>
/usr/lib
</PRE>
ni
<PRE>
/usr/local/lib
</PRE>
contengan alguna de las librer<65>as libgtk, libgdk, libglib, or libgck.
Si existen, elim<69>nelas (y cualquier archivo <EM>include</EM>, como
/usr/include/gtk y /usr/include/gdk) y reinstale gtk+.</LI>
</UL>
<P>
<H2><A NAME="ss2.6">2.6 Cuando compilo programas con GTK+, obtengo mensajes de error del compilador diciendo que no es capaz de encontrar <CODE>"glibconfig.h"</CODE>.</A>
</H2>
<P>El archivo de encabezado "glibconfig.h" se movi<76> al directorio
$exec_prefix/lib/glib/include/. $exec_prefix es el directorio que fue
especificado al dar la bandera --exec-prefix a ./configure cuando se
compil<EFBFBD> GTK+. Va por omisi<73>n a $prefix, (especificado con --prefix),
que en su lugar va por omisi<73>n a /usr/local/.
<P><EFBFBD>sto se hizo asi porque "glibconfig.h" incluye informaci<63>n
dependiente de la arquitectura, y el resto de los archivos <EM>include</EM>
se colocan en $prefix/include, el cual puede ser compartido entre distintas
arquitecturas.
<P>GTK+ incluye un gui<75>n para el int<6E>rprete de comandos,
<CODE>gtk-config</CODE>, el cual hace f<>cil
encontrar los caminos correctos de inclusi<73>n. El tutor de GTK+ incluye
un ejemplo de como utilizar <CODE>gtk-config</CODE> para una compilaci<63>n simple
desde la l<>nea de comandos. Para informaci<63>n sobre configuraciones m<>s
complicadas, vea el archivo docs/gtk-config.txt en la distribuci<63>n de GTK+.
<P>Si est<73> intentando compilar un programa viejo, puede bordear el problema
al configurarlo con una l<>nea de comando como:
<P>
<BLOCKQUOTE><CODE>
<PRE>
CPPFLAGS="-I/usr/local/include/glib/include" ./configure
</PRE>
</CODE></BLOCKQUOTE>
<P>para int<6E>rpretes de comandos compatibles con Bourne como bash, o para
variantes csh:
<P>
<BLOCKQUOTE><CODE>
<PRE>
setenv CPPFLAGS "-I/usr/local/include/glib/include"
./configure
</PRE>
</CODE></BLOCKQUOTE>
<P>(Sustituya el valor apropiado de $exec_prefix para /usr/local.)
<P>
<H2><A NAME="ss2.7">2.7 Cuando instalo El GIMP, configure reporta que no puede encontrar GTK.</A>
</H2>
<P>Hay varias razones com<6F>nes para esto:
<UL>
<LI>Usted tiene una versi<73>n vieja de GTK instalada en alg<6C>n lugar.
RedHat 5.0, por ejemplo, instala una copia anterior de GTK que no funcinar<61>
con las <20>ltimas veriones de GIMP. Debe eliminar esta copia vieja, pero
observe que en el caso de RedHat 5.0 esto da<64>ar<61> las aplicaciones
<CODE>control-panel</CODE>.
<P>
</LI>
<LI><CODE>gtk-config</CODE> (u otro componente de GTK) no se encuentra en el camino
(<EM>path</EM>),
o hay una versi<73>n vieja en su sistema. Teclee:
<PRE>
gtk-config --version
</PRE>
para verificar ambos casos. <20>sto debe devolver un valor de por lo menos
0.99.8 para que las cosas funcionen correctamente con GIMP 0.99.23. Si
devuelve un valor distinto a lo que usted espera, entonces tiene una versi<73>n
vieja de GTK en su sistema.
<P>
</LI>
<LI>El gui<75>n ./configure no puede encontrar las librer<65>as GTK. Como
./configure compila varios programas de prueba, necesita poder encontrar las
librer<EFBFBD>as GTK. Revise la pregunta anterior para obtener m<>s ayuda al
respecto.</LI>
</UL>
<P>Si nada de lo anterior ayuda, entonces revise config.log, el cual es
generado por ./configure cuando corre. Al final estar<61> la <20>ltima
acci<EFBFBD>n tomada antes de fallar. Si es una secci<63>n de c<>digo fuente,
copie el c<>digo fuente a un archivo y compilelo con la l<>nea
j<EFBFBD>stamente arriba de <20>l en config.log. Si la compilaci<63>n tiene
<EFBFBD>xito, intente ejecutarlo.
<P>
<HR NOSHADE>
<A HREF="gtkfaq-es-3.html">Next</A>
<A HREF="gtkfaq-es-1.html">Previous</A>
<A HREF="gtkfaq-es.html#toc2">Contents</A>
</BODY>
</HTML>

View File

@@ -1,198 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ: Desarrollo de GTK+</TITLE>
<LINK HREF="gtkfaq-es-4.html" REL=next>
<LINK HREF="gtkfaq-es-2.html" REL=previous>
<LINK HREF="gtkfaq-es.html#toc3" REL=contents>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-4.html">Next</A>
<A HREF="gtkfaq-es-2.html">Previous</A>
<A HREF="gtkfaq-es.html#toc3">Contents</A>
<HR NOSHADE>
<H2><A NAME="s3">3. Desarrollo de GTK+</A></H2>
<H2><A NAME="ss3.1">3.1 <20>Qu<51> es esta cosa CVS de la cual todo el mundo habla, y c<>mo puedo acceder a ella?</A>
</H2>
<P>CVS es el Concurrent Version System (Sistema de Versi<73>n Concurrente) y es
un medio muy popular de control de versi<73>n para proyectos de software.
Est<EFBFBD> dise<73>ado para permitir que m<>ltiples autores puedan operar de
manera simult<6C>nea en el mismo <20>rbol fuente. Este <20>rbol fuente es
mantenido centralizadamente, pero cada desarrollador tiene una r<>plica local
de este repositorio en el cual hacen sus cambios.
<P>Los desarrolladores de GTK+ utilizan un repositorio CVS para almacenar la
copia maestra de la actual versi<73>n en desarrollo de GTK+. Como tal,
la gente que desea contribu<62>r con parches a GTK+ deben generarlos para la
versi<EFBFBD>n del CVS. La gente normal debe utilizar los paquetes liberados.
<P>El conjunto de herramientas CVS est<73> disponible como paquetes RPM en los
sitios usuales de RedHat. La <20>ltima versi<73>n est<73> disponible en
<A HREF="http://download.cyclic.com/pub/">&lt;http://download.cyclic.com/pub/&gt;</A><P>Cualquiera puede bajar la <20>ltima versi<73>n CVS de GTK+ utilizando
acceso an<61>nimo con los siguientes pasos:
<UL>
<LI> En un descendiente del int<6E>rprete de comandos bourne (ej. bash)
teclee:
<PRE>
export CVSROOT=':pserver:anonymous@anoncvs.gimp.org:/debian/home/gnomecvs'
</PRE>
</LI>
<LI>Luego, la primera vez que el <20>rbol fuente se retira, se necesita
un <EM>login</EM> cvs.
<PRE>
cvs login
</PRE>
<EFBFBD>sto har<61> que se le solicite una clave de acceso. No hay clave de
acceso para cvs.gimp.org, as<61> que solo ingrese un retorno de carro.</LI>
<LI>Para conseguir el <20>rbol y colocarlo en un subdirectorio de su
directorio de trabajo actual, emita el comando:
<PRE>
cvs -z3 get gtk+
</PRE>
Observe que con el <20>rbol GTK+ 1.1, glib se ha movido a un m<>dulo CVS
separado, de manera que si no tiene glib instalado necesitar<61> conseguirlo
igualmente:
<PRE>
cvs -z3 get glib
</PRE>
</LI>
</UL>
<H2><A NAME="ss3.2">3.2 <20>C<EFBFBD>mo puedo contribu<62>r a GTK+?</A>
</H2>
<P>Es simple. Si algo no funciona en un programa como usted piensa que deber<65>a,
revise la documentaci<63>n para asegurarse de que no ha pasado algo por alto.
Si es un verdadero error o caracter<65>stica perdida, rastr<74>elo en el
fuente de GTK+, c<>mbielo, y entonces genere un parche en la forma de un
'diff de contexto'. Esto puede hacerse utilizando un comando como
<CODE>diff -ru &lt;oldfile&gt; &lt;newfile&gt;</CODE>. Entonces env<6E>e el archivo
de parche a:
<PRE>
ftp://ftp.gtk.org/incoming
</PRE>
junto a un archivo README. <20>Aseg<65>rese de seguir las convenciones de
asignaci<EFBFBD>n de nombres o su parche ser<65> borrado! Los archivos deben ser
de esta forma:
<PRE>
gtk-&lt;username>-&lt;date yymmdd-n>.patch.gz
gtk-&lt;username>-&lt;date yymmdd-n>.patch.README
</PRE>
La "n" en la fecha indica un n<>mero <20>nico (empezando de 0)
de parches que subi<62> ese d<>a. Debe ser 0, a menos que env<6E>e m<>s de
un parche en el mismo d<>a.
<P>Example:
<PRE>
gtk-gale-982701-0.patch.gz
gtk-gale-982701-0.patch.README
</PRE>
Una vez que usted env<6E>a <EM>lo que sea</EM>, env<6E>e el README a
ftp-admin@gtk.org
<P>
<H2><A NAME="ss3.3">3.3 <20>C<EFBFBD>mo averiguo si mi parche fue aplicado, y si no, por qu<71> no?</A>
</H2>
<P>Los parches enviados se mandar<61>n a
<CODE>ftp://ftp.gtk.org/pub/gtk/patches</CODE>
donde uno del equipo de desarrollo de GTK+ los recoger<65>. Si son aplicados,
ser<EFBFBD>n movidos a <CODE>/pub/gtk/patches/old</CODE>.
<P>Los parches que no son aplicados, por cualquier raz<61>n, se mandar<61>n a
<CODE>/pub/gtk/patches/unapplied</CODE> o <CODE>/pub/gtk/patches/outdated</CODE>.
En este punto puede preguntar en la lista de correo <CODE>gtk-list</CODE> el porqu<71>
su parche no fu<66> aplicado. Hay muchas razones posibles por las cuales un
parche no se aplica, pasando desde que no se puede aplicar limpiamente, hasta
que no es correcto. No se rinda si no logr<67> que su parche se aplicase a la
primera.
<P>
<H2><A NAME="ss3.4">3.4 <20>Cu<43>l es la pol<6F>tica sobre la incorporaci<63>n de nuevos <EM>widgets</EM> en la librer<65>a?</A>
</H2>
<P>Esto corresponde a los autores, de manera que tendr<64> que preguntarles
al terminar su <EM>widget</EM>. Como una gu<67>a general, los <EM>widgets</EM>
que por lo general son <20>tiles, funcionan, y no son una desgracia al conjunto
de <EM>widgets</EM> ser<65>n inclu<6C>dos con mucho gusto.
<P>
<H2><A NAME="ss3.5">3.5 <20>Hay alguien trabajando en atamientos para otros lenguajes distintos a C?</A>
</H2>
<P>S<EFBFBD>. Existe
<UL>
<LI>una envoltura de C++ para GTK+ llamada gtk--. Puede encontrar el su
p<EFBFBD>gina hogar en:
<A HREF="http://www.cs.tut.fi/~p150650/gtk/gtk--.html">http://www.cs.tut.fi/~p150650/gtk/gtk--.html</A>.
El sitio FTP es
<A HREF="ftp://ftp.gtk.org/pub/gtk/gtk--">ftp://ftp.gtk.org/pub/gtk/gtk--</A>.
<P>
<P>
</LI>
<LI>Hay dos ataduras para Objective-C en desarrollo:
<UL>
<LI>El paquete elegido por el
<A HREF="http://www.gnome.org/">proyecto GNOME</A> es obgtk. Objgtk se basa en la clase Object y es
mantenido por
<A HREF="mailto:sopwith@cuc.edu">Elliot Lee</A>.
Aparentemente, objgtk se est<73> aceptando como el atamiento `est<73>ndar'
de Objective-C para GTK+.
</LI>
<LI> Si usted est<73> m<>s inclinado al
<A HREF="http://www.gnustep.org/">proyecto GNUstep</A>,
puede que quiera revisar GTKKit por
<A HREF="mailto:helge@mdlink.de">Helge He&szlig;</A>.
La intenci<63>n es crear un atamiento GTK+ utilizando FoundationKit.
GTKKit incluye linduras como escribir un archivo con una plantilla tipo
XML para constru<72>r una interface GTK+.
</LI>
</UL>
<P>
</LI>
<LI>Atamientos Perl
<A HREF="ftp://ftp.gtk.org/pub/gtk/perl">ftp://ftp.gtk.org/pub/gtk/perl</A>
<P>
</LI>
<LI>Atamientos Guile. La p<>gina hogar se encuentra en
<A HREF="http://www.ping.de/sites/zagadka/guile-gtk">http://www.ping.de/sites/zagadka/guile-gtk</A>.
Por cierto, Guile es la implantaci<63>n del Proyecto GNU de Scheme R4RS (el
est<EFBFBD>ndar). Si le gusta Scheme, querr<72> darle un vistazo a <20>ste.
<P>
<P>
</LI>
<LI>David Monniaux informa:
<BLOCKQUOTE>
He empezado un sistema de atamiento gtk-O'Caml. Las bases del sistema,
incluyendo <EM>callbacks</EM>, funcionan bien.
El desarrollo actual se encuentra en
<A HREF="http://www.ens-lyon.fr/~dmonniau/arcs">http://www.ens-lyon.fr/~dmonniau/arcs</A></BLOCKQUOTE>
</LI>
<LI>Se han hecho varios atamientos para python:
<P>
<UL>
<LI>pygtk se encuentra en
<A HREF="http://www.daa.com.au/~james/pygtk">http://www.daa.com.au/~james/pygtk</A> y
<A HREF="ftp://ftp.gtk.org/pub/gtk/python">ftp://ftp.gtk.org/pub/gtk/python</A></LI>
<LI>python-gtk se encuentra en
<A HREF="http://www.ucalgary.ca/~nascheme/python-gtk">http://www.ucalgary.ca/~nascheme/python-gtk</A></LI>
</UL>
<P>
</LI>
<LI>Hay un <EM>widget</EM> disponible para GTK+. Ag<41>rrelo en
<A HREF="http://www.sakuranet.or.jp/~aozasa/shige/doc/comp/gtk/gtkGL/files-en.html">http://www.sakuranet.or.jp/~aozasa/shige/doc/comp/gtk/gtkGL/files-en.html</A>
</LI>
</UL>
<P>
<HR NOSHADE>
<A HREF="gtkfaq-es-4.html">Next</A>
<A HREF="gtkfaq-es-2.html">Previous</A>
<A HREF="gtkfaq-es.html#toc3">Contents</A>
</BODY>
</HTML>

View File

@@ -1,435 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ: Desarrollo con GTK+</TITLE>
<LINK HREF="gtkfaq-es-5.html" REL=next>
<LINK HREF="gtkfaq-es-3.html" REL=previous>
<LINK HREF="gtkfaq-es.html#toc4" REL=contents>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-5.html">Next</A>
<A HREF="gtkfaq-es-3.html">Previous</A>
<A HREF="gtkfaq-es.html#toc4">Contents</A>
<HR NOSHADE>
<H2><A NAME="s4">4. Desarrollo con GTK+</A></H2>
<H2><A NAME="ss4.1">4.1 <20>C<EFBFBD>mo empiezo?</A>
</H2>
<P>Despu<EFBFBD>s de que ha instalado GTK+, hay un par de cosas que pueden
facilitarle el desarrollo de aplicaciones con <20>l. Est<73> el Tutor de
GTK+
<A HREF="http://www.gtk.org/tutorial/">&lt;http://www.gtk.org/tutorial/&gt;</A>, el cual est<73> en desarrollo
activo. Este tutorial le introducir<69> en la escritura de aplicaciones
utilizando C.
<P>El Tutor no contiene (todav<61>a) informaci<63>n sobre todos los
<EM>widgets</EM> que existen en GTK+. Para c<>digo de ejemplo sobre la
utilizaci<EFBFBD>n b<>sica de todos los <EM>widgets</EM> de GTK+, debe ver
el archivo gtk/testgtk.c (y archivos fuentes asociados) en la distribuci<63>n
GTK+. Ver estos ejemplos le dar<61> una buena base sobre lo que pueden hacer
los <EM>widgets</EM>.
<P>
<H2><A NAME="ss4.2">4.2 <20>Qu<51> <EM>widgets</EM> existen en GTK?</A>
</H2>
<P>El Tutor de GTK+ lista los siguientes <EM>widgets</EM>:
<PRE>
GtkObject
+GtkData
| +GtkAdjustment
| `GtkTooltips
`GtkWidget
+GtkContainer
| +GtkBin
| | +GtkAlignment
| | +GtkEventBox
| | +GtkFrame
| | | `GtkAspectFrame
| | +GtkHandleBox
| | +GtkItem
| | | +GtkListItem
| | | +GtkMenuItem
| | | | `GtkCheckMenuItem
| | | | `GtkRadioMenuItem
| | | `GtkTreeItem
| | +GtkViewport
| | `GtkWindow
| | +GtkColorSelectionDialog
| | +GtkDialog
| | | `GtkInputDialog
| | `GtkFileSelection
| +GtkBox
| | +GtkButtonBox
| | | +GtkHButtonBox
| | | `GtkVButtonBox
| | +GtkHBox
| | | +GtkCombo
| | | `GtkStatusbar
| | `GtkVBox
| | +GtkColorSelection
| | `GtkGammaCurve
| +GtkButton
| | +GtkOptionMenu
| | `GtkToggleButton
| | `GtkCheckButton
| | `GtkRadioButton
| +GtkCList
| `GtkCTree
| +GtkFixed
| +GtkList
| +GtkMenuShell
| | +GtkMenuBar
| | `GtkMenu
| +GtkNotebook
| +GtkPaned
| | +GtkHPaned
| | `GtkVPaned
| +GtkScrolledWindow
| +GtkTable
| +GtkToolbar
| `GtkTree
+GtkDrawingArea
| `GtkCurve
+GtkEditable
| +GtkEntry
| | `GtkSpinButton
| `GtkText
+GtkMisc
| +GtkArrow
| +GtkImage
| +GtkLabel
| | `GtkTipsQuery
| `GtkPixmap
+GtkPreview
+GtkProgressBar
+GtkRange
| +GtkScale
| | +GtkHScale
| | `GtkVScale
| `GtkScrollbar
| +GtkHScrollbar
| `GtkVScrollbar
+GtkRuler
| +GtkHRuler
| `GtkVRuler
`GtkSeparator
+GtkHSeparator
`GtkVSeparator
</PRE>
<P>
<H2><A NAME="ss4.3">4.3 <20>GTK+ es seguro ante m<>ltiples hilos?</A>
</H2>
<P>Aunque GTK+, como la mayor<6F>a de los juegos de herramientas para X,
no es seguro ante m<>ltiples hilos, esto no prohibe el desarrollo de
aplicaciones con m<>ltiples hilos con GTK+.
<P>Rob Browning (rlb@cs.utexas.edu) describe t<>cnicas de hilamiento
que pueden utilizarse con GTK+ (levemente modificado):
<P>B<EFBFBD>sicamente existen dos enfoques principales, el primero es sencillo,
y el segundo complicado. En el primero, simplemente hay que asegurarse
de que todas las interacciones de GTK+ (o X) se manejan por un, y solo un,
hilo. Cualquier otro hilo que desee dibujar algo tiene que notificarlo de
alguna manera al hilo "GTK+", y dejarlo que maneje el trabajo real.
<P>El segundo enfoque le permite llamar funciones de GTK+ (o X) desde cualquier
hilo, pero requiere sincronizaci<63>n cuidadosa. La idea b<>sica es crear
una exclusi<73>n mutua de protecci<63>n para X, de manera que nadie haga
llamadas X sin primero adquirir esta exclusi<73>n mutua.
<P>Observe que se trata de un peque<75>o esfuerzo, pero que le permitir<69> ser
potencialmente m<>s eficiente que un GTK+ completamente seguro ante
m<EFBFBD>ltiples hilos. Usted decide la granularidad del bloqueo de hilos.
Tambi<EFBFBD>n debe asegurarse que el hilo que llama a gtk_main mantiene la
cerradura cuando llama a gtk_main.
<P>Lo siguiente por lo que hay que preocuparse ya que se ten<65>a agarrada
la exclusi<73>n mutua global cuando se entr<74> a gtk_main, es que todos
los <EM>callbacks</EM> tambi<62>n la tendr<64>n. Esto significa que el
<EM>callback</EM> debe soltarla si va a llamar a cualquier otro c<>digo
que pueda readquirirla. De otra manera obtendr<64> un bloqueo mortal.
Tambi<EFBFBD>n hay que tener agarrada la exclusi<73>n mutua cuando finalmente
regresa del <EM>callback</EM>.
<P>Para permitir a otros hilos, adem<65>s del que llama a gtk_main, tener
acceso a la exclusi<73>n mutua, necesitamos registrar una funci<63>n de
trabajo con GTK que nos permita liberar la exclusi<73>n mutua
peri<EFBFBD>dicamente.
<P><EFBFBD>Por qu<71> GTK+ no puede ser seguro ante m<>ltiples hilos de
manera nativa?
<P>Complejidad, sobrecarga, y mano de obra. La proporci<63>n de programas
con hilos es todav<61>a razonablemente peque<75>a, y conseguir seguridad
ante hilos es muy dif<69>cil y le quita tiempo valioso al trabajo
principal de obtener una buena librer<65>a gr<67>fica terminada. Ser<65>a
muy agradable que GTK+ fuera seguro ante hilos "al sacarlo de la caja",
pero no es pr<70>ctico ahora mismo, y har<61>a a GTK+ sustancialmente menos
eficiente si no se maneja cuidadosamente.
<P>De cualquier manera, no es una prioridad esencial ya que existen remedios
relativamente buenos.
<P>
<H2><A NAME="ss4.4">4.4 <20>C<EFBFBD>mo puedo prevenir el redibujar y reacomodar tama<6D>os mientras cambio m<>ltiples <EM>widgets</EM>?</A>
</H2>
<P>
Utilize gtk_container_disable_resize y gtk_container_enable_resize alrededor
del c<>digo donde quiere cambiar varias cosas. Esto resultar<61> en mayor
velocidad ya que prevendr<64> tener que darle el tama<6D>o otra vez a la
jerarqu<EFBFBD>a de <EM>widget</EM> por completo.
<P>
<H2><A NAME="ss4.5">4.5 <20>C<EFBFBD>mo atrapo un evento de doble tecleo (en un <EM>widget</EM> de lista, por ejemplo)?</A>
</H2>
<P>Tim Janik escribi<62> a la lista gtk-list (ligeramente modificado):
<P>Defina un manejador de se<73>al:
<P>
<BLOCKQUOTE><CODE>
<PRE>
gint
signal_handler_event(GtkWiget *widget, GdkEvenButton *event, gpointer func_data)
{
if (GTK_IS_LIST_ITEM(widget) &amp;&amp;
(event->type==GDK_2BUTTON_PRESS ||
event->type==GDK_3BUTTON_PRESS) ) {
printf("I feel %s clicked on button %d\",
event->type==GDK_2BUTTON_PRESS ? "double" : "triple",
event->button);
}
return FALSE;
}
</PRE>
</CODE></BLOCKQUOTE>
<P>Y conecte el manejador a su objeto:
<P>
<BLOCKQUOTE><CODE>
<PRE>
{
/* lista, asuntos de inicializacion de articulos de lista */
gtk_signal_connect(GTK_OBJECT(list_item),
"button_press_event",
GTK_SIGNAL_FUNC(signal_handler_event),
NULL);
/* y/o */
gtk_signal_connect(GTK_OBJECT(list_item),
"button_release_event",
GTK_SIGNAL_FUNC(signal_handler_event),
NULL);
/* algo mas */
}
</PRE>
</CODE></BLOCKQUOTE>
<P>y, Owen Taylor escribi<62>:
<P>Observe que se recibir<69> la pulsaci<63>n del bot<6F>n de antemano, y
si est<73> haciendo esto para un bot<6F>n, tambi<62>n obtendr<64> una se<73>al
de "tecleado" para el bot<6F>n. (Esto es cierto para cualquier juego de
herramientas, ya que las computadoras no son buenas para leer la mente de
cada quien.)
<P>
<H2><A NAME="ss4.6">4.6 <20>C<EFBFBD>mo puedo averiguar cu<63>l es la selecci<63>n de un GtkList?</A>
</H2>
<P>
<P>Consiga la selecci<63>n con algo como esto:
<BLOCKQUOTE><CODE>
<PRE>
GList *sel;
sel = GTK_LIST(list)->selection;
</PRE>
</CODE></BLOCKQUOTE>
<P>As<EFBFBD> es como GList est<73> definido (sacado de glist.h):
<BLOCKQUOTE><CODE>
<PRE>
typedef struct _GList GList;
struct _GList
{
gpointer data;
GList *next;
GList *prev;
};
</PRE>
</CODE></BLOCKQUOTE>
<P>Una estructura GList es simplemente una estructura para listas doblemente
enlazadas. Existen varias funciones g_list_*() para modificar una lista
enlazada en glib.h. Sin embargo, la selecci<63>n GTK_LIST(MyGtkList)->selection
es mantenida por las funciones gtk_list_*() y no deben ser modificadas.
<P>El selection_mode del GtkList determina las facilidades de selecci<63>n de un
GtkList y por lo tanto los contenidos de GTK_LIST(AnyGtkList)->selection:
<P>
<PRE>
selection_mode GTK_LIST()->selection contents
------------------------------------------------------
GTK_SELECTION_SINGLE) la selecci<63>n es NULL
o contiene un puntero GList*
para un art<72>culo seleccionado individualmente
GTK_SELECTION_BROWSE) la selecci<63>n es NULL si la lista
no contiene widgets, de otra manera
contiene un puntero GList*
para una estructura GList.
GTK_SELECTION_MULTIPLE) la selecci<63>n es NULL si no se seleccionan
listitems para un apuntador GList*
para el primer art<72>culo seleccionado. Eso en
su lugar apunta a una estructura GList para el
segundo art<72>culo seleccionado y contin<69>a
GTK_SELECTION_EXTENDED) la selecci<63>n es NULL.
</PRE>
<P>El campo data de la estructura GList GTK_LIST(MyGtkList)->selection apunta
al primer GtkListItem que es seleccionado. De manera que si quiere determinar
cuales listitems est<73>n seleccionados debe hacer esto:
<P>Durante la in>
<HR><H3>Transfer interrupted!</H3>
>
{
gchar *list_items[]={
"Item0",
"Item1",
"foo",
"last Item",
};
guint nlist_items=sizeof(list_items)/sizeof(list_items[0]);
GtkWidget *list_item;
guint i;
list=gtk_list_new();
gtk_list_set_selection_mode(GTK_LIST(list), GTK_SELECTION_MULTIPLE);
gtk_container_add(GTK_CONTAINER(AnyGtkContainer), list);
gtk_widget_show (list);
for (i = 0; i &lt; nlist_items; i++)
{
list_item=gtk_list_item_new_with_label(list_items[i]);
gtk_object_set_user_data(GTK_OBJECT(list_item), (gpointer)i);
gtk_container_add(GTK_CONTAINER(list), list_item);
gtk_widget_show(list_item);
}
}
</PRE>
</CODE></BLOCKQUOTE>
<P>Para tener conocimiento de la inicializaci<63>n:
<BLOCKQUOTE><CODE>
<PRE>
{
GList *items;
items=GTK_LIST(list)->selection;
printf("Selected Items: ");
while (items) {
if (GTK_IS_LIST_ITEM(items->data))
printf("%d ", (guint)
gtk_object_get_user_data(items->data));
items=items->next;
}
printf("\n");
}
</PRE>
</CODE></BLOCKQUOTE>
<H2><A NAME="ss4.7">4.7 <20>Acaso es posible desplegar un texto que se recorte para que quepa dentro del lugar que tenga asignado?</A>
</H2>
<P>El comportamiento de GTK+ (sin recorte) es una consecuencia de sus intentos
para conservar recursos de X. Los <EM>widgets</EM> etiqueta (entre otros) no
tienen su propia ventana X - simplemente dibujan su contenido en la ventana
de su padre. Aunque ser<65>a posible hacer que ocurran recortes al establecer
la m<>scara de recorte antes de dibujar el texto, esto podr<64>a causar una
penalizaci<EFBFBD>n substancial en el rendimiento.
<P>Es posible que, a largo plazo, la mejor soluci<63>n a tales problemas sea
simplemente cambiar gtk para que le de ventanas X a las etiquetas. Un remedio
a corto plazo es poner el <EM>widget</EM> de etiqueta dentro de otro
<EM>widget</EM> que s<> obtiene su propia ventana - un candidato posible puede ser el <EM>widget</EM> <EM>viewport</EM>.
<P>
<BLOCKQUOTE><CODE>
<PRE>
viewport = gtk_viewport (NULL, NULL);
gtk_widget_set_usize (viewport, 50, 25);
gtk_viewport_set_shadow_type (GTK_VIEWPORT(viewport), GTK_SHADOW_NONE);
gtk_widget_show(viewport);
label = gtk_label ("a really long label that won't fit");
gtk_container_add (GTK_CONTAINER(viewport), label);
gtk_widget_show (label);
</PRE>
</CODE></BLOCKQUOTE>
<P>Si estuviera haciendo esto para un mont<6E>n de <EM>widgets</EM>, querr<72>
copiar gtkviewport.c y arrancar la funcionalidad de sombra y ajuste (tal vez
quiera llamarlo GtkClipper).
<P>
<H2><A NAME="ss4.8">4.8 <20>Por qu<71> el contenido de un bot<6F>n no se mueve al presionar el bot<6F>n? Aqu<71> les env<6E>o un parche para que funcione de esa forma...</A>
</H2>
<P>De: Peter Mattis
<P>La raz<61>n por la cu<63>l los botones no mueven a su hijo abajo y a la derecha
cuando son presionados es porque no me parece que eso es lo que ocurre
visualmente. Mi visi<73>n de los botonos es que los miras de manera recta.
O sea, la interface de usuario tiende sobre un plano y t<> est<73>s sobre
<EFBFBD>l observ<72>ndolo de manera recta. Cuando un bot<6F>n es presionado se
mueve directamente lejos de t<>. Para ser absolutamente correcto supongo
que el hijo deber<65>a encojerse un poquito. Pero no veo por qu<71> el hijo
deber<EFBFBD>a moverse abajo y a la izquierda. Recurda, el hijo se supone que
est<EFBFBD> pegado a la superficie del bot<6F>n. No es bueno que luzca como si
el hijo se resbala sobre la superficie del bot<6F>n.
<P>En una nota m<>s pr<70>ctica, ya implant<6E> esto una vez y determin<69>
que no se ve<76>a bien y lo quit<69>.
<P>
<H2><A NAME="ss4.9">4.9 <20>C<EFBFBD>mo puedo definir una l<>nea de separaci<63>n como en un men<65>?</A>
</H2>
<P>Revise el
<A HREF="http://www.gtk.org/tutorial/">Tutor</A> para informaci<63>n sobre como crear men<65>s.
<P>Sin embargo, para crear una l<>nea de separaci<63>n en un men<65>,
simplemente inserte un art<72>culo de men<65> vac<61>o:
<P>
<BLOCKQUOTE><CODE>
<PRE>
menuitem = gtk_menu_item_new();
gtk_menu_append(GTK_MENU(menu), menuitem);
gtk_widget_show(menuitem);
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ss4.10">4.10 <20>C<EFBFBD>mo puedo darle justificaci<63>n a la derecha a un men<65>, como Help, cuando utilizo MenuFactory?</A>
</H2>
<P>Utilice algo como lo que sigue:
<P>
<BLOCKQUOTE><CODE>
<PRE>
menu_path = gtk_menu_factory_find (factory, "&lt;MyApp>/Help");
gtk_menu_item_right_justify(menu_path->widget);
</PRE>
</CODE></BLOCKQUOTE>
<H2><A NAME="ss4.11">4.11 <20>C<EFBFBD>mo hago mi ventana modal? / <20>C<EFBFBD>mo hago una s<>la ventana activa?</A>
</H2>
<P>Despu<EFBFBD>s de haber creado su ventana, haga gtk_grab_add(my_window). Y
despu<EFBFBD>s de cerrar la ventana haga gtk_grab_remove(my_window).
<P>
<H2><A NAME="ss4.12">4.12 <20>Por qu<71> mi <EM>widget</EM> (ej. progressbar) no se actualiza?</A>
</H2>
<P>
<P>Probablemente usted est<73> haciendo todos los cambios dentro de una funci<63>n
sin devolver el control a gtk_main. La mayor<6F>a de las actualizaciones de
dibujo se colocan simplemente en una cola, la cual es procesada dentro de
gtk_main. Puede forzar que se procese la cola de dibujado utilizando algo como:
<P>
<BLOCKQUOTE><CODE>
<PRE>
while (gtk_events_pending())
gtk_main_iteration();
</PRE>
</CODE></BLOCKQUOTE>
<P>dentro de la funci<63>n que cambia el <EM>widget</EM>.
<P>Lo que el fragmento anterior hace es correr todos los eventos pendientes y
funciones ociosas de alta prioridad, luego regresa de inmediato (el dibujado
se realiza en una funci<63>n ociosa de alta prioridad).
<P>
<HR NOSHADE>
<A HREF="gtkfaq-es-5.html">Next</A>
<A HREF="gtkfaq-es-3.html">Previous</A>
<A HREF="gtkfaq-es.html#toc4">Contents</A>
</BODY>
</HTML>

View File

@@ -1,92 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ: Acerca de gdk</TITLE>
<LINK HREF="gtkfaq-es-6.html" REL=next>
<LINK HREF="gtkfaq-es-4.html" REL=previous>
<LINK HREF="gtkfaq-es.html#toc5" REL=contents>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-6.html">Next</A>
<A HREF="gtkfaq-es-4.html">Previous</A>
<A HREF="gtkfaq-es.html#toc5">Contents</A>
<HR NOSHADE>
<H2><A NAME="s5">5. Acerca de gdk</A></H2>
<H2><A NAME="ss5.1">5.1 <20>Qu<51> es gdk?</A>
</H2>
<P>gdk es b<>sicamente una envoltura alrededor de las llamadas a funciones
Xlib. Si est<73>s familiarizado con Xlib, muchas de las funciones en gdk
requerir<EFBFBD>n poco o ning<6E>n tiempo para acostumbrarse.
Todas las funciones est<73>n escritas para proporcionar una manera f<>cil de
acceder a las funciones Xlib en una manera un poco m<>s intuitiva.
Adicionalmente, ya que gdk utiliza glib (vea abajo), ser<65> m<>s portable
y seguro de utilizar en
m<EFBFBD>ltiples plataformas.
<P>
<P>
<H2><A NAME="ss5.2">5.2 <20>C<EFBFBD>mo utilizo la asignaci<63>n de colores?</A>
</H2>
<P>Una de las cosas agradables de GDK es que est<73> basado sobre Xlib; esto
tambi<EFBFBD>n es un problema, especialmente en el <20>rea de administraci<63>n
de colores. Si usted quiere utilizar color en su programa (dibujando un
rect<EFBFBD>ngulo o algo por el estilo, su c<>digo debe lucir algo as<61>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
{
GdkColor *color;
int width, height;
GtkWidget *widget;
GdkGC *gc;
...
/* primero, cree un GC (contexto grafico) en el cual dibujar */
gc = gdk_gc_new(widget->window);
/* encuentre las dimensiones correctas para el rectangulo */
gdk_window_get_size(widget->window, &amp;width, &amp;height);
/* el color que queremos utilizar */
color = (GdkColor *)malloc(sizeof(GdkColor));
/* rojo, verde y azul son valores pasados, indicando el trio RGB
* del color que queremos dibujar. Note que los valores de los componentes
* RGB dentro de GdkColor son tomados de 0 a 65535, no de 0 a 255.
*/
color->red = red * (65535/255);
color->green = green * (65535/255);
color->blue = blue * (65535/255);
/* el valor de pixel indica el indice en el mapa de colores del color.
* simplemente es una combinacion de los valores RGB colocados anteriormente
*/
color->pixel = (gulong)(red*65536 + green*256 + blue);
/* Sin embargo, el valor de pixel es solo valido en dispositivos de 24-bit
* (color verdadero). Por lo tanto, esta llamada es requerida para que GDK
* y X puedan darnos el color mas cercano disponible en el mapa de colores
*/
gdk_color_alloc(gtk_widget_get_colormap(widget), color);
/* colocar la parte delantera a nuestro color */
gdk_gc_set_foreground(gc, color);
/* dibujar el rectangulo*/
gdk_draw_rectangle(widget->window, gc, 1, 0, 0, width, height);
...
}
</PRE>
</CODE></BLOCKQUOTE>
<P>
<HR NOSHADE>
<A HREF="gtkfaq-es-6.html">Next</A>
<A HREF="gtkfaq-es-4.html">Previous</A>
<A HREF="gtkfaq-es.html#toc5">Contents</A>
</BODY>
</HTML>

View File

@@ -1,64 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ: Acerca de glib</TITLE>
<LINK HREF="gtkfaq-es-7.html" REL=next>
<LINK HREF="gtkfaq-es-5.html" REL=previous>
<LINK HREF="gtkfaq-es.html#toc6" REL=contents>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-7.html">Next</A>
<A HREF="gtkfaq-es-5.html">Previous</A>
<A HREF="gtkfaq-es.html#toc6">Contents</A>
<HR NOSHADE>
<H2><A NAME="s6">6. Acerca de glib</A></H2>
<H2><A NAME="ss6.1">6.1 <20>Qu<51> es glib?</A>
</H2>
<P>glib es una librer<65>a de funciones y definiciones <20>tiles disponibles
para ser utilizadas cuando se crean aplicaciones GDK y GTK. Proporciona
reemplazos para algunas funciones est<73>ndar de libc, como malloc, las
cuales tienen errores en algunos sistemas.
<P>Tambi<EFBFBD>n proporciona rutinas para manejar:
<UL>
<LI>Listas Doblemente Enlazadas</LI>
<LI>Listas con Enlace Sencillo</LI>
<LI>Cron<EFBFBD>metros</LI>
<LI>Manipulaci<EFBFBD>n de cadenas</LI>
<LI>Un Analizador L<>xico</LI>
<LI>Funciones de Error</LI>
</UL>
<P>
<P>
<H2><A NAME="ss6.2">6.2 <20>Por qu<71> utilizar g_print, g_malloc, g_strdup y funciones compa<70>eras de glib?</A>
</H2>
<P>Gracias a Tim Janik que escribi<62> a gtk-list: (ligeramente modificado)
<BLOCKQUOTE>
Con respecto a g_malloc(), g_free() y hermanos, estas funciones son m<>s
seguras que sus equivalentes en libc. Por ejemplo, g_free() solo regresa si
se llama con NULL. Tambi<62>n, si se define USE_DMALLOC, la definici<63>n para
estas funciones cambia (en glib.h) para utilizar MALLOC(), FREE() etc... Si
MEM_PROFILE o MEM_CHECK se definen, hay incluso peque<75>as estad<61>sticas
realizadas las cuales cuentan los tama<6D>os de los bloques (mostrado por
g_mem_profile() / g_mem_check()).
<P>Considerando el hecho de que glib provee una interface para salvar espacio en
pedazos de memoria si se tiene varios bloques que son siempre del mismo
tama<EFBFBD>o y para marcarlos ALLOC_ONLY si es necesario, es sencillo crear
una peque<75>a envoltura para salvar (revisable para errores) alrededor del
malloc/free normal asimismo - igual que gdk cubre Xlib. ;)
<P>Utilizar g_error() y g_warning() dentro de aplicaciones como GIMP las cuales
utilizan gtk por completo incluso da la oportunidad de hacer saltar una ventana
que muestre los mensajes dentro de una ventana gtk con tu propio handler
(utilizando g_set_error_handler()) con el mismo estilo que gtk_print()
(dentro de gtkmain.c).
</BLOCKQUOTE>
<P>
<HR NOSHADE>
<A HREF="gtkfaq-es-7.html">Next</A>
<A HREF="gtkfaq-es-5.html">Previous</A>
<A HREF="gtkfaq-es.html#toc6">Contents</A>
</BODY>
</HTML>

View File

@@ -1,80 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ: Contribuciones al GTK+ FAQ, Mantenedores y Copyright</TITLE>
<LINK HREF="gtkfaq-es-6.html" REL=previous>
<LINK HREF="gtkfaq-es.html#toc7" REL=contents>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
Next
<A HREF="gtkfaq-es-6.html">Previous</A>
<A HREF="gtkfaq-es.html#toc7">Contents</A>
<HR NOSHADE>
<H2><A NAME="s7">7. Contribuciones al GTK+ FAQ, Mantenedores y Copyright</A></H2>
<P>Si desea hacer una contribuci<63>n al FAQ, env<6E>e a alguno de nosotros
un mensaje por correo electr<74>nico con el texto exacto que cree que
deber<EFBFBD>a ser inclu<6C>do (pregunta y respuesta). <20>Con su ayuda, este
documento puede crecer y llegar a ser m<>s <20>til!
<P>Este documento es mantenido por Nathan Froyd
<A HREF="mailto:maestrox@geocities.com">&lt;maestrox@geocities.com&gt;</A>
y Tony Gale
<A HREF="mailto:gale@gimp.org">&lt;gale@gimp.org&gt;</A>.
Este FAQ fue creado por Shawn T. Amundson
<A HREF="mailto:amundson@gimp.org">&lt;amundson@gimp.org&gt;</A> quien contin<69>a dando soporte.
<P>El GTK+ FAQ est<73> registrado Copyright (C) 1997, 1998 por Shawn T. Amundson,
Nathan Froyd y tony Gale.
<P>Se otorga permiso para hacer y distribu<62>r copias textuales de este manual
siempre y cuando la informaci<63>n de copyright y este permiso se preserven en
todas las copias.
<P>Se otorga permiso para copiar y distribuir versiones modificados de este
documento bajo las condiciones para copiado textual, siempre y cuando esta
noticia de copyright se incluya ex<65>ctamente como en el original, y
que el trabajo resultante en su totalidad sea distribu<62>do bajo los
t<EFBFBD>rminos de una noticia de permiso id<69>ntica a esta.
<P>Se otorga permiso para copiar y distribu<62>r traducciones de este documento
a otro lenguaje, bajo las condiciones anteriores de versiones modificadas.
<P>Si tiene intenciones de incorporar este documento en un trabajo publicado,
por favor contacte a uno de los mantenedores, y nos aseguraremos de que
obtenga la informaci<63>n m<>s actual posible.
<P>No hay garant<6E>a de que este documento logre su prop<6F>sito. Este documento
se proporciona simplemente como un recurso libre. Como tal, los autores y
mantenedores de la informaci<63>n proporcionada en <20>l no pueden dar
garant<EFBFBD>a alguna de que la informaci<63>n es precisa.
<P>
<H2><A NAME="ss7.1">7.1 Nota del Traductor</A>
</H2>
<P>Esta traducci<63>n fue realizada por
<A HREF="http://www.talisman.com.pa">Rams<EFBFBD>s Morales</A>.
He intentado hacer
la mejor adaptaci<63>n posible de los t<>rminos t<>cnicos, si tiene
alguna sugerencia o mejora a estos t<>rminos y mi espa<70>ol, o alguna
duda por causa de mi traducci<63>n, no dude en comunic<69>rmelo a
<A HREF="mailto:ramses@computer.org">&lt;ramses@computer.org&gt;</A><P>Gracias a
<A HREF="mailto: e98cuenc@criens.u-psud.fr">Joaqu<EFBFBD>n Cuenca</A> por todas sus sugerencias para mejorar la
traducci<EFBFBD>n, fueron de gran ayuda.
<P>--------------------------------------
<P>The GTK+ FAQ is Copyright (C) 1997,1998 by Shawn T. Amundson, Nathan Froyd and Tony Gale.
<P>Permission is granted to make and distribute verbatim copies of this manual provided the
copyright notice and this permission notice are preserved on all copies.
<P>Permission is granted to copy and distribute modified versions of this document under the conditions
for verbatim copying, provided that this copyright notice is included exactly as in the original,
and that the entire resulting derived work is distributed under the terms of a permission
notice identical to this one.
<P>Permission is granted to copy and distribute translations of this document into another language,
under the above conditions for modified versions.
<P>If you are intending to incorporate this document into a published work, please contact one of
the maintainers, and we will make an effort to ensure that you have the most up to date
information available.
<P>There is no guarentee that this document lives up to its intended
purpose. This is simply provided as a free resource. As such,
the authors and maintainers of the information provided within can
not make any guarentee that the information is even accurate.
<HR NOSHADE>
Next
<A HREF="gtkfaq-es-6.html">Previous</A>
<A HREF="gtkfaq-es.html#toc7">Contents</A>
</BODY>
</HTML>

View File

@@ -1,103 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
<TITLE>GTK+ FAQ</TITLE>
<LINK HREF="gtkfaq-es-1.html" REL=next>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-1.html">Next</A>
Previous
Contents
<HR NOSHADE>
<H1>GTK+ FAQ</H1>
<H2>Nathan Froyd, Tony Gale, Shawn T. Amundson.</H2>Seis de Julio de 1998
<P><HR NOSHADE>
<EM>La intenci<63>n de este documento es dar respuesta a las preguntas
realizadas con m<>s frecuencia por parte de los programadores que utilizan GTK+ o simplemente por personas que desean utilizar GTK+. </EM>
<HR NOSHADE>
<P>
<H2><A NAME="toc1">1.</A> <A HREF="gtkfaq-es-1.html">Informaci<EFBFBD>n General</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-1.html#ss1.1">1.1 Autores</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.2">1.2 <20>Qu<51> es GTK+?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.3">1.3 <20>Qu<51> es el + en GTK+?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.4">1.4 <20>La G en GTK+ significa General, Gimp, o GNU?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.5">1.5 <20>D<EFBFBD>nde est<73> la documentaci<63>n para GTK?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.6">1.6 <20>Hay alguna lista de correo (o archivo de lista de correo) para GTK+?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.7">1.7 <20>La lista gtk-list no ha tenido tr<74>fico alguno por d<>as,</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.8">1.8 C<>mo conseguir ayuda con GTK+</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.9">1.9 C<>mo reportar errores en GTK+</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.10">1.10 <20>Qu<51> aplicaciones se han escrito con GTK+?</A>
<LI><A HREF="gtkfaq-es-1.html#ss1.11">1.11 Estoy buscando una aplicaci<63>n que escribir en GTK+. <20>Qu<51> tal un cliente IRC?</A>
</UL>
<P>
<H2><A NAME="toc2">2.</A> <A HREF="gtkfaq-es-2.html">C<EFBFBD>mo encontrar, configurar, instalar y comprobar GTK+</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-2.html#ss2.1">2.1 <20>Qu<51> necesito para correr GTK+?</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.2">2.2 <20>D<EFBFBD>nde puedo conseguir GTK+?</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.3">2.3 <20>C<EFBFBD>mo configuro/compilo GTK+?</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.4">2.4 Cuando compilo GTK+ obtengo un error como: <CODE>make: file `Makefile' line 456: Syntax error</CODE></A>
<LI><A HREF="gtkfaq-es-2.html#ss2.5">2.5 <20>He compilado e instalado GTK+, pero no puedo lograr que los programas se enlacen con <20>l!</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.6">2.6 Cuando compilo programas con GTK+, obtengo mensajes de error del compilador diciendo que no es capaz de encontrar <CODE>"glibconfig.h"</CODE>.</A>
<LI><A HREF="gtkfaq-es-2.html#ss2.7">2.7 Cuando instalo El GIMP, configure reporta que no puede encontrar GTK.</A>
</UL>
<P>
<H2><A NAME="toc3">3.</A> <A HREF="gtkfaq-es-3.html">Desarrollo de GTK+</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-3.html#ss3.1">3.1 <20>Qu<51> es esta cosa CVS de la cual todo el mundo habla, y c<>mo puedo acceder a ella?</A>
<LI><A HREF="gtkfaq-es-3.html#ss3.2">3.2 <20>C<EFBFBD>mo puedo contribu<62>r a GTK+?</A>
<LI><A HREF="gtkfaq-es-3.html#ss3.3">3.3 <20>C<EFBFBD>mo averiguo si mi parche fue aplicado, y si no, por qu<71> no?</A>
<LI><A HREF="gtkfaq-es-3.html#ss3.4">3.4 <20>Cu<43>l es la pol<6F>tica sobre la incorporaci<63>n de nuevos <EM>widgets</EM> en la librer<65>a?</A>
<LI><A HREF="gtkfaq-es-3.html#ss3.5">3.5 <20>Hay alguien trabajando en atamientos para otros lenguajes distintos a C?</A>
</UL>
<P>
<H2><A NAME="toc4">4.</A> <A HREF="gtkfaq-es-4.html">Desarrollo con GTK+</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-4.html#ss4.1">4.1 <20>C<EFBFBD>mo empiezo?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.2">4.2 <20>Qu<51> <EM>widgets</EM> existen en GTK?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.3">4.3 <20>GTK+ es seguro ante m<>ltiples hilos?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.4">4.4 <20>C<EFBFBD>mo puedo prevenir el redibujar y reacomodar tama<6D>os mientras cambio m<>ltiples <EM>widgets</EM>?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.5">4.5 <20>C<EFBFBD>mo atrapo un evento de doble tecleo (en un <EM>widget</EM> de lista, por ejemplo)?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.6">4.6 <20>C<EFBFBD>mo puedo averiguar cu<63>l es la selecci<63>n de un GtkList?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.7">4.7 <20>Acaso es posible desplegar un texto que se recorte para que quepa dentro del lugar que tenga asignado?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.8">4.8 <20>Por qu<71> el contenido de un bot<6F>n no se mueve al presionar el bot<6F>n? Aqu<71> les env<6E>o un parche para que funcione de esa forma...</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.9">4.9 <20>C<EFBFBD>mo puedo definir una l<>nea de separaci<63>n como en un men<65>?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.10">4.10 <20>C<EFBFBD>mo puedo darle justificaci<63>n a la derecha a un men<65>, como Help, cuando utilizo MenuFactory?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.11">4.11 <20>C<EFBFBD>mo hago mi ventana modal? / <20>C<EFBFBD>mo hago una s<>la ventana activa?</A>
<LI><A HREF="gtkfaq-es-4.html#ss4.12">4.12 <20>Por qu<71> mi <EM>widget</EM> (ej. progressbar) no se actualiza?</A>
</UL>
<P>
<H2><A NAME="toc5">5.</A> <A HREF="gtkfaq-es-5.html">Acerca de gdk</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-5.html#ss5.1">5.1 <20>Qu<51> es gdk?</A>
<LI><A HREF="gtkfaq-es-5.html#ss5.2">5.2 <20>C<EFBFBD>mo utilizo la asignaci<63>n de colores?</A>
</UL>
<P>
<H2><A NAME="toc6">6.</A> <A HREF="gtkfaq-es-6.html">Acerca de glib</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-6.html#ss6.1">6.1 <20>Qu<51> es glib?</A>
<LI><A HREF="gtkfaq-es-6.html#ss6.2">6.2 <20>Por qu<71> utilizar g_print, g_malloc, g_strdup y funciones compa<70>eras de glib?</A>
</UL>
<P>
<H2><A NAME="toc7">7.</A> <A HREF="gtkfaq-es-7.html">Contribuciones al GTK+ FAQ, Mantenedores y Copyright</A></H2>
<UL>
<LI><A HREF="gtkfaq-es-7.html#ss7.1">7.1 Nota del Traductor</A>
</UL>
<HR NOSHADE>
<A HREF="gtkfaq-es-1.html">Next</A>
Previous
Contents
</BODY>
</HTML>

19
docs/faq/.cvsignore Normal file
View File

@@ -0,0 +1,19 @@
Makefile
Makefile.in
*.html
*.dvi
*.ps
*.pg
*.ky
*.cp
*.fn
*.tp
*.vr
*.log
*.aux
*.toc
*.cps
*.fns
*.vrs
html
text

42
docs/faq/Makefile.am Normal file
View File

@@ -0,0 +1,42 @@
.PHONY: htmldir textdir faq
FAQ_FILES=html/gtkfaq.html \
html/gtkfaq-1.html \
html/gtkfaq-2.html \
html/gtkfaq-3.html \
html/gtkfaq-4.html \
html/gtkfaq-5.html \
html/gtkfaq-6.html \
html/gtkfaq-7.html \
text/gtkfaq.txt
$(FAQ_FILES): faq
htmldir:
mkdir -p $(srcdir)/html
textdir:
mkdir -p $(srcdir)/text
faq: htmldir textdir
(cd $(srcdir); sgml2html gtkfaq.sgml; \
perl $(top_srcdir)/docs/gtkdocs_fix gtkfaq*html; \
mv gtkfaq*html html/; \
sgml2txt gtkfaq.sgml; \
mv gtkfaq.txt text/)
EXTRA_DIST += gtkfaq.sgml
if HAVE_SGML2HTML
dist-hook: faq
mkdir $(distdir)/html
cp -p $(srcdir)/html/*.html $(distdir)/html
mkdir $(distdir)/text
cp -p $(srcdir)/text/*.txt $(distdir)/text
else
dist-hook:
echo "***"
echo "*** Warning: FAQ not built"
echo "*** DISTRIBUTION IS INCOMPLETE"
echo "***"
endif

3577
docs/faq/gtk-faq.sgml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1617,7 +1617,7 @@ placed on a queue, which is processed within <tt/gtk_main()/. You can
force the drawing queue to be processed using something like:
<tscreen><verb>
while (gtk_main_iteration(FALSE));
while (g_main_iteration(FALSE));
</verb></tscreen>
inside you're function that changes the widget.

View File

@@ -1,198 +0,0 @@
<!doctype linuxdoc system>
<article>
<!-- Title information -->
<title>The GTK+ Drawing Kit Programming Manual
<author>Shawn T. Amundson, Peter Mattis
<date>July 26, 1998
<abstract>
This document aims at teaching user how to effectively program in
GDK, the GTK+ Drawing Kit, and to serve as a reference guide to
more experienced GTK+ programmers. It is a work in progress.
<!-- Table of contents -->
<toc>
<!-- Begin the document -->
<!-- ***************************************************************** -->
<sect>Introduction
<p>
GDK is designed as a wrapper library that lies on top of Xlib. It
performs many common and desired operations for a programmer instead
of the programmer having to explicitly ask for such functionality from
Xlib directly. For example, GDK provides a common interface to both
regular and shared memory XImage types. By doing so, an application
can nearly transparently use the fastest image type available. GDK
also provides routines for determining the best available color depth
and the best available visual which is not always the default visual
for a screen.
GDK is distributed and developed with GTK+, and is licensed under the
GNU Library General Public Licence (LGPL).
<sect>Getting Started
<sect1>Initialization
<p>
Initialization of GDK is easy. Simply call gdk_init() passing
in the argc and argv parameters.
<tscreen><verb>
int main (int argc, char *argv[])
{
/* Initialize GDK. */
gdk_init (&amp;argc, &amp;argv);
/* Cleanup of GDK is done automatically when the program exits. */
return 0;
}
</verb></tscreen>
Generally, GDK initialization is done by gtk_init() in GTK+. This means
that when using GTK+, you do not need to directly call gdk_init().
<sect1>An Example using GDK with GTK+
<p>
This example demonstrates drawing a line using the foreground
color of the GtkDrawArea widget it is drawn inside. The example
will end when you click inside the window, which is filled by the
GtkDrawingArea widget.
The line is drawn during the expose event so that when the window
drawing is done whenever it is needed.
<tscreen><verb>
#include <gtk/gtk.h>
/* The expose callback does the drawing of the line */
int
expose_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
GdkGC *gc;
printf("expose...\n");
/* The GC is the Graphics Context. Here it is borrowed from the widget */
gc = widget->style->fg_gc[GTK_STATE_NORMAL];
gdk_draw_line (widget->window, /* GDK Window of GtkDrawingArea widget */
gc, /* Graphics Context */
0, /* x1, left */
0, /* y1, top */
200, /* x2, right */
200); /* y2, bottom */
}
/* This quits GTK+ */
void destroy (GtkWidget *widget, gpointer data)
{
gtk_main_quit ();
}
int main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *darea;
int events;
/* This initializes both GTK+ and GDK */
gtk_init (&amp;argc, &amp;argv);
/* Create a window */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (destroy), NULL);
/* Create a drawing area widget. This widget actually is just a
simple widget which provides us an GDK window to draw on and
takes care of all the toolkit integration, like providing the
ability to add it to the window with gtk_contianer_add() */
darea = gtk_drawing_area_new ();
gtk_container_add (GTK_CONTAINER (window), darea);
/* Set the width and height (arguments are in that order) */
gtk_drawing_area_size (GTK_DRAWING_AREA (darea), 200, 200);
/* Drawing in the expose event is important to keep the
draw line always on the GDK window */
gtk_signal_connect (GTK_OBJECT (darea), "expose_event",
GTK_SIGNAL_FUNC (expose_callback), NULL);
/* We get the events, then add in button press. If we did not
do this, we would not be notified of button press events in
the GtkDrawingArea widget */
events = gtk_widget_get_events (darea);
gtk_widget_set_events (darea, events | GDK_BUTTON_PRESS_MASK);
/* If we click on the darea, the application will exit */
gtk_signal_connect_object (GTK_OBJECT (darea), "button_press_event",
GTK_SIGNAL_FUNC (gtk_widget_destroy),
GTK_OBJECT (window));
gtk_widget_show (darea);
gtk_widget_show (window);
/* The GTK+ main idle loop */
gtk_main();
/* Cleanup of GDK is done automatically when the program exits. */
return 0;
}
</verb></tscreen>
<sect>The Graphics Context
<p>
The Graphics Context, or GC, defines how things should be drawn,
including color, font, fill, tile, stipple, clipping mask, line
width, line style, and join style.
<sect1>Color
<p>
Changing color is done by changing the forground or background color
of the GC.
<sect>Drawing Commands
<sect>Event Handling
<sect>Understanding and Using Visuals
<sect>Creating and Using New Windows
<sect>Pixmaps
<sect>Images
<sect>Fonts
<sect>
<sect>About this Document
<sect1>History
<P>
This document was originially written by Peter Mattis and entitled
"The General Drawing Kit". It was meant as a reference guide.
This version of the document has been renamed and is meant as a general
programming guide.
<sect1>Copying
<p>
Copyright (c) 1996 Peter Mattis
<p>
Copyright (c) 1998 Shawn T. Amundson
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by Peter Mattis.
</article>

View File

@@ -1,334 +0,0 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename gdk.info
@settitle GDK
@setchapternewpage odd
@c %**end of header
@set edition 1.0
@set update-date 16 May 1996
@set update-month May 1996
@ifinfo
This file documents GDK, the General Drawing Kit
Copyright (C) 1996 Peter Mattis
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies
@ignore
Permission is granted to process this file throught TeX and print the
results, provided the printed document carries copying permission notice
identical to this one except for the removal of this paragraph (this
paragraph not being relevant to the printed manual).
@end ignore
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by Peter Mattis.
@end ifinfo
@titlepage
@title The General Drawing Kit
@subtitle Version 1.0
@subtitle @value{update-month}
@author by Peter Mattis
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1996 Peter Mattis
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by Peter Mattis.
@end titlepage
@dircategory User Interface Toolkit
@direntry
* GDK: (gdk). The General Drawing Kit
@end direntry
@node Top, Copying, (dir), (dir)
@top The General Drawing Kit
@ifinfo
This is edition @value{edition} of the GDK documentation,
@w{@value{update-date}}.
@end ifinfo
@menu
* Copying:: Your rights.
* Overview:: What is GDK?
* Initialization:: Initialization and exit.
* Events:: Event handling.
* Visuals:: Understanding and using visuals.
* Windows:: Creating and using windows.
* Graphics Contexts:: Creating and modifying GCs.
* Pixmaps:: Creating pixmaps.
* Images:: Creating images.
* Color:: Specifying color.
* Fonts:: Creating fonts.
* Drawing:: Drawing commands.
* XInput Support:: Using extended devices.
* Miscellany:: Other stuff.
* Examples:: Using GDK.
* Function Index:: Index of functions
* Concept Index:: Index of concepts
@end menu
@node Copying, Overview, Top, Top
@comment node-name, next, previous, up
@chapter Copying
GDK is @dfn{free}; this means that everyone is free to use it and free
to redestribute it on a free basis. GDK is not in the public domain; it
is copyrighted and there are restrictions on its distribution, but these
restrictions are designed to permit everything that a good cooperating
citizen would want to do. What is not allowed is to try to prevent
others from further sharing any version of GDK that they might get from
you.
Specifically, we want to make sure that you have the right to give away
copies of GDK, that you receive source code or else can get it if you
want it, that you can change GDK or use pieces of it in new free
programs, and that you know you can do these things.
To make sure that everyone has such rights, we have to forbid you to
deprive anyone else of these rights. For example, if you distribute
copies of GDK, you must give the recipients all the rights that you
have. You must make sure that they, too, receive or can get the source
code. And you must tell them their rights.
Also, for my own protection, we must make certain that everyone finds
out that there is no warranty for GDK. If GDK is modified by someone
else and passed on, we want their recipients to know that what they have
is not what we distributed, so that any problems introduced by others
will no reflect on our reputation.
The precise conditions of the licenses for GDK are found in the General
Public Licenses that accompanies it.
@node Overview, Initialization, Copying, Top
@comment node-name, next, previous, up
@chapter What is GDK?
@cindex Overview
GDK is designed as a wrapper library that lies on top of Xlib. It
performs many common and desired operations for a programmer instead
of the programmer having to explicitly ask for such functionality from
Xlib directly. For example, GDK provides a common interface to both
regular and shared memory XImage types. By doing so, an application
can nearly transparently use the fastest image type available. GDK
also provides routines for determining the best available color depth
and the best available visual which is not always the default visual
for a screen.
@node Initialization, Events, Overview, Top
@comment node-name, next, previous, up
@chapter Initialization and exit
@cindex Initialization
@cindex Exit
Initializing GDK is easy. Simply call @code{gdk_init} passing in the
@var{argc} and @var{argv} parameters. Exit is similarly easy. Just
call @code{gdk_exit}.
@deftypefun void gdk_init (int *@var{argc}, char ***@var{argv})
Initializes the GDK library. The arguments @var{argc} and @var{argv}
are scanned and any arguments that GDK recognizes are handled and
removed. The @var{argc} and @var{argv} parameters are the values
passed to @code{main} upon program invocation.
@end deftypefun
@deftypefun void gdk_exit (int @var{errorcode})
Exit GDK and perform any necessary cleanup. @code{gdk_exit} will call
the systems @code{exit} function passing @var{errorcode} as the
parameter.
@end deftypefun
@example
int
main (int argc, char *argv[])
@{
/* Initialize GDK. */
gdk_init (&argc, &argv);
/* Exit from GDK...this call will never return. */
gdk_exit (0);
/* Keep compiler from issuing a warning */
return 0;
@}
@end example
@node Events, Visuals, Initialization, Top
@comment node-name, next, previous, up
@chapter Event handling
@cindex Events
Events are the means by which GDK lets the programmer know of user
interaction. An event is normally a button or key press or some other
indirect user action, such as a the mouse cursor entering or leaving a
window.
There exist only a few functions for getting events and event
information. These are @code{gdk_events_pending},
@code{gdk_event_get}, @code{gdk_events_record} and
@code{gdk_events_playback}. The latter two functions are useful for
automatic testing of a software package and should normally not be
needed in a program.
@deftypefun gint gdk_events_pending (void)
Returns the number of events pending on the event queue.
@end deftypefun
@deftypefun gint gdk_event_get (GdkEvent *@var{event})
Return the next available event in the @var{event}
structure. @code{gdk_event_get} will return @code{TRUE} on success and
@code{FALSE} on failure. Success and failure is determined by whether
an event arrived before the timeout period expired.
@end deftypefun
@deftypefun void gdk_events_record (char *@var{filename})
Turn on recording of events. User events and certain system events will
be saved in the file named by the variable @var{filename}. This stream
of events can later be played back and ``should'' produce the same
results as when the original events were handled. However, the
programmer does need to be careful in that the state of the program must
be the same when @code{gdk_events_record} is called and when
@code{gdk_events_playback} is called. For this reason,
@code{gdk_events_record} is normally not called directly, but is instead
invoked indirectly by specifying the ``-record'' command line option.
@end deftypefun
@deftypefun void gdk_events_playback (char *@var{filename})
Start playback of events from a file. (See the above description of
@code{gdk_events_record}). Normally this function is not called directly
but is invoked by the ``-playback'' command line option.
@end deftypefun
@deftypefun void gdk_events_stop (void)
Stop recording and playback of events.
@end deftypefun
@example
void
handle_event ()
@{
GdkEvent event;
if (gdk_event_get (&event))
@{
switch (event.type)
@{
@dots{}
@}
@}
@}
@end example
@node Visuals, Windows, Events, Top
@comment node-name, next, previous, up
@chapter Understanding and using visuals
@cindex Visuals
@node Windows, Graphics Contexts, Visuals, Top
@comment node-name, next, previous, up
@chapter Creating and using windows
@cindex Windows
@node Graphics Contexts, Pixmaps, Windows, Top
@comment node-name, next, previous, up
@chapter Creating and modifying GCs
@cindex Graphics Contexts
@cindex GC
@node Pixmaps, Images, Graphics Contexts, Top
@comment node-name, next, previous, up
@chapter Creating pixmaps
@cindex Pixmaps
@node Images, Color, Pixmaps, Top
@comment node-name, next, previous, up
@chapter Creating images
@cindex Images
@node Color, Fonts, Images, Top
@comment node-name, next, previous, up
@chapter Specifying color
@cindex Color
@node Fonts, Drawing, Color, Top
@comment node-name, next, previous, up
@chapter Creating Fonts
@cindex Fonts
@node Drawing, XInput Support, Fonts, Top
@comment node-name, next, previous, up
@chapter Drawing Commands
@cindex Drawing
@node XInput Support, Miscellany, Drawing, Top
@comment node-name, next, previous, up
@chapter Using extended devices
@cindex Overview
@cindex Using extended device capabilities
@cindex Controlling extended devices
@node Miscellany, Examples, XInput Support, Top
@comment node-name, next, previous, up
@chapter Other stuff
@cindex Timers
@cindex Debugging
@cindex Miscellaneous
@node Examples, Function Index, Miscellany, Top
@comment node-name, next, previous, up
@chapter Using GDK
@cindex Examples
@node Function Index, Concept Index, Examples, Top
@comment node-name, next, previous, up
@unnumbered Variable Index
@printindex fn
@node Concept Index, , Function Index, Top
@comment node-name, next, previous, up
@unnumbered Concept Index
@printindex cp
@summarycontents
@contents
@bye

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +0,0 @@
@macro gtkstdmacros {p, q}
@deftypefun Gtk\p\* GTK_\q\ (gpointer @var{obj})
Cast a generic pointer to @code{Gtk\p\*}. @xref{Standard Macros}, for
more info.
@end deftypefun
@deftypefun Gtk\p\Class* GTK_\q\_CLASS (gpointer @var{class})
Cast a generic pointer to @code{Gtk\p\Class*}. @xref{Standard Macros},
for more info.
@end deftypefun
@deftypefun gint GTK_IS_\q\ (gpointer @var{obj})
Determine if a generic pointer refers to a @code{Gtk\p\}
object. @xref{Standard Macros}, for more info.
@end deftypefun
@end macro

View File

@@ -196,7 +196,7 @@ class TodoParser (xmllib.XMLParser):
def start_contact(self,attributes):
if not self.entry:
raise ParseError, "<contact> tag must be in <contact>"
raise ParseError, "<contact> tag must be in <entry>"
if self.in_data:
raise ParseError, "Unexpected <contact> tag in content"
self.in_data = 1

View File

@@ -1,242 +0,0 @@
=head1 NAME
gtk_button - GTK+ push button widget
=head1 SYNOPSIS
#include <gtk/gtkbutton.h>
GtkType gtk_button_get_type (void);
GtkWidget* gtk_button_new (void);
GtkWidget* gtk_button_new_with_label (const gchar *label);
void gtk_button_pressed (GtkButton *button);
void gtk_button_released (GtkButton *button);
void gtk_button_clicked (GtkButton *button);
void gtk_button_enter (GtkButton *button);
void gtk_button_leave (GtkButton *button);
void gtk_button_set_relief (GtkButton *button,
GtkReliefStyle style);
GtkReliefStyle gtk_button_get_relief (GtkButton *button);
=head1 DESCRIPTION
This widget is a standard push button widget. Push button widgets
are generally used for allowing the user to click on them to initiate
a command.
This widget is a container widget which contains one child.
=head1 OBJECT HIERARCHY
gtk_object
gtk_widget
gtk_container
gtk_button
=head1 SIGNAL PROTOTYPES
"clicked" void user_function (GtkWidget *widget, gpointer data);
"pressed" void user_function (GtkWidget *widget, gpointer data);
"released" void user_function (GtkWidget *widget, gpointer data);
"enter" void user_function (GtkWidget *widget, gpointer data);
"leave" void user_function (GtkWidget *widget, gpointer data);
=head1 USAGE
=head2 Creation
The most common way to create a button is with a label in it, which
contains text for the user to read. The child of the button will then
be a L<gtk_label(3)> widget with the text you passwd in. You can
do this in one command:
GtkWidget *button;
button = gtk_button_new_with_label ("This is a button");
To create a gtk_button widget which does not already have a child,
use gtk_button_new():
GtkWidget *button;
button = gtk_button_new ();
After you have created a button you can then add a widget to the
button (such as a label or pixmap) using gtk_container_add(). See
L<gtk_container(3)> for more information on adding widgets to
containers.
=head2 Creating a pixmap in a button in a window
After we have an empty gtk_button, such as above, and we have a gtk_pixmap,
we can simply add the gtk_pixmap to the gtk_button with gtk_container_add().
The following code will open the file "gimp.xpm" and place it in a
button.
#include <gtk/gtk.h>
int main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;
GtkWidget *pixmap;
GtkStyle *style;
GdkPixmap *gdkpixmap;
GdkBitmap *mask;
char *filename = "gimp.xpm";
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
button = gtk_button_new ();
gtk_container_add (GTK_CONTAINER (window), button);
/* The button is realized now, which creates button->window
used below to create the pixmap. */
gtk_widget_realize (button);
style = gtk_widget_get_style (button);
gdkpixmap = gdk_pixmap_create_from_xpm (button->window, &mask,
&style->bg[GTK_STATE_NORMAL],
filename);
pixmap = gtk_pixmap_new (gdkpixmap, mask);
gtk_container_add (GTK_CONTAINER (button), pixmap);
gtk_widget_show (pixmap);
gtk_widget_show (button);
gtk_widget_show (window);
gtk_main ();
return 0;
}
=head2 Different reliefs
Reliefs affect how the shadowing of the button is drawn. The different
types of relief styles are:
GTK_RELIEF_NORMAL
GTK_RELIEF_HALF
GTK_RELIEF_NONE
When set to a normal relief, the widget looks and acts like a normal
button. When half or none relief is used, shadowing is only drawn when the
mouse cursor is over the widget.
To set the relief, use gtk_button_set_relief(), like:
gtk_button_set_relief (button, GTK_RELIEF_HALF);
To get the current relief of a button, use gtk_button_get_relief():
GtkReliefStyle relief;
relief = gtk_button_get_relief (GTK_BUTTON (button));
=head2 Executing a command when the button is pressed
To execute a function when a button is pressed, use
gtk_signal_connect() to connect to the "clicked" signal.
gtk_signal_connect (GTK_OBJECT (button), "clicked",
GTK_SIGNAL_FUNC (user_function),
NULL);
user_function is a user defined function, like the following:
void user_function (GtkWidget *button, gpointer data)
{
printf("clicked\n");
}
=head1 FUNCTIONS
GtkType gtk_button_get_type (void);
This function returns the GtkType which is assigned to the
object class for gtk_button.
GtkWidget* gtk_button_new (void);
This functions returns a new button widget which can then be
used as a container for another widget.
GtkWidget* gtk_button_new_with_label (const gchar *label);
This function returns a new button widget with a label widget
as a child. The label widget will have the text passed into
the commant.
void gtk_button_pressed (GtkButton *button);
This function sends a "pressed" signal to the button.
void gtk_button_released (GtkButton *button);
This function sends a "released" signal to the button.
void gtk_button_clicked (GtkButton *button);
This function sends a "clicked" signal to the button.
void gtk_button_enter (GtkButton *button);
This function sends a "enter" signal to the button.
void gtk_button_leave (GtkButton *button);
This function sends a "leave" signal to the button.
void gtk_button_set_relief (GtkButton *button, GtkReliefStyle style);
This function is sets the GtkReliefStyle of the button. The
relief style is one of: GTK_RELIEF_NORMAL, GTK_RELIEF_HALF,
or GTK_RELIEF_NONE. The relief determines when the shadow of
the button is drawn.
GtkReliefStyle gtk_button_get_relief (GtkButton *button);
This function returns the current relief of the button.
=head1 SIGNALS
"clicked"
void user_function (GtkWidget *widget, gpointer data);
Gets emitted when the button is clicked. A click is
a press and release of the button when the cursor is
inside the button on release.
"pressed"
void user_function (GtkWidget *widget, gpointer data);
Gets emitted when the left mouse button is pressed.
"released"
void user_function (GtkWidget *widget, gpointer data);
Gets emitted when the left mouse button is released and
the widget was previously pressed.
"enter"
void user_function (GtkWidget *widget, gpointer data);
Emitted when the mouse cursor enters the button.
"leave"
void user_function (GtkWidget *widget, gpointer data);
Emitted when the mouse cursor leaves the button.
=head1 AUTHORS
The author of this man page is Shawn T. Amundson E<lt>amundson@gtk.orgE<gt>.
For the authors of GTK+, see the AUTHORS file in the GTK+ distribution.

View File

@@ -1,99 +0,0 @@
#! /bin/sh
# package_tutorial.sh - Package up the tutorial into various formats
# Copyright (C) Tony Gale 1999
# Contact: gale@gtk.org
#
# NOTE: This script requires the following to be installed:
# o SGML Tools
# o Latex
# o DVI tools
TARGET=`pwd`/gtk_tut.sgml
GIFS="`pwd`/*.gif"
EXAMPLES=`pwd`/../examples
PATH=`pwd`:$PATH
DATE=`date '+%y%m%d'`
# Check top level directory
if [ ! -d gtk_tutorial ]; then
if [ -e gtk_tutorial ]; then
echo "ERROR: gtk_tutorial is not a directory"
exit
fi
mkdir gtk_tutorial.$DATE
fi
cd gtk_tutorial.$DATE
# SGML Format
echo -n "Copy SGML and GIF's.... "
if [ ! -d sgml ]; then
if [ -e sgml ]; then
echo "ERROR: html is not a directory"
exit
fi
mkdir sgml
fi
(cd sgml ; cp $TARGET . ; cp $GIFS .)
echo "done"
# HTML Format
echo -n "Formatting into HTML.... "
if [ ! -d html ]; then
if [ -e html ]; then
echo "ERROR: html is not a directory"
exit
fi
mkdir html
fi
(cd html ; sgml2html $TARGET ; cp $GIFS .)
echo "done"
# Text Format
echo -n "Formatting into Text.... "
if [ ! -d txt ]; then
if [ -e txt ]; then
echo "ERROR: txt is not a directory"
exit
fi
mkdir txt
fi
(cd txt ; sgml2txt -f $TARGET 2>&1 > /dev/null )
echo "done"
# PS and DVI Format
echo -n "Formatting into PS and DVI.... "
if [ ! -d ps ]; then
if [ -e ps ]; then
echo "ERROR: ps is not a directory"
exit
fi
mkdir ps
fi
(cd ps ; sgml2latex --output=ps $TARGET > /dev/null)
(cd ps ; sgml2latex $TARGET > /dev/null)
echo "done"
# Copy examples
echo -n "Copying examples"
cp -R $EXAMPLES .
(cd examples ; make clean ; rm -rf CVS */CVS)
echo "done"
# Package it all up
echo -n "Creating packages.... "
cd ..
tar cvfz gtk_tutorial.$DATE.tar.gz gtk_tutorial.$DATE
echo "done"
rm -rf gtk_tutorial.$DATE
echo
echo Package gtk_tutorial.$DATE.tar.gz created.
echo

View File

@@ -0,0 +1,2 @@
Makefile
Makefile.in

View File

@@ -1,3 +1,30 @@
Thu Sep 7 14:15:03 2000 Owen Taylor <otaylor@redhat.com>
* gdk/* gtk/*: Move gtk-reference files into GTK+ tree proper.
* Update sections.txt files to correspond to current code,
tweak .sgml files and Makefiles to correspond.
* gtk/tmpl/gtkradiomenuitem.sgml (this): Remove extra <para>
2000-06-14 Damon Chaplin <damon@helixcode.com>
* gtk/tmpl/gtktooltips.sgml: added a note about no-window widgets.
Mon Jun 5 11:17:25 2000 Owen Taylor <otaylor@redhat.com>
* gdk/tmpl/general.sgml: Fix gdk_pointer_grab description
as pointed out by Dave Morse.
Sun May 28 12:16:01 2000 Owen Taylor <otaylor@redhat.com>
* gtk/tmpl/gtkaspectframe.sgml: Fix typo
pointed out by Gregory McLean.
2000-05-28 Damon Chaplin <damon@helixcode.com>
* gdk/tmpl/event_structs.sgml: typo.
2000-04-22 Damon Chaplin <damon@helixcode.com>
* gtk/tmpl/gtkenums.sgml: update from Lee Mallabone

View File

@@ -0,0 +1,3 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = gdk-pixbuf gdk gtk

View File

@@ -2,4 +2,5 @@ Makefile
Makefile.in
html
sgml
gdk-pixbuf.html
gdk-pixbuf-decl-list.txt
gdk-pixbuf-unused.txt

View File

@@ -9,62 +9,71 @@ DOC_MAIN_SGML_FILE=gdk-pixbuf.sgml
# The directory containing the source code (if it contains documentation).
DOC_SOURCE_DIR=$(GDK_PIXBUF_DIR)/gdk-pixbuf
CFLAGS=`gnome-config --cflags gnomeui gdk_pixbuf gnomecanvaspixbuf`
LDFLAGS=`gnome-config --libs gnomeui gdk_pixbuf gnomecanvaspixbuf`
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
HTML_DIR=$(datadir)/gnome/html
# Header files to ignore when scanning
IGNORE_HFILES=pixops.h pixops-internal.h
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
# Extra files to add when scanning
EXTRA_HFILES= \
$(top_srcdir)/gtk/gdk-pixbuf-loader.h
# CFLAGS and LDFLAGS for compiling scan program
CFLAGS=
LDFLAGS=
tmpl_sources = \
tmpl/animation.sgml \
tmpl/creating.sgml \
tmpl/file-loading.sgml \
tmpl/from-drawables.sgml \
tmpl/gdk-pixbuf-loader.sgml \
tmpl/gdk-pixbuf-unused.sgml \
tmpl/gdk-pixbuf.sgml \
tmpl/gnome-canvas-pixbuf.sgml \
tmpl/initialization_versions.sgml \
tmpl/module_interface.sgml \
tmpl/refcounting.sgml \
tmpl/rendering.sgml \
tmpl/scaling.sgml \
tmpl/util.sgml
gdk_pixbuf_docdir = $(HTML_DIR)
gdk_pixbuf_doc_DATA = \
gdk-pixbuf.html \
gdk-pixbuf.hierarchy \
gdk-pixbuf.types \
gdk-pixbuf-decl.txt \
gdk-pixbuf-sections.txt
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
compiling.sgml
compiling.sgml \
gdk-pixbuf.sgml
####################################
# Everything below here is generic #
####################################
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
EXTRA_DIST = \
$(gdk_pixbuf_doc_DATA) \
$(content_files)
$(DOC_MAIN_SGML_FILE) \
$(content_files) \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
if ENABLE_GTK_DOC
gdk-pixbuf.html: html/book1.html
-cd $(srcdir) && cp html/book1.html gdk-pixbuf.html
else
gdk-pixbuf.html:
endif
all-local: html/index.html
html/book1.html: sgml/gdk-pixbuf-doc.bottom $(content_files)
$(MAKE) html
$(DOC_MODULE)-decl.txt:
$(MAKE) scan
sgml/gdk-pixbuf-doc.bottom: $(tmpl_sources)
$(tmpl_sources): $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
$(MAKE) templates
sgml/$(DOC_MODULE)-doc.bottom: $(tmpl_sources) $(DOC_MODULE)-decl.txt
$(MAKE) sgml
html/index.html: sgml/$(DOC_MODULE)-doc.bottom $(DOC_MAIN_SGML_FILE) $(content_fiels)
$(MAKE) html
endif
scan:
-(cd $(srcdir) \
&& env CFLAGS=$(CFLAGS) LDFLAGS=$(LDFLAGS) \
gtkdoc-scanobj --module=$(DOC_MODULE) \
&& gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="pixops.h pixops-internal.h" )
&& gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(EXTRA_HFILES))
templates: scan
templates:
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
sgml:
@@ -74,6 +83,8 @@ sgml:
html:
test -d $(srcdir)/html || mkdir $(srcdir)/html
-cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
@echo '-- Fixing Crossreferences'
gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
clean-local:
rm -f *~ *.bak *.signals *-unused.txt
@@ -93,11 +104,20 @@ install-data-local:
done; \
echo '-- Installing $(srcdir)/html/index.sgml' ; \
$(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
echo '-- Fixing Crossreferences' ; \
gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)|| true; \
fi)
dist-hook:
#
# 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
mkdir $(distdir)/html
mkdir $(distdir)/sgml
mkdir $(distdir)/tmpl

View File

@@ -1,527 +0,0 @@
<USER_FUNCTION>
<NAME>ModulePreparedNotifyFunc</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf, gpointer user_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>ModuleUpdatedNotifyFunc</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf,
guint x, guint y,
guint width, guint height,
gpointer user_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>ModuleFrameDoneNotifyFunc</NAME>
<RETURNS>void </RETURNS>
GdkPixbufFrame *frame,
gpointer user_data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>ModuleAnimationDoneNotifyFunc</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf,
gpointer user_data
</USER_FUNCTION>
<STRUCT>
<NAME>GdkPixbufModule</NAME>
</STRUCT>
<STRUCT>
<NAME>GdkPixbufModule</NAME>
struct GdkPixbufModule {
char *module_name;
gboolean (* format_check) (guchar *buffer, int size);
GModule *module;
GdkPixbuf *(* load) (FILE *f);
GdkPixbuf *(* load_xpm_data) (const char **data);
/* Incremental loading */
gpointer (* begin_load) (ModulePreparedNotifyFunc prepare_func,
ModuleUpdatedNotifyFunc update_func,
ModuleFrameDoneNotifyFunc frame_done_func,
ModuleAnimationDoneNotifyFunc anim_done_func,
gpointer user_data);
void (* stop_load) (gpointer context);
gboolean (* load_increment) (gpointer context, const guchar *buf, guint size);
/* Animation loading */
GdkPixbufAnimation *(* load_animation) (FILE *f);
};
</STRUCT>
<FUNCTION>
<NAME>gdk_pixbuf_get_module</NAME>
<RETURNS>GdkPixbufModule *</RETURNS>
guchar *buffer, guint size
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_load_module</NAME>
<RETURNS>void </RETURNS>
GdkPixbufModule *image_module
</FUNCTION>
<MACRO>
<NAME>GDK_TYPE_PIXBUF_LOADER</NAME>
#define GDK_TYPE_PIXBUF_LOADER (gdk_pixbuf_loader_get_type ())
</MACRO>
<MACRO>
<NAME>GDK_PIXBUF_LOADER</NAME>
#define GDK_PIXBUF_LOADER(obj) (GTK_CHECK_CAST ((obj), GDK_TYPE_PIXBUF_LOADER, GdkPixbufLoader))
</MACRO>
<MACRO>
<NAME>GDK_PIXBUF_LOADER_CLASS</NAME>
#define GDK_PIXBUF_LOADER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_LOADER, GdkPixbufLoaderClass))
</MACRO>
<MACRO>
<NAME>GDK_IS_PIXBUF_LOADER</NAME>
#define GDK_IS_PIXBUF_LOADER(obj) (GTK_CHECK_TYPE ((obj), GDK_TYPE_PIXBUF_LOADER))
</MACRO>
<MACRO>
<NAME>GDK_IS_PIXBUF_LOADER_CLASS</NAME>
#define GDK_IS_PIXBUF_LOADER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_LOADER))
</MACRO>
<STRUCT>
<NAME>GdkPixbufLoader</NAME>
</STRUCT>
<STRUCT>
<NAME>GdkPixbufLoader</NAME>
struct GdkPixbufLoader
{
GtkObject object;
/* < Private > */
gpointer private;
};
</STRUCT>
<STRUCT>
<NAME>GdkPixbufLoaderClass</NAME>
</STRUCT>
<FUNCTION>
<NAME>gdk_pixbuf_loader_get_type</NAME>
<RETURNS>GtkType </RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_loader_new</NAME>
<RETURNS>GdkPixbufLoader *</RETURNS>
void
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_loader_write</NAME>
<RETURNS>gboolean </RETURNS>
GdkPixbufLoader *loader,const guchar *buf,size_t count
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_loader_get_pixbuf</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkPixbufLoader *loader
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_loader_get_animation</NAME>
<RETURNS>GdkPixbufAnimation *</RETURNS>
GdkPixbufLoader *loader
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_loader_close</NAME>
<RETURNS>void </RETURNS>
GdkPixbufLoader *loader
</FUNCTION>
<ENUM>
<NAME>GdkColorspace</NAME>
typedef enum {
GDK_COLORSPACE_RGB
} GdkColorspace;
</ENUM>
<STRUCT>
<NAME>GdkPixbuf</NAME>
</STRUCT>
<STRUCT>
<NAME>GdkPixbufFrame</NAME>
</STRUCT>
<STRUCT>
<NAME>GdkPixbufAnimation</NAME>
</STRUCT>
<USER_FUNCTION>
<NAME>GdkPixbufDestroyNotify</NAME>
<RETURNS>void </RETURNS>
guchar *pixels, gpointer data
</USER_FUNCTION>
<USER_FUNCTION>
<NAME>GdkPixbufLastUnref</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf, gpointer data
</USER_FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_ref</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_unref</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_set_last_unref_handler</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf,GdkPixbufLastUnref last_unref_fn,gpointer last_unref_fn_data
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_finalize</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_colorspace</NAME>
<RETURNS>GdkColorspace </RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_n_channels</NAME>
<RETURNS>int </RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_has_alpha</NAME>
<RETURNS>gboolean </RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_bits_per_sample</NAME>
<RETURNS>int </RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_pixels</NAME>
<RETURNS>guchar *</RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_width</NAME>
<RETURNS>int </RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_height</NAME>
<RETURNS>int </RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_rowstride</NAME>
<RETURNS>int </RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_new</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkColorspace colorspace, gboolean has_alpha, int bits_per_sample,int width, int height
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_copy</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_new_from_file</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const char *filename
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_new_from_data</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const guchar *data,GdkColorspace colorspace,gboolean has_alpha,int bits_per_sample,int width, int height,int rowstride,GdkPixbufDestroyNotify destroy_fn,gpointer destroy_fn_data
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_new_from_xpm_data</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const char **data
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_add_alpha</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const GdkPixbuf *pixbuf, gboolean substitute_color,guchar r, guchar g, guchar b
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_copy_area</NAME>
<RETURNS>void </RETURNS>
const GdkPixbuf *src_pixbuf,int src_x, int src_y,int width, int height,GdkPixbuf *dest_pixbuf,int dest_x, int dest_y
</FUNCTION>
<ENUM>
<NAME>GdkPixbufAlphaMode</NAME>
typedef enum {
GDK_PIXBUF_ALPHA_BILEVEL,
GDK_PIXBUF_ALPHA_FULL
} GdkPixbufAlphaMode;
</ENUM>
<FUNCTION>
<NAME>gdk_pixbuf_render_threshold_alpha</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf, GdkBitmap *bitmap,int src_x, int src_y,int dest_x, int dest_y,int width, int height,int alpha_threshold
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_render_to_drawable</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf,GdkDrawable *drawable, GdkGC *gc,int src_x, int src_y,int dest_x, int dest_y,int width, int height,GdkRgbDither dither,int x_dither, int y_dither
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_render_to_drawable_alpha</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf, GdkDrawable *drawable,int src_x, int src_y,int dest_x, int dest_y,int width, int height,GdkPixbufAlphaMode alpha_mode,int alpha_threshold,GdkRgbDither dither,int x_dither, int y_dither
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_render_pixmap_and_mask</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf,GdkPixmap **pixmap_return, GdkBitmap **mask_return,int alpha_threshold
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_from_drawable</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkPixbuf *dest,GdkDrawable *src, GdkColormap *cmap,int src_x, int src_y,int dest_x, int dest_y,int width, int height
</FUNCTION>
<ENUM>
<NAME>GdkInterpType</NAME>
typedef enum {
GDK_INTERP_NEAREST,
GDK_INTERP_TILES,
GDK_INTERP_BILINEAR,
GDK_INTERP_HYPER
} GdkInterpType;
</ENUM>
<FUNCTION>
<NAME>gdk_pixbuf_scale</NAME>
<RETURNS>void </RETURNS>
const GdkPixbuf *src,GdkPixbuf *dest,int dest_x,int dest_y,int dest_width,int dest_height,double offset_x,double offset_y,double scale_x,double scale_y,GdkInterpType interp_type
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_composite</NAME>
<RETURNS>void </RETURNS>
const GdkPixbuf *src,GdkPixbuf *dest,int dest_x,int dest_y,int dest_width,int dest_height,double offset_x,double offset_y,double scale_x,double scale_y,GdkInterpType interp_type,int overall_alpha
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_composite_color</NAME>
<RETURNS>void </RETURNS>
const GdkPixbuf *src,GdkPixbuf *dest,int dest_x,int dest_y,int dest_width,int dest_height,double offset_x,double offset_y,double scale_x,double scale_y,GdkInterpType interp_type,int overall_alpha,int check_x,int check_y,int check_size,guint32 color1,guint32 color2
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_scale_simple</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const GdkPixbuf *src,int dest_width,int dest_height,GdkInterpType interp_type
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_composite_color_simple</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const GdkPixbuf *src,int dest_width,int dest_height,GdkInterpType interp_type,int overall_alpha,int check_size,guint32 color1,guint32 color2
</FUNCTION>
<ENUM>
<NAME>GdkPixbufFrameAction</NAME>
typedef enum {
GDK_PIXBUF_FRAME_RETAIN,
GDK_PIXBUF_FRAME_DISPOSE,
GDK_PIXBUF_FRAME_REVERT
} GdkPixbufFrameAction;
</ENUM>
<FUNCTION>
<NAME>gdk_pixbuf_animation_new_from_file</NAME>
<RETURNS>GdkPixbufAnimation *</RETURNS>
const char *filename
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_animation_ref</NAME>
<RETURNS>GdkPixbufAnimation *</RETURNS>
GdkPixbufAnimation *animation
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_animation_unref</NAME>
<RETURNS>void </RETURNS>
GdkPixbufAnimation *animation
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_animation_get_width</NAME>
<RETURNS>int </RETURNS>
GdkPixbufAnimation *animation
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_animation_get_height</NAME>
<RETURNS>int </RETURNS>
GdkPixbufAnimation *animation
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_animation_get_frames</NAME>
<RETURNS>GList *</RETURNS>
GdkPixbufAnimation *animation
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_animation_get_num_frames</NAME>
<RETURNS>int </RETURNS>
GdkPixbufAnimation *animation
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_frame_get_pixbuf</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkPixbufFrame *frame
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_frame_get_x_offset</NAME>
<RETURNS>int </RETURNS>
GdkPixbufFrame *frame
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_frame_get_y_offset</NAME>
<RETURNS>int </RETURNS>
GdkPixbufFrame *frame
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_frame_get_delay_time</NAME>
<RETURNS>int </RETURNS>
GdkPixbufFrame *frame
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_frame_get_action</NAME>
<RETURNS>GdkPixbufFrameAction </RETURNS>
GdkPixbufFrame *frame
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_preinit</NAME>
<RETURNS>void </RETURNS>
gpointer app, gpointer modinfo
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_postinit</NAME>
<RETURNS>void </RETURNS>
gpointer app, gpointer modinfo
</FUNCTION>
<MACRO>
<NAME>GNOME_TYPE_CANVAS_PIXBUF</NAME>
#define GNOME_TYPE_CANVAS_PIXBUF (gnome_canvas_pixbuf_get_type ())
</MACRO>
<MACRO>
<NAME>GNOME_CANVAS_PIXBUF</NAME>
#define GNOME_CANVAS_PIXBUF(obj) (GTK_CHECK_CAST ((obj), \
GNOME_TYPE_CANVAS_PIXBUF, GnomeCanvasPixbuf))
</MACRO>
<MACRO>
<NAME>GNOME_CANVAS_PIXBUF_CLASS</NAME>
#define GNOME_CANVAS_PIXBUF_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), \
GNOME_TYPE_CANVAS_PIXBUF, GnomeCanvasPixbufClass))
</MACRO>
<MACRO>
<NAME>GNOME_IS_CANVAS_PIXBUF</NAME>
#define GNOME_IS_CANVAS_PIXBUF(obj) (GTK_CHECK_TYPE ((obj), GNOME_TYPE_CANVAS_PIXBUF))
</MACRO>
<MACRO>
<NAME>GNOME_IS_CANVAS_PIXBUF_CLASS</NAME>
#define GNOME_IS_CANVAS_PIXBUF_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), \
GNOME_TYPE_CANVAS_PIXBUF))
</MACRO>
<STRUCT>
<NAME>GnomeCanvasPixbuf</NAME>
</STRUCT>
<STRUCT>
<NAME>GnomeCanvasPixbufClass</NAME>
</STRUCT>
<STRUCT>
<NAME>GnomeCanvasPixbuf</NAME>
struct GnomeCanvasPixbuf {
GnomeCanvasItem item;
/* Private data */
gpointer priv;
};
</STRUCT>
<FUNCTION>
<NAME>gnome_canvas_pixbuf_get_type</NAME>
<RETURNS>GtkType </RETURNS>
void
</FUNCTION>
<MACRO>
<NAME>GDK_PIXBUF_MAJOR</NAME>
#define GDK_PIXBUF_MAJOR (0)
</MACRO>
<MACRO>
<NAME>GDK_PIXBUF_MINOR</NAME>
#define GDK_PIXBUF_MINOR (7)
</MACRO>
<MACRO>
<NAME>GDK_PIXBUF_MICRO</NAME>
#define GDK_PIXBUF_MICRO (0)
</MACRO>
<MACRO>
<NAME>GDK_PIXBUF_VERSION</NAME>
#define GDK_PIXBUF_VERSION "0.7.0"
</MACRO>
<VARIABLE>
<NAME>gdk_pixbuf_version</NAME>
extern const char *gdk_pixbuf_version;
</VARIABLE>
<STRUCT>
<NAME>GdkPixbuf</NAME>
struct GdkPixbuf {
/* Reference count */
int ref_count;
/* Color space */
GdkColorspace colorspace;
/* Number of channels, alpha included */
int n_channels;
/* Bits per channel */
int bits_per_sample;
/* Size */
int width, height;
/* Offset between rows */
int rowstride;
/* The pixel array */
guchar *pixels;
/* Destroy notification function; it is supposed to free the pixel array */
GdkPixbufDestroyNotify destroy_fn;
/* User data for the destroy notification function */
gpointer destroy_fn_data;
/* Last unref handler, determines whether the pixbuf should be finalized */
GdkPixbufLastUnref last_unref_fn;
/* User data for the last unref handler */
gpointer last_unref_fn_data;
/* Do we have an alpha channel? */
guint has_alpha : 1;
};
</STRUCT>
<STRUCT>
<NAME>GdkPixbufFrame</NAME>
struct GdkPixbufFrame {
/* The pixbuf with this frame's image data */
GdkPixbuf *pixbuf;
/* Offsets for overlaying onto the animation's area */
int x_offset;
int y_offset;
/* Frame duration in ms */
int delay_time;
/* Overlay mode */
GdkPixbufFrameAction action;
};
</STRUCT>
<STRUCT>
<NAME>GdkPixbufAnimation</NAME>
struct GdkPixbufAnimation {
/* Reference count */
int ref_count;
/* Number of frames */
int n_frames;
/* List of GdkPixbufFrame structures */
GList *frames;
/* bounding box size */
int width, height;
};
</STRUCT>

View File

@@ -1,9 +1,25 @@
<INCLUDE>gdk-pixbuf/gdk-pixbuf.h</INCLUDE>
<SECTION>
<TITLE>Initialization and Versions</TITLE>
<FILE>initialization_versions</FILE>
gdk_pixbuf_init
gdk_pixbuf_preinit
gdk_pixbuf_postinit
<SUBSECTION>
gdk_pixbuf_version
GDK_PIXBUF_VERSION
GDK_PIXBUF_MAJOR
GDK_PIXBUF_MINOR
GDK_PIXBUF_MICRO
</SECTION>
<SECTION>
<FILE>gdk-pixbuf</FILE>
GdkColorspace
GdkPixbuf
GdkPixbufClass
gdk_pixbuf_get_colorspace
gdk_pixbuf_get_n_channels
gdk_pixbuf_get_has_alpha
@@ -12,16 +28,24 @@ gdk_pixbuf_get_pixels
gdk_pixbuf_get_width
gdk_pixbuf_get_height
gdk_pixbuf_get_rowstride
<SUBSECTION Standard>
GDK_PIXBUF
GDK_TYPE_PIXBUF
GDK_IS_PIXBUF
GDK_IS_PIXBUF_CLASS
GDK_PIXBUF_CLASS
GDK_PIXBUF_GET_CLASS
<SUBSECTION Private>
gdk_pixbuf_get_type
</SECTION>
<SECTION>
<FILE>refcounting</FILE>
GdkPixbufDestroyNotify
GdkPixbufLastUnref
gdk_pixbuf_ref
gdk_pixbuf_unref
gdk_pixbuf_set_last_unref_handler
gdk_pixbuf_finalize
</SECTION>
<SECTION>
@@ -37,20 +61,6 @@ gdk_pixbuf_new_from_xpm_data
gdk_pixbuf_copy
</SECTION>
<SECTION>
<FILE>rendering</FILE>
GdkPixbufAlphaMode
gdk_pixbuf_render_to_drawable_alpha
gdk_pixbuf_render_to_drawable
gdk_pixbuf_render_threshold_alpha
gdk_pixbuf_render_pixmap_and_mask
</SECTION>
<SECTION>
<FILE>from-drawables</FILE>
gdk_pixbuf_get_from_drawable
</SECTION>
<SECTION>
<FILE>util</FILE>
gdk_pixbuf_add_alpha
@@ -62,6 +72,7 @@ gdk_pixbuf_copy_area
GdkPixbufFrameAction
GdkPixbufFrame
GdkPixbufAnimation
GdkPixbufAnimationClass
gdk_pixbuf_animation_new_from_file
gdk_pixbuf_animation_ref
gdk_pixbuf_animation_unref
@@ -74,6 +85,17 @@ gdk_pixbuf_frame_get_action
gdk_pixbuf_frame_get_y_offset
gdk_pixbuf_frame_get_delay_time
gdk_pixbuf_frame_get_x_offset
<SUBSECTION Standard>
GDK_PIXBUF_ANIMATION
GDK_PIXBUF_ANIMATION_CLASS
GDK_TYPE_PIXBUF_ANIMATION
GDK_PIXBUF_ANIMATION_GET_CLASS
GDK_IS_PIXBUF_ANIMATION_CLASS
GDK_IS_PIXBUF_ANIMATION
<SUBSECTION Private>
gdk_pixbuf_animation_get_type
</SECTION>
<SECTION>
@@ -88,33 +110,34 @@ gdk_pixbuf_composite_color_simple
<SECTION>
<FILE>gdk-pixbuf-loader</FILE>
GDK_PIXBUF_LOADER
<TITLE>GdkPixbufLoader</TITLE>
gdk_pixbuf_loader_new
gdk_pixbuf_loader_new_with_type
gdk_pixbuf_loader_write
gdk_pixbuf_loader_get_pixbuf
gdk_pixbuf_loader_get_animation
gdk_pixbuf_loader_close
<SUBSECTION Standard>
GDK_PIXBUF_LOADER
GDK_PIXBUF_LOADER_GET_CLASS
GDK_TYPE_PIXBUF_LOADER
GDK_IS_PIXBUF_LOADER
gdk_pixbuf_loader_get_type
GDK_PIXBUF_LOADER_CLASS
GDK_IS_PIXBUF_LOADER_CLASS
<SUBSECTION Private>
GdkPixbufLoader
gdk_pixbuf_loader_get_type
</SECTION>
<SECTION>
<FILE>gnome-canvas-pixbuf</FILE>
GNOME_CANVAS_PIXBUF
<TITLE>GnomeCanvasPixbuf</TITLE>
<SUBSECTION Standard>
GNOME_TYPE_CANVAS_PIXBUF
GNOME_IS_CANVAS_PIXBUF
gnome_canvas_pixbuf_get_type
GNOME_CANVAS_PIXBUF_CLASS
GNOME_IS_CANVAS_PIXBUF_CLASS
<SUBSECTION Private>
GnomeCanvasPixbuf
</SECTION>
<TITLE>Module Interface</TITLE>
<FILE>module_interface</FILE>
ModulePreparedNotifyFunc
ModuleUpdatedNotifyFunc
ModuleFrameDoneNotifyFunc
ModuleAnimationDoneNotifyFunc
GdkPixbufModule
gdk_pixbuf_get_module
gdk_pixbuf_get_named_module
gdk_pixbuf_load_module
</SECTION>

View File

@@ -1,4 +1,5 @@
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!entity gdk-pixbuf-Initialization-and-Versions SYSTEM "sgml/initialization_versions.sgml">
<!entity gdk-pixbuf-gdk-pixbuf SYSTEM "sgml/gdk-pixbuf.sgml">
<!entity gdk-pixbuf-refcounting SYSTEM "sgml/refcounting.sgml">
<!entity gdk-pixbuf-file-loading SYSTEM "sgml/file-loading.sgml">
@@ -8,12 +9,13 @@
<!entity gdk-pixbuf-from-drawables SYSTEM "sgml/from-drawables.sgml">
<!entity gdk-pixbuf-util SYSTEM "sgml/util.sgml">
<!entity gdk-pixbuf-animation SYSTEM "sgml/animation.sgml">
<!entity gdk-pixbuf-Module-Interface SYSTEM "sgml/module_interface.sgml">
<!entity GdkPixbufLoader SYSTEM "sgml/gdk-pixbuf-loader.sgml">
<!entity GnomeCanvasPixbuf SYSTEM "sgml/gnome-canvas-pixbuf.sgml">
<!entity Compiling SYSTEM "compiling.sgml">
]>
<book>
<book id="index">
<bookinfo>
<title>The <application>gdk-pixbuf</application> Library</title>
@@ -35,7 +37,7 @@
</copyright>
</bookinfo>
<reference>
<reference id="api">
<title>API Reference</title>
<partintro>
@@ -47,18 +49,23 @@
</para>
</partintro>
&gdk-pixbuf-Initialization-and-Versions;
&gdk-pixbuf-gdk-pixbuf;
&gdk-pixbuf-refcounting;
&gdk-pixbuf-file-loading;
&gdk-pixbuf-creating;
&gdk-pixbuf-rendering;
&gdk-pixbuf-scaling;
&gdk-pixbuf-from-drawables;
&gdk-pixbuf-util;
&gdk-pixbuf-animation;
&GdkPixbufLoader;
&GnomeCanvasPixbuf;
</reference>
<reference id="internals">
<title>Internals</title>
&gdk-pixbuf-Module-Interface;
</reference>
&Compiling;
</book>

View File

@@ -29,10 +29,8 @@ Animations as multi-frame structures.
@GDK_PIXBUF_FRAME_RETAIN: The previous image should remain displayed,
and will potentially be occluded by the new frame.
@GDK_PIXBUF_FRAME_DISPOSE: The animation will be reverted to the state
before the frame was shown.
@GDK_PIXBUF_FRAME_REVERT: The animation will be reverted to the first
frame.
@@ -44,12 +42,30 @@ frame.
action.
</para>
@pixbuf:
@x_offset:
@y_offset:
@delay_time:
@action:
<!-- ##### STRUCT GdkPixbufAnimation ##### -->
<para>
This structure describes an animation, which is represented as a
list of #GdkPixbufFrame structures.
</para>
@parent_instance:
@n_frames:
@frames:
@width:
@height:
<!-- ##### STRUCT GdkPixbufAnimationClass ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_animation_new_from_file ##### -->
<para>
@@ -154,11 +170,11 @@ frame.
</para>
@frame:
@Returns:
<!--
@Returns: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -88,9 +88,7 @@ Creating a pixbuf from image data that is already in memory.
</para>
@pixbuf:
@Returns:
<!--
@Returns: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")

View File

@@ -32,8 +32,7 @@ Loading a pixbuf from a file.
</para>
@filename:
@Returns:
<!--
@Returns: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")

View File

@@ -1,43 +0,0 @@
<!-- ##### SECTION Title ##### -->
Drawables to Pixbufs
<!-- ##### SECTION Short_Description ##### -->
Getting parts of a drawable's image data into a pixbuf.
<!-- ##### SECTION Long_Description ##### -->
<para>
The functions in this section allow you to take the image data
from a GDK drawable and dump it into a #GdkPixbuf. This can be
used for screenshots and other special effects. Note that these
operations can be expensive, since the image data has to be
transferred from the X server to the client program and converted.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
gdk_image_get().
</para>
<!-- ##### FUNCTION gdk_pixbuf_get_from_drawable ##### -->
<para>
</para>
@dest:
@src:
@cmap:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@Returns:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -74,14 +74,6 @@ Application-driven progressive image loading.
gdk_pixbuf_new_from_file()
</para>
<!-- ##### MACRO GDK_PIXBUF_LOADER ##### -->
<para>
Casts a #GtkObject to a #GdkPixbufLoader.
</para>
@obj: A GTK+ object.
<!-- ##### FUNCTION gdk_pixbuf_loader_new ##### -->
<para>
@@ -90,6 +82,15 @@ Application-driven progressive image loading.
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_new_with_type ##### -->
<para>
</para>
@image_type:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_write ##### -->
<para>
@@ -136,6 +137,12 @@ Application-driven progressive image loading.
areas of an image that is being loaded.
</para>
@gdkpixbufloader: the object which received the signal.
@arg1:
@arg2:
@arg3:
@arg4:
<!-- # Unused Parameters # -->
@loader: Loader which emitted the signal.
@x: X offset of upper-left corner of the updated area.
@y: Y offset of upper-left corner of the updated area.
@@ -151,6 +158,8 @@ Application-driven progressive image loading.
fetch the partially-loaded pixbuf.
</para>
@gdkpixbufloader: the object which received the signal.
<!-- # Unused Parameters # -->
@loader: Loader which emitted the signal.
<!-- ##### SIGNAL GdkPixbufLoader::frame-done ##### -->
@@ -159,6 +168,9 @@ Application-driven progressive image loading.
emitted for each frame in an animation data stream.
</para>
@gdkpixbufloader: the object which received the signal.
@arg1:
<!-- # Unused Parameters # -->
@loader: Loader which emitted the signal.
@frame: Frame which just completed loading.
@@ -167,6 +179,8 @@ Application-driven progressive image loading.
This signal is emitted when an animation is done loading.
</para>
@gdkpixbufloader: the object which received the signal.
<!-- # Unused Parameters # -->
@loader: Loader which emitted the signal.
<!-- ##### SIGNAL GdkPixbufLoader::closed ##### -->
@@ -177,6 +191,8 @@ Application-driven progressive image loading.
drives it.
</para>
@gdkpixbufloader: the object which received the signal.
<!-- # Unused Parameters # -->
@loader: Loader which emitted the signal.
<!--

View File

@@ -1,27 +1,148 @@
<!-- ##### FUNCTION gdk_pixbuf_load_module ##### -->
<!-- ##### USER_FUNCTION GdkPixbufLastUnref ##### -->
<para>
A function of this type can be used to override the default
operation when a pixbuf loses its last reference, i.e. when
gdk_pixbuf_unref() is called on a #GdkPixbuf structure that has a
reference count of 1. This function should determine whether to
finalize the pixbuf by calling gdk_pixbuf_finalize(), or whether
to just resume normal execution. The last unref handler for a
#GdkPixbuf can be set using the
gdk_pixbuf_set_last_unref_handler() function. By default, pixbufs
will be finalized automatically if no last unref handler has been
defined.
</para>
@pixbuf: The pixbuf that is losing its last reference.
@data: User closure data.
<!-- ##### SECTION ./tmpl/from-drawables.sgml:Title ##### -->
Drawables to Pixbufs
<!-- ##### ARG GnomeCanvasPixbuf:height_pixels ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/rendering.sgml:See_Also ##### -->
<para>
GdkRGB
</para>
<!-- ##### FUNCTION gdk_pixbuf_render_pixmap_and_mask ##### -->
<para>
</para>
@pixbuf:
@pixmap_return:
@mask_return:
@alpha_threshold: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->
<!-- ##### FUNCTION gdk_pixbuf_render_to_drawable ##### -->
<para>
</para>
@pixbuf:
@drawable:
@gc:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@dither:
@x_dither:
@y_dither:
<!-- ##### FUNCTION gdk_pixbuf_get_from_drawable ##### -->
<para>
</para>
@dest:
@src:
@cmap:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@Returns: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->
<!-- ##### FUNCTION gdk_pixbuf_new_from_art_pixbuf ##### -->
<para>
</para>
@art_pixbuf:
@Returns:
<!-- ##### ARG GnomeCanvasPixbuf:y_pixels ##### -->
<para>
</para>
@image_module:
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:Short_Description ##### -->
<!-- ##### STRUCT GdkPixbufModule ##### -->
<!-- ##### SECTION ./tmpl/from-drawables.sgml:Long_Description ##### -->
<para>
The functions in this section allow you to take the image data
from a GDK drawable and dump it into a #GdkPixbuf. This can be
used for screenshots and other special effects. Note that these
operations can be expensive, since the image data has to be
transferred from the X server to the client program and converted.
</para>
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:See_Also ##### -->
<para>
</para>
@module_name:
@format_check:
@module:
@load:
@load_xpm_data:
@begin_load:
@stop_load:
@load_increment:
<!-- ##### FUNCTION gdk_pixbuf_finalize ##### -->
<para>
</para>
@pixbuf: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->
<!-- ##### SECTION ./tmpl/rendering.sgml:Short_Description ##### -->
Rendering a pixbuf to a GDK drawable.
<!-- ##### FUNCTION gdk_pixbuf_set_last_unref_handler ##### -->
<para>
</para>
@pixbuf:
@last_unref_fn:
@last_unref_fn_data:
<!-- ##### ARG GnomeCanvasPixbuf:x_set ##### -->
<para>
@@ -32,70 +153,55 @@
</para>
<!-- ##### USER_FUNCTION ModulePreparedNotifyFunc ##### -->
<!-- ##### FUNCTION gdk_pixbuf_get_format ##### -->
<para>
</para>
@pixbuf:
@user_data:
<!-- ##### FUNCTION gdk_pixbuf_get_module ##### -->
<para>
</para>
@buffer:
@size:
@Returns:
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_new_from_art_pixbuf ##### -->
<para>
</para>
@art_pixbuf:
@Returns:
<!-- ##### ARG GnomeCanvasPixbuf:height_pixels ##### -->
<para>
</para>
<!-- ##### ARG GnomeCanvasPixbuf:y_pixels ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:Long_Description ##### -->
<para>
</para>
<!-- ##### USER_FUNCTION ModuleUpdatedNotifyFunc ##### -->
<!-- ##### FUNCTION gdk_pixbuf_render_to_drawable_alpha ##### -->
<para>
</para>
@pixbuf:
@user_data:
@x:
@y:
@drawable:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@alpha_mode:
@alpha_threshold:
@dither:
@x_dither:
@y_dither:
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:Title ##### -->
gdk-pixbuf-io
<!-- ##### ARG GnomeCanvasPixbuf:x_pixels ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/from-drawables.sgml:See_Also ##### -->
<para>
gdk_image_get().
</para>
<!-- ##### SECTION ./tmpl/rendering.sgml:Title ##### -->
Rendering
<!-- ##### MACRO GDK_PIXBUF_LOADER ##### -->
<para>
Casts a #GtkObject to a #GdkPixbufLoader.
</para>
@obj: A GTK+ object.
<!-- ##### ARG GnomeCanvasPixbuf:y_set ##### -->
<para>
@@ -108,19 +214,50 @@ gdk-pixbuf-io
</para>
<!-- ##### ARG GnomeCanvasPixbuf:x_pixels ##### -->
<para>
<!-- ##### SECTION ./tmpl/rendering.sgml:Long_Description ##### -->
<para>
The <application>gdk-pixbuf</application> library provides several
convenience functions to render pixbufs to GDK drawables. It uses
the GdkRGB to render the image data.
</para>
</para>
<para>
At this point there is not a standard alpha channel extension for
the X Window System, so it is not possible to use full opacity
information when painting images to arbitrary drawables. The
<application>gdk-pixbuf</application> convenience functions will
threshold the opacity information to create a bi-level clipping
mask (black and white), and use that to draw the image onto a
drawable.
</para>
<important>
<para>
Since these functions use GdkRGB for rendering, you must
initialize GdkRGB before using any of them. You can do this by
calling gdk_rgb_init() near the beginning of your program.
</para>
</important>
<!-- ##### FUNCTION gdk_pixbuf_get_format ##### -->
<!-- ##### SECTION ./tmpl/from-drawables.sgml:Short_Description ##### -->
Getting parts of a drawable's image data into a pixbuf.
<!-- ##### FUNCTION gdk_pixbuf_render_threshold_alpha ##### -->
<para>
</para>
@pixbuf:
@Returns:
@bitmap:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@alpha_threshold:
<!-- ##### ARG GnomeCanvasPixbuf:width_pixels ##### -->
<para>
@@ -128,3 +265,32 @@ gdk-pixbuf-io
</para>
<!-- ##### ENUM GdkPixbufAlphaMode ##### -->
<para>
These values can be passed to
gdk_pixbuf_render_to_drawable_alpha() to control how the alpha
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
compositing onto arbitrary drawables. For now both cases fall
back to a bilevel clipping mask.
</para>
@GDK_PIXBUF_ALPHA_BILEVEL: A bilevel clipping mask (black and white)
will be created and used to draw the image. Pixels below 0.5 opacity
will be considered fully transparent, and all others will be
considered fully opaque.
@GDK_PIXBUF_ALPHA_FULL: For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL.
In the future it will do full alpha compositing.
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:Title ##### -->
gdk-pixbuf-io

View File

@@ -33,6 +33,24 @@ Information that describes an image.
rowstride or number of bytes between rows.
</para>
@parent_instance:
@colorspace:
@n_channels:
@bits_per_sample:
@width:
@height:
@rowstride:
@pixels:
@destroy_fn:
@destroy_fn_data:
@has_alpha:
<!-- ##### STRUCT GdkPixbufClass ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_get_colorspace ##### -->
<para>
@@ -102,11 +120,11 @@ Information that describes an image.
</para>
@pixbuf:
@Returns:
<!--
@Returns: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -1,301 +0,0 @@
<!-- ##### SECTION Title ##### -->
GnomeCanvasPixbuf
<!-- ##### SECTION Short_Description ##### -->
Canvas item to display #GdkPixbuf images.
<!-- ##### SECTION Long_Description ##### -->
<para>
This canvas item displays #GdkPixbuf images. It handles full
affine transformations in both GDK and antialiased modes, and also
supports the <ulink url="http://www.w3.org">W3C</ulink>'s <ulink
url="http://www.w3.org/Graphics/SVG/">SVG</ulink>-like scaling and
translation semantics for absolute pixel values.
</para>
<para>
#GdkPixbuf structures may be shared among different pixbuf canvas
items; the pixbuf item uses #GdkPixbuf's reference counting
functions for this.
</para>
<refsect2>
<title>Custom Scaling and Translation</title>
<para>
In addition to the normal affine transformations supported by
canvas items, the #GnomeCanvasPixbuf item supports independent
object arguments for scaling and translation. This is useful
for explicitly setting a size to which the pixbuf's image will
be scaled, and for specifying translation offsets that take
place in the item's local coordinate system.
</para>
<para>
By default, the pixbuf canvas item will attain the size in units
of the #GdkPixbuf it contains. If a #GnomeCanvasPixbuf is
configured to use a #GdkPixbuf that has a size of 300 by 200
pixels, then the pixbuf item will automatically obtain a size of
300 by 200 units in the item's local coordinate system. If the
item is transformed with a scaling transformation of (0.5, 2.0),
then the final image size will be of 150 by 400 pixels.
</para>
<para>
To set custom width and height values, you must set the <link
linkend="GnomeCanvasPixbuf--width-set">width_set</link> or <link
linkend="GnomeCanvasPixbuf--height-set">height_set</link>
arguments to %TRUE, and then set the <link
linkend="GnomeCanvasPixbuf--width">width</link> or <link
linkend="GnomeCanvasPixbuf--height">height</link> arguments to
the desired values. The former two arguments control whether
the latter two are used when computing the final image's size;
they are both %FALSE by default so that the pixbuf item will
attain a size in units equal to the size in pixels of the
#GdkPixbuf that the item contains.
</para>
<para>
The custom translation offsets are controlled by the <link
linkend="GnomeCanvasPixbuf--x">x</link> and <link
linkend="GnomeCanvasPixbuf--y">y</link> arguments. The logical
upper-left vertex of the image will be translated by the
specified distance, aligned with the item's local coordinate
system.
</para>
</refsect2>
<refsect2>
<title>Absolute Pixel Scaling and Translation</title>
<para>
The <ulink url="http://www.w3.org/Graphics/SVG/">Scalable Vector
Graphics</ulink> specification (SVG) of the <ulink
url="http://www.w3.org">World Wide Web Consortium</ulink> also
allows images to be translated and scaled by absolute pixel
values that are independent of an item's normal affine
transformation.
</para>
<para>
Normally, the pixbuf item's translation and scaling arguments
are interpreted in units, so they will be modified by the item's
affine transformation. The <link
linkend="GnomeCanvasPixbuf--width-in-pixels">width_in_pixels</link>,
<link
linkend="GnomeCanvasPixbuf--height-in-pixels">height_in_pixels</link>,
<link
linkend="GnomeCanvasPixbuf--x-in-pixels">x_in_pixels</link>, and
<link
linkend="GnomeCanvasPixbuf--y-in-pixels">y_in_pixels</link>
object arguments can be used to modify this behavior. If one of
these arguments is %TRUE, then the corresponding scaling or
translation value will not be affected lengthwise by the pixbuf
item's affine transformation.
</para>
<para>
For example, consider a pixbuf item whose size is (300, 200).
If the item is modified with a scaling transformation of (0.5,
2.0) but the <link
linkend="GnomeCanvasPixbuf--width-in-pixels">width_in_pixels</link>
is set to %TRUE, then the item will appear to be (300, 400)
pixels in size. This means that in this case the item's affine
transformation only applies to the height value, while the width
value is kept in absolute pixels.
</para>
<para>
Likewise, consider a pixbuf item whose (<link
linkend="GnomeCanvasPixbuf--x">x</link>, <link
linkend="GnomeCanvasPixbuf--y">y</link>) arguments are set to
(30, 40). If the item is then modified by the same scaling
transformation of (0.5, 2.0) but the <link
linkend="GnomeCanvasPixbuf--y-in-pixels">y_in_pixels</link>
argument is set to %TRUE, then the image's upper-left corner
will appear to be at position (15, 40). In this case, the
affine transformation is applied only to the x offset, while the
y offset is kept in absolute pixels.
</para>
<para>
In short, these arguments control whether a particular dimension
of a pixbuf item is scaled or not in the normal way by the
item's affine transformation.
</para>
</refsect2>
<refsect2>
<title>Resource Management</title>
<para>
When you set the #GdkPixbuf structure that a #GnomeCanvasPixbuf
item will use by setting the <link
linkend="GnomeCanvasPixbuf--pixbuf">pixbuf</link> argument, a
reference count will be added to that #GdkPixbuf structure.
When the pixbuf item no longer needs the #GdkPixbuf structure,
such as when the item is destroyed or when a new pixbuf
structure is passed to it, then the old #GdkPixbuf structure
will be automatically unreferenced.
</para>
<para>
This means that if an application just needs to load a pixbuf
image and set it into a pixbuf canvas item, it can do the
following to &lsquo;forget&rsquo; about the pixbuf structure:
<programlisting>
GdkPixbuf *pixbuf;
GnomeCanvasItem *item;
pixbuf = gdk_pixbuf_new_from_file ("foo.png");
g_assert (pixbuf != NULL);
item = gnome_canvas_item_new (gnome_canvas_root (my_canvas),
gnome_canvas_pixbuf_get_type (),
"pixbuf", pixbuf,
NULL);
gdk_pixbuf_unref (pixbuf);
</programlisting>
</para>
<para>
After this happens, the reference count of the pixbuf structure
will be 1: the gdk_pixbuf_new_from_file() function creates it
with a reference count of 1, then setting the <link
linkend="GnomeCanvasPixbuf--pixbuf">pixbuf</link> argument of
the #GnomeCanvasPixbuf item increases it to 2, and then it is
decremented to 1 by the call to gdk_pixbuf_unref(). When the
canvas item is destroyed, it will automatically unreference the
pixbuf structure again, causing its reference count to drop to
zero and thus be freed.
</para>
</refsect2>
<!-- ##### SECTION See_Also ##### -->
<para>
#GnomeCanvas, #GdkPixbuf
</para>
<!-- ##### MACRO GNOME_CANVAS_PIXBUF ##### -->
<para>
Casts a #GtkOjbect to a #GnomeCanvasPixbuf.
</para>
@obj: A GTK+ object.
<!-- ##### ARG GnomeCanvasPixbuf:pixbuf ##### -->
<para>
Contains a pointer to a #GdkPixbuf structure that will be used by
the pixbuf canvas item as an image source. When a pixbuf is set
its reference count is incremented; if the pixbuf item kept a
pointer to another #GdkPixbuf structure, the reference count of
this structure will be decremented. Also, the GdkPixbuf's
reference count will automatically be decremented when the
#GnomeCanvasPixbuf item is destroyed. When a pixbuf is queried, a
reference count will not be added to the return value; you must do
this yourself if you intend to keep the pixbuf structure around.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:width ##### -->
<para>
Indicates the width the pixbuf will be scaled to. This argument
will only be used if the <link
linkend="GnomeCanvasPixbuf--width-set">width_set</link> argument
is %TRUE. If the <link
linkend="GnomeCanvasPixbuf--width-in-pixels">width_in_pixels</link>
argument is %FALSE, the width will be taken to be in canvas units,
and thus will be scaled along with the canvas item's affine
transformation. If width_in_pixels is %TRUE, the width will be
taken to be in pixels, and will visually remain a constant size
even if the item's affine transformation changes.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:width_set ##### -->
<para>
Determines whether the <link
linkend="GnomeCanvasPixbuf--width">width</link> argument is taken
into account when scaling the pixbuf item. If this argument is
%FALSE, then the width value of the pixbuf will be used instead.
This argument is %FALSE by default.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:width_in_pixels ##### -->
<para>
If this argument is %TRUE, then the width of the pixbuf will be
considered to be in pixels, that is, it will not be visually
scaled even if the item's affine transformation changes. If this
is %FALSE, then the width of the pixbuf will be considered to be
in canvas units, and so will be scaled normally by affine
transformations. The default is %FALSE.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:height ##### -->
<para>
Indicates the height the pixbuf will be scaled to. This argument
will only be used if the <link
linkend="GnomeCanvasPixbuf--height-set">height_set</link> argument
is %TRUE. Works in the same way as the <link
linkend="GnomeCanvasPixbuf--width">width</link> argument.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:height_set ##### -->
<para>
Determines whether the <link
linkend="GnomeCanvasPixbuf--height">height</link> argument is
taken into account when scaling the pixbuf item. Works in the
same way as the <link
linkend="GnomeCanvasPixbuf--width-set">width_set</link> argument.
The default is %FALSE.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:height_in_pixels ##### -->
<para>
Works in the same way as the <link
linkend="GnomeCanvasPixbuf--width-in-pixels">width_in_pixels</link>
argument. The default is %FALSE.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:x ##### -->
<para>
Indicates the horizontal translation offset of the pixbuf item's
image. This offset may not actually appear horizontal, since it
will be affected by the item's affine transformation. The default
is 0.0.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:x_in_pixels ##### -->
<para>
If this argument is %TRUE, the pixbuf's translation with respect
to its logical origin in item-relative coordinates will be in
pixels, that is, the visible offset will not change even if the
item's affine transformation changes. If it is %FALSE, the
pixbuf's translation will be taken to be in canvas units, and thus
will change along with the item's affine transformation. The
default is %FALSE.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:y ##### -->
<para>
Indicates the vertical translation offset of the pixbuf item's
image. Works in the same way as the <link
linkend="GnomeCanvasPixbuf--x">x</link> argument. The default is
0.0.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:y_in_pixels ##### -->
<para>
Works in the same way as the <link
linkend="GnomeCanvasPixbuf--x-in-pixels">x_in_pixels</link>
argument, but controls whether the <link
linkend="GnomeCanvasPixbuf--y">y</link> translation offset is
scaled or not. The default is %FALSE.
</para>
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -0,0 +1,75 @@
<!-- ##### SECTION Title ##### -->
Initialization and Versions
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_init ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_preinit ##### -->
<para>
</para>
@app:
@modinfo:
<!-- ##### FUNCTION gdk_pixbuf_postinit ##### -->
<para>
</para>
@app:
@modinfo:
<!-- ##### VARIABLE gdk_pixbuf_version ##### -->
<para>
</para>
<!-- ##### MACRO GDK_PIXBUF_VERSION ##### -->
<para>
</para>
<!-- ##### MACRO GDK_PIXBUF_MAJOR ##### -->
<para>
</para>
<!-- ##### MACRO GDK_PIXBUF_MINOR ##### -->
<para>
</para>
<!-- ##### MACRO GDK_PIXBUF_MICRO ##### -->
<para>
</para>

View File

@@ -1,5 +1,5 @@
<!-- ##### SECTION Title ##### -->
gdk-pixbuf-io
Module Interface
<!-- ##### SECTION Short_Description ##### -->
@@ -29,11 +29,29 @@ gdk-pixbuf-io
</para>
@pixbuf:
@user_data:
@x:
@y:
@width:
@height:
@user_data:
<!-- ##### USER_FUNCTION ModuleFrameDoneNotifyFunc ##### -->
<para>
</para>
@frame:
@user_data:
<!-- ##### USER_FUNCTION ModuleAnimationDoneNotifyFunc ##### -->
<para>
</para>
@pixbuf:
@user_data:
<!-- ##### STRUCT GdkPixbufModule ##### -->
@@ -49,6 +67,7 @@ gdk-pixbuf-io
@begin_load:
@stop_load:
@load_increment:
@load_animation:
<!-- ##### FUNCTION gdk_pixbuf_get_module ##### -->
<para>
@@ -60,6 +79,15 @@ gdk-pixbuf-io
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_named_module ##### -->
<para>
</para>
@name:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_load_module ##### -->
<para>

View File

@@ -68,24 +68,6 @@ Functions to perform reference counting and memory management on a
@data: User closure data.
<!-- ##### USER_FUNCTION GdkPixbufLastUnref ##### -->
<para>
A function of this type can be used to override the default
operation when a pixbuf loses its last reference, i.e. when
gdk_pixbuf_unref() is called on a #GdkPixbuf structure that has a
reference count of 1. This function should determine whether to
finalize the pixbuf by calling gdk_pixbuf_finalize(), or whether
to just resume normal execution. The last unref handler for a
#GdkPixbuf can be set using the
gdk_pixbuf_set_last_unref_handler() function. By default, pixbufs
will be finalized automatically if no last unref handler has been
defined.
</para>
@pixbuf: The pixbuf that is losing its last reference.
@data: User closure data.
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
<para>
@@ -103,26 +85,3 @@ Functions to perform reference counting and memory management on a
@pixbuf:
<!-- ##### FUNCTION gdk_pixbuf_set_last_unref_handler ##### -->
<para>
</para>
@pixbuf:
@last_unref_fn:
@last_unref_fn_data:
<!-- ##### FUNCTION gdk_pixbuf_finalize ##### -->
<para>
</para>
@pixbuf:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -1,126 +0,0 @@
<!-- ##### SECTION Title ##### -->
Rendering
<!-- ##### SECTION Short_Description ##### -->
Rendering a pixbuf to a GDK drawable.
<!-- ##### SECTION Long_Description ##### -->
<para>
The <application>gdk-pixbuf</application> library provides several
convenience functions to render pixbufs to GDK drawables. It uses
the GdkRGB to render the image data.
</para>
<para>
At this point there is not a standard alpha channel extension for
the X Window System, so it is not possible to use full opacity
information when painting images to arbitrary drawables. The
<application>gdk-pixbuf</application> convenience functions will
threshold the opacity information to create a bi-level clipping
mask (black and white), and use that to draw the image onto a
drawable.
</para>
<important>
<para>
Since these functions use GdkRGB for rendering, you must
initialize GdkRGB before using any of them. You can do this by
calling gdk_rgb_init() near the beginning of your program.
</para>
</important>
<!-- ##### SECTION See_Also ##### -->
<para>
GdkRGB
</para>
<!-- ##### ENUM GdkPixbufAlphaMode ##### -->
<para>
These values can be passed to
gdk_pixbuf_render_to_drawable_alpha() to control how the alpha
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
compositing onto arbitrary drawables. For now both cases fall
back to a bilevel clipping mask.
</para>
@GDK_PIXBUF_ALPHA_BILEVEL: A bilevel clipping mask (black and white)
will be created and used to draw the image. Pixels below 0.5 opacity
will be considered fully transparent, and all others will be
considered fully opaque.
@GDK_PIXBUF_ALPHA_FULL: For now falls back to #GDK_PIXBUF_ALPHA_BILEVEL.
In the future it will do full alpha compositing.
<!-- ##### FUNCTION gdk_pixbuf_render_to_drawable_alpha ##### -->
<para>
</para>
@pixbuf:
@drawable:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@alpha_mode:
@alpha_threshold:
@dither:
@x_dither:
@y_dither:
<!-- ##### FUNCTION gdk_pixbuf_render_to_drawable ##### -->
<para>
</para>
@pixbuf:
@drawable:
@gc:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@dither:
@x_dither:
@y_dither:
<!-- ##### FUNCTION gdk_pixbuf_render_threshold_alpha ##### -->
<para>
</para>
@pixbuf:
@bitmap:
@src_x:
@src_y:
@dest_x:
@dest_y:
@width:
@height:
@alpha_threshold:
<!-- ##### FUNCTION gdk_pixbuf_render_pixmap_and_mask ##### -->
<para>
</para>
@pixbuf:
@pixmap_return:
@mask_return:
@alpha_threshold:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -84,18 +84,15 @@ expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
@GDK_INTERP_NEAREST: Nearest neighbor sampling; this is the fastest
and lowest quality mode.
@GDK_INTERP_TILES: This is an accurate simulation of the PostScript
image operator without any interpolation enabled. Each pixel is
rendered as a tiny parallelogram of solid color, the edges of which
are implemented with antialiasing. It resembles nearest neighbor for
enlargement, and bilinear for reduction.
@GDK_INTERP_BILINEAR: Bilinear interpolation. For enlargement, it is
equivalent to point-sampling the ideal bilinear-interpolated image.
For reduction, it is equivalent to laying down small tiles and
integrating over the coverage area.
@GDK_INTERP_HYPER: This is the slowest and highest quality
reconstruction function. It is derived from the hyperbolic filters in
Wolberg's "Digital Image Warping", and is formally defined as the
@@ -188,12 +185,11 @@ image (the filter is designed to be idempotent for 1:1 pixel mapping).
@check_size:
@color1:
@color2:
@Returns:
<!--
@Returns: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -29,6 +29,7 @@ Utility and miscellaneous convenience functions.
@b:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_copy_area ##### -->
<para>
@@ -41,12 +42,11 @@ Utility and miscellaneous convenience functions.
@height:
@dest_pixbuf:
@dest_x:
@dest_y:
<!--
@dest_y: <!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -6,45 +6,145 @@ DOC_MODULE=gdk
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gdk-docs.sgml
# We could alternatively use this for using installed headers.
INCLUDE_DIR=`gtk-config --prefix`/include/gdk
# The directory containing the source code (if it contains documentation).
DOC_SOURCE_DIR=$(top_srcdir)/gdk
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html
# Header files to ignore when scanning
IGNORE_HFILES= \
gdkkeysyms.h \
gdkinternals.h \
gdkprivate.h \
gdkpoly-generic.h \
gdkregion-generic.h \
linux-fb \
nanox \
win32 \
x11
# Extra files to add when scanning
EXTRA_HFILES= \
$(top_srcdir)/gdk/x11/gdkx.h
tmpl_sources = \
tmpl/color_contexts.sgml \
tmpl/colors.sgml \
tmpl/cursors.sgml \
tmpl/dnd.sgml \
tmpl/drawing.sgml \
tmpl/event_structs.sgml \
tmpl/events.sgml \
tmpl/fonts.sgml \
tmpl/gcs.sgml \
tmpl/gdk-unused.sgml \
tmpl/general.sgml \
tmpl/images.sgml \
tmpl/input.sgml \
tmpl/input_contexts.sgml \
tmpl/input_devices.sgml \
tmpl/input_methods.sgml \
tmpl/keys.sgml \
tmpl/pango_interaction.sgml \
tmpl/pixbufs.sgml \
tmpl/pixmaps.sgml \
tmpl/properties.sgml \
tmpl/regions.sgml \
tmpl/rgb.sgml \
tmpl/selections.sgml \
tmpl/threads.sgml \
tmpl/visuals.sgml \
tmpl/windows.sgml \
tmpl/x_interaction.sgml
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files =
####################################
# Everything below here is generic #
####################################
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
scan:
gtkdoc-scan --module=$(DOC_MODULE) $(INCLUDE_DIR)/gdk.h $(INCLUDE_DIR)/gdktypes.h $(INCLUDE_DIR)/gdkrgb.h
EXTRA_DIST = \
$(DOC_MAIN_SGML_FILE) \
$(content_files) \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
templates: scan
gtkdoc-mktmpl --module=$(DOC_MODULE)
if ENABLE_GTK_DOC
all-local: html/index.html
$(DOC_MODULE)-decl.txt:
$(MAKE) scan
$(tmpl_sources): $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
$(MAKE) templates
sgml/$(DOC_MODULE)-doc.bottom: $(tmpl_sources) $(DOC_MODULE)-decl.txt
$(MAKE) sgml
html/index.html: sgml/$(DOC_MODULE)-doc.bottom $(DOC_MAIN_SGML_FILE) $(content_fiels)
$(MAKE) html
endif
scan:
-(cd $(srcdir) \
&& gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(EXTRA_HFILES))
templates:
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
sgml:
gtkdoc-mkdb --module=$(DOC_MODULE)
cd $(srcdir) \
&& gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
html:
if ! test -d html ; then mkdir html ; fi
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
test -d $(srcdir)/html || mkdir $(srcdir)/html
-cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
@echo '-- Fixing Crossreferences'
gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
clean-local:
rm -f *~ *.bak *.hierarchy *.signals *.args *-unused.txt
rm -f *~ *.bak *.signals *-unused.txt
maintainer-clean-local: clean
rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
install-data-local:
install -d -m 0755 $(TARGET_DIR)
install -m 0644 html/*.html $(TARGET_DIR)
install -m 0644 html/index.sgml $(TARGET_DIR)
gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
(installfiles=`echo $(srcdir)/html/*.html`; \
if test "$$installfiles" = '$(srcdir)/html/*.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)
EXTRA_DIST = \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE)-sections.txt \
gdk-overrides.txt \
gdk-decl.txt
#
# 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-hook: dist-check-gtkdoc
mkdir $(distdir)/html
mkdir $(distdir)/sgml
mkdir $(distdir)/tmpl
cp -p tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
-cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
.PHONY : html sgml templates scan

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,7 @@
<!entity gdk-Bitmaps-and-Pixmaps SYSTEM "sgml/pixmaps.sgml">
<!entity gdk-Images SYSTEM "sgml/images.sgml">
<!entity gdk-GdkRGB SYSTEM "sgml/rgb.sgml">
<!entity gdk-Pixbufs SYSTEM "sgml/pixbufs.sgml">
<!entity gdk-Colormaps-and-Colors SYSTEM "sgml/colors.sgml">
<!entity gdk-Fonts SYSTEM "sgml/fonts.sgml">
<!entity gdk-Drawing-Primitives SYSTEM "sgml/drawing.sgml">
@@ -13,6 +14,7 @@
<!entity gdk-Properties-and-Atoms SYSTEM "sgml/properties.sgml">
<!entity gdk-Input-Methods SYSTEM "sgml/input_methods.sgml">
<!entity gdk-Input-Contexts SYSTEM "sgml/input_contexts.sgml">
<!entity gdk-Pango-Interaction SYSTEM "sgml/pango_interaction.sgml">
<!entity gdk-Color-Contexts SYSTEM "sgml/color_contexts.sgml">
<!entity gdk-Points-Rectangles-and-Regions SYSTEM "sgml/regions.sgml">
<!entity gdk-Threads SYSTEM "sgml/threads.sgml">
@@ -23,14 +25,16 @@
<!entity gdk-Cursors SYSTEM "sgml/cursors.sgml">
<!entity gdk-Input SYSTEM "sgml/input.sgml">
<!entity gdk-Drag-and-Drop SYSTEM "sgml/dnd.sgml">
<!entity gdk-X-Window-System-Interaction SYSTEM
"sgml/x_interaction.sgml">
]>
<book id="index">
<bookinfo>
<title>GDK Reference Manual</title>
</bookinfo>
<chapter id="gdk">
<title>GDK</title>
<reference id="reference">
<title>API Reference</title>
&gdk-General;
&gdk-Points-Rectangles-and-Regions;
@@ -40,6 +44,7 @@
&gdk-Bitmaps-and-Pixmaps;
&gdk-GdkRGB;
&gdk-Images;
&gdk-Pixbufs;
&gdk-Colormaps-and-Colors;
&gdk-Color-Contexts;
@@ -66,7 +71,10 @@
&gdk-Key-Values;
&gdk-Pango-Interaction;
&gdk-Input-Methods;
&gdk-Input-Contexts;
</chapter>
&gdk-X-Window-System-Interaction;
</reference>
</book>

View File

@@ -1,6 +1,13 @@
# GdkPixmap, GdkBitmap and GdkDrawable are the same as GdkWindow.
<STRUCT>
<NAME>GdkWindow</NAME>
struct GdkPixmap
{
gpointer user_data;
};
</STRUCT>
<STRUCT>
<NAME>GdkPixmap</NAME>
struct GdkPixmap
{
@@ -21,3 +28,24 @@ struct GdkDrawable
gpointer user_data;
};
</STRUCT>
<MACRO>
<NAME>GDK_WINDOWING_X11</NAME>
#define GDK_WINDOWING_X11
</MACRO>
<MACRO>
<NAME>GDK_WINDOWING_WIN32</NAME>
#define GDK_WINDOWING_WIN32
</MACRO>
<MACRO>
<NAME>GDK_WINDOWING_NANOX</NAME>
#define GDK_WINDOWING_NANOX
</MACRO>
<MACRO>
<NAME>GDK_WINDOWING_FB</NAME>
#define GDK_WINDOWING_FB
</MACRO>

View File

@@ -24,6 +24,7 @@ gdk_screen_height_mm
<SUBSECTION>
gdk_pointer_grab
GdkGrabStatus
gdk_pointer_ungrab
gdk_pointer_is_grabbed
@@ -46,13 +47,15 @@ gdk_set_use_xshm
gdk_error_trap_push
gdk_error_trap_pop
<SUBSECTION>
GDK_WINDOWING_X11
GDK_WINDOWING_WIN32
GDK_WINDOWING_NANOX
GDK_WINDOWING_FB
<SUBSECTION Private>
GdkStatus
gdk_time_get
gdk_timer_get
gdk_timer_set
gdk_timer_enable
gdk_timer_disable
GDKVAR
</SECTION>
<SECTION>
@@ -71,6 +74,20 @@ gdk_pixmap_unref
GdkBitmap
gdk_bitmap_ref
gdk_bitmap_unref
<SUBSECTION Standard>
GDK_PIXMAP
GDK_PIXMAP_GET_CLASS
GDK_PIXMAP_OBJECT
GDK_TYPE_PIXMAP
GDK_IS_PIXMAP
GDK_PIXMAP_CLASS
GDK_IS_PIXMAP_CLASS
<SUBSECTION Private>
gdk_pixmap_get_type
GdkPixmapObject
GdkPixmapObjectClass
</SECTION>
<SECTION>
@@ -81,10 +98,24 @@ gdk_image_new
GdkImageType
gdk_image_new_bitmap
gdk_image_get
gdk_image_ref
gdk_image_unref
gdk_image_destroy
<SUBSECTION>
gdk_image_put_pixel
gdk_image_get_pixel
<SUBSECTION Standard>
GDK_IMAGE
GDK_TYPE_IMAGE
GDK_IS_IMAGE
GDK_IMAGE_CLASS
GDK_IMAGE_GET_CLASS
GDK_IS_IMAGE_CLASS
<SUBSECTION Private>
GdkImageClass
gdk_image_get_type
</SECTION>
<SECTION>
@@ -98,6 +129,7 @@ gdk_draw_rgb_image_dithalign
gdk_draw_indexed_image
gdk_draw_gray_image
gdk_draw_rgb_32_image
gdk_draw_rgb_32_image_dithalign
GdkRgbDither
<SUBSECTION>
@@ -109,16 +141,29 @@ GdkRgbCmap
gdk_rgb_gc_set_foreground
gdk_rgb_gc_set_background
gdk_rgb_xpixel_from_rgb
gdk_rgb_find_color
<SUBSECTION>
gdk_rgb_set_install
gdk_rgb_set_min_colors
gdk_rgb_get_visual
gdk_rgb_get_colormap
gdk_rgb_get_cmap
gdk_rgb_ditherable
gdk_rgb_set_verbose
</SECTION>
<SECTION>
<TITLE>Pixbufs</TITLE>
<FILE>pixbufs</FILE>
GdkPixbufAlphaMode
gdk_pixbuf_render_threshold_alpha
gdk_pixbuf_render_to_drawable
gdk_pixbuf_render_to_drawable_alpha
gdk_pixbuf_render_pixmap_and_mask
gdk_pixbuf_get_from_drawable
</SECTION>
<SECTION>
<TITLE>Colormaps and Colors</TITLE>
<FILE>colors</FILE>
@@ -146,6 +191,18 @@ gdk_color_alloc
gdk_color_change
gdk_color_equal
gdk_color_hash
<SUBSECTION Standard>
GDK_COLORMAP
GDK_COLORMAP_GET_CLASS
GDK_TYPE_COLORMAP
GDK_IS_COLORMAP
GDK_COLORMAP_CLASS
GDK_IS_COLORMAP_CLASS
<SUBSECTION Private>
GdkColormapClass
gdk_colormap_get_type
</SECTION>
<SECTION>
@@ -155,6 +212,7 @@ GdkFont
GdkFontType
gdk_font_load
gdk_fontset_load
gdk_font_from_description
gdk_font_ref
gdk_font_unref
gdk_font_id
@@ -176,6 +234,10 @@ gdk_string_height
gdk_text_height
gdk_char_height
<SUBSECTION>
gdk_font_full_name_get
gdk_font_full_name_free
<SUBSECTION>
GdkWChar
gdk_wcstombs
@@ -185,6 +247,19 @@ gdk_mbstowcs
<SECTION>
<TITLE>Drawing Primitives</TITLE>
<FILE>drawing</FILE>
GdkDrawable
GdkDrawableClass
gdk_drawable_ref
gdk_drawable_unref
gdk_drawable_set_data
gdk_drawable_get_data
gdk_drawable_get_visual
gdk_drawable_set_colormap
gdk_drawable_get_colormap
gdk_drawable_get_depth
gdk_drawable_get_size
<SUBSECTION>
gdk_draw_point
gdk_draw_points
gdk_draw_line
@@ -194,6 +269,9 @@ GdkSegment
gdk_draw_rectangle
gdk_draw_arc
gdk_draw_polygon
gdk_draw_glyphs
gdk_draw_layout_line
gdk_draw_layout
<SUBSECTION>
gdk_draw_string
@@ -202,8 +280,17 @@ gdk_draw_text_wc
<SUBSECTION>
gdk_draw_pixmap
gdk_draw_drawable
gdk_draw_image
<SUBSECTION Standard>
GDK_DRAWABLE
GDK_DRAWABLE_GET_CLASS
GDK_TYPE_DRAWABLE
GDK_IS_DRAWABLE
GDK_DRAWABLE_CLASS
GDK_IS_DRAWABLE_CLASS
<SUBSECTION Private>
gdk_draw_bitmap
</SECTION>
@@ -212,6 +299,7 @@ gdk_draw_bitmap
<TITLE>Graphics Contexts</TITLE>
<FILE>gcs</FILE>
GdkGC
GdkGCClass
GdkGCValues
GdkGCValuesMask
@@ -222,9 +310,12 @@ gdk_gc_new_with_values
gdk_gc_ref
gdk_gc_unref
gdk_gc_destroy
gdk_gc_set_values
gdk_gc_get_values
gdk_gc_set_foreground
gdk_gc_set_background
gdk_gc_set_rgb_fg_color
gdk_gc_set_rgb_bg_color
gdk_gc_set_font
gdk_gc_set_function
gdk_gc_set_fill
@@ -245,6 +336,17 @@ GdkCapStyle
GdkJoinStyle
gdk_gc_set_dashes
gdk_gc_copy
gdk_gc_set_colormap
gdk_gc_get_colormap
<SUBSECTION Standard>
GDK_GC
GDK_TYPE_GC
GDK_IS_GC
gdk_gc_get_type
GDK_GC_CLASS
GDK_GC_GET_CLASS
GDK_IS_GC_CLASS
</SECTION>
<SECTION>
@@ -283,6 +385,7 @@ gdk_window_new
gdk_window_destroy
gdk_window_ref
gdk_window_unref
gdk_window_get_window_type
gdk_window_at_pointer
gdk_window_show
gdk_window_hide
@@ -292,6 +395,7 @@ gdk_window_withdraw
gdk_window_move
gdk_window_resize
gdk_window_move_resize
gdk_window_scroll
gdk_window_reparent
gdk_window_clear
gdk_window_clear_area
@@ -300,6 +404,22 @@ gdk_window_copy_area
gdk_window_raise
gdk_window_lower
gdk_window_register_dnd
<SUBSECTION>
gdk_window_begin_paint_rect
gdk_window_begin_paint_region
gdk_window_end_paint
<SUBSECTION>
gdk_window_invalidate_rect
gdk_window_invalidate_region
gdk_window_get_update_area
gdk_window_freeze_updates
gdk_window_thaw_updates
gdk_window_process_all_updates
gdk_window_process_updates
<SUBSECTION>
gdk_window_set_user_data
gdk_window_set_override_redirect
gdk_window_add_filter
@@ -334,6 +454,7 @@ GdkModifierType
gdk_window_get_parent
gdk_window_get_toplevel
gdk_window_get_children
gdk_window_peek_children
gdk_window_get_events
gdk_window_set_events
gdk_window_set_icon
@@ -346,8 +467,21 @@ GdkWMDecoration
gdk_window_set_functions
GdkWMFunction
gdk_window_get_toplevels
GdkDrawable
gdk_drawable_set_data
<SUBSECTION Standard>
GDK_WINDOW
GDK_WINDOW_GET_CLASS
GDK_WINDOW_OBJECT
GDK_TYPE_WINDOW
GDK_IS_WINDOW
GDK_WINDOW_CLASS
GDK_IS_WINDOW_CLASS
<SUBSECTION Private>
gdk_window_object_get_type
gdk_drawable_get_type
GdkWindowObject
GdkWindowObjectClass
</SECTION>
<SECTION>
@@ -370,8 +504,11 @@ GdkAtom
GDK_NONE
gdk_text_property_to_text_list
gdk_free_text_list
gdk_text_property_to_utf8_list
gdk_string_to_compound_text
gdk_free_compound_text
gdk_utf8_to_string_target
gdk_utf8_to_compound_text
gdk_atom_intern
gdk_atom_name
gdk_property_get
@@ -391,6 +528,19 @@ gdk_im_set_best_style
<SUBSECTION>
gdk_im_begin
gdk_im_end
<SUBSECTION Private>
gdk_iswalnum
gdk_iswspace
GDK_HAVE_WCHAR_H
GDK_HAVE_WCTYPE_H
</SECTION>
<SECTION>
<TITLE>Pango Interaction</TITLE>
<FILE>pango_interaction</FILE>
gdk_pango_context_get
gdk_pango_context_set_colormap
</SECTION>
<SECTION>
@@ -448,34 +598,36 @@ GdkRegion
gdk_region_new
gdk_region_polygon
GdkFillRule
gdk_region_copy
gdk_region_rectangle
gdk_region_destroy
<SUBSECTION>
gdk_regions_intersect
gdk_regions_union
gdk_regions_subtract
gdk_regions_xor
gdk_region_union_with_rect
gdk_region_offset
gdk_region_shrink
<SUBSECTION>
gdk_region_get_clipbox
gdk_region_empty
gdk_region_equal
gdk_region_point_in
gdk_region_rect_in
GdkOverlapType
gdk_region_get_clipbox
<SUBSECTION>
gdk_region_offset
gdk_region_shrink
gdk_region_union_with_rect
gdk_region_intersect
gdk_region_union
gdk_region_subtract
gdk_region_xor
</SECTION>
<SECTION>
<TITLE>Threads</TITLE>
<FILE>threads</FILE>
gdk_threads_mutex
GDK_THREADS_ENTER
GDK_THREADS_LEAVE
gdk_threads_enter
gdk_threads_leave
gdk_threads_mutex
</SECTION>
<SECTION>
@@ -489,33 +641,44 @@ gdk_keyval_is_upper
gdk_keyval_is_lower
<SUBSECTION>
gdk_keyval_convert_case
gdk_keyval_to_upper
gdk_keyval_to_lower
<SUBSECTION>
gdk_keyval_to_unicode
gdk_unicode_to_keyval
</SECTION>
<SECTION>
<TITLE>Input Devices</TITLE>
<FILE>input_devices</FILE>
GDK_CORE_POINTER
gdk_input_list_devices
GdkDeviceInfo
GdkDevice
GdkInputSource
GdkInputMode
GdkDeviceKey
GdkDeviceAxis
GdkAxisUse
gdk_devices_list
gdk_core_pointer
gdk_device_set_source
gdk_device_set_mode
gdk_device_set_key
gdk_device_set_axis_use
<SUBSECTION>
gdk_device_get_state
gdk_device_get_history
gdk_device_free_history
GdkTimeCoord
gdk_device_get_axis
<SUBSECTION>
gdk_input_set_extension_events
GdkExtensionMode
gdk_input_set_source
GdkInputSource
gdk_input_set_mode
GdkInputMode
gdk_input_set_axes
GdkAxisUse
gdk_input_set_key
gdk_input_window_get_pointer
gdk_input_motion_events
GdkTimeCoord
<SUBSECTION Private>
gdk_input_init
gdk_input_exit
GDK_MAX_TIMECOORD_AXES
</SECTION>
<SECTION>
@@ -525,6 +688,8 @@ GdkEventType
GdkEventMask
GDK_CURRENT_TIME
GDK_PRIORITY_EVENTS
GDK_PRIORITY_REDRAW
<SUBSECTION>
gdk_events_pending
@@ -535,6 +700,7 @@ gdk_event_put
gdk_event_copy
gdk_event_free
gdk_event_get_time
gdk_event_get_axis
<SUBSECTION>
gdk_event_handler_set
@@ -559,6 +725,7 @@ GdkEvent
GdkEventAny
GdkEventKey
GdkEventButton
GdkEventScroll
GdkEventMotion
GdkEventExpose
GdkEventVisibility
@@ -567,12 +734,14 @@ GdkEventFocus
GdkEventConfigure
GdkEventProperty
GdkEventSelection
GdkNativeWindow
GdkEventDND
GdkEventProximity
GdkEventClient
GdkEventNoExpose
<SUBSECTION>
GdkScrollDirection
GdkVisibilityState
GdkCrossingMode
GdkNotifyType
@@ -586,6 +755,8 @@ GdkCursor
GdkCursorType
gdk_cursor_new
gdk_cursor_new_from_pixmap
gdk_cursor_ref
gdk_cursor_unref
gdk_cursor_destroy
</SECTION>
@@ -619,4 +790,76 @@ gdk_drag_context_unref
GdkDragContext
GdkDragAction
gdk_drag_status
<SUBSECTION Standard>
GDK_DRAG_CONTEXT
GDK_TYPE_DRAG_CONTEXT
GDK_IS_DRAG_CONTEXT
GDK_DRAG_CONTEXT_CLASS
GDK_DRAG_CONTEXT_GET_CLASS
GDK_IS_DRAG_CONTEXT_CLASS
<SUBSECTION Private>
GdkDragContextClass
gdk_drag_context_get_type
</SECTION>
<SECTION>
<TITLE>X Window System Interaction</TITLE>
<FILE>x_interaction</FILE>
GDK_GC_X11
GDK_GC_X11_GET_CLASS
GDK_ROOT_WINDOW
GDK_ROOT_PARENT
GDK_DISPLAY
GDK_WINDOW_XDISPLAY
GDK_WINDOW_XID
GDK_PIXMAP_XDISPLAY
GDK_PIXMAP_XID
GDK_DRAWABLE_XDISPLAY
GDK_DRAWABLE_XID
GDK_IMAGE_XDISPLAY
GDK_IMAGE_XIMAGE
GDK_GC_XDISPLAY
GDK_COLORMAP_XDISPLAY
GDK_COLORMAP_XCOLORMAP
GDK_VISUAL_XVISUAL
GDK_FONT_XDISPLAY
GDK_FONT_XFONT
GDK_GC_XGC
GDK_GC_GET_XGC
GDK_WINDOW_XWINDOW
gdk_screen
gdk_display_name
gdk_leader_window
gdk_selection_property
gdk_progclass
gdkx_visual_get
gdkx_colormap_get
gdk_get_client_window
gdk_pixmap_foreign_new
gdk_window_foreign_new
gdk_xid_table_lookup
gdk_window_lookup
gdk_pixmap_lookup
gdk_font_lookup
gdk_x11_get_server_time
<SUBSECTION Private>
GDK_TYPE_GC_X11
GDK_IS_GC_X11
gdk_gc_x11_get_type
GDK_GC_X11_CLASS
GDK_IS_GC_X11_CLASS
GdkGCX11
GdkGCX11Class
GdkGCXData
GdkColormapPrivateX11
GdkCursorPrivate
GdkFontPrivateX
GdkImagePrivateX11
GdkVisualPrivate
GdkICPrivate
gdk_display
gdk_root_window
</SECTION>

View File

@@ -109,6 +109,7 @@ pseudo-color colormaps.</entry>
</tbody></tgroup></informaltable>
</para>
@parent_instance:
@size:
@colors:
@@ -384,7 +385,8 @@ table that stores #GdkColor's.
</para>
@colora: a #GdkColor.
@colorb: NOT USED.
@Returns: The hash function appled to @colora
<!-- # Unused Parameters # -->
@colorb: NOT USED.

View File

@@ -20,6 +20,7 @@ standard and pixmap cursors.
</para>
@type:
@ref_count:
<!-- ##### ENUM GdkCursorType ##### -->
<para>
@@ -89,11 +90,29 @@ The color does not have to be allocated first.
@Returns: a new #GdkCursor.
<!-- ##### FUNCTION gdk_cursor_destroy ##### -->
<!-- ##### FUNCTION gdk_cursor_ref ##### -->
<para>
</para>
@cursor:
@Returns:
<!-- ##### FUNCTION gdk_cursor_unref ##### -->
<para>
</para>
@cursor:
<!-- ##### MACRO gdk_cursor_destroy ##### -->
<para>
Destroys a cursor, freeing any resources allocated for it.
</para>
<!-- # Unused Parameters # -->
@cursor: a #GdkCursor.

View File

@@ -146,6 +146,9 @@ the GTK+ documentation for more information.
@GDK_DRAG_PROTO_XDND:
@GDK_DRAG_PROTO_ROOTWIN:
@GDK_DRAG_PROTO_NONE:
@GDK_DRAG_PROTO_WIN32_DROPFILES:
@GDK_DRAG_PROTO_OLE2:
@GDK_DRAG_PROTO_LOCAL:
<!-- ##### FUNCTION gdk_drag_context_unref ##### -->
<para>
@@ -160,6 +163,7 @@ the GTK+ documentation for more information.
</para>
@parent_instance:
@protocol:
@is_source:
@source_window:

View File

@@ -25,6 +25,103 @@ more information.
</para>
<!-- ##### STRUCT GdkDrawable ##### -->
<para>
</para>
@user_data:
<!-- ##### STRUCT GdkDrawableClass ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_drawable_ref ##### -->
<para>
</para>
@drawable:
@Returns:
<!-- ##### FUNCTION gdk_drawable_unref ##### -->
<para>
</para>
@drawable:
<!-- ##### FUNCTION gdk_drawable_set_data ##### -->
<para>
</para>
@drawable:
@key:
@data:
@destroy_func:
<!-- ##### FUNCTION gdk_drawable_get_data ##### -->
<para>
</para>
@drawable:
@key:
@Returns:
<!-- ##### FUNCTION gdk_drawable_get_visual ##### -->
<para>
</para>
@drawable:
@Returns:
<!-- ##### FUNCTION gdk_drawable_set_colormap ##### -->
<para>
</para>
@drawable:
@colormap:
<!-- ##### FUNCTION gdk_drawable_get_colormap ##### -->
<para>
</para>
@drawable:
@Returns:
<!-- ##### FUNCTION gdk_drawable_get_depth ##### -->
<para>
</para>
@drawable:
@Returns:
<!-- ##### FUNCTION gdk_drawable_get_size ##### -->
<para>
</para>
@drawable:
@width:
@height:
<!-- ##### FUNCTION gdk_draw_point ##### -->
<para>
Draws a point, using the foreground color and other attributes of the #GdkGC.
@@ -157,6 +254,43 @@ polygon.
@npoints: the number of points.
<!-- ##### FUNCTION gdk_draw_glyphs ##### -->
<para>
</para>
@drawable:
@gc:
@font:
@x:
@y:
@glyphs:
<!-- ##### FUNCTION gdk_draw_layout_line ##### -->
<para>
</para>
@drawable:
@gc:
@x:
@y:
@line:
<!-- ##### FUNCTION gdk_draw_layout ##### -->
<para>
</para>
@drawable:
@gc:
@x:
@y:
@layout:
<!-- ##### FUNCTION gdk_draw_string ##### -->
<para>
Draws a string of characters in the given font or fontset.
@@ -200,11 +334,12 @@ If the font is a 1-byte font, the string is converted into 1-byte characters
@text_length: the number of characters to draw.
<!-- ##### FUNCTION gdk_draw_pixmap ##### -->
<!-- ##### MACRO gdk_draw_pixmap ##### -->
<para>
Draws a pixmap, or a part of a pixmap, onto another drawable.
</para>
<!-- # Unused Parameters # -->
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@src: the source #GdkPixmap to draw.
@@ -218,6 +353,22 @@ the right edge of the source pixmap.
to the bottom edge of the source pixmap.
<!-- ##### FUNCTION gdk_draw_drawable ##### -->
<para>
</para>
@drawable:
@gc:
@src:
@xsrc:
@ysrc:
@xdest:
@ydest:
@width:
@height:
<!-- ##### FUNCTION gdk_draw_image ##### -->
<para>
Draws a #GdkImage onto a drawable.

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