Compare commits

...

1159 Commits

Author SHA1 Message Date
Arturo Espinosa
f9615262f2 0.4 - Federico 1999-11-09 21:38:26 +00:00
Arturo Espinosa
a1a2b8f0eb Added args and signals data files - Federico 1999-11-09 20:59:30 +00:00
Federico Mena Quintero
6c57e51ac9 Renamed arguments to width_in_pixels, height_in_pixels, x_in_pixels,
1999-12-13  Federico Mena Quintero  <federico@redhat.com>

	* gdk-pixbuf/gnome-canvas-pixbuf.c
	(gnome_canvas_pixbuf_class_init): Renamed arguments to
	width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
	consistency with the new canvas.
	(PixbufPrivate): Do the same renaming in the structure fields, for
	consistency.

	* doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
1999-11-09 20:59:29 +00:00
Arturo Espinosa
aa09cabb94 Added args and signals data files - Federico 1999-11-09 20:59:29 +00:00
Michael Fulbright
5de53804a1 Figured out problem with loading Progressive JPEG's progressively (say
1999-11-09  Michael Fulbright  <drmike@redhat.com>

* src/io-jpeg.c (image_load_increment): Figured out problem with
loading Progressive JPEG's progressively (say that 10 times fast).
Currently for Progressive JPEG's the entire image is loaded before
it is displayed. libjpeg supports a fancier mechanism which I may
implement later.

With these changes all JPEG formats appear to load properly for me.
1999-11-09 17:24:15 +00:00
Michael Fulbright
665096fcdf Finished progressive PNM loading code. Should handle all types of PNM
1999-11-09  Michael Fulbright  <drmike@redhat.com>

	* src/io-pnm.c : Finished progressive PNM loading code. Should handle
	all types of PNM files now.
1999-11-09 16:38:31 +00:00
Owen Taylor
43529d911c Substitute gdkx.h => gdkprivate.h since we need to accesss only
Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
	we need to accesss only ->children. We need an accessor
	for the children.

	* gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
	DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
	to get rid of gdkx.h include.

	* gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
	and random references to 'None'.

	* gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
	Get rid of unused #include <gdk/gdkx.h>

	* gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
	gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
	gdkconfig.h.
1999-11-08 22:33:28 +00:00
Tor Lillqvist
b5f414a1a5 gdk/win32/gdkdraw.c gdk/win32/gdkfont.c Various minor cleanups and
1999-11-08  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkdraw.c
* gdk/win32/gdkfont.c
* gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
following yesterday's changes. (Unrelated to Owen's reorg.)
1999-11-08 21:34:06 +00:00
Owen Taylor
5491cd971d Add missing include, fix GdkWindowPrivate => GdkDrawablePrivate.
Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkinput-gxi.c: Add missing include,
	  fix GdkWindowPrivate => GdkDrawablePrivate.

	* gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.

	* gdk/x11/Makefile.am (xinput_sources): Add missing
	backslash to fix building with --with-xinput=none
1999-11-08 21:25:04 +00:00
Owen Taylor
e9b6bfcc01 Move all X specific code into the x11/ directory. Aside from shuffling
Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>

	Move all X specific code into the x11/ directory.
	Aside from shuffling things around, did the following:

       * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
	 gdk_arg_context_* - a simple argument parsing system
	 in the style of popt.

       * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
	 gdk/x11/gdkprivate-x11.h:
	 Remove X specific stuff from GdkDrawable and GdkWindowPrivate -
	 add ->klass and ->klass_data fields. The klass_data
	 field points to an auxilliary structure that is
	 windowing system dependent.

       * gdk/gdkfont.c: Make most of the measurement functions
	 simply wrappers around gdk_text_extents().

       * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a
	 _gdk_font_strlen() function that hides the weird
	 behavior in gtk+-1.[02] where a string is interpreted
	 differently for 8-bit and 16-bit fonts.

       * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
	 to store common code for synthesizing double/triple
	 press events.

       * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
	 Make all the function that modify an existing GC
	 simply wrappers around gdk_gc_set_values().

       * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
	 for throwing out later.

       * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
	 GdkImagePrivate and GdkColormapPrivate to have a
	 windowing system dependent part (GdkFontPrivateX etc.)
	 that "derives" from the system-independent part.

       * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
	 Got rid of the included-source-files for XInput in
	 favor of automake conditionals. (Which didn't exist
	 when XInput support was originally added.)

       * gdk/gdkrgb.c: Remove the visual id from the debugging
	 statements since that is X11 specific; print out
	 type/depth info instead.
1999-11-08 20:14:59 +00:00
Jonathan Blandford
cd02981bf2 Final patch from Arjan. Seems to do progressive loading.
1999-11-08  Jonathan Blandford  <jrb@redhat.com>

	* src/io-ras.c (image_load_increment): Final patch from Arjan.
	Seems to do progressive loading.
1999-11-08 19:37:45 +00:00
Michael Fulbright
ce83490d75 Fixed so we do not create a separate pixel buffer when reading in image -
1999-11-08  Michael Fulbright  <drmike@redhat.com>

	* src/io-pnm.c image_load (): Fixed so we do not create a separate
	pixel buffer when reading in image - we reuse the pixel data in
	the GdkPixbuf structure instead.
1999-11-08 19:02:58 +00:00
Michael Fulbright
6ef7f093d4 Added support for ASCII PNM files. Note I haven't tested loaded ASCII PBM
1999-11-08  Michael Fulbright  <drmike@redhat.com>

	* src/io-pnm.c pnm_read_ascii_scanline (): Added support for
	ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
	I can't seem to find a utility to convert into this format.
	Next is to add progressive loading support for the PNM format.
1999-11-08 17:15:19 +00:00
Federico Mena Quintero
e11f22b55e Finished detailed explanation of the width, height, x, and y setting and
1999-11-07  Federico Mena Quintero  <federico@redhat.com>

	* doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
	of the width, height, x, and y setting and pixels arguments.
1999-11-08 04:19:34 +00:00
Tor Lillqvist
0ad4aa57d6 New font private structures, related to fontsets.
1999-11-07  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.

* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.

New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).

New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().

Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).

Improve the XLFD emulation a bit.

* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.

* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.

* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.

* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
Federico Mena Quintero
559a8c8691 Removed gdk-pixbuf-io, since it is for internal use only.
1999-11-05  Federico Mena Quintero  <federico@redhat.com>

	* doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
	for internal use only.

	* doc/gdk-pixbuf.sgml: Likewise.

	* doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
1999-11-05 23:58:23 +00:00
Michael Fulbright
66d02a986a Implemented support for reading raw PBM/PGM/PPM files from a file. Next
1999-11-05  Michael Fulbright  <drmike@redhat.com>

	* src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
	files from a file. Next step is support for ASCII files, and
	then incremental loading.
1999-11-05 23:17:35 +00:00
Jonathan Blandford
8db40e177c third patch. Now it seems to load.
1999-11-05  Jonathan Blandford  <jrb@redhat.com>

	* src/io-ras.c (image_load): third patch.  Now it seems to load.
1999-11-05 22:42:17 +00:00
Jonathan Blandford
9ab8dfc3e4 second patch Arjan van de Ven <arjan@fenrus.demon.nl> to autodetect/load
1999-11-05  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-io.c: second patch Arjan van de Ven
	<arjan@fenrus.demon.nl> to autodetect/load the sunras files.
1999-11-05 21:29:33 +00:00
Jonathan Blandford
b71e53b222 new file from Arjan van de Ven <arjan@fenrus.demon.nl> to begin the ras
1999-11-05  Jonathan Blandford  <jrb@redhat.com>

	* src/io-ras.c (image_load): new file from Arjan van de Ven
	<arjan@fenrus.demon.nl> to begin the ras loader.
1999-11-05 20:37:08 +00:00
Federico Mena Quintero
155f3e05e2 Added doc to SUBDIRS.
1999-11-04  Federico Mena Quintero  <federico@redhat.com>

	* Makefile.am: Added doc to SUBDIRS.
1999-11-05 01:58:54 +00:00
Michael Fulbright
01fcce4cf9 Prettied up code slightly. Start of pnm loader (from file and
999-11-04  Michael Fulbright  <drmike@redhat.com>

	* src/io-jpeg.c: Prettied up code slightly.
	* src/io-pnm.c:  Start of pnm loader (from file and progressively).
	                 Doesn't do much yet (will finish tomorrow).
	* src/gdk-pixbuf-io.c: Added pnm to structure of known types.
1999-11-05 00:16:10 +00:00
Tor Lillqvist
f527b8909f Don't define HAVE_DIMM_H if MSC, as you have to get the Platform SDK to
1999-11-04  Tor Lillqvist  <tml@iki.fi>

* config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
get the Platform SDK to get <dimm.h>.

* gdk/win32/gdkevents.c: More event handling fixes and
simplification. Never generate motion events with is_hint true. We
used to do that on bogus grounds earlier. Windows sends
WM_MOUSEMOVE messages on button events even if the mouse hasn't
moved, ignore these.

* gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.

* gdk/win32/gdkglobals.c
* gdk/win32/gdkprivate.h: Define a typedef for the pointer to
the TrackMouseEvent function, and use it.

* gdk/win32/gdkwindow.c: Terminate widechar string with a zero
char before calling WideCharToMultiByte in order to get a string
for the window title.

* gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.

* gdk/win32/gdk.def: Remove obsolete functions.

* gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
/nodefaultlib and /defaultlib switches.

* gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
1999-11-04 23:42:51 +00:00
Arturo Espinosa
9d8da16ee9 More docs work - Federico 1999-11-04 21:52:08 +00:00
Jonathan Blandford
76f716cec7 added the update_func ability
1999-11-04  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_get_lzw): added the update_func ability
1999-11-04 20:34:24 +00:00
Havoc Pennington
085a27d330 In docs, explain what a dither offset is for.
1999-11-04  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
docs, explain what a dither offset is for.
(gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
this function vs. gdk_pixbuf_render_to_drawable().
1999-11-04 20:16:17 +00:00
Havoc Pennington
38abc0dee0 Use libart-config correctly; find gnome-config separately. Fix GNOME_LIBS
1999-11-04  Havoc Pennington  <hp@pobox.com>

* configure.in: Use libart-config correctly; find gnome-config
separately. Fix GNOME_LIBS to be correct in "no gnome installed
yet" case.

* src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
library list.

Patch untested in the inside-gnome-libs case, I need to commit
then check out to the gnome-libs I'm using.
1999-11-04 20:04:02 +00:00
Michael Fulbright
4107506f65 Add update_func callback. Call updated callback when new graphic data
1999-11-04  Michael Fulbright  <drmike@redhat.com>

	* src/io-jpeg.c (image_begin_load): Add update_func callback.
	* src/io-jpeg.c (image_load_increment): Call updated callback when
	new graphic data decoded.
1999-11-04 20:02:37 +00:00
Jonathan Blandford
5d0e9b4a2e fix .tiff loader.
add a testcase for the "updated_area"
1999-11-04 19:22:45 +00:00
Jonathan Blandford
d0ed72ee14 handle the actual update. add a update_func callback. add a update_func
1999-11-04  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
	actual update.
	* src/io-png.c (image_begin_load): add a update_func callback.
	* src/io-gif.c (image_begin_load): add a update_func callback.
	* src/io-tiff.c (image_begin_load): add a update_func callback.
1999-11-04 18:18:07 +00:00
Federico Mena Quintero
567305020d Populated.
1999-11-04  Federico Mena Quintero  <federico@redhat.com>

	* doc/tmpl/gdk-pixbuf.sgml: Populated.

	* doc/tmpl/refcounting.sgml: Populated.

	* doc/tmpl/file-loading.sgml: Populated.

	* src/gdk-pixbuf.c: Added documentation comments.

	* src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
	documentation comments.
1999-11-04 08:14:32 +00:00
Federico Mena Quintero
e9cebcd36a Finished integrating the documentation framework.
1999-11-04  Federico Mena Quintero  <federico@redhat.com>

	* doc/: Finished integrating the documentation framework.
1999-11-04 07:30:04 +00:00
Arturo Espinosa
6a3f4d81e9 Eek - Federico 1999-11-04 07:03:10 +00:00
Arturo Espinosa
d5015025ba Integrate gtk-doc, part 1; need to finish it at home - Federico 1999-11-04 01:10:05 +00:00
Arturo Espinosa
e03c0632ad Sync - Federico 1999-11-03 23:58:37 +00:00
Jonathan Blandford
58e68f9683 minor packing change 1999-11-03 23:39:58 +00:00
Jonathan Blandford
7cdf9176e1 renamed ReadOK to gif_read. Added a lot of comments to the file.
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_read): renamed ReadOK to gif_read.
	Added a lot of comments to the file.
1999-11-03 23:22:27 +00:00
Jonathan Blandford
5ee4989714 Remove dependency on lib*gif!!!!
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
	lib*gif!!!!

Also, some code cleanups to io-gif
1999-11-03 22:27:59 +00:00
Jonathan Blandford
5869210788 set the transparency to the right val.
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_get_lzw): set the transparency to the right
          val.
1999-11-03 22:19:42 +00:00
Michael Fulbright
317e8b06ae Further removal of bugginess in local buffering code. Handles grayscale
1999-11-03  Michael Fulbright  <msf@redhat.com>

	* src/io-jpeg.c (image_load_increment): Further removal of
	bugginess in local buffering code. Handles grayscale jpegs
	correctly now.

	* src/io-jpeg.c (image_load_stop): Was freeing local context
	for jpeg library before calling jpeg_decompres_finish ().
1999-11-03 22:00:27 +00:00
Jonathan Blandford
677a78b56a now handle arbitrary buffer sizes.
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (image_load_increment): now handle arbitrary buffer
	sizes.
1999-11-03 21:52:16 +00:00
Federico Mena Quintero
0b0e66db4b Initiailize the x and y fields. (gnome_canvas_pixbuf_destroy): Queue a
1999-11-03  Federico Mena Quintero  <federico@redhat.com>

	* src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
	Initiailize the x and y fields.
	(gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
	(PixbufPrivate): Renamed need_size_update to need_xform_update.
	(recompute_bounding_box): Do not use temporary values.
1999-11-03 21:26:52 +00:00
Jonathan Blandford
87a9022b72 new state. Fixes un-compressed gifs.
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (set_gif_lzw_clear_code): new state.  Fixes
	un-compressed gifs.

	* src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
	unneeded x,y,h,w vars.
1999-11-03 21:22:38 +00:00
Larry Ewing
d0e4efb401 adjust render_affine calculation for x,y offsets.
1999-11-03  Larry Ewing  <lewing@gimp.org>

	* src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
	render_affine calculation for x,y offsets.
	(gnome_canvas_pixbuf_set_arg): add x,y args.
	(gnome_canvas_pixbuf_get_arg): add x,y args.
	(recompute_bounding_box): simply code using ArtDrect and the
	render_affine.  Removed compute_xform_vectors as it was no longer
	needed.
1999-11-03 20:57:04 +00:00
Federico Mena Quintero
80ce14813b I'm a doofus. Return a distance, not a boolean, for opaque images.
1999-11-03  Federico Mena Quintero  <federico@redhat.com>

	* src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
	doofus.  Return a distance, not a boolean, for opaque images.
1999-11-03 20:39:27 +00:00
Federico Mena Quintero
ba718c979c Do proper rounding of bounding box coordinates.
1999-11-03  Federico Mena Quintero  <federico@redhat.com>

	* src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
	rounding of bounding box coordinates.
	(gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
	(gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
1999-11-03 20:26:32 +00:00
Jonathan Blandford
6e0687de46 forgot this 1999-11-03 17:45:41 +00:00
Jonathan Blandford
a8ec2c3b9f s/lwz/lzw/g
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
1999-11-03 17:45:24 +00:00
Michael Fulbright
3d5a2b1230 Fixed code which moved buffer around as new data comes in to work
1999-11-03  Michael Fulbright  <drmike@redhat.com>

	* src/io-jpg.c image_load_increment(): Fixed code which moved
	buffer around as new data comes in to work properly. JPEG progressive
	loading should be working now except for grayscale JPEG's, which I
1999-11-03 17:17:32 +00:00
Michael Fulbright
afed181c0a changelog 1999-11-03 17:17:11 +00:00
Jonathan Blandford
66bf26d42d initialize a variable; kill a bug 1999-11-03 16:40:43 +00:00
Elliot Lee
5a3e3916f5 A GtkFunction needs to return a value for deterministic behaviour. Also
A GtkFunction needs to return a value for deterministic behaviour. Also put dot printing back in.
1999-11-03 15:57:16 +00:00
3
59ab307a62 Read 'til the next empty block correctly, now.
1999-11-03    <jrb@redhat.com>

	* src/io-gif.c (gif_get_extension): Read 'til the next empty block
	correctly, now.
1999-11-03 05:12:02 +00:00
Arturo Espinosa
1c1e3424c1 Sync to laptop - Federico 1999-11-03 03:16:21 +00:00
Cody Russell
8e6f4fc803 src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL if part of
the requested image is offscreen, rather than clipping the image.
1999-11-03 00:37:40 +00:00
Jonathan Blandford
1588285e3a Fill in the gif's blank areas for interlacing and progressive loading.
1999-11-02  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
	for interlacing and progressive loading.
1999-11-03 00:20:27 +00:00
Cody Russell
07c656cdf1 src/gdk-pixbuf-drawable.c (gdk_pibxuf_from_drawable_core): Now calls
gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
1999-11-02 23:59:03 +00:00
Jonathan Blandford
53d5c49dbb Now progressive gif loading works! It's a little slow though. )-:
1999-11-02  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_main_loop): Now progressive gif loading works!
	It's a little slow though. )-:
1999-11-02 23:49:22 +00:00
Elliot Lee
587d91caad Make the arguments to the write/load_increment operations const-correct.
* src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the arguments to the
write/load_increment operations const-correct.
1999-11-02 23:44:32 +00:00
Federico Mena Quintero
cacae33871 Implemented the ::point() method. We do a simple containment test instead
1999-11-02  Federico Mena Quintero  <federico@redhat.com>

	* src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
	Implemented the ::point() method.  We do a simple containment test
	instead of a full distance calculation since the canvas is going
	to change to that scheme, anyways.
1999-11-02 23:11:09 +00:00
Elliot Lee
d611593ffd Allow using $TBF_READLEN to specify the size of the chunks that are read
* src/testpixbuf.c: Allow using $TBF_READLEN to specify the size of the chunks that are read from
the input file.
1999-11-02 22:01:43 +00:00
Elliot Lee
b953e64bc6 Always return the amount eaten, rather than the full header size.
Always return the amount eaten, rather than the full header size.
1999-11-02 21:49:46 +00:00
Elliot Lee
966ae7b613 Return TRUE if all the data got eaten by header_buf, instead of FALSE.
Return TRUE if all the data got eaten by header_buf, instead of FALSE.
1999-11-02 20:20:05 +00:00
Larry Ewing
9efff07116 add aa render function. (gnome_canvas_pixbuf_class_init): add
1999-11-02  Larry Ewing  <lewing@gimp.org>

	* src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
	render function.
	(gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
	to class.
1999-11-02 19:43:48 +00:00
Arturo Espinosa
0dcfd50a96 Sync for Larry - Federico 1999-11-02 19:31:11 +00:00
Michael Fulbright
dc999ba470 changelog 1999-11-02 18:26:51 +00:00
Elliot Lee
97688fd28e revert 1999-11-02 17:17:00 +00:00
Elliot Lee
bf146c95a1 Reorganize gdk_pixbuf_loader_write into three functions, and eliminate
* src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into three functions, and eliminate
duplication of code from write() and close(). Also fix bug where the 128-byte header was being
written twice.
1999-11-02 16:10:25 +00:00
Federico Mena Quintero
8c361eed9c Fixed bounding box computation.
1999-11-01  Federico Mena Quintero  <federico@redhat.com>

	* src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
	bounding box computation.
1999-11-02 02:17:06 +00:00
Arturo Espinosa
d39cbe9c2b Sync - Federico 1999-11-02 01:50:41 +00:00
Federico Mena Quintero
69fb59dd3b Start of the pixbuf canvas item. Drawing affines seem to work. Bounding
1999-11-01  Federico Mena Quintero  <federico@redhat.com>

	* src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
	Drawing affines seem to work.  Bounding box is fubared.  ::point()
	is not implemented.  This is a work in progress.

	* src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
	sources.

	* configure.in: Sigh.  We need to link in libgnomeui for the
	canvas stuff.  This mess will disappear when gdk-pixbuf gets
	folded into gnome-libs.
1999-11-02 01:50:06 +00:00
Jonathan Blandford
5dcc2ddd51 lots of lots of work. USE AT YOUR OWN RISK 1999-11-02 01:17:41 +00:00
Arturo Espinosa
c3b9b0f7f4 Sync to desktop - Federico 1999-11-01 19:09:20 +00:00
Jonathan Blandford
827b818ed1 much more work on the progressive loader.
somewhere, some how, I broke something, )-: so all you get is a black
image.  Hopefully, we can load the real image later.
1999-11-01 13:26:03 +00:00
Tor Lillqvist
00c5e83871 Add new keysyms from X11R6.4 (including EuroSign).
1999-10-31  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
EuroSign).

* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
same type as GdkWChar, especially on Win32.

* gdk/win32/*.c: Change gdk_root_parent to be a pointer.

* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
before passing to Windows GDI for drawing etc. Convert to the
system default codepage before passing to Windows as window
titles.

* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
support changing input locale on the fly.

* gdk/win32/gdkevent.c: Support input language (keyboard locale)
on-the-fly changes. Convert incoming characters from the current
codepage to Unicode (and then to a UTF-8 multi-byte string) based
on the current input language. Use keysym<->Unicode mapping tables
and functions borrowed from xterm sources.

Support IMEs (Input Method Editors) for CJK languages. On non-CJK
editions of Win9x, use the ActiveX-based Active IMM (Input Method
Manager) if available. IMEs and the Active IMM are available under
the disguise of Chinese, Korean and Japanese support for IE and
Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
support is present in all editions (as long as you install it).

Call DispatchMessage from gdk_events_queue() (and thus
gdk_WindowProc()), instead of duplicating the code in
gdk_WindowProc().

Reworked the grab handling and propagation code, factored out
duplicated code snippets into separate functions. Other cleanups,
too.

* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
the <dimm.h> header describing the Active IMM.

* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
just do the same as for "single" fonts.

* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
the new keysyms from gdkkeysyms.h.

* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
fontset, so that gtkentry uses wide characters.

* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
GTk+'s system directory "gtk+", not "gtk".
1999-10-31 21:35:39 +00:00
Tor Lillqvist
241f9c9dab Comments. 1999-10-31 20:30:20 +00:00
Tor Lillqvist
896d8ff3ce New file for building the message catalogs on Win32. Generic, used also in
1999-10-31  Tor Lillqvist  <tml@iki.fi>

* makefile.cygwin: New file for building the message catalogs on
Win32. Generic, used also in GIMP's po and po-plug-ins
directories. On Win32 we use UTF-8, and we convert the .po files
to UTF-8 in two passes using the useful native2ascii tool from the
JDK.
1999-10-31 20:28:23 +00:00
Jonathan Blandford
f3a218acc0 now gif loading works. Time to de-stiticify it and move onto progressive loading 1999-10-31 01:13:25 +00:00
Jonathan Blandford
4adda6ef1f quick hack to restore wotrkingness to regular gifs. Creates a RGBA buffer independent of the gif type. I'll try to get it right later. 1999-10-30 23:17:06 +00:00
0
bcad6d8598 (ReadImage): lets get the offset right. This will let transparent gifs
1999-10-30    <jrb@redhat.com>

	(ReadImage): lets get the offset right.  This will let transparent
	gifs work.


Right now, gifs with transparency, both interlaced and non-interlaced,
seem to work perfectly fine.  I haven't tried grayscale gifs yet, and I
seem to be getting offset in my RGB buffer with non-alpha gifs. )-:
This leads to pretty, but incorrect, images.

-Jonathan
1999-10-30 23:07:18 +00:00
0
bcf6c51c4c Some more work. Now it generates a gdk_pixbuf of the right size, at a
1999-10-30    <jrb@redhat.com>

	* src/io-gif.c: Some more work.  Now it generates a gdk_pixbuf of
	the right size, at a minimum, even if the image is squished and
	the wrong color.
1999-10-30 22:04:27 +00:00
Jonathan Blandford
2a2a599120 First run at the new gif format. Shouldn't work, unfortunately. 1999-10-30 19:28:53 +00:00
BST 1999 Tony Gale
a44d5aeaab FAQ update
Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>

        * docs/gtkfaq.sgml: FAQ update
1999-10-30 12:02:43 +00:00
Michael Fulbright
fcdf947205 Fixed small oopsie with grayscale jpeg handling - still not working for progressive 1999-10-29 23:07:23 +00:00
Michael Fulbright
40dfa38a36 Removed erroneous comments.
Dr Mike <drmike@redhat.com>
1999-10-29 22:54:02 +00:00
Michael Fulbright
05505d6a1d image_load_increment(): Fixed bug when image width was not a multiple of 4
1999-10-29  Michael Fulbright  <drmike@redhat.com>

        * src/io-jpeg.c: image_load_increment(): Fixed bug when
        image width was not a multiple of 4 - always use the
        gdk_pixbuf rowstride to increment pointers!
1999-10-29 22:43:51 +00:00
Michael Fulbright
a4a876d70e Added first cut at progressive jpeg loading. Currently does not handle
999-10-29  Michael Fulbright  <drmike@redhat.com>

        * src/io-jpeg.c: Added first cut at progressive jpeg loading.
        Currently does not handle either progressive jpeg files (jpeg
        files with multiple scans at different quality settings), but
        I plan on adding this support soon. These are fairly rare in
        my experience, so it shouldn't slow people down too much.
        Grayscale jpegs also don't work but that should be easy to fix.
1999-10-29 22:37:27 +00:00
Michael Fulbright
a3fd5f8d9a Added title to windows so you can identify progressive and file windows.
1999-10-29  Michael Fulbright  <drmike@redhat.com>

	* src/testpixbuf.c: Added title to windows so you can identify
	progressive and file windows.
1999-10-29 22:32:47 +00:00
Michael Fulbright
5749f310e4 Actually load the image handler when we determine the image type.
1999-10-29  Michael Fulbright  <drmike@redhat.com>

        * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
        load the image handler when we determine the image type.

        * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
        previously static function load_image_handler () to
        a public function gdk_pixbuf_load_module (). It is needed in
        gdk-pixbuf-loader.c to load image handler modules.  This function
        is different from gdk_pixbuf_get_module (), which only returns
        a reference to the required handler, because it actually loads
        the handler into memory. Both actions should possibly be combined
        in a convenience function since one w/o the other doesn't seem to
        make much sense.
1999-10-29 19:27:51 +00:00
Federico Mena Quintero
ece5ac121a New function to render a portion of a pixbuf to a drawable. Ignores alpha
1999-10-28  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
	function to render a portion of a pixbuf to a drawable.  Ignores
	alpha information and takes in a GC.
	(gdk_pixbuf_render_to_drawable_alpha): New function to render a
	portion of a pixbuf to a drawable.  It automatically creates a GC
	and a clipping mask for alpha pixbufs.
1999-10-28 23:25:02 +00:00
Jonathan Blandford
7e96137070 don't send a 0 length buffer.
1999-10-28  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
	0 length buffer.
1999-10-28 19:30:11 +00:00
Jonathan Blandford
9a1c50c961 turned convenience macros into convenience
1999-10-28  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf.h: turned convenience macros into convenience
1999-10-28 19:00:02 +00:00
Jonathan Blandford
0a810f950f *src/io-tiff.c (image_begin_load): Finished the incremental loader.
1999-10-28  Jonathan Blandford  <jrb@redhat.com>

	*src/io-tiff.c (image_begin_load): Finished the incremental loader.
1999-10-28 16:40:15 +00:00
Arturo Espinosa
941167e6d8 Sync to desktop - Federico 1999-10-28 16:13:49 +00:00
Jonathan Blandford
5a8b538ee1 started work on the tiff non-incremental loader.
1999-10-28  Jonathan Blandford  <jrb@redhat.com>

	* src/io-tiff.c (image_load_increment): started work on the tiff
	non-incremental loader.

	* src/io-gif.c (image_load_increment): started work on the gif
	incremental loader.

	* src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
1999-10-28 14:46:46 +00:00
Arturo Espinosa
53ffebed19 Sync to laptop - Federico 1999-10-28 00:34:59 +00:00
Federico Mena Quintero
0eb096334e New function to threshold a pixbuf's alpha channel into a bitmap.
1999-10-27  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
	function to threshold a pixbuf's alpha channel into a bitmap.

	* src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
	contemplate future extensions to ArtPixBuf's formats.

	* src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().

	* src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
	macros to fetch the ArtPixBuf's fields.
1999-10-27 23:36:44 +00:00
Havoc Pennington
3176b6b3ea blank space cleanups 1999-10-27 20:16:37 +00:00
Havoc Pennington
be374ad560 Display the progressive load
1999-10-27  Havoc Pennington  <hp@pobox.com>

* src/testpixbuf.c (main): Display the progressive load

* src/io-png.c (setup_png_transformations): Break transformation
code into separate function
(png_info_callback): Use setup_png_transformations
1999-10-27 19:42:34 +00:00
Arturo Espinosa
9ee4ff5eee Make it build - Federico 1999-10-27 19:15:37 +00:00
Havoc Pennington
54f017171f Check properly whether the XPM module has already been loaded
1999-10-27  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
properly whether the XPM module has already been loaded
(gdk_pixbuf_new_from_file): Check properly if loader module
was already loaded (was checking if load symbol was present
in order to decide whether to re-load; should check module !=
NULL, then load != NULL)
(image_handler_load): Check in present working directory,
makes it easier to debug for now
(file_formats): This array initializer was seriously on crack,
was assigning a function pointer to a GModule*

* src/testpixbuf.c (main): Change type of pixbuf_loader to GdkPixbufLoader*

* src/io-png.c: Progressive loading stuff compiles, untested.
1999-10-27 18:55:00 +00:00
Havoc Pennington
2ec115ea80 oops 1999-10-27 18:24:20 +00:00
Havoc Pennington
5ebe49fdbd Fix typo that prevented compilation (gdk_pixbuf_loader_destroy): ditto
1999-10-27  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
Fix typo that prevented compilation
(gdk_pixbuf_loader_destroy): ditto
1999-10-27 18:24:05 +00:00
Federico Mena Quintero
23b0f15ee8 Return a GdkPixbufLoader, not a GtkObject.
1999-10-27  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
	GdkPixbufLoader, not a GtkObject.
	(gtk_marshal_NONE__INT_INT_INT_INT): Made static.
	(gdk_pixbuf_loader_get_type): Documented.
	(gdk_pixbuf_loader_class_init): Initialize the parent class
	correctly.
	(gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
	class destroy function.
	(gdk_pixbuf_loader_new): Documented.
	(gdk_pixbuf_loader_finalize): Call the parent class finalize
	function.
	(gdk_pixbuf_loader_write): Use size_t for count.
1999-10-27 17:31:07 +00:00
Havoc Pennington
1a0a5d0399 New function to create a blank pixbuf.
1999-10-27  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf.c (gdk_pixbuf_new): New function to create a
blank pixbuf.

* src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Check all
three progressive load funcs are non-NULL, rather than checking
begin_load three times. Also, check whether begin_load returns
NULL on failure.
1999-10-27 17:28:44 +00:00
Michael Fulbright
e8242a24eb Fixed logic so we only try to close loader if it wasn't previously closed.
1999-10-27  Michael Fulbright  <msf@redhat.com>

        * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
        logic so we only try to close loader if it wasn't previously closed.
1999-10-27 17:08:21 +00:00
Michael Fulbright
95e048c863 changelog 1999-10-27 17:08:10 +00:00
Michael Fulbright
929c608714 Incremental loader tweaks.
Dr Mike <drmike@redhat.com>
1999-10-27 16:43:22 +00:00
Michael Fulbright
14cb9e710a gdk-pixbuf-loader.c: Fixed init function to properly initialize all
structure members.

testpixbuf.c: Added call to close and destroy pixbuf loader properly.
1999-10-27 16:41:44 +00:00
Jonathan Blandford
a9c16bfabd forgot this 1999-10-27 15:44:41 +00:00
Arturo Espinosa
3f4bad9332 Sync to laptop - Federico 1999-10-26 23:29:59 +00:00
Jonathan Blandford
eacb3ad51f load the vtable fully.
1999-10-26  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
1999-10-26 23:26:16 +00:00
Jonathan Blandford
2ff92119aa Finished initial cut at the object.
1999-10-26  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.c: Finished initial cut at the object.
1999-10-26 23:19:49 +00:00
Havoc Pennington
3589986260 fix signals
1999-10-26  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf-loader.h: fix signals

* src/gdk-pixbuf-io.h: add new vtable fields
1999-10-26 22:04:29 +00:00
Owen Taylor
bfd0c12798 Added information about widget paths and pattern matching.
Tue Oct 26 16:50:15 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/tmpl/gtkrc.sgml: Added information about widget
	paths and pattern matching.
1999-10-26 20:59:31 +00:00
Jonathan Blandford
e5dfd2f5da more work on the incremental loading 1999-10-26 20:43:39 +00:00
Jonathan Blandford
c84756cf38 New Class. Beginning of progrssive loading.
1999-10-26  Jonathan Blandford  <jrb@redhat.com>

	* src/gdk-pixbuf-loader.h: New Class.  Beginning of progrssive
	loading.
1999-10-26 16:26:00 +00:00
Jonathan Blandford
cfc2866019 started work on the loader 1999-10-26 03:42:14 +00:00
Arturo Espinosa
4c9ee0caa9 *** empty log message *** 1999-10-26 02:19:43 +00:00
Arturo Espinosa
e35d4c6d65 Sync to laptop - Federico 1999-10-25 23:43:04 +00:00
Federico Mena Quintero
5f0ea34beb Patch from Uwe Koloska <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid
1999-10-25  Federico Mena Quintero  <federico@redhat.com>

	* configure.in (CFLAGS): Patch from Uwe Koloska
	<koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
1999-10-25 19:26:13 +00:00
Arturo Espinosa
143d11f435 Sync to laptop - Federico 1999-10-23 00:06:10 +00:00
Havoc Pennington
c3c9c72281 Clean up stupid increment-inside-array-dereference thing
1999-10-22  Havoc Pennington  <hp@pobox.com>

* src/io-xpm.c (mem_buffer): Clean up stupid
increment-inside-array-dereference thing

* src/testpixbuf.c: Add XPM data tests.

* src/io-xpm.c: Make the XPM data buffer const, fix const
correctness throughout the code.
1999-10-22 23:26:22 +00:00
Havoc Pennington
5cf2775f46 Export gdk_pixbuf_new_from_xpm_data()
1999-10-22  Havoc Pennington  <hp@pobox.com>

* src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
1999-10-22 21:06:36 +00:00
Havoc Pennington
5f3ae6ad67 Export this symbol for loading an XPM from memory.
1999-10-22  Havoc Pennington  <hp@pobox.com>

* src/io-xpm.c (image_load_xpm_data): Export this symbol for
loading an XPM from memory.

* src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
function, loads pixbuf from xpm data
(image_handler_load): Add g_return_if_fail() to ensure the same
module isn't loaded twice. Add g_module_symbol() to scan for XPM
loader function.
1999-10-22 21:05:16 +00:00
Arturo Espinosa
a3551cc3d0 Comment fixes - Federico 1999-10-22 16:19:59 +00:00
Federico Mena Quintero
9de0d0c9c3 Patch from Kristian Hogsberg Kristensen <hogsberg@daimi.au.dk> to avoid
1999-10-22  Federico Mena Quintero  <federico@redhat.com>

	* src/io-png.c (image_load): Patch from Kristian Hogsberg
	Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
	buffers; the rows can be read in directly into the main pixel
	buffer.
1999-10-22 15:18:03 +00:00
Federico Mena Quintero
04823f40c4 Free path.
1999-10-20  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-io.c (image_handler_load): Free path.
1999-10-21 00:37:21 +00:00
Tor Lillqvist
b1c28ea656 Add more font private data.
1999-10-21  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkprivate.h: Add more font private data.

* gdk/win32/gdkfont.c
* gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
fonts and strings. Now works much better. You still have to
have a correct font selected, though. No fontset emulation yet.
1999-10-20 22:58:37 +00:00
Federico Mena Quintero
d8ce1977dd Bumped version number to 0.3.
1999-10-20  Federico Mena Quintero  <federico@redhat.com>

	* configure.in: Bumped version number to 0.3.

	* src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
	version number for the library.
1999-10-20 22:15:13 +00:00
Federico Mena Quintero
7ef5dec32d Removed the unref_fn field. Now all memory management of the buffer is
1999-10-20  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field.  Now
	all memory management of the buffer is done by libart.

	* src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
	Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.

	* src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
	terms of the libart functions.  Removed the old code.

	* src/gdk-pixbuf-io.c (image_handler_load): Removed the save
	symbols.  Saving will not be implemented in GdkPixbuf.

	* src/io-gif.c: Removed the saving stub.
	(image_load): Fixed memory management to fail gracefully if we run
	out of memory while loading the image.  Close the gif file when we
	are done.  This still needs more error handling for the DGif
	functions.

	* src/io-jpeg.c (image_load): Some robustness fixes.

	* src/io-png.c: Removed the saving stuff.
	(image_load): Some memory management fixes.

	* src/io-tiff.c (image_load): Ditto.

	* src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
1999-10-20 21:20:49 +00:00
Tor Lillqvist
46da5c2bec Use G_OS_WIN32.
1999-10-19  Tor Lillqvist  <tml@iki.fi>

* gtk/maketypes.awk: Use G_OS_WIN32.

* gtk/gtk.def: Add some missing entry points. Also some non-public
ones, but PyGTK porter claims to need them.

* gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
built-in type generation.
1999-10-19 21:52:55 +00:00
Havoc Pennington
65c1e7458d New name for macros/autogen.sh
1999-10-18  Havoc Pennington  <hp@pobox.com>

* subautogen.sh: New name for macros/autogen.sh

* autogen.sh: use subautogen.sh
1999-10-18 19:32:25 +00:00
Federico Mena Quintero
74268afdeb Reindented to use the GNOME Indentation.
1999-10-18  Federico Mena Quintero  <federico@redhat.com>

	* src/*: Reindented to use the GNOME Indentation.
1999-10-18 19:29:45 +00:00
Havoc Pennington
3b9835b5bb Use AM_PATH_GLIB instead of glib-config directly
1999-10-18  Havoc Pennington  <hp@pobox.com>

* configure.in: Use AM_PATH_GLIB instead of glib-config directly

* src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
1999-10-18 19:11:35 +00:00
Havoc Pennington
556f481ce9 didn't get in there or something 1999-10-18 18:58:36 +00:00
Havoc Pennington
748c5c5f0c Remove "macros"
1999-10-18  Havoc Pennington  <hp@pobox.com>

* Makefile.am (SUBDIRS): Remove "macros"

* configure.in: Don't use GNOME_INIT, handle case where we are
inside gnome-libs. AM_PATH_GTK for the GIF test

* src/Makefile.am: Change flags to work without libgnomeui,
comment out testpixbuf for now
1999-10-18 18:58:15 +00:00
Federico Mena Quintero
da95365f93 Use $GTK_LIBS as the extra libs when checking for libgif/libungif, as they
1999-10-18  Federico Mena Quintero  <federico@redhat.com>

	* configure.in: Use $GTK_LIBS as the extra libs when checking for
	libgif/libungif, as they need the X libraries.  Fixes bug #2472.
1999-10-18 18:47:17 +00:00
Tor Lillqvist
018d098240 Don't use TextOutW for GDK_FONT_FONT fonts (which is all we have for now,
1999-10-14  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
GDK_FONT_FONT fonts (which is all we have for now, we don't
emulate fontsets). The X11 version uses plain XDrawString in that
case, too. The string passed to gdk_draw_text_wc seems to be in
fact (at least, when used by gtkentry and gtktext) either in a
single-byte charset, or a DBCS. Not Unicode.

This fixes the problem in gtkfontsel, where even if you had
selected a font with a non-Latin1 charset (windows-greek, for
instance), the preview still used Latin-1 glyphs.

* gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
use GetTextExtentPoint32W, use GetTextExtentPoint32A.
(gdk_font_load): Recognize the demibold etc weights, even if we
don't have the corresponding constants in the headers.
(gdk_font_hash_insert): Use same hash mechanism as in the X11
version. Should save font resources a bit, when we don't have
multiple HFONTs for the same font.

* gdk/win32/gdkprivate.h: Add the names field as in the X11
version.
1999-10-13 21:46:33 +00:00
ÉRDI Gergo
b39839820b (since noone objected on gtk-devel)
Passing 0 to XBell allows GDK to use the default X values which can be
set by the user via the xset command (e.g. to turn it off, or to
modify pitch/length/volume, etc)
1999-10-11 20:13:49 +00:00
Cody Russell
a4013d86fb Changed 'pixbuf' variable to 'art_pixbuf' in the core function.
Core function now determines whether the requested geometry is on screen
or not. If part of it is not then the request is clamped to geometry that
is on the screen.
1999-10-10 07:20:37 +00:00
ÉRDI Gergo
2501ca70d6 Added documentation for GtkToolbar changes (horizontal icon/text layout) 1999-10-09 14:47:09 +00:00
Michael Fulbright
b55008d197 Added support for loading pixbuf from rgb data in memory. Augmented
test program to demonstrate its use.

Need to add support for an alpha channel next.

Dr Mike <drmike@redhat.com>
1999-10-08 23:01:05 +00:00
Jesus Bravo Alvarez
5a4cc5a6b1 Updated Galician .po file 1999-10-07 20:58:57 +00:00
Cody Russell
c512d3864c Changed the functions to return GdkPixBuf* instead of ArtPixBuf*. 1999-10-07 18:20:16 +00:00
Cody Russell
2453bc3cca I've temporarily disabled compilation of the gdk-pixbuf-drawable module.
Federico pointed out some problems with it. It'll be re-enabled when those
are fixed.
1999-10-07 18:04:04 +00:00
Cody Russell
e41dd6a199 Added #include "gdk-pixbuf-drawable.h" to the top. This fixes remaining
compile error.
1999-10-07 06:22:21 +00:00
Cody Russell
4649192c7a Added a missing semicolon to a function declaration so everything compiles
correctly.
1999-10-07 06:17:20 +00:00
Cody Russell
bab6969765 Added gdk-pixbuf-drawable to Makefile.am so it is compiled into
libgdk_pixbuf.
1999-10-07 06:16:16 +00:00
Arturo Espinosa
e29e536d20 Added files from Cody Russell 1999-10-07 05:11:27 +00:00
Manish Singh
4f771b6d26 s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
-Yosh
1999-10-06 19:47:24 +00:00
Stanislav Brabec
bdcba96639 Updated.
1999-10-06  Stanislav Brabec  <utx@penguin.cz>

        * cs.po: Updated.
1999-10-06 14:41:19 +00:00
Jesus Bravo Alvarez
ed48ad3344 Added Galician translation (modifying ChangeLogs) 1999-10-05 21:40:59 +00:00
Tor Lillqvist
d23e3848a9 Corresponding changes as in X11 backend.
1999-10-05  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/*.[ch]: Corresponding changes as in X11 backend.

* gdk/win32/gdkcompat.c: New file, actually provide an
implementation for the deprecated functions. (Just temporarily.)

* gtk/gtkfilesel.c: Fix an #ifdef syntax botch.

* gtk/makefile.{cygwin,msc}: Update gdk_headers.

* gdk/win32/gdk.def gtk/gtk.def: Updates.
1999-10-05 19:04:48 +00:00
Sergey I. Panov
069932c2a8 ru.po: Updated translation. 1999-10-05 18:43:16 +00:00
Jesus Bravo Alvarez
0e8115218e Added Galician (gl) to ALL_LINGUAS 1999-10-05 16:36:54 +00:00
Jesus Bravo Alvarez
6dc73a6184 Added Galician Translation 1999-10-05 16:34:44 +00:00
Kjartan Maraas
b31b2734be Added Ukrainian translation from Yuri Syrota <yuri@renome.rovno.ua>.
1999-10-05  Kjartan Maraas  <kmaraas@online.no>

	* uk.po: Added Ukrainian translation from Yuri
	Syrota <yuri@renome.rovno.ua>.
1999-10-05 09:10:46 +00:00
Manish Singh
3b348f74e9 correct checking for BeOS check
* configure.in: correct checking for BeOS check

* gdk/gdktypes.h
* gtk/fnmatch.c
* gtk/gtkfilesel.c
* gtk/gtkitemfactory.c
* gtk/gtkmain.[ch]
* gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines

-Yosh
1999-10-04 19:03:05 +00:00
Pablo Saratxaga
0fef3d2f6d added new gtkrc.* files for new encodings 1999-10-04 14:23:50 +00:00
Owen Taylor
a8d8872c0c Started compatibility header for renames.
Sun Oct  3 23:09:06 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcompat.h: Started compatibility header
        for renames.
1999-10-04 02:59:52 +00:00
Owen Taylor
91f7a92ecd Added a .cvsignore 1999-10-03 22:13:50 +00:00
Owen Taylor
f903bdf1a7 Fix a reference to window_private->destroyed.
Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_reset_shapes_recurse):
	Fix a reference to window_private->destroyed.

	* gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
	(ugly) setting of an internal GdkWindow member to use
	a _slightly_ cleaner macro.

	* gdk/gdkprivate.h: Split GdkWindowPrivate into
	GdkDrawablePrivate and GdkWindowPrivate.
	Add extra macros for accessing GDK_DRAWABLE_ components.

	* *.[ch]: Massive adjustments for the above, use the
	new macros in a lot of places.
1999-10-03 22:12:41 +00:00
Owen Taylor
344e8000a2 Move files into x11 subdirectory.
Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
1999-10-03 18:17:59 +00:00
Owen Taylor
9c2dea004f create x-specific subdirectory.
* configure.in gdk/Makefile.am x11/: create x-specific subdirectory.

	* docs/gtk-config.1: Now autogenerated.
	* docs/Changes-1.4.txt: started
1999-10-03 18:10:43 +00:00
Owen Taylor
ef088b50ab Include gdk/gdkdrawable.h with gdk/ prefix. (Pointed out by
Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
	gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)

	* x11/: create x-specific subdirectory.
1999-10-03 18:09:00 +00:00
Tor Lillqvist
4c84db87d9 A few includes added for the picky MSVC compiler. 1999-10-02 22:53:45 +00:00
Tor Lillqvist
c50941c82d Change GDK_WINDOWING_WIN32 usage to #ifdef also here.
1999-10-03  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.

* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.

* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.

* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.

* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.

* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.

* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
1999-10-02 22:42:58 +00:00
ÉRDI Gergo
b196167dbc This is an implementation of Idea #13 from
http://www.jcinteractive.com/gnome-ui/software/widgets/
basically, layouting the toolbar icon and label horizontally.
1999-10-02 17:13:09 +00:00
Owen Taylor
637a466d5c Started
Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>

        * docs/Changes-1.4.txt: Started

	* gtk/Makefile.am (gdk_headers): Include all the new headers.

        * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.

	* gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
	into C file.

	* gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
	header to gdkinputprivate.h.

	* gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
	unused since before 1.2.
1999-10-01 23:18:30 +00:00
Tor Lillqvist
74d88d870a On Win32, expand possible hex escapes in the font family (put there by
1999-09-30  Tor Lillqvist  <tml@iki.fi>

* gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
expand possible hex escapes in the font family (put there by
logfont_to_xlfd if the font name isn't a legal XLFD font family,
mainly if it contains slashes). (gtk_font_selection_create_xlfd):
On Win32, add hex escapes here, too.
1999-09-30 16:59:08 +00:00
Owen Taylor
41be586333 Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11 to #ifdef
Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>

	* */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
	to #ifdef GDK_WINDOWING_X11.
1999-09-29 23:47:22 +00:00
Jorge Godoy
f73d6ee34a update pt_BR 1999-09-29 20:54:11 +00:00
Federico Mena Quintero
95b3f3e460 [ Merges from gtk-1-2 ]
Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>

	* configure.in: fixed "GNU Make" check to pass with new make version
	3.77.95.

Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>

	* gtk-config.in (--version): don't echo @GTK_VERSION@, but
	@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
	AM_PATH_GTK() macros don't get confused by the -pre1.

Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (REBUILD): Change check for perl5
	  to check explicitely for v >= 5.002. (5.001
	  does not work with our scripts.)

Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>

	* configure.in: evaluate $PERL for the perl version check. added
	--disable-rebuilds to give the user an option to completely disable
	any source autogeneration rules.

Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>

	* configure.in: evaluate $ac_make when checking for GNU Make.

Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>

	* docs/Makefile.am: added generation.txt.

	* Makefile.am: require automake 1.4, build README from README.in and
	INSTALL from INSTALL.in in dist-hook.

	* README.in:
	* INSTALL.in: new files to autogenerate README and INSTALL from.

	* configure.in: figure whether we have GNU Make

	* docs/generation.txt: minor additions/corrections.

Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>

	* docs/gtkfaq.sgml: FAQ Update

July 30, 1999 Elliot Lee <sopwith@redhat.com>

	* configure.in: Fix autoconf warnings about cross compilation by
	trying to provide sane defaults for AC_TRY_RUN.

Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>

	* ltconfig
	* ltmain.sh: upgrade to libtool 1.3.3

Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>

	* INSTALL: Indicate that the --with-glib= configure
	time flag is unsupported.

Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>

	* docs/generation.txt: Added a file that gives
	documenation about the autogeneration process for
	various autogenerated files.

Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (LIBS): Look for libgmodule in the
	right location.

Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>

	* docs/gtk_tut.sgml: Removed references to
	code examples in my directory on gtk.org as
	they should all be in the tutorial now.

	* docs/gtk_tut.sgml: Added sources for dial-test
	and scribble-xinput programs that were previously
	missing.

Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>

	* TODO: Added entry about menu keyboard navigation, removed
	some finished items.

Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>

	* acinclude.m4: Standardize on func_dgettext
	not func_gettext, so that the checks for dgettext
	actually are paid attention to.

Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (LIBS): Add $INTLLIBS into $LIBS
	directly, rather than repeating the checks for
	gettext.

	* INSTALL: Added information about gettext and
	NLS support.

	* acinclude.m4 (LIBM): Check for dgettext, not
	just gettext. This should hopefully fix things wrt
	systems with old versions of GNU gettext installed.

Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (LIBS): Look for libgmodule in the
	right location.

Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>

	* autogen.sh: add --enable-maintainer-mode

	* configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>

	* docs/gtk-config.1.in:
	  docs/Makefile.am:
	  configure.in: gtk-config is now generated.

	* docs/gtk-config.1: Removed, now generated.

Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
        handle CreateNotify itself, still put out a debuging message for
        --gdk-debug=events. made the ReparentNotify debugging message more
        verbose.
        wrap xcoords translation for ConfigureEvents into an error trap,
        a destroy event may already be pending, and in that case, the
        actuall coordinate values are not at all critical.

Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcc.c: Stop leaking the color_hash all over
	the place. Simplify and improve the logic.

Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
	for prototypes and function implementations consistent (reported
	by Tomas Ogren).

Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_translate): tell if expose events have
	send_event set in debugging output.
	(gdk_compress_exposures): default initialize the event so we don't
	operate on bogus values (namely send_event).

Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c: When we receive an unexpected
	destroy notify on one of our windows, don't just
	warn about it, also mark our windows as destroyed.

Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkfont.c (gdk_font_hash_insert): Add
	  name => font and name => fontset hashes. The
	  name => fontset hash is a _big_ win since we
	  weren't previously caching fontsets at all and loading
	  fontsets is expensive. The name => font hash
	  is less of a win, but it does save us from doing
	  repeated XQueryFont calls on the same font.

	* gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
	  list so we can remove font/fontset from hash.

Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_atom_intern): Remove useless
	  and slightly confusing test. [ XInternAtom (,,TRUE)
	  will never return None ].

Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints)
	  gdk/gdkwindow.c (gdk_window_set_hints):

	Don't omit setting the properties if flags == 0 -
	there may be an existing set of properties there
	already. (Very old bug. Would it be better to
	delete the property instead?)

	* gdk/gdkselection.c (gdk_selection_property_get): Fix
	  spelling error in comment.

Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
	  to avoid stomping over gdk_error_warnings.

	* gdk/gdkimage.c (gdk_image_new): compute image->bpp
	  as (bits_per_pixel + 7) / 8. This gives the same
	  result as before for multiples of 8, but actually
	  a "reasonable" value for 1bit or 4bit displays.

Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>

	* gdk/Makefile.am: minor cleanups, strip spaces on build rules for
	GNU Make.

Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_translate): give a debugging note when
	discarding configure events.

1999-08-18  Federico Mena Quintero  <federico@redhat.com>

	* gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
	refcount is greater than zero.

	* gdk/gdkwindow.c (gdk_window_unref): Likewise.

	* gdk/gdkfont.c (gdk_font_unref): Likewise.

	* gdk/gdkgc.c (gdk_gc_unref): Likewise.

	* gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.

Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_property_get): Fix assumption
	that format 32 => sizeof(item) == 4. It really is
	sizeof(long).

Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
	core dump at all on X IO errors, only core dump
	if --enable-debug for X errors.

Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
	unknown window:" message. disabled ConfigureNotify discarding code,
	because it led to events being processed out of order.

Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkglobals.c: preinitialize gdk_error_code to 0.

	* gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
	we export this function, supress error warnings and don't reset the
	error code in the first half of this function.

	* gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
	code (instead of just -1) so gdk_error_trap_pop() reveals something
	actually informative about the error that happened.

	* gdk/*.c:
	don't rely on gdk_error_code being -1 if an error occoured, but just
	gdk_error_code != 0.

Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
	pointer *before* invoking the filter function, so we at least don't
	crash if a filter is removed that is currently executed. window filters
	*really* need to be made truely reentrant at some point.

Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkevents.c (gdk_event_translate): print the atom name in the
	PropertyNotify debug messages.

Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>

        Patch from Sung-Hyun Nam <namsh@lgic.co.kr>

	* gdk/gdkim.c: Fix cut-and-paste errors for
	x/y and PreeditAttributes/StatusAttributes.

Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
	G_MAXINT to 2^16 to alleviate overflow problems in
	various window managers.

Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkfont.c (gdk_text_measure): Fix the return value
        for fontsets.

Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints):
	Initialize size_hints.x and size_hints.y because kwm
	brokenly pays attention to them.
	(Bug #1181 -  Lars Heete <hel@admin.de>)

Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the
	return value of gdk_list_visuals().
	(Bug #1193 - Morten Welinder <terra@diku.dk>)

Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>

	* gdk/gdkim.c (gdk_im_real_open): cast the return value of
	XSetIMValues to (void *) when comparing to NULL, to workaround
	the problem of some compilers barfing since older X headers don't
	have the prototype for it.

Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
	for pseudocolor where colormap->colors was double
	allocated.

	* gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
	color value in the hash table with the pixel filled
	in so when we do later hash table lookups, the color
	value is correct.

Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>

	* gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
	making the call

Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
	pointed out by Morten Welinder <terra@diku.dk>.

Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>

	* gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
	  default filter from the list

Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>

	* gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
	  default filter from the list

Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>

	* gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines

	* gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
	g_strdup_printf instead of calcing the length separately

Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
	that we don't do in many other places. (Fixing duplicate
	#include of config.h)

	* gdk/gdkevents.c: include gdkinput.h _after_ config.h.
	Otherwise, #ifndef XINPUT_NONE check in the latter
	doesn't work. (Bug #546)

Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
	"None" case insensitive.

Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkselection.c:
	Add error traps so if the other end of the connection
	dies, we survive.

Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (gdk_drag_motion): Separate out the
	dest_xid field into two fields - one for the window
	to send in messages, one to indicate the last looked
	up window for caching purposes. This is needed, so
	that Leave messages get the correct window.

Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
	Fix warning created by people mucking around
	with the gsource API.

	* gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
	Change mapping between GIOCondition and GdkInputCondition
	to match the way the Linux kernel does it. This should
	fix problems where closed pipes were no longer signalling
	GDK_INPUT_READ on systems with a native poll().

Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check
	explicitly for the string "None" - it is in the XPM
	spec and some servers treat unknown colors in odd ways
	(like asking the user!)

Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>

	* gdk/gdkevents.c: made "->" into a "." of previous change so
	it compiles

Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (gdk_compress_exposures): Set the
	window field of the event structure before calling
	user filters.

1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdk/gdk.c (gdk_init_check): Use False as the last argument to
	XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.

Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkim.c (gdk_mbstowcs): Free the value of the
	intermediate text property - prevents major memory
        leak when gdk_use_mb.
	gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>

Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>

        Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
	gtk-a-higuti-990322-[0-3]

	* gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
	sizeof(wchar_t) != sizeof (GdkWChar)

	* configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
	that was causing -DX_LOCALE not	to work.

	* gtk/gtkrc.c (gtk_rc_init):
	X_LOCALE will never have LC_MESSAGES defined

	* gdk/gdk.c (gdk_init_check):
	Remove --xim-preedit and --xim-status from argv properly.

	* gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
	that the client window is present on the X server
	before we pass it to the input method.

Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
	if --display is specified on the command line, than
	the drag window will not be created on that display.

Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
	lookups with only_if_exists == TRUE were inserting
	bogus values into the atom cache.

Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
	then reset it to NULL.

	* gdk/gdkcolor.c:
	(gdk_colors_free):
	(gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
	key for g_hash_table_remove() in both functions, this prevents us
	from accessing possibly uninitialized portions of a GdkColor structure
	where we are only interested in its pixel value.

Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>

	* gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
	font hash table, if we have a GdkFontPrivate entry for this font
	already, simply increment its reference count, provided by Olaf Dietsche
	<olaf.dietsche+list.gtk@netcologne.de>.

1999-09-21  Tor Lillqvist  <tml@iki.fi>
1999-09-28 20:19:13 +00:00
Damon Chaplin
c3e01fe599 partially written documentation from Paul Schifferer
1999-09-24  Damon Chaplin  <damon@karuna.freeserve.co.uk>

        * gtk/tmpl/gtkclist.sgml: partially written documentation from
        Paul Schifferer <isengard@geocities.com> who won't be able to finish it
1999-09-25 09:20:23 +00:00
Tomasz Kłoczko
442712ba50 - retrived last changes. This bad ide fixing this kind problems on gtk+
level (sorry).
1999-09-25 07:27:10 +00:00
Arturo Espinosa
b11177d6b0 DEPENDENCIES is not needed for the test program - Federico 1999-09-23 04:58:55 +00:00
Tomasz Kłoczko
9df3375f61 This important fix and will be god to incude this to 1.2.5.
Fix default font list name. Now on initializing gtk+ look for:
first: -*-aplos-medium-r-normal--12-*-*-*-*-*-iso8859-2 (this is biznet font),
second: -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-2,
third: -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1.

Now all translated text to EE languages are displayed with correct font on
system with installed biznet iso8859-2 pixmap fonts (many Linux
distribution).
1999-09-23 04:41:32 +00:00
Michael Meeks
6c13b03a45 Add pixbuf_duplicate,
Fix 'scale' API,
Add gdk_pixbuf_new,
clean io modules a tad.
1999-09-22 22:30:51 +00:00
Damon Chaplin
372c4d2627 ran make templates, to fix problems with structs.
1999-09-22  Damon Chaplin  <damon@karuna.freeserve.co.uk>

	* gtk/tmpl/*.sgml: ran make templates, to fix problems with structs.

	* gtk/gtk-sections.txt: rearranged GtkCombo section.

	* gtk/tmpl/gtkvseparator.sgml:
	* gtk/tmpl/gtkhseparator.sgml:
	* gtk/tmpl/gtkgc.sgml:
	* gtk/tmpl/gtkfeatures.sgml:
	* gtk/tmpl/gtktipsquery.sgml:
	* gtk/tmpl/gtkitem.sgml:
	* gtk/tmpl/gtkinvisible.sgml:
	* gtk/tmpl/gtkgamma.sgml:
	* gtk/tmpl/gtkdata.sgml:
	* gtk/tmpl/gtkcurve.sgml:
	* gtk/tmpl/gtkcombo.sgml:
	* gtk/tmpl/gtkaccellabel.sgml: documented.
1999-09-22 21:30:57 +00:00
ÉRDI Gergo
9e7433487b Font information translations 1999-09-21 20:28:45 +00:00
Tor Lillqvist
de1cf2ecba Delete the gdk_DC when exiting, just to be sure.
1999-09-21  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
just to be sure.

* gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
unused variables, leftovers from the X11 version.

* gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.

* gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
downcase fields on X11.
1999-09-21 19:12:50 +00:00
Dave Mason
be9abde533 first pass at gtkmenubar... not complete
David Mason
dcm@redhat.com
1999-09-20 18:50:12 +00:00
Dave Mason
6822cce08d David Mason dcm@redhat.com
David Mason
dcm@redhat.com
1999-09-20 15:46:56 +00:00
Dave Mason
4a9a849acb first pass at gtkimage... not complete
David Mason
dcm@redhat.com
1999-09-20 15:46:35 +00:00
Pablo Saratxaga
033bb597de added pt_BR file 1999-09-20 12:25:19 +00:00
Tor Lillqvist
4850edb29b Add gdk_threads_mutex.
1999-09-17  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdk.def: Add gdk_threads_mutex.

* gtk/makefile.msc: Correct path to libintl.

Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
use of gint vs. int, and gint vs. gboolean in headers and
definitions. Use GtkType for the *_get_type functions. Note that
these changes preserve binary compatibility.

* gdk/gdk.c
* gdk/win32/gdk.c
* gdk/gdk.h: Fix inconsistencies: gint vs int.

* gtk/gtkmain.c
* gtk/gtkclist.c
* gtk/gtkmenufactory.c
* gtk/gtknotebook.c
* gtk/gtkwidget.c: Fix inconsistencies, also gint
vs. gboolean.

* gtk/gtkcolorsel.[ch]
* gtk/gtkcombo.[ch]
* gtk/gtkdrawingarea.[ch]
* gtk/gtkgamma.[ch]
* gtk/gtkhandlebox.[ch]
* gtk/gtkhpaned.[ch]
* gtk/gtkhruler.[ch]
* gtk/gtkplug.[ch]
* gtk/gtkpreview.[ch]
* gtk/gtkruler.[ch]
* gtk/gtksocket.[ch]
* gtk/gtkstatusbar.[ch]
* gtk/gtktoolbar.[ch]
* gtk/gtkvbbox.[ch]
* gtk/gtkvpaned.[ch]
* gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
functions.

* gtk/gtkgamma.h: Fix bug, missing () in call of
gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS.
1999-09-17 18:17:20 +00:00
Kjartan Maraas
08f1c75cf1 Updated translation.
1999-09-17  Kjartan Maraas  <kmaraas@online.no>

	* no.po: Updated translation.
1999-09-17 09:00:57 +00:00
Federico Mena Quintero
66779b9b26 Set the initial ref_count to 1.
1999-09-17  Federico Mena Quintero  <federico@redhat.com>

	* src/io-bmp.c (image_load): Set the initial ref_count to 1.

	* src/io-gif.c (image_load): Likewise.

	* src/io-jpeg.c (image_load): Likewise.

	* src/io-png.c (image_load): Likewise.

	* src/io-tiff.c (image_load): Likewise.

	* src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.

	* src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
	for the ref_count to be != 0.
1999-09-17 07:57:25 +00:00
Federico Mena Quintero
6fce115b98 Be more paranoid with sanity checking. (gdk_pixbuf_unref): Fix incorrect
1999-09-17  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
	checking.
	(gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
1999-09-17 05:59:53 +00:00
Tor Lillqvist
04f5c2a1e7 gdk/gdkcolor.c (gdk_colormap_new) Fix memory leak: colormap->colors was
1999-09-14  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkcolor.c (gdk_colormap_new)
* gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
colormap->colors was allocated twice.

* gdk/win32/gdk.c: Remove some unused stuff.

* gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
colormap.

* gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
* gtk/gtklabel.h (gtk_label_get_type)
* gtk/gtktipsquery.c (gtk_tips_query_get_type)
* gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
in a couple of places, not guint.
1999-09-13 22:06:11 +00:00
Pablo Saratxaga
ad8f893e60 updated dansih file 1999-09-11 00:14:57 +00:00
Pablo Saratxaga
fc3c4005c4 added Estonian language file 1999-09-10 19:38:14 +00:00
Pablo Saratxaga
0d0ce95c9a updated da file 1999-09-06 09:48:52 +00:00
Chyla Zbigniew
50778c9ad5 Updated polish translation 1999-09-03 03:02:42 +00:00
Pablo Saratxaga
6050aecef6 added da file 1999-09-01 12:41:47 +00:00
Pablo Saratxaga
d79f54c4ec update-po 1999-08-30 17:40:10 +00:00
Pablo Saratxaga
2b91a5b73f update 1999-08-30 12:22:13 +00:00
Pablo Saratxaga
60d735cdf2 update-po 1999-08-30 12:21:10 +00:00
BST 1999 Tony Gale
d5facc4cc6 Minor FAQ Update
Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>

	Minor FAQ Update
1999-08-29 12:29:19 +00:00
Damon Chaplin
fc3cd85675 new section from Lee Mallabone.
1999-08-28  Damon Chaplin  <damon@karuna.freeserve.co.uk>

	* gtk/tmpl/gtkbbox.sgml: new section from Lee Mallabone.

	* gdk/gdk-sections.txt: rearranged rgb, regions, and drawing sections.

	* gdk/tmpl/rgb.sgml: new section from Raph Levien, with a few changes
	by me, including a little example app.

	* gdk/tmpl/regions.sgml:
	* gdk/tmpl/event_structs.sgml:
	* gdk/tmpl/drawing.sgml: my first attempt.
	* gdk/tmpl/cursors.sgml: tiny changes.
1999-08-28 20:47:33 +00:00
Tony Gale
411e9361c2 Commit the correct version.
Commit the correct version.
1999-08-28 13:44:42 +00:00
BST 1999 Tony Gale
17cb4bb2e6 FAQ update
Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>

        * docs/gtkfaq.sgml: FAQ update
1999-08-28 13:25:28 +00:00
Tor Lillqvist
aafd722b21 Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a way to get
1999-08-27  Tor Lillqvist  <tml@iki.fi>

Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
way to get window contents continually refreshed while resizing. I
didn't like the effects myself, so it's not on by default.

* gdk/win32/gdkprivate.h: New flag variable
gdk_event_func_from_window_proc, FALSE by default.

* gdk/win32/gdk.c (gdk_init_check): Set above flag if the
environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
are passed --gdk-event-func-from-window-proc.

* gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
and we have am event_func, call it instead of enqueing the event.
1999-08-26 22:22:03 +00:00
Pablo Saratxaga
6ebe59ced3 updated ga file 1999-08-26 16:29:30 +00:00
Pablo Saratxaga
24976900cf added ga language, and add back sk and sl from gtk+ 1.2.3 1999-08-25 15:27:04 +00:00
Karsten Weiss
6c8ca48237 Typo fix.
1999-08-24  Karsten Weiss  <karsten@addx.au.s.shuttle.de>

        * de.po: Typo fix.
1999-08-24 15:43:43 +00:00
Manish Singh
75ca8715c7 file COPYING was initially added on branch gtk-1-2. 1999-08-23 19:21:25 +00:00
Tor Lillqvist
cf451eb447 Fix from Simon Kelley: Set expose_count in GdkEventExposes correctly.
* gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
Kelley: Set expose_count in GdkEventExposes correctly.

* gdk/win32/gdkwindow.c: Remove dead code (#ifdef
MULTIPLE_WINDOW_CLASSES).

* gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
for bug in NT, apparently NT *does* draw the end pixel, too, in
LineTo with a one-pixel pen, so we don't have to do it ourselves.
1999-08-23 18:53:11 +00:00
Tor Lillqvist
b52072a7f8 Improvements by Hans Breuer:
* gdk/win32/gdkwindow.c (RegisterGdkClass): New function

	* gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
	CS_?REDRAW flags as they cause lots of (late) redraws when "show
	window contents while dragging" is turned on. Allocate at least
	one unique class for every GdkWindowType. If support for single
	window-specific icons is ever needed (eg. Dialog specific), every
	such window should get its own class.
1999-08-21 00:41:24 +00:00
Dave Mason
3c67e83bb5 changed gtk_ruler_draw_ticks and gtk_ruler_draw_pos to private
David Mason
dcm@redhat.com
1999-08-20 19:53:16 +00:00
Dave Mason
f66547c880 wrote gtkruler - changed gtk_ruler_draw_tick and gtk_ruler_draw_pos to private
David Mason
dcm@redhat.com
1999-08-20 19:52:36 +00:00
Tor Lillqvist
29b00ba8e5 Fix a cut&paste error that caused crashes.
* gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
	error that caused crashes.
1999-08-19 19:10:26 +00:00
Tor Lillqvist
70372ba8bd When blitting inside one window, use ScrollWindowEx, and call
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
	window, use ScrollWindowEx, and call UpdateWindow. This prevents
	bugs when for instance part of the window was outside the
	display. Thanks to Philippe Colantoni for finding and fixing this.
1999-08-17 17:47:14 +00:00
Owen Taylor
f29407afe8 .cvsignore updates 1999-08-17 13:11:21 +00:00
Owen Taylor
a45a5dedba Fix corrupted end tag.
Tue Aug 17 09:14:01 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/tmpl/gtktypeutils.sgml: Fix corrupted end tag.

	* gtk/tmpl/gtkselection.sgml gtk/tmpl/gtkrc.sgml
	  gtk/tmpl/gtkdnd.sgml gtk/tmpl/gtkarrow.sgml
	  gtk/tmpl/gtkpaned.sgml gtk/tmpl/gtkmisc.sgml
	  gtk/tmpl/gtkhandlebox.sgml gtk/tmpl/gtkctree.sgml:
	Added missing close tags.
1999-08-17 13:10:00 +00:00
Owen Taylor
f7a50c4dc2 Added section. (Written a while ago but fell through the cracks)
Thu Aug 19 14:43:08 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/tmpl/gcs.sgml gdk/gdk-sections.txt: Added section.
	  (Written a while ago but fell through the cracks)

	* gtk/gtk-docs.sgml: Add a &hash; entity here as a
	  temporary hack. (There is no standard entity
	  for '#', and no way of escaping '#' in gtk-doc)

	* gtk/tmpl/gtkrc.sgml: Use the above to fix up #rrggbb
	  string literals.

	* gtk/tmpl/gtkdrawingarea.sgml: Fixed a couple
	  of errors in the example. (pointed out by
	  Nick Lamb)
1999-08-17 09:39:58 +00:00
Owen Taylor
0072dd5508 Documented
Mon Aug 16 6:60:53 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/tmpl/properties.sgml
	  gdk/tmpl/selections.sgml
	  gdk/tmpl/input_devices.sgml: Documented

	* gdk/gdk-sections.txt: Moved around types for
	  input devices properties and selections, marked
	  a few functions as private.
1999-08-16 22:52:53 +00:00
Owen Taylor
6b126f35b1 Added .cvsignore files. 1999-08-16 19:02:02 +00:00
Owen Taylor
e809774014 Initial import of GTK+ reference docs 1999-08-16 18:51:52 +00:00
Owen Taylor
91a5956707 Initial revision 1999-08-16 18:51:52 +00:00
Tor Lillqvist
0455fa3029 Fix start and end radial endpoint calculations which were totally wrong.
* gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
	endpoint calculations which were totally wrong. (A little RTFMing
	helps a lot ;-)

	* gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
	from a separate directory, not from gettext, because of licensing
	issues (we want to use the LGPL version).

	* README.win32: Mention the intl from glibc vs from gettext issue.
1999-08-16 04:45:01 +00:00
Mikko Rauhala
0139b4a3dc Updated finnish translations (mainly just duplicating entries for
better statistics).
1999-08-13 20:48:31 +00:00
Tor Lillqvist
60fbf3800b Fix a couple of bugs in the key event handling: Now AltGr chars work
* gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
	in the key event handling: Now AltGr chars work again. Also,
	now Alt-digits are passed up as well as Control-digits.
	Pass keypad plus and minus as normal plus and minus.
1999-08-12 21:44:22 +00:00
BST 1999 Tony Gale
fa53582fef FAQ Update
Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
        * docs/gtkfaq.sgml: FAQ Update
1999-08-11 12:43:04 +00:00
Federico Mena Quintero
49ca2615f8 Fixed compiler warnings. Fixed write to unallocated memory (row_ptr), and
1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* src/io-png.c (image_save): Fixed compiler warnings.  Fixed write
	to unallocated memory (row_ptr), and fixed its type as well.  Take
	into account the ArtPixbuf's rowstride when assigning the row
	pointers.

	* src/gdk-pixbuf.c: Fixup includes.

	* src/gdk-pixbuf-io.c: Likewise.
1999-08-09 06:09:24 +00:00
Owen Taylor
ecef1e1f2f Added a file describing some upcoming and more
distant major changes to GDK.
1999-08-09 02:11:54 +00:00
Tor Lillqvist
0775c02e08 A couple of minor fixes, not worth any ChangeLog entry (?). 1999-08-06 19:13:08 +00:00
Pablo Saratxaga
e8f8e0d484 updated wa & es files 1999-08-01 22:38:37 +00:00
Daniel Veillard
91cb3bb665 Fixed 2 C syntax bugs, Daniel 1999-07-31 17:20:49 +00:00
Mark Crichton
0899b4718b For some wierd reason, the commit yesterday didn't get everything. (99% of
For some wierd reason, the commit yesterday didn't get everything. (99% of
the added code was MISSING)

Wierd.

Mark
1999-07-30 15:34:18 +00:00
Mark Crichton
3d679818a0 Added some first steps for file saving. Big thing is that a
Added some first steps for file saving.  Big thing is that a gdk_pixbuf_save
function needs to be setup.

Mark
1999-07-29 21:17:40 +00:00
Michael Zucchi
61f0ede138 Only build the relevant loaders which require extra libraries if we
1999-07-26  Michael Zucchi  <mzucchi@denr.sa.gov.au>

        * src/Makefile.am (*_LIB): Only build the relevant loaders which
        require extra libraries if we actually have those libraries.
1999-07-26 06:39:39 +00:00
Tor Lillqvist
6af18860b6 Edit some of the cursors a bit to look better on white background.
* gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
 	better on white background.
1999-07-25 22:57:20 +00:00
Tor Lillqvist
51046a9fbf README.win32 Add HAVE_WINTAB. Undefine it if bulding without the Wintab
* README.win32
	* config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
 	the Wintab SDK.

	* gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
 	OK, but getting closer. Guard against bogus tilt data from Wacom
 	ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
 	enable easier building without Wintab.

	* gdk/win32/gdkinput.h
	* gdk/win32/gdkevents.c
	* gdk/win32/gdkwindow.c: Minor changes related related to above.

	* gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
 	code. As we have just one visual on Win32, no sense to have it in a
 	table, and no need for the hash table.
1999-07-25 20:02:21 +00:00
Karsten Weiss
b0a2c890a7 Updated.
1999-07-25  Karsten Weiss  <karsten@addx.au.s.shuttle.de>

        * de.po: Updated.
1999-07-25 12:47:10 +00:00
Richard Hestilow
8681f36261 Include glib.h as it uses g* datatypes Added for gnome-config
1999-07-23  Richard Hestilow  <hestgray@ionet.net>

        * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
        * gdk_pixbufConf.sh.in: Added for gnome-config
        * Makefile.am:
        * configure.in: Modified to generate gdk_pixbufConf.sh
1999-07-24 03:50:12 +00:00
Sergey I. Panov
28fbb33386 ru.po: Update 1999-07-23 16:32:07 +00:00
Tor Lillqvist
45a3396064 Update gcc build instructions. Mention gettext is GPL.
* README.win32: Update gcc build instructions. Mention gettext is
 	GPL.

	* gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
 	supported cursor size with GetSystemMetrics.

	* gdk/win32/gdkfont.c
	* gtk/gtkfontsel.c: Guard against some font weight and charset
 	symbols being undefined (in mingw32 headers).

	* gdk/win32/makefile.cygwin
	* gtk/makefile.cygwin
	* gtk/gtkthemes.c: No longer need to have differently named
	gcc-built DLLs when using gcc-2.95 and -fnative-struct.
1999-07-21 19:27:25 +00:00
Vincent Renardias
0a07d3ba1f Updated.
* Updated.
1999-07-21 17:28:27 +00:00
Spiros Papadimitriou
1f20f4ddca - Added Greek (el) locale. 1999-07-21 07:38:58 +00:00
Spiros Papadimitriou
accce610ae - Added Greek (el) locale. 1999-07-21 04:46:17 +00:00
Mark Crichton
276ec82df5 More fixes to the rotation code. It really works well now. Now we need to
More fixes to the rotation code.  It really works well now.  Now we need
to fix the "clipping when rotating" problem if it is a real issue.

Mark
1999-07-20 19:30:08 +00:00
Mark Crichton
8194b3483b Added translation to the rotate
Added translation to the rotate
1999-07-20 18:59:39 +00:00
Larry Ewing
e0fe931832 Fix a few memory leaks in the, most of them in error cases but one or two
1999-07-18  Larry Ewing  <lewing@gimp.org>

	* src/io-xpm.c:
	* src/io-gif.c:
	* src/io-png.c:
	* src/io-jpeg.c: Fix a few memory leaks in the, most of them in
	error cases but one or two in the common case.  There are probably
	a few small ones left.
1999-07-19 04:21:09 +00:00
Mark Crichton
6423183a63 Ok minor changes.
Ok minor changes.

No longer make a version.h, and cleaned up some code here and there, and added
a quickie dirty-hack rotation function.  However, it rotates at the origin.
Is this what we want?  Or do we want a rotate w.r.t. the center of the pixbuf?

Anyone.

Mark
1999-07-19 02:13:34 +00:00
Larry Ewing
e9ed2c18a7 reverted the expose everything changes, I'm not sure why these went in.
1999-07-16  Larry Ewing  <lewing@gimp.org>

	* src/testpixbuf.c (expose_func): reverted the expose everything
	changes, I'm not sure why these went in.
	(config_func): bring this up to date with the new pixbuf_scale
	semantics.

	* src/gdk-pixbuf-io.c: added a couple of warnings to the module
	loading code so that poeple can diagnose problems better.

	* src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
	no longer allocates a new pixbuf, which make things nicer for the
	rest of the code.  Unfortunately there is still a problem with
	scaling rgba images.
1999-07-17 20:03:34 +00:00
Mark Crichton
f12fbc1b32 Fixed up the scaling routine.
Fixed up the scaling routine.
1999-07-17 03:00:10 +00:00
Mark Crichton
96ba724fc5 Added scaling of pixmaps. Currently doesn't work, however, since I'm
Added scaling of pixmaps.  Currently doesn't work, however, since I'm guessing
how art_rgb_affine really works.

Mark
1999-07-16 20:35:21 +00:00
BST 1999 Tony Gale
1922a3ed01 Long awaited FAQ update.
Thu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>

        * docs/gtkfaq.sgml: Long awaited FAQ update.
1999-07-15 12:40:48 +00:00
Larry Ewing
bd943182b7 add raph@gimp.org's fix to the jpeg indexing routine
1999-07-15  Larry Ewing  <lewing@gimp.org>

	* src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
	indexing routine

	* src/testpixbuf.c (main): fix up the file routines a little so
	that you can load multiple files given the file names
1999-07-15 06:42:42 +00:00
Mark Crichton
de2313faf3 More fixes. See ChangeLog
More fixes.  See ChangeLog
1999-07-15 04:58:39 +00:00
Tor Lillqvist
38aa9a941b Implement it. Obscure bit manipulation needed.
* gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
 	it. Obscure bit manipulation needed.

	* gdk/win32/gdkevents.c: Logging.

	* gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
	style (file name include compiler name) for theme engines.
1999-07-14 23:30:15 +00:00
Pablo Saratxaga
7d03e87069 updated spanish language file 1999-07-14 17:35:32 +00:00
Mark Crichton
9b462c6024 configure.in: Fixed GIF check. Actually works now! src/gdk-pixbuf.c: More
configure.in: Fixed GIF check.  Actually works now!
src/gdk-pixbuf.c: More scaling work.
1999-07-13 07:01:08 +00:00
Mark Crichton
1d146b0d58 Doh. Forgot the libgif check. Also, slowly adding the scaling support That
Doh.  Forgot the libgif check.  Also, slowly adding the scaling support
That will be the next commit.

I also hope I got the configure.in right...

M
1999-07-13 06:21:40 +00:00
Mark Crichton
6992607bb0 Ok, we'll try this again.
Ok, we'll try this again.

io-xpm.c: Fixed.  Now actually loads XPMs instead of a big black blob.

configure.in : yes, I know it was broken.  It wasn't finished quite yet (I
always have larger fish to fry)

Oh, and if anyone touches this module again without emailing the people in
AUTHORS, I will go ballistic (after spending precious time figuring out why
this commit never happened the 1st time I tried...)
1999-07-13 01:01:14 +00:00
Tor Lillqvist
e3c310e538 Less logging verbiage.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.

	* gdk/win32/gdkevents.c: Fix long-standing bug in key
 	events. The key.string wasn't zero-terminated, still we strdup'ed
 	it in gdk_event_copy(). Synthesize crossing events for button
 	events before possible propagation.

	* gdk/win32/gdkwindow.c: Log gdk_window_set_title.

	* gdk/win32/makefile.cygwin
	* gtk/makefile.cygwin: Use new DLL naming style for the
 	GCC-compiled ones.

	* gdk/win32/makefile.msc
	* gtk/makefile.msc: Cosmetics mostly.

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

	* gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
1999-07-12 23:12:39 +00:00
Raja R Harinath
af663f9a3a Remove spurious `,'.
* configure.in (AC_OUTPUT): Remove spurious `,'.
1999-07-12 21:14:27 +00:00
Manish Singh
967288262c shut up cvs
-Yosh
1999-07-12 20:53:40 +00:00
Manish Singh
06c4493ef6 Fun automake fixins
-Yosh
1999-07-12 20:52:05 +00:00
Mark Crichton
834de2994e Still working on getting the system working. Nearing release, and one
Still working on getting the system working.  Nearing release, and one little
xpm bug to hunt down still.
1999-07-12 20:27:50 +00:00
Mark Crichton
38f428304e Some changes to do a "proper" install.
Some changes to do a "proper" install.

Makefile doesnt work, however.
1999-07-12 05:40:02 +00:00
Mark Crichton
7befe28245 Fixed crash-on-loading bug (width and height are not set until
Fixed crash-on-loading bug (width and height are not set until decompression
starts)

Mark
1999-07-12 04:55:16 +00:00
Tomas Ogren
451d40642c Updated
1999-07-10  Tomas Ogren  <stric@ing.umu.se>

* sv.po: Updated
1999-07-10 21:39:00 +00:00
Tor Lillqvist
c38f5f88eb Typo. 1999-07-10 00:29:00 +00:00
Tor Lillqvist
c9b2958b6c Don't draw anything if width or height is zero. Don't print a warning if
* gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
 	or height is zero. Don't print a warning if Pie or Arc fails, they
	always fail (?) for very narrow ellipses.

	* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
 	the part or the destination window corresponding to source area
 	outside of the source drawable's boundary.

	* gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
 	anything if less than two points.

	* gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
 	return NULL. Gtk cut-and-paste inside a single program works
 	better this way. (It always gets the clipboard contents from
 	Windows, not from its own copy, which is cleared anyway. I can't
 	say I fully understand what happens... Emulating the X selection
 	and property stuff is a bit of a mess.)

	* gdk/win32/gdkevents.c
	* gdk/win32/gdkproperty.c: A bt more verbose logging.

	* gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
 	that never got deleted). Revamp gdk_region_shrink.

	* gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
 	after use.

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

	* gtk/gtkrc.c: Strip trailing directory separator from pixmap path
 	component.
1999-07-10 00:26:54 +00:00
Mark Crichton
68f895bd68 Massive update...
Massive update...

gdk-pixbuf-io.c: Fixed to compile and run in a very crippled state.

io-bpm.c: Rough start on a WIN/OS2 BMP loader

testpixbuf.c: Really crude test program for gdk-pixbuf

io-gif.c: Fixed some boneheaded uninitalized variables causing the
loader to choke
1999-07-08 16:04:16 +00:00
Pablo Saratxaga
b10feaf1e9 updated euskara language file 1999-07-07 21:34:36 +00:00
Pablo Saratxaga
8c2c39529a little fix, added version of file 1999-07-06 01:08:15 +00:00
Pablo Saratxaga
359820b98c added euskara language file 1999-07-06 00:56:26 +00:00
Tor Lillqvist
5363075ebd Handle Control-digits specially.
* gdk/win32/gdkevents.c (gdk_event_translate): Handle
 	Control-digits specially.
1999-07-03 23:31:50 +00:00
Tor Lillqvist
d5d599c229 New pthreads version. Use gettext.
* gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
1999-07-03 02:13:51 +00:00
Tor Lillqvist
f178fb5bb7 Add a missing entry point. 1999-07-02 09:26:11 +00:00
Mark Crichton
d38c27bda1 Shut some thing up for cvs, and fixed AM_INSTALL macro.
Shut some thing up for cvs, and fixed AM_INSTALL macro.
1999-07-01 07:00:43 +00:00
Mark Crichton
8d072a4f58 Now we have very rudimentary tiff support.
Now we have very rudimentary tiff support.

I should use the loading logic in the GIMP plugin...
1999-07-01 06:59:07 +00:00
Mark Crichton
6cf7477093 Added some io-* loaders to the Makefile.am
Added some io-* loaders to the Makefile.am
1999-07-01 03:45:59 +00:00
Mark Crichton
feb9789e64 io-gif.c, io-png.c: Actually put the licencing terms in the code now...
io-gif.c, io-png.c: Actually put the licencing terms in the code now...
io-xpm.c: XPM parser baed off of gdk's, but this does something with the
transparent colors.
1999-06-30 15:28:43 +00:00
Michael Zucci
a0b1a437cc Added loader for jpeg->RGB.
Based really loosely on imlib's io-jpeg.c
1999-06-29 11:13:31 +00:00
Mark Crichton
42311804a4 io-png.c: changed g_malloc call for pixles to art_alloc (to be "correct")
io-png.c: changed g_malloc call for pixles to art_alloc (to be "correct")

io-gif.c: implemented GIF file loading.
1999-06-29 06:07:14 +00:00
Mark Crichton
a83f00d89e Ok, now it determines if it has an alpha channel. If it does, load it, if
Ok, now it determines if it has an alpha channel.  If it does, load it, if
not, don't make one.
1999-06-29 02:54:16 +00:00
Mark Crichton
8854db3c4f Redid io-png for gdk-pixbuf. Note that it'll add an opaque alpha channel
Redid io-png for gdk-pixbuf.  Note that it'll add an opaque alpha channel
to any png that doesn't have one, and will convert greyscale PNGs to RGBA.
1999-06-29 02:36:03 +00:00
Tor Lillqvist
fee33a543d bpl was set wrong for bitmaps, should be multiple of 4. (Thanks to Hans
* gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
 	bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
 	finding this.)
1999-06-28 07:06:01 +00:00
Tor Lillqvist
b385831d65 Fix some typos (mine). 1999-06-28 06:39:20 +00:00
Pablo Saratxaga
127bfb203e moved gtkrc.zh_TW to gtkrc.zh_TW.Big5 1999-06-25 22:21:15 +00:00
Pablo Saratxaga
ab49789a33 updated spanish language file 1999-06-24 19:27:38 +00:00
Pablo Saratxaga
29e22ec9bd changed 'ln' to '$(LN_S)' in the Makefile.am (it should be $(LN) but I don't
knwo how to make it available trough aoutoconf).
And removed various now redundant gtkrc.* files
1999-06-24 06:57:49 +00:00
Pablo Saratxaga
59f1b1cb96 updated walloon language file 1999-06-23 10:53:30 +00:00
Pablo Saratxaga
e002a729ca added gtkrc.* files for all encodings I know 1999-06-23 10:50:31 +00:00
Jose H Mercado
ecafc70e02 Final specfile cleanups from the honorable Jose Mercado.
1999-06-01  Jose H Mercado  <jmercado@mit.edu>

	* gtk+.spec.in: Corrected some typos in files section.
1999-06-21 23:12:26 +00:00
Pablo Saratxaga
1882f67a30 updated walloon language file 1999-06-21 22:26:11 +00:00
Pablo Saratxaga
b60ff5b695 updated walloon language file 1999-06-18 13:15:33 +00:00
Tor Lillqvist
a6afd23c5b Mention using GNU gettext. Enable NLS stuff. Use GNU gettext. Minor header
* README.win32: Mention using GNU gettext.
	* config.h.win32: Enable NLS stuff.
	* gtk/makefile.msc: Use GNU gettext.
	* gdk/win32/gdkdnd.c: Minor header reorg.
	* gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
	cosmetics.
	* gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
	* gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
1999-06-14 21:43:53 +00:00
Yuan-Chung Cheng
64c648d866 zh_TW.Big5.po 1999-06-11 11:56:22 +00:00
Yuan-Chung Cheng
92cff811a1 updated forzh_TW.Big5 po file 1999-06-11 11:54:15 +00:00
Pablo Saratxaga
e89ffda44e updated walloon language file 1999-06-10 16:19:14 +00:00
Kjartan Maraas
5134c92df6 Updated translation.
1999-06-09  Kjartan Maraas  <kmaraas@online.no>

		* no.po: Updated translation.
1999-06-09 11:06:43 +00:00
Vincent Renardias
f43e47dddc Complete translation.
* Complete translation.
1999-06-09 09:39:02 +00:00
Manish Singh
eefbd04215 upgrade to libtool 1.3.2 (BeOS changes merged)
-Yosh
1999-06-02 18:45:22 +00:00
Pablo Saratxaga
1d375ea289 updated walloon file 1999-06-01 00:02:12 +00:00
Pablo Saratxaga
7b8b856639 updated walloon file 1999-05-31 12:01:44 +00:00
Tor Lillqvist
16d002d074 AdjustWindowRectEx2 renamed to SafeAdjustWindowRectEx. Don't override all
* gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
 	SafeAdjustWindowRectEx. Don't override all calls to
 	AdjustWindowRectEx by it, but use it only in two places: When
 	creating a new top-level window and when moving a top-level
 	window.

	Use screen coordinate rectangle, not client rectangle, in
 	gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
 	when we try to place a window so that the decoration (mainly,
 	title bar) isn't visible.

	These changes fix the bug that showed up for instance as the
 	GIMP's saved top-level windows moving right and down (by an amount
 	equal to the window decoration) for each session. This bug showed
 	up also in testgtk's "Saved Position".

	gdk_window_resize also redone a bit.
1999-05-30 02:15:33 +00:00
lukka
e060cbf62a Update fi.po 1999-05-26 21:19:29 +00:00
Neil Vachharajani
76c28cbbad Fixed a forgotten period after a @xref. 1999-05-26 04:55:57 +00:00
Tor Lillqvist
34c2f20968 Add (commented out) Windows-style theme include line.
* gtk/testgtkrc: Add (commented out) Windows-style theme
	include line.

	* gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
1999-05-25 04:03:14 +00:00
Tor Lillqvist
1c73fc83a2 Typo. 1999-05-18 22:26:58 +00:00
Tor Lillqvist
330dd2f7c3 Copy our gdkprivate.h and gdkx.h to a gdk subdirectory, so that
* gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
 	gdkx.h to a gdk subdirectory, so that applications can include
 	these with <gdk/*.h> without trouble.

	* gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
	(gdk_image_destroy): Plugged resource leak, some GdkImages didn't
	have their bitmap destroyed.

	* gdk/win32/gdk.def: Add gdk_root_parent.
1999-05-18 22:23:23 +00:00
CDT 1999 Shawn T. Amundson
45dc3bcf82 changes to compile nicely (with xlib) on BeOS
Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>

        * configure.in
          gtk-config.in
          ltconfig
          ltmain.sh
          gtk/Makefile.am: changes to compile nicely (with xlib)
          on BeOS
1999-05-12 08:06:07 +00:00
Pablo Saratxaga
bf21aecc91 updated spanish language file 1999-05-06 01:14:50 +00:00
Manish Singh
f30c006cbb libtool 1.3
-Yosh
1999-05-01 22:20:16 +00:00
Lars Hamann
a313506013 merges from gtk-1-2
Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c:
	* gtk/gtkctree.c: merges from gtk-1-2
1999-04-30 11:48:42 +00:00
Tor Lillqvist
1c84483f3e Support added for building using a GNU toolchain on Win32,
gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.

	* gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
	* config.h.win32: Changes for gcc.
	* gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
	* gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
	* gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
	* gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
	Protect shl stuff unavaiilable with mingw32 headers.
	* gdk/win32/gdkevents.c: Fix typo.
	* gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
	* gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
	* gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
	* gdk/win32/gdkprivate.h: Make up for some stuff missing from
	the mingw32 headers.
	* gdk/win32/makefile.msc: Use latest Wintab kit and glib.
	* gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
	definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
	* gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
	Test for NATIVE_WIN32, not _MSC_VER.
	* gtk/gtkmain.c: No use warning about developer version on Win32,
	there aren't any non-developer versions anyhow.
	* gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
	* gtk/makefile.msc: Use pthread from another directory. Minor other
	changes.
1999-04-25 21:55:05 +00:00
Changwoo Ryu
eedec945df Updated Korean translation
1999-04-24  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>

	* ko.po: Updated Korean translation
1999-04-24 14:25:57 +00:00
Pablo Saratxaga
05c3a18b37 added gtkrc.?? files for various iso-8859-2 languages,
for greek (iso-8859-7), hebrew (iso-8859-8), serbian (iso-8859-5),
turkish (iso-8859-9), esperanto (iso-8859-3) and armenian (armscii-8)
1999-04-23 04:24:41 +00:00
George Lebl
ff0ec3ac91 correctly remove the default filter from the list
Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>

        * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
          default filter from the list
1999-04-21 21:30:39 +00:00
Drazen Kacar
a76ae0cc9a *** empty log message *** 1999-04-16 23:42:35 +00:00
Drazen Kacar
c1ba0be318 Added Croatian translation. 1999-04-16 23:40:15 +00:00
Vincent Renardias
e2d3078d3c completed/updated translation. 1999-04-15 14:52:01 +00:00
Owen Taylor
b76c1c7bd2 Add a warning when gtk_widget_grab_default() is called for a widget that
Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
	 when gtk_widget_grab_default() is called for a widget that
	 is not within a GtkWindow.
1999-04-13 05:13:20 +00:00
BST 1999 Tony Gale
9ccee8a3fc use a scrolled window in the clist example. Minor tutorial fixes.
Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>

        * docs/gtk_tut.sgml, examples/clist.c: use a
          scrolled window in the clist example. Minor
          tutorial fixes.
1999-04-10 12:55:24 +00:00
Pablo Saratxaga
42e38e41f7 added catalan language file 1999-04-08 22:55:14 +00:00
Pablo Saratxaga
578d91f381 updated spanish & walloon language files,
and completed i18n of font selector
1999-04-05 16:20:24 +00:00
Pablo Saratxaga
d05cf752dc updated spanish language file and added walloon language file 1999-04-05 05:17:55 +00:00
Pablo Saratxaga
ef68de7b87 updated spanish language file 1999-04-05 04:06:31 +00:00
Pawe Dziekoski
4ca8d37b82 Merge PLD cvs tree:
Merge PLD cvs tree:

1999-04-02  Pawe Dziekoski  <dziekons@pld.org.pl>

        * gtk+.pl.po: Kilka nowych tumacze.
1999-04-02 15:11:40 +00:00
BST 1999 Tony Gale
900944ab01 Style check from David King <dking@youvegotmail.net>
Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>

        * docs/gtk_tut.sgml: Style check from David King
          <dking@youvegotmail.net>
1999-04-02 08:21:07 +00:00
Pavel Machek
57afb2b588 Make code compile with unknown value of GDK_WINDOWING
1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
	compile with unknown value of GDK_WINDOWING
1999-03-30 12:06:00 +00:00
Yukihiro Nakai
0dfcb2d2be ja.po update.
ja.po update.
1999-03-30 11:33:28 +00:00
Yukihiro Nakai
8125476783 ja.po update from Yasuhiro SHIRASAKI<yasuhiro@awa.tohoku.ac.jp>
ja.po update from Yasuhiro SHIRASAKI<yasuhiro@awa.tohoku.ac.jp>
1999-03-30 11:31:10 +00:00
Raja R Harinath
32f6e0a4ce Make sure `gdkconfig.h' exists after the rule is fired.
* gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
after the rule is fired.
(install-exec-local): Install gdkconfig.h only if the contents are
different from the currently installed gdkconfig.h.

Rationale:
`make install-exec' is meant to install files that go into
$exec_prefix, which includes `gdkconfig.h'.  However, developers use
`make install-exec' when they know that none of the headers have
changed, to prevent needless recompiles of other packages.  My
previous change of installing `*config.h' during `make install-exec'
undermines this, even though it is the right thing to do.  So, in the
spirit of "do the right thing first, optimize later", here's the
optimization.
1999-03-29 00:15:02 +00:00
Raja R Harinath
55a5d2144d Fix type in log entry. 1999-03-28 19:58:37 +00:00
Raja R Harinath
65204240f9 Rename from configincludedir so that glibconfig.h will be installed as
* gdk/Makefile.am (configexecincludedir): Rename from
configincludedir so that glibconfig.h will be installed
as part of `make install-exec'.
1999-03-26 21:07:36 +00:00
Tomasz Kłoczko
733c5614e5 - added gtkrc.pl.
- added gtkrc.pl.
1999-03-26 04:03:44 +00:00
Tomasz Kłoczko
8de14d3353 - more pl translations.
- more pl translations.
1999-03-25 23:50:11 +00:00
Szabolcs Ban
993d986ee2 Shooby Ban <bansz@szif.hu>
* updated hungarian translations
1999-03-24 10:39:25 +00:00
Elliot Lee
f03d0014a3 *** empty log message *** 1999-03-21 19:40:49 +00:00
Manish Singh
d2922401e5 acinclude.m4 config.guess config.sub ltconfig upgrade to libtool 1.2f
* acinclude.m4
* config.guess
* config.sub
* ltconfig
* ltmain.sh: upgrade to libtool 1.2f

* autogen.sh: libtool is not required to autogen gtk+

* acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly needed)

-Yosh
1999-03-20 00:52:36 +00:00
Tor Lillqvist
f3e95348be Include gdkprivate.h withouh gdk/ path, as it shouldn't be in the common
* gtk/simple.c gtk/makeenums.h: Include gdkprivate.h withouh gdk/
 	path, as it shouldn't be in the common gdk directory.

	* gtk/gtkcompat.h.win32: New file.

	* gtk/gtkfeatures.h.win32: Removed.

	* gtk/makefile.msc: Make gtkcompat.h from gtkcompat.h.win32. Use
 	gdk library from correct (../gdk/win32) directory.
1999-03-18 18:44:04 +00:00
Tor Lillqvist
0b4d29fd6e Merge in Win32 version: Define macro GDKVAR for declaring gdk variables
* gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
declaring gdk variables exported/imported from the DLL. New image
type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
GDK_DRAG_PROTO_OLE2.

* gdk/gdk.h: Merge in Win32 version: Two new functions,
gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
declared only for the Win32 version, but could be in the X11
version as well. (Needed for a Xlib-less gdk_imlib.)
gdk_color_hash should have only one parameter. Declare
gdk_threads_mutex with GDKVAR.

* gdk/gdkcolor.c (gdk_color_hash): As a hash function should have
just one parameter.

* gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
per pixel, not bits.

* gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
Fetch bpp (which means bits-per-pixel here) from another place on
Win32. Accept also depth==32 (which we might get on Win32) with
bpp==32.

* gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
in the backend-dependent directory, not in the common gdk
directory.

* gtk/testgtk.c: Ditto. Also, don't use ../gdk patchs to gdk
headers.
1999-03-17 23:02:10 +00:00
Tor Lillqvist
d142187b38 Fixes to the win32 backend to actually be able to compile within a
directory hierarchy like this, with common gdk.h and gdktypes.h
for all backends. gdkrectangles.c and gdkrgb.c is copied before
compilation from the x11 backed (which still is in .., but
eventually will be in ..\x11).
1999-03-17 20:12:47 +00:00
Tim Janik
9f513b1840 tell people that they don't really want to use the Gtk+ devel version
Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
        want to use the Gtk+ devel version (which is true, and yes - even i am
        currently working with the 1.2.x branch). so everyone reading this, you
        probably want to issue
        cvs checkout -r glib-1-2 glib
        and
        cvs checkout -r gtk-1-2 gtk+
        as your next two comands.
1999-03-17 04:18:47 +00:00
Stuart Parmenter
95931e18aa merges from stable branch 1999-03-17 03:42:22 +00:00
Tim Janik
2d49bbb044 build gtkcompat.h from gtkcompat.h.in instead of gtkfeatures.h from
Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>

        * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
        gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.

        * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
        file. strongly deprecated the GTK_HAVE_* macros, we provide
        GTK_CHECK_VERSION() for people that need to check for certain
        Gtk+ versions.

        * gtk/gtkcompat.h: removed this from CVS.
        * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
        idea right from the start, it just didn't seem like that back then.
1999-03-17 02:43:20 +00:00
Tim Janik
f045ba415a Tue Mar 16 17:43:33 1999 Tim Janik <timj@gtk.org>
Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>

        * merges from gtk-1-2:

Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
        item factory class has been created.
        (gtk_item_factory_parse_rc): likewise.

        * gtk/gtkmenu.c:
        keep proper references for old_active_menu_item.
        (gtk_menu_reparent): unset the usize of the new parent,
        so the menu can sanely be size requested and we don't get nasty screen
        artefacts upon next reparentation.
        (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
        enter notify. only synthesize enter notifies if the pointer really is
        inside the event window.
        (gtk_menu_popdown): use gtk_menu_shell_deselect().
        (gtk_menu_popup): move the background setting stuff into
        gtk_menu_tearoff_bg_copy() so it can be called from other places as well.

        * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
        gtk_menu_shell_select_item() to select the new item.
        (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
        do the right thing for deselection as well.

Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.[hc]:
        (gtk_widget_accelerators_locked): return whether a widget's accelerators
        are locked.

        * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
        existing accelerators if the widget's accelerators are locked.

Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.

        * gtk/gtkmenu.c: truely forward key press and key release events to
        the menu widget from the toplevel or tearoff window. we can't simply
        connect to that, we need to stop further processing of the events as
        well.

Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenu.c:
        (gtk_menu_key_press): pass event->keyval, event->state to
        gtk_accelerator_valid, instead of event->keyval twice.
        refuse to install single letter accelerators for menus that use
        single letter shortcuts.

        * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
        gtk_menu_ensure_uline_accel_group().

        * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
        which will always return an uline accel group, made
        gtk_menu_get_uline_accel_group() return NULL if the group isn't
        yet created.

Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.

        * gtk/gtkclist.c (gtk_clist_column_title_passive):
        Leave button sensitive, trap  button_press, button_release,
        motion_notify, enter_notify and leave_notify events instead.
        (gtk_clist_column_title_active): disconnect event handler.
        (gtk_clist_drag_data_get): fixed memory leak. Reported by
        Guillaume Laurent <glaurent@worldnet.fr>

Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>

        * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
        width/height mixups.

        * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
        if needed.

Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c (create_item_factory): unref the item factory after
        window's destruction.

        * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
        count on the menu shell around the menu item's activation, since the
        signal emission may cause menu shell destruction.

        * gtk/gtkitemfactory.c:
        the previous code leaked one accel group per menu. we use
        gtk_menu_get_uline_accel_group() now to fix that, and with that
        also create the underline accelerator group of the menus only if
        required (i.e. an underline accelerator has been specified).
        (gtk_item_factory_construct):
        (gtk_item_factory_create_item): removed code that would create an
        extra accel group for the menu (and leak references).
        (gtk_item_factory_create_item): adapted the underline accelerator
        installation code to properly feature gtk_menu_get_uline_accel_group().

        * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
        menu->accel_group, this may return NULL if the accelerator group
        hasn't been set yet.
        added gtk_menu_get_uline_accel_group() to retrive the underline
        accelerator group of the menu, this will be created on demand
        and proper care is taken about its reference count.

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c:
        dumped the approach of keeping a widgets by action list on the
        factory since the factory<->widget destroy negotiation didn't work
        and would be hard to get going at all. instead we keep a list of
        GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
        persistant throughout a program's life time).
        also, i removed the static const gchar *key_* variables, and made
        them inline strings (they weren't actually used anyways).
        (gtk_item_factory_add_item): update ifactory->items.
        (gtk_item_factory_destroy): destroy ifactory->items (and remove
        the item factory pointer from the remaining ifactory widgets).
        (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
        list to find the widget.
        (gtk_item_factory_get_item): new function that works around
        gtk_item_factory_get_widget() limitations, this function will only
        return menu items, even for <Branch> entries.

Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
        font hash table, if we have a GdkFontPrivate entry for this font
        already, simply increment its reference count, provided by Olaf Dietsche
        <olaf.dietsche+list.gtk@netcologne.de>.

        * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
        provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.

Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.c:
        (gtk_container_add_with_args):
        (gtk_container_addv):
        (gtk_container_add): before adding a child to a conatiner, make sure
        it is (default) constructed, this is neccessary because under certain
        circumstances the child will get relized and mapped immediatedly, in
        which case it has to be constructed already.

Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
        values > 1 as TRUE also.
1999-03-17 01:39:42 +00:00
Tor Lillqvist
db30076b0b Check for lstat.
* configure.in: Check for lstat.

* config.h.win32: Add non-definition of HAVE_LSTAT, just for
completeness.

* gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.

* gtk/gtk.def: Removed CRs.

* gtk/makefile.msc: Correct include path to Win32 GDK version (in
..\gdk\win32).

* gdk/win32/makefile.msc: Correct upwards relative paths.
1999-03-16 20:03:50 +00:00
Tor Lillqvist
8599979585 Actually change <strings.h> to <string.h> as I already said in the
ChangeLog, but had not done after all.
1999-03-15 17:48:28 +00:00
Mikko Rauhala
43ab625770 Added a Finnish translation of gtk+. 1999-03-15 13:29:33 +00:00
George Lebl
cb8adfba87 swap the gtk_drag_highlight_expose and gtk_drag_highlight_paint since it
Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>

        * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
          gtk_drag_highlight_expose and gtk_drag_highlight_paint since
          it was connecting a void function to expose_event and the int
          returning function to the draw signal
1999-03-15 11:42:44 +00:00
Jeff Garzik
90d69893fd Use correct path to libgmodule.la when ref'ing uninstalled copy of glib.
1999-03-14  Jeff Garzik  <jgarzik@pobox.com>

        * configure.in:
        Use correct path to libgmodule.la when ref'ing uninstalled copy
        of glib.  (Already in stable branch, Bug #417)
1999-03-15 03:26:12 +00:00
Tor Lillqvist
0a23dccde4 Forgot to document maketypes.awk change in ChangeLog. Added gdk.def file. 1999-03-15 00:08:22 +00:00
Tor Lillqvist
c65508d272 This might seem like a large patch, but it isn't that bad, and nothing
should break on Unix/X11.

Win32 merge and general portability stuff:

* acconfig.h,configure.in: Check for <sys/time.h>.

* gdk/win32: New directory (actually, been there for a while).

* gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
NATIVE_WIN32, and use these. Always case fold on Win32. No
backslashed escapes on native Win32.

* gtk/{gtk.def,makefile.msc}: New files.

* gtk/Makefile.am: Add above new files.

* gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
instead of <strings.h>.

* gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
<unistd.h> appropriately.

* gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
Use ABS() (from <glib.h>) instead of abs().

* gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
of gtk (and thus glib) headers, so that WIN32 will be
defined. With MS C, include <direct.h> for mkdir prototype.

* gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
some casts, needed by MS C.

* gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
implemented).

* gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
<X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
G_SEARCHPATH_SEPARATOR_S and g_module_build_path.

* gtk/gtkmain.h: Mark variables for export/import on Win32.

* gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
the event is not a hint, or its window is not the slider. Needed
on Win32, at least.

* gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
a subdirectory of the Windows directory as gtk system
configuration directory.

* gtk/gtkselection.c: No chunks on Win32.

* gtk/gtksocket.c: Not implemented on Win32.

* gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.

* gtk/makeenums.h: Include gdkprivate.h after gdk.h.

* gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
1999-03-15 00:03:37 +00:00
Raja R Harinath
044fd2db47 Move widechar tests from `glib' to here, since those were meant only for
1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>

	* configure.in (gdk_wc): Move widechar tests from `glib' to here,
	since those were meant only for gdki18n.h.
	* gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
	for widechar tests.
	* gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
1999-03-14 03:27:33 +00:00
Tor Lillqvist
a3c5d33f26 Configure now generates a gdkconfig.h file, in similar way as GLib's
configure generates glibconfig.h. Currently it only defines what
windowing API GDK uses, and on Unix (where configure scripts are
used), it's always X11...

Include gdkconfig.h in gdktypes.h.

gdkconfig.h is installed in @libdir@/gtk+/include (like glibconfig.h
is in @libdir@/glib/include). (This might be debatable?) Add that to
gtk-config --cflags.

Merge in Win32 changes to gtkfontsel.c
1999-03-13 16:40:24 +00:00
Tor Lillqvist
0d81100af3 Don't append a * to the pattern to complete if the user entered one
herself.  This way one can complete *.h and don't get matches on any
.help files, for instance.
1999-03-13 01:24:10 +00:00
Tor Lillqvist
b82992851f Check for dirent.h and pwd.h.
* configure.in acconfig.h: Check for dirent.h and pwd.h.

* gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
expansion (based on HAVE_PWD_H), allow for drive letters UNC
names not handled yet. Also, code from Craig Setera's port to
Win32 that uses cygwin.dll
1999-03-13 01:14:19 +00:00
Tor Lillqvist
700891684e Check for NULL parameter in gdk_font_load. Plug a memory leak in gdkim.c. 1999-03-12 20:12:58 +00:00
Tim Janik
0c178e965c first lookup the xfont ID in our font hash table, if we have a
Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
        font hash table, if we have a GdkFontPrivate entry for this font
        already, simply increment its reference count, provided by Olaf Dietsche
        <olaf.dietsche+list.gtk@netcologne.de>.

        * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
        provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
1999-03-10 01:15:03 +00:00
Federico Mena Quintero
ac7b6805f4 Significantly reduced the number of calls to gdk_draw_point() (and thus to
1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
	the number of calls to gdk_draw_point() (and thus to X) by
	clipping the points by hand.

	* gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
	the clip parameter.
	(gtk_handle_box_paint): Only paint the handle if the expose area
	intersects it.
1999-03-09 21:26:57 +00:00
Tor Lillqvist
91ed4f809f Some bug fixes and improvements to the Win32 GDK. 1999-03-07 22:25:54 +00:00
Asbjørn Pettersen
6cda2a2021 add dll suffix 1999-03-07 17:48:02 +00:00
Asbjørn Pettersen
ee03faee2a add gen_8_3_dll_name() 1999-03-07 10:46:34 +00:00
Tor Lillqvist
fd1b869a35 cur files are binary. Changed to -kb and committed the correct versions,
previously (in text mode) had been cut off at a ^Z by the Windows CVS client...
1999-03-06 08:45:07 +00:00
Tor Lillqvist
17dd9e43dc cur files are binary. cvs admin -kb and recommit. 1999-03-06 08:42:03 +00:00
Tor Lillqvist
9f3b82e178 Win32 version of GDK source files and resource files (cursors and icons). 1999-03-05 19:53:56 +00:00
Asbjørn Pettersen
ced58eb136 open in text mode 1999-03-05 08:18:09 +00:00
Stefan Jeske
209f5d5cd4 Added two new signals to GtkSpinButton, "input" and "output", to make the
* gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to
	GtkSpinButton, "input" and "output", to make the output more flexible.
 	The user has to provide a mapping between adjustment->value and the
 	output string (and vice versa, if the spin button is editable).
	See testgtk for examples.
1999-02-28 16:04:47 +00:00
Tim Janik
e84df313c4 merging minor fix from gtk+-1-2 1999-02-27 00:38:52 +00:00
Tim Janik
78bb15f61e moved old ChangeLog to ChangeLog.pre-1-2, and started new one.
Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>

        * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
        new one.

        * configure.in: set gtk+ version to 1.3.0.
1999-02-27 00:26:30 +00:00
Pablo Saratxaga
81161cd723 upgraded spanish language file 1999-02-27 00:03:42 +00:00
CST 1999 Shawn T. Amundson
996f8e931a Incremented version to 1.2.0. -Shawn <amundson@gtk.org>
Incremented version to 1.2.0.  -Shawn <amundson@gtk.org>

Also:

Wed Feb 24 05:26:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkitemfactory.h: added a dummy gpointer to
          GtkItemFactoryClass for Tim Janik.

Mon Feb 22 21:22:11 1999  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcontainer.h gtk/gtkwidget.h: Added some
          padding to class structures to allow addition
          of signals without breaking binary compatibility.
1999-02-25 21:39:14 +00:00
Tim Janik
2a4c97f3b3 still request the extra width or height if the corresponding scrollbar is
Thu Feb 25 13:38:38 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): still
        request the extra width or height if the corresponding scrollbar is
        already visible (the change from 09:50 needs to apply to policy ==
        GTK_POLICY_AUTOMATIC only).
1999-02-25 14:08:50 +00:00
Tim Janik
473e31208e updates, i left the text widget related portions in there, to serve as a
Thu Feb 25 11:27:36 1999  Tim Janik  <timj@gtk.org>

        * TODO: updates, i left the text widget related portions in there,
        to serve as a guide line for things to watch out for when it gets
        reimplemented.
1999-02-25 10:29:38 +00:00
Tim Janik
3a3a0ef97b don't add extra width or height if the requested size is mandatory (i.e.
Thu Feb 25 09:50:38 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): don't add
        extra width or height if the requested size is mandatory (i.e. set
        through child->usize).
1999-02-25 08:58:23 +00:00
CST 1999 Shawn T. Amundson
cf7888fdaf New function gtk_menu_reorder_child() from Tim Janik.
Thu Feb 25 02:13:20 CST 1999 Shawn T. Amundson <amundson@gtk.org>

	* gtk/gtkmenu.[ch]: New function gtk_menu_reorder_child()
	  from Tim Janik.

This will be used in GIMP, so it is tested there.
1999-02-25 08:17:13 +00:00
Tim Janik
c9cda15e70 removed bogus line 1999-02-25 06:53:27 +00:00
Owen Taylor
b515672a1e Don't access *bitmapped_sizes if nbitmapped_sizes == 0. (Pointed out by
Thu Feb 25 00:48:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkfontsel.c: Don't access *bitmapped_sizes
	if nbitmapped_sizes == 0. (Pointed out by
	zucchi@zedzone.fsi.com.au (Michael Zucchi))
1999-02-25 05:52:00 +00:00
Owen Taylor
b1135416f2 Make prototypes for drag_data_get and drag_data_received handlers match
Wed Feb 24 23:12:09 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.h gtk/gtkclist.c: Make prototypes
	for drag_data_get and drag_data_received handlers
	match the types used for gtk_singal_new; time needs
	to be a uint, not a uint32.
1999-02-25 04:06:15 +00:00
Owen Taylor
f9a27ad6fd Changed bug reporting instructions to describe using the GNOME bug
Wed Feb 24 20:34:59 1999  Owen Taylor  <otaylor@redhat.com>

	* README: Changed bug reporting instructions to
	describe using the GNOME bug tracking system.
1999-02-25 01:28:31 +00:00
Owen Taylor
da219872d8 Unset the clip mask for the GC if we set it. (Patch from Lars Hamann
Wed Feb 24 19:08:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclist.c (draw_cell_pixmap): Unset the clip
	mask for the GC if we set it. (Patch from
	Lars Hamann <lars@gtk.org>)
1999-02-25 00:04:18 +00:00
Tim Janik
6333998df4 added function to check if a specific signal handler connection exists
Thu Feb 24 23:58:44 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_handler_pending_by_id): added function
        to check if a specific signal handler connection exists (similar to
        gtk_signal_handler_pending_by_func). and yes, this is a neccessary
        addition, since without this function, signal handlers can not be
        (un)blocked or disconnected in a generic fashion without producing
        g_warnings().
        made gtk_signal_get_handlers() an inline function since it's used in
        a lot of places, especially within signal emission.
1999-02-24 23:34:14 +00:00
Kjartan Maraas
59c4671866 Updated translation. (monospaced is still missing)
1999-02-25  Kjartan Maraas  <kmaraas@fib.hl.no>

		* Updated translation. (monospaced is still missing)
1999-02-24 23:23:06 +00:00
Tim Janik
3ae4d004ca if the widget is not editable, don't silently eat up GDK_Return, GDK_Home
Wed Feb 24 19:35:15 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtktext.c (gtk_text_key_press): if the widget is not editable,
        don't silently eat up GDK_Return, GDK_Home and GDK_End, return FALSE
        instead so the user can still hook up key bindings.
1999-02-24 18:47:49 +00:00
Tim Janik
c4fe78345e warn about &widget->requisition, even for toplevels.
Wed Feb 24 11:19:12 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_size_request): warn about
        &widget->requisition, even for toplevels.

        * gtk/gtkwindow.c (gtk_window_move_resize): request size into an
        automatic variable and check if our size has changed.
        when we decide to reallocate everything, we need to resize our
        own GdkWindow as well.

        * gtk/gtkmain.c:
        * gtk/gtkobject.c: hack time, make --gtk-debug=objects work even
        after gtk_type_init(), this is to "fix" gnome's arg parsing oddities.

        * gtk/gtktypeutils.h: don't segfault in GTK_CHECK_CLASS_TYPE and
        GTK_CHECK_TYPE upon NULL pointers.

        * gtk/gtklayout.c: removed bogus prototypes of gtk_layout_gravity_works,
        gtk_layout_set_static_gravity, gtk_layout_add_child_cb and
        gtk_layout_remove_child_cb to shut up compiler.

        * gtk/Makefile.am: added an empty rule
        gtkrc:
                :
        so make doesn't try to "update" gtkrc from gtkrc.c.
1999-02-24 16:29:47 +00:00
CST 1999 Shawn T. Amundson
082c0c8975 removed gtkrc rule added by Sergey Panov, because GTK+ no longer built. We
Wed Feb 24 05:53:15 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * gtk/Makefile.am: removed gtkrc rule added by
          Sergey Panov, because GTK+ no longer built.  We
          don't need to install an empty gtkrc anyway.
1999-02-24 11:56:10 +00:00
CST 1999 Shawn T. Amundson
279e878bdd Added notice to look in AUTHORS and ChangeLog files for a list of changes.
Wed Feb 24 01:22:39 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * *.[ch]: Added notice to look in AUTHORS and ChangeLog files
	  for a list of changes.
1999-02-24 07:37:18 +00:00
Tim Janik
26ffb00362 fix implicit branch creation, we need the *real* parent path for this and
Tue Feb 23 17:52:37 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.c (gtk_item_factory_create_item): fix implicit
        branch creation, we need the *real* parent path for this and
        gtk_item_factory_parse_path() only returns the parent path with "_?"
        stripped off.
1999-02-23 19:42:53 +00:00
Pavel Machek
e3eedba2f9 You don't need to check one variable twice (trivial bugfix). 1999-02-23 14:18:38 +00:00
Owen Taylor
148e766334 When sending events to windows with a proxy, set the window field in the
Mon Feb 22 19:06:30 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (xdnd_send_*): When sending events to
	 windows with a proxy, set the window field in the
	 sent event to the original window, not to the proxy.
	 (This gives consistency with Motif, and also provides
	  information to the destination that it wouldn't have
	  otherwise).

	* gtk/gtkdnd.c: Fixed some refcount leaks for windows.

	* gdk/gdkdnd.c (xdnd_send_xevent): When sending
	 Xdnd event to the root window, set the event mask
	 to ButtonPressMask. Hopefully, this should give us
	 compatibility with kfm, if it uses the Qt style
	 of root window drops.
1999-02-23 00:43:26 +00:00
GMT 1999 Tony Gale
d5aed59bbc - Complete the ProgressBar API - Fix the CList example code
Mon Feb 22 08:45:10 GMT 1999 Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml:
          - Complete the ProgressBar API
          - Fix the CList example code

        * examples/clist/clist.c, examples/progressbar/progressbar.c:
           Update from tutorial
1999-02-22 08:51:02 +00:00
Owen Taylor
619ca57c5a Removed check-y/check-n backgrounds - the effect looked like a bug.
Sun Feb 21 17:44:52 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtkrc: Removed check-y/check-n backgrounds -
	 the effect looked like a bug.
1999-02-21 22:38:59 +00:00
Owen Taylor
16561707f8 Always set the max width or height to at least 1, since 0 triggers bugs in
Sun Feb 21 17:14:44 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_geometry_hints): Always
	 set the max width or height to at least 1, since 0
	 triggers bugs in some window managers. (The window
	"pops out" of the frame in fvwm)
1999-02-21 22:12:00 +00:00
Owen Taylor
039d738e3b Changed warnings from g_message() to g_warning().
Sun Feb 21 16:16:22 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkscrolledwindow.c gdk/gdkfont.c gdk/gdkim.c:
	 Changed warnings from g_message() to g_warning().

	* gdk/gdkim.c (gdk_ic_destroy): Changed g_print
	 to g_message within GDK_NOTE()

	* gtk/gtkcolorsel.c  gtk/gtkhandlebox.c:
	 Removed some leftover debugging printfs.
1999-02-21 21:24:02 +00:00
Michael Fulbright
f3f493abbb I've made the spec file autogenerated and I updated the file list
Dr Mike <drmike@redhat.com>
1999-02-21 21:00:23 +00:00
Owen Taylor
25cdbd3560 Account for the fact that Xlib expects format == 32 to be a long, even on
Sun Feb 21 15:59:55 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/MwmUtil.h gdk/gdkwindow.c: Account for the
	fact that Xlib expects format == 32 to be a long,
	even on 64-bit architectures.

	[ patch from George Lebl (jirka@5z.com) ]
1999-02-21 20:55:04 +00:00
Owen Taylor
295e763b4d removed debugging statements about embedded XID's. They could have been
Sun Feb 21 14:21:46 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c: removed debugging statements
	about embedded XID's. They could have been
	moved to the new PLUGSOCKET debug key, but they weren't
	really useful anyways.

	* gdk/gdk.h: Added gdk_error_trap_push/pop to provide
	a clean interface to the gdk_error_code functionality
	of trapping X errors.

	* gtk/gtkplug.c gtk/gtksocket.c: Add error
	traps around accesses to foreign windows.
1999-02-21 19:25:53 +00:00
Tim Janik
e8cfe9062f marked gtk_window_set_focus, gtk_window_set_default,
Sun Feb 21 15:37:25 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwindow.h: marked gtk_window_set_focus, gtk_window_set_default,
        gtk_window_remove_embedded_xid and gtk_window_add_embedded_xid as
        internal functions.
1999-02-21 19:01:08 +00:00
Owen Taylor
58e63f08ae Revise algorithm for scrolling backwards. This one might actually work
Sun Feb 21 11:39:06 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c (find_line_containing_point): Revise
	algorithm for scrolling backwards. This one might actually
	work with one-line-high	Text widgets.

	* gtk/gtkmain.c: Removed a misplaced comment, a few
	formatting cleanups.
1999-02-21 18:02:14 +00:00
Tim Janik
b0558e089e hm, set_modal doesn't really work with random gtk_grab_add/gtk_grab_remove
Sat Feb 20 20:59:25 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwindow.c: hm, set_modal doesn't really work with random
        gtk_grab_add/gtk_grab_remove calls. either the window user uses
        the set_modal interface or he places grab_add/grab_remove on his own.
        (gtk_window_set_modal): enforce modality state either way.
        (gtk_window_hide): revert previous change.
1999-02-20 20:11:23 +00:00
Tim Janik
32b008bf56 increment years and months by two not three on double clicks, patch
Sat Feb 20 20:04:48 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkcalendar.c (gtk_calendar_button_press): increment years and
        months by two not three on double clicks, patch provided by Nick Lamb
        <njl98r@ecs.soton.ac.uk>.
1999-02-20 19:09:21 +00:00
Tim Janik
e0e893da8f added ::modal argument. (gtk_window_hide): reset window->modal from the
Sat Feb 20 19:44:36 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwindow.c: added ::modal argument.
        (gtk_window_hide): reset window->modal from the current grab state
        (this is only relevant when grab_add/grab_remove is called on the
        window by bypassing gtk_window_set_modal).
        (gtk_window_remove_embedded_xid):
        (gtk_window_add_embedded_xid): don't use g_print() but g_message()
        within #ifdef G_ENABLE_DEBUG. when the hack got these functions
        added (ChangeLog doesn't know them)?
1999-02-20 19:00:53 +00:00
Sergey I. Panov
af1efabafb Collecttion of the locale dependent gtkrc files and
* gtk/gtkrc,gtk/gtkrc.ja, gtk/gtkrc.ko,
        gtk/gtkrc.ru: Collecttion of the locale dependent
        gtkrc files and

        * gtk/Makefile.am: patched to get that collection
        installed in to $(prefix)/etc/gtk/
1999-02-19 20:09:53 +00:00
Tim Janik
03d9f983de grouped function names into application-level, widget-level and
Fri Feb 19 17:52:28 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.h: grouped function names into application-level,
        widget-level and non-public.

        * gtk/gtktreeitem.c (gtk_tree_item_size_request): use auto
        pix_requisition instead of item->pixmaps_box->requisition.
1999-02-19 18:07:29 +00:00
Owen Taylor
b60c8a83d7 When queueing clears relative to widget->window, actually store
Thu Feb 18 17:26:09 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_queue_clear_area):
	 When queueing clears relative to widget->window,
	 actually store widget->window so we know that
	 the coordinates are window-relative.
1999-02-18 22:36:40 +00:00
Owen Taylor
213c516091 Fix glib_config_args gtk_config_args confusion. (pointed out by Roland
Thu Feb 18 11:46:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk.m4: Fix glib_config_args gtk_config_args
	  confusion. (pointed out by
	  Roland Dreier <droland@mail.math.okstate.edu>)

	* gtk/gtksocket.c gtk/gtkmain.c gtk/gtkdebug.h
	  (gtk_socket_filter_func): Move the plug-socket
	  debugging code to a new "plugsocket" debug keys
	  from the previous hardcoded DPRINTF.
1999-02-18 16:43:42 +00:00
Tim Janik
63e669a75f added widget arg ::titles_active.
Thu Feb 18 00:54:46 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.c: added widget arg ::titles_active.
1999-02-18 00:35:11 +00:00
Tim Janik
432be67c9d only translate widget relative coordinates to window relative if the
Thu Feb 18 00:27:46 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_queue_clear_area): only translate widget
        relative coordinates to window relative if the widget is not a toplevel
        (i.e. it has ->parent != NULL), otherwise the area size gets screwed up
        for toplevels.
1999-02-17 23:31:34 +00:00
Szabolcs Ban
cb54775dab Shooby Ban <bansz@szif.hu>
* Commited missing Changelog entry
1999-02-17 07:19:53 +00:00
Nuno Ferreira
666bb6e1bf Updated.
1999-02-17  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* pt.po: Updated.
1999-02-17 01:25:37 +00:00
Szabolcs Ban
b46aed94c3 Shooby Ban <bansz@szif.hu>
* Added lang hu
1999-02-16 22:25:54 +00:00
Szabolcs Ban
db2f396bfc Shooby Ban <bansz@szif.hu>
* Added hungarian translations
1999-02-16 22:08:54 +00:00
CST 1999 Shawn T. Amundson
f15ea7024b version = 1.1.16
Tue Feb 16 14:25:44 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * INSTALL
          README
          configure.in
          gtk+.spec
          docs/gtk-config.1: version = 1.1.16

        * Makefile.am: removed colorsel example since it
          doesn't actually exist.

        * Released GTK+ 1.1.16
1999-02-16 21:25:25 +00:00
Vincent Renardias
89b9ff8b2b Tue, 16 Feb 1999 12:51:56 +0100
* Complete translation + some contributed fixes.
1999-02-16 11:51:41 +00:00
Owen Taylor
bf39d4cda9 Use a ScrolledWindow test how Text widgets work within ScrolledWindow.
Mon Feb 15 23:55:27 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c (create_text): Use a ScrolledWindow
	 test how Text widgets work within ScrolledWindow.
	 (POLICY_AUTOMATIC drew very badly, so it uses
	  POLICY_ALWAYS for the vscrollbar)

	* gtk/gtktext.c (gtk_text_unrealize): Free the cache
	 in the unrealize handler. Some code in gtktext.c
	 assumes that if text->line_start_cache is non-NULL,
	 the widget is realized. We'll recompute it again
	 anyways if we later re-realize.
1999-02-16 04:52:21 +00:00
Owen Taylor
fd2c0c5651 When setting styles, remove unecessary explicits draws and clears.
Fri Feb 12 15:47:20 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcalender.c gtk/gtkentry.c gtk/gtkhandlebox.c
	  gtk/gtknotebook.c gtk/gtktext.c  gtk/gtkviewport.c
	  gtk/gtkwidget.c:

	 When setting styles, remove unecessary explicits draws
	 and clears.

	* gtk/gtkrange.c: Ugly fix so the steps get the
	 correct background.
1999-02-16 04:29:00 +00:00
Owen Taylor
3a5883b7e4 Updated for 1.1.16.
Mon Feb 15 22:55:50 1999  Owen Taylor  <otaylor@redhat.com>

	* NEWS: Updated for 1.1.16.
1999-02-16 03:50:09 +00:00
Owen Taylor
0101a46dcd Free label->label_wc.
Mon Feb 15 19:36:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_finalize): Free
	 label->label_wc.
1999-02-16 00:31:24 +00:00
Owen Taylor
f1a61ecc75 Some coding style fixups.
Mon Feb 15 18:02:22 1999  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c: Some coding style fixups.

	* gtk/gtkdnd.c (gtk_drag_set_icon_pixmap): Set a flag
	 so that we destroy the icon window that we created
	 when the drag ends.
1999-02-16 00:19:13 +00:00
Owen Taylor
0c9af82e97 When we find a match, stop searching. (Because we assume pspec != NULL in
Thu Feb 11 18:43:12 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkbindings.c (gtk_binding_set_add_path): When
	  we find a match, stop searching. (Because we
	  assume pspec != NULL in the search).

Wed Feb 10 01:18:22 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkhandlebox.c (gtk_handle_box_draw_ghost): Fix
	  up painting of "ghosts".

	* gtk/gtkhandlebox.c (gtk_handle_box_button_changed):
	  Add double-click reattachment.

	* gtk/gtkhandlebox.c: Grab on widget->window,
	  not on handlebox->bin_window. This means we don't
	  have to worry about ungrabbing while reparenting.

	  Don't make a GTK+ grab - that wasn't necessary.

	* gtk/gtkhandlebox.c: Only compute the root -> desk
	  offset once, when starting the drag, instead
	  of continuously. This should solve the *Bad Window*
	  errors that were occurring because of race conditions
	  with the WM.

	* gtk/gtkhandlebox.c: Completely reworked the
	  the logic of reattachment. We introduce the
	  concept of the "snap edge", which is an edge
	  that needs to be aligned for reattachmed.
	  We set a reasonable default from
	  handlebox->handle_position, but an application
	  might want to change this in some circumstances.

	* gtk/gtkhandlebox.[ch]: Add settors:
            gtk_handle_box_set_handle_position  ();
            gtk_handle_box_set_snap_edge        ();
1999-02-15 21:05:51 +00:00
Owen Taylor
063bad00a2 gtk/gtkwidget.c (gtk_widget_real_grab_focus):
Mon Feb 15 11:13:01 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_set_focus):
	  gtk/gtkwidget.c (gtk_widget_real_grab_focus):

	If the focus widget is the same, but does not currently
	have the focus, call gtk_window_set_focus(). This is needed
	so that click focusing with GtkPlug works correctly.
1999-02-15 20:50:47 +00:00
Tim Janik
3d23ab250e default to yes for development trees.
Mon Feb 15 07:45:28 1999  Tim Janik  <timj@gtk.org>

        * configure.in (--enable-debug): default to yes for development trees.
1999-02-15 06:51:28 +00:00
Lars Hamann
1f85d83ef3 don't autoselect focus_row in case of GTK_SELECTION_EXTENDED
Fri Feb 12 00:08:01 1999  Lars Hamann  <lars@gtk.org>

        * gtk/gtklist.c (gtk_list_remove_items_internal): don't autoselect
        focus_row in case of GTK_SELECTION_EXTENDED

        * gtk/testgtk.c : few changes in list example.

        * gtk/gtklistitem.c (gtk_list_item_class_init):
        * gtk/gtkctree.c (gtk_ctree_class_init):
        * gtk/gtkclist.c (gtk_clist_class_init):
        fixed indentation, removed unused key bindings
1999-02-11 23:47:48 +00:00
Pablo Saratxaga
ed219818b1 updated spanis hlanguage file 1999-02-11 01:15:42 +00:00
Lars Hamann
6475974086 don't autoselect focus_row in case of GTK_SELECTION_EXTENDED
Wed Feb 10 01:02:46 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (real_remove_row):
	* gtk/gtkctree.c (gtk_ctree_remove_node): don't autoselect focus_row
	in case of GTK_SELECTION_EXTENDED

	* gtk/testgtk.c : few changes in clist/ctree examples.
1999-02-10 23:15:26 +00:00
Tim Janik
1183c0ea69 applied patch from Paolo Molaro to fix GTK_TYPE_POINTER args of
Wed Feb 10 15:49:16 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwindow.c (gtk_window_class_init):
        * gtk/gtkctree.c (gtk_ctree_class_init): applied patch from Paolo
        Molaro to fix GTK_TYPE_POINTER args of ::tree_collapse and
        ::set_focus signals.

        * docs/gtk_tut.sgml: s/menufactory/itemfactory, minor fixups
        to the item factory example.
1999-02-10 16:37:09 +00:00
Owen Taylor
d8eb880d7d Reverted coding style "fixups"
Wed Feb 10 11:05:53 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c: Reverted coding style "fixups"
1999-02-10 16:01:48 +00:00
Owen Taylor
c9312d02a4 Supplement the existing WMNormalHints, don't overwrite them.
Wed Feb 10 10:43:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_set_icon, gdk_window_set_group):
	 Supplement the existing WMNormalHints, don't
	 overwrite them.
1999-02-10 15:45:19 +00:00
Tim Janik
88c112cde8 asure that ->value_buf always points to an allocated area.
Wed Feb 10 08:35:36 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar): asure that
        ->value_buf always points to an allocated area.
        (gtk_color_selection_drag_end): new function hooked up to drag_end to
        destroy the drag_window.

        * gtk/gtkdnd.c: some coding style fixups.

Wed Feb 10 06:47:17 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkwindow.c: various indentation fixes.

        * gdk/gdkevents.c: coding style fixups.
        NULL initialize event_func, event_notify and event_chunk.
        (expose_predicate): made this function static.
        (gdk_event_handler_set): perform destroy notification even if no
        event_func is set.

        * gdk/gdkrectangle.c (gdk_rectangle_union): added g_return_if_fail
        statements.
1999-02-10 08:06:30 +00:00
Owen Taylor
d1bda8d562 Fixed some bugs with set_default_size.
Sun Feb  7 19:49:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_move_resize): Fixed some
	  bugs with set_default_size.

Sat Feb  6 13:23:51 1999  Owen Taylor  <otaylor@redhat.com>

	* docs/Changes-1.2.txt: Added information about
	 the change to gtk_widget_size_request().

	* gtk/gtkentry.c: Call gtk_widget_get_child_requisition
	 explicitely since we differentiate between the usize
	 set by the user and what we got. (Ugh)

	* gtk/gtkwidget.[ch] (gtk_widget_get_child_requisition):
	 New function to return the effective size of a widget
	 as it looks to its parent.

	* gtk/gtkwidget.c (gtk_widget_size_request): Leave
	 widget->requisition set to exactly what the widget
	 asked for, and then make a copy of that into
	 the requisition argument. Allow a NULL requisition
	 argument, and, if G_ENABLE_DEBUG, warn if
	 requisition == &widget->requisition.

	* gtkalignment.c gtkaspectframe.c gtkbutton.c gtkclist.c
	  gtkcontainer.c gtkentry.c gtkeventbox.c gtkfixed.c
	  gtkframe.c gtkhandlebox.c gtkhbox.c gtkhpaned.c
	  gtklayout.c gtklist.c gtklistitem.c gtkmenu.c
	  gtkmenubar.c gtkmenuitem.c gtknotebook.c
	  gtkoptionmenu.c gtkpacker.c gtkscrolledwindow.c
	  gtktable.c gtktoolbar.c gtktree.c gtktreeitem.c
	  gtkvbox.c gtkviewport.c gtkvpaned.c gtkwindow.c

	 Avoid calling gtk_widget_size_request with
	 requisition == widget->requisition; use
	 gtk_widget_get_child_requisition to get the
	 size of children.
1999-02-10 02:35:09 +00:00
Owen Taylor
84d9f5f9a1 Removed extraneous line that crept in in previous commit.
Tue Feb  9 19:49:46 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (LDFLAGS): Removed extraneous line
	  that crept in in previous commit.
1999-02-10 00:47:02 +00:00
Owen Taylor
c3a4205cfa Moved entry->visible into editable class. (Leave it behind deprecated for
Tue Feb  9 19:39:32 1999  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkentry.[ch] gtk/gtkeditable.h: Moved
	  entry->visible into editable class. (Leave it
	  behind deprecated for compatibility)

	* gtk/gtkeditable.c: If not editable->visible,
	  return *'s for clipboard and selection.
1999-02-10 00:39:49 +00:00
Owen Taylor
72d5843898 If we can't find helvetica, fall back to "fixed". If we can't find
Tue Feb  9 19:11:43 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkstyle.c (gtk_style_new): If we can't find
	  helvetica, fall back to "fixed". If we can't
	  find "fixed", exit cleanly.
1999-02-10 00:21:09 +00:00
Changwoo Ryu
782ad2e7d2 Updated.
1999-02-09  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>

	* ko.po: Updated.
1999-02-09 21:15:13 +00:00
Owen Taylor
0bb249746f Added a style_set() function so that word lengths get recomputed on style
Tue Feb  9 15:35:13 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_style_set): Added
	  a style_set() function so that word lengths get
	  recomputed on style change.
1999-02-09 20:50:47 +00:00
Lars Hamann
b43de0cbda changed to 64 (gtk_clist_draw_focus) (hadjustment_value_changed)
Mon Feb  8 21:00:20 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (CLIST_OPTIMUM_SIZE): changed to 64
	(gtk_clist_draw_focus) (hadjustment_value_changed) (draw_row):
 	few fixes to respect GTK_CAN_FOCUS flag.

	* gtk/gtkctree.c (draw_row):
 	respect GTK_CAN_FOCUS flag.
1999-02-08 21:03:54 +00:00
Sergey I. Panov
e95b3635e8 Small corrections. 1999-02-08 20:57:16 +00:00
GMT 1999 Tony Gale
f0d09615c1 missing from the CVS for some reason
Mon Feb  8 19:22:27 GMT 1999 Tony Gale  <gale@gtk.org>

        * example/colorsel/*: missing from the CVS for some reason
1999-02-08 19:23:42 +00:00
Sergey I. Panov
b89e32d980 Changed translation of two strings. For consistancy only. 1999-02-08 19:18:55 +00:00
GMT 1999 Tony Gale
2277c72c41 add SpinButton example
Mon Feb  8 13:08:51 GMT 1999 Tony Gale  <gale@gtk.org>

        * examples/Makefile: add SpinButton example
1999-02-08 13:10:10 +00:00
GMT 1999 Tony Gale
6e13f7bd2b - Heavily edited GtkCombo section initially from Christopher T. Lansdown
Mon Feb  8 12:50:06 GMT 1999 Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml:
          - Heavily edited GtkCombo section initially from
            Christopher T. Lansdown <lansdoct@screech.cs.alfred.edu>.

          - Cleanups and some glib stuff from
            David Wheeler <wheeler@ida.org>

        * Makefile.am: update to include the latest Tutorial examples.
1999-02-08 12:59:21 +00:00
Pablo Saratxaga
2b4a42497b updated spanish language file 1999-02-08 03:53:17 +00:00
Guillaume Laurent
18046d9000 Changed a remaining "menufactory" to "itemfactory" 1999-02-07 22:35:48 +00:00
Owen Taylor
39e2943650 Add the entire draw_data_list back to the free list, not just the last
Sat Feb  6 11:20:16 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_idle_draw): Add the
	entire draw_data_list back to the free list, not
	just the last element.
1999-02-06 16:14:45 +00:00
Tim Janik
c13e6db019 fix comment 1999-02-06 03:07:01 +00:00
Lars Hamann
af30000afe search last visible column instead of using clist->columns.
Sat Feb  6 00:21:14 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (draw_row):
	* gtk/gtkclist.c (draw_row) (new_column_width) (scroll_horizontal)
	(title_focus): search last visible column instead of
	using clist->columns.
1999-02-06 00:21:56 +00:00
Owen Taylor
eb437560d3 Adjust saved positions of children when resizing a guffaw_gravity = TRUE
Fri Feb  5 13:23:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_move_resize): Adjust
	saved positions of children when resizing a
	guffaw_gravity = TRUE window.

	* gtk/gtkdnd.c (gtk_drag_highlight): Rework the
	 highlighting so that it is done in callbacks for
	 draw and expose. This should solve problems with
         multiple highlights for the same GdkWindow.

	* gtk/gtkdnd.c (gtk_drag_highlight): Fix bug where
	the highlight was being drawn with an incorrect
	width/height for !NO_WINDOW widgets.
1999-02-05 18:40:14 +00:00
Owen Taylor
915f2c5e59 Don't assume any more that the gtkwidget.c code will queue a redraw on us
1999-02-05  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate):
	Don't assume any more that the gtkwidget.c code
	will queue a redraw on us during a size_allocate -
	queue clear/draws as appropriate for our groove.
1999-02-05 15:48:25 +00:00
Owen Taylor
674b23e434 Fixes to account for the changed structure of the windows of range
Tue Feb  2 11:06:02 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrange.c (gtk_range_style_set): Fixes
	 to account for the changed structure of the windows
	 of range widgets.
1999-02-04 16:12:35 +00:00
Nam SungHyun
189ee72781 fix typos 1999-02-04 14:53:53 +00:00
Christopher Blizzard
7a2363134e change my email address 1999-02-04 14:13:24 +00:00
CST 1999 Shawn T. Amundson
7db6313ab5 version=1.1.15
Thu Feb  4 05:42:34 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * INSTALL
          NEWS
          README
          configure.in
          gtk+.spec
          docs/gtk-config.1: version=1.1.15

        * Makefile.am: example files where incorrect for
          menu directory.

        * Released GTK+ 1.1.15
1999-02-04 13:32:14 +00:00
Manish Singh
7f4ba91800 spelling fix in comment from joey@kuolema.Infodrom.North.DE (Martin
* gtk/gtkclist.h: spelling fix in comment from
joey@kuolema.Infodrom.North.DE (Martin Schulze)

-Yosh
1999-02-04 02:35:32 +00:00
Owen Taylor
902de9d413 Make sure we set the icon window position before it is shown to prevent
Tue Feb  2 12:39:42 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c: Make sure we set the icon window position
	 before it is shown to prevent annoying flicking to 0,0.
	 Make it consistent that info->cur_x/y do not include
	 info->hot_x/y displacement.
1999-02-02 18:40:47 +00:00
GMT 1999 Tony Gale
7e68d71fd2 new sections on Layout and SpinButton [nice widget]
Tue Feb  2 08:59:16 GMT 1999 Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml: new sections on Layout and
          SpinButton [nice widget]

        * examples/spinbutton/*: example code
1999-02-02 10:12:52 +00:00
Owen Taylor
22a54ddf81 Put in some information about 'gtk-config --libs gthread'.
Mon Feb  1 19:25:54 1999  Owen Taylor  <otaylor@redhat.com>

	* docs/gtk-config.txt (testinput_SOURCES): Put
	in some information about 'gtk-config --libs gthread'.

	* docs/Changes-1.2.txt: Updated section on threads.
1999-02-02 02:35:11 +00:00
Lars Hamann
a19e373baa in case of GTK_SELECTION_BROWSE select first inserted row.
Tue Feb  2 00:28:44 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (gtk_ctree_insert_node): in case of
	GTK_SELECTION_BROWSE select first inserted row.
	(resync_selection): select rows in correct order.

	* gtk/gtkclist.c (real_insert_row): in case of GTK_SELECTION_BROWSE
 	select first inserted row.
	(resync_selection): select rows in correct order.

	* gtk/gtklist.c (gtk_list_end_selection): select rows in correct order.
1999-02-02 01:57:11 +00:00
Manish Singh
fb00e9bbb8 Autogenned file removal
-Yosh
1999-02-01 23:29:51 +00:00
Owen Taylor
49ff13e5e1 Pass gthread on to gtk-config.
Mon Feb  1 16:47:55 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk.m4: Pass gthread on to gtk-config.

	* configure.in gtk-config.in: Support gthread flag to
	  add thread cflags/libraries into the output of
	  gtk-config.
1999-02-01 23:17:39 +00:00
Manish Singh
b3184736de Remove autogenned files
-Yosh
1999-02-01 22:50:07 +00:00
Owen Taylor
377b72968d Update from Paul Siegmann <pauls@euronet.nl>
Mon Feb  1 16:37:29 1999  Owen Taylor  <otaylor@redhat.com>

	* nl.po: Update from Paul Siegmann <pauls@euronet.nl>
1999-02-01 22:35:49 +00:00
Owen Taylor
78ab1ea3fc Fixed problem with uints resulting in huge child allocations.
Mon Feb  1 15:14:56 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkoptionmenu.c (gtk_option_menu_size_allocate):
	 Fixed problem with uints resulting in huge child
	 allocations.
1999-02-01 21:55:49 +00:00
Owen Taylor
a512f0b841 Cast uints to ints in geometry calculations. This should prevent FP
Mon Feb  1 14:54:28 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_expose): Cast uints
	  to ints in geometry calculations. This should
	  prevent FP exceptions on FreeBSD when quantities
	  become negative. [ Actually, this is probably
	  a workaround with a gcc bug with handling of
	  bitfields, according to Ben Jackson <ben@ben.com> ]
1999-02-01 21:05:32 +00:00
Sergey I. Panov
2e2d959bff Corrected shamefull spelling errors. 1999-02-01 18:28:40 +00:00
Tony Gale
6c3513fa24 Try and spell my own name right - Tony
Try and spell my own name right - Tony
1999-02-01 15:03:05 +00:00
GMT 1999 Tony Gale
7402d68c8f update to new examples
Mon Feb  1 13:35:14 GMT 1999 Tony Gale  <gale@gtk.org>

        * examples/Makefile: update to new examples

        * examples/menu/itemfactory.c: I must have forgotten to
          'cvs add' this file
1999-02-01 14:47:05 +00:00
GMT 1999 Tony Gale
5ef056ea94 - Complete documentation of Label widget API - New sections for the
Mon Feb  1 09:16:03 GMT 1999 Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml:
          - Complete documentation of Label widget API
          - New sections for the following:
                * Arrows
                * Alignment
                * Button Boxes
                * Viewports

        * examples/arrow/*, examples/buttonbox/*, examples/label/*
          - New code examples
1999-02-01 10:44:36 +00:00
GMT 1999 Tony Gake
c39dffed55 examples/fixed/*, examples/frame/* - Examples from the Tutorial
Fri Jan 29 09:44:37 GMT 1999 Tony Gake  <gale@gtk.org>

        * examples/fixed/*, examples/frame/*
          - Examples from the Tutorial
1999-01-29 09:53:14 +00:00
GMT 1999 Tony Gale
e735ac6c86 - New sections on the Fixed and Frame containers - Rearrange the
Fri Jan 29 09:18:41 GMT 1999 Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml:
          - New sections on the Fixed and Frame containers
          - Rearrange the Containers section so the easier ones
            are first
          - Move the List widget section to an appendix
1999-01-29 09:29:02 +00:00
GMT 1999 Tony Gale
1cf5a13b08 script to convert and package up the tutorial - stick it here so I don't
Thu Jan 28 12:14:12 GMT 1999 Tony Gale  <gale@gtk.org>

        * docs/package_tutorial.sh: script to convert and
          package up the tutorial - stick it here so I don't lose
          it when I accidentally delete it again.
1999-01-28 12:22:36 +00:00
GMT 1999 Tony Gale
a2dafdfc88 - Replace all uses of deprecated functions. - Replace menufactory example
Thu Jan 28 10:16:28 GMT 1999 Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml:
          - Replace all uses of deprecated functions.
          - Replace menufactory example with itemfactory example
            from Nick Scott <mendigo@geocities.com>
          - Minor bug fixes in the examples.
1999-01-28 10:35:40 +00:00
Sebastian Wilhelmi
a700058737 s/XIM_INSTANTIATE_IS_MISSING_OR_STRANGE/XIM_INST_IS_MISSING_OR_STRANGE/
1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk/gdkim.c:
	s/XIM_INSTANTIATE_IS_MISSING_OR_STRANGE/XIM_INST_IS_MISSING_OR_STRANGE/
1999-01-28 10:05:52 +00:00
CST 1999 Shawn T. Amundson
b36903b1b6 version=1.1.14
Thu Jan 28 01:57:06 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * INSTALL
          NEWS
          README
          configure.in
          gtk+.spec
          docs/gtk-config.1: version=1.1.14

        * Released GTK+ 1.1.14
1999-01-28 08:24:17 +00:00
Owen Taylor
f9807a643c When translating N_() strings, use _(), not gettext(), since we really
Thu Jan 28 01:34:29 1999  Owen Taylor  <otaylor@redhat.com>

	* gtkfontsel.c gtkcolorsel.c: When translating
	N_() strings, use _(), not gettext(), since we
	really need to call dgettext().
1999-01-28 06:30:57 +00:00
Manish Singh
bb16a5d331 Xsed isn't valid here, don't use it
* acinclude.m4: Xsed isn't valid here, don't use it

* ltmain.sh
* ltconfig: better file magic regexp for Linux libs

-Yosh
1999-01-28 04:58:01 +00:00
Owen Taylor
5e836af884 Move gravity_works back to a static global variable, since it is a global
Wed Jan 27 23:05:55 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.[ch] (gtk_layout_realize): Move
	gravity_works back to a static global variable,
	since it is a global constant, and this way we
	keep structure sizes uniform.

CV: ---------------------------------------------------------------------- CVS: Enter Log.  Lines beginning with `CVS: ' are removed automatically
1999-01-28 04:12:58 +00:00
Owen Taylor
a29d25821e Move gtkintl.h from $source_headers to $static_sources since it should not
Wed Jan 27 22:59:07 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am (static_SOURCES): Move gtkintl.h
	from $source_headers to $static_sources since
	it should not be installed.
1999-01-28 03:56:37 +00:00
Owen Taylor
99b9ce9de6 Allow exposure compression across GravityNotify events to improve the
Wed Jan 27 22:51:23 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (expose_predicate): Allow exposure
	 compression across GravityNotify events to improve
 	 the appearance of a GTK+ window unshading.
1999-01-28 03:48:04 +00:00
Owen Taylor
b2c8fed880 [ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
Wed Jan 27 21:56:07 1999  Owen Taylor  <otaylor@redhat.com>

        [ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]

	* acconfig.h configure.in gdk/gdkim.c: Add configure
	flag for disabling XRegisterIMInstantiateCallback(), default
	it to off for Solaris. Always try to open the
	input method immediately, and only if that fails,
	register than instantiate callback.

	* gdk/gdkentry.c: Some tweaks to make sure that we
	only get and set the IC attributes when appropriate.
1999-01-28 03:38:58 +00:00
Stuart Parmenter
a472efda2d remove another g_print("\n"); 1999-01-28 01:59:29 +00:00
Owen Taylor
d541b30482 Patch from Sebastian Wilhelmi <wilhelmi@ira.uka.de> to use
Wed Jan 27 20:08:54 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkfilesel.c (open_user_dir): Patch from
	Sebastian Wilhelmi  <wilhelmi@ira.uka.de> to
	use g_get_home_dir() instead of calling getpwuid()
	ourselves.
1999-01-28 01:04:38 +00:00
Owen Taylor
77e99440df Change signatures for gdk_drag_begin() and gdk_drag_motion() so that the
Wed Jan 27 18:57:57 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h gdk/gdkdnd.c: Change signatures for
	gdk_drag_begin() and gdk_drag_motion() so that the set
	of possible actions is passed on each motion, not just at
	the beginning of the drag. We do this so that
	we can restrict the set of possible drag events
	when the user presses a modifier key during a
	drag.

	* gdk/gdkdnd.c: Send a motif Operation-changed
	message when the set of possible actions change,
	as well as when the suggested action change.

	* gdk/gdkdnd.c: Change the XdndActionList whenever
	the set of actions change.

	* gdk/gdkdnd.c: Add a filter to catch changes to
	the XdndActionList property for the source widget.

	* gtk/gtkdnd.c: Change the set of possible actions
	when the user presses Control, Shift, or Control-Shift,
	to only include the corresponding action.

	* gtk/gtkdnd.c (gtk_drag_button_release_cb):
	Disconnect button signals before we possibly
	free info structure.
1999-01-28 01:03:15 +00:00
Owen Taylor
4998934dcb Removed some g_print()'s
Wed Jan 27 20:06:06 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.c (gtk_layout_adjustment_changed):
	Removed some g_print()'s
1999-01-28 01:02:09 +00:00
Owen Taylor
9e5e63f0a1 Hack scrollwheel support into the eventloop, by treating button 4-5
Wed Jan 27 18:40:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmain.c (gtk_main_do_event): Hack scrollwheel
	support into the eventloop, by treating button 4-5
	presses on scrolled windows and scrollbars specially.
	Put it here to keep the ugliness small and confined.
	(We need to intercept the normal propagation in any case
	to have this work reliably right now, since some
	subwidgets will trap the button presses)

	* gtk/gtkviewport.c (gtk_viewport_realize): Select for
	BUTTON_PRESS to	support the above hack.
1999-01-28 00:57:18 +00:00
Owen Taylor
7934cf9aea Remove TimJ's checks for already being mapped or hidden. See the ICCCM's
Tue Jan 26 14:02:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_show/hide): Remove TimJ's
	checks for already being mapped or hidden. See
	the ICCCM's section on state changes for why this
	is a bad idea.
1999-01-27 23:49:34 +00:00
Owen Taylor
607949ed5e Separate out GLIB_LIBS and GLIB_DEPLIBS. This may fix the --with-glib
Wed Jan 27 17:05:40 1999  Owen Taylor  <otaylor@redhat.com>

	* Separate out GLIB_LIBS and GLIB_DEPLIBS. This
	may fix the --with-glib option. GLIB_LIBS are
	the libs to link example programs against, while
	GLIB_DEPLIBS are dependency libraries.
1999-01-27 22:08:46 +00:00
Stuart Parmenter
342e557c58 add GTK_HAVE_FEATURES_1_1_14 1999-01-27 20:56:34 +00:00
Owen Taylor
1472462639 Use floor() instead of truncating to integer values so we get translation
Wed Jan 20 11:19:00 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c: Use floor() instead of truncating
	to integer values so we get translation invariance.

	* gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
	and lower values for adjustments in size_allocate().

	* gdk/gdkwindow.c gdk/gdk.h gdk/gdkprivate.h: New
	function gdk_window_set_static_gravities() to set
	up a window for guffaw scrolling.

	* gdk/gdkwindow.c (gdk_window_internal_destroy): Set flags
	indicating destroyed state before cleanup.

	* gtk/gtkprivate.h gtk/gtkwidget.c: Add a new
	private flag IS_OFFSCREEN. If set, this indicates
	to GTK+ that the widget is not to be considered
	viewable regardless of its map state. Queued draws
	on offscreen widgets are suppressed.

	Added new function static gtk_widget_is_offscreen() to
	check this flag on a widget and its ancestors.

	* gtk/gtklayout.[ch]: Major revisions.

	- Use gdk_window_set_static_gravities to set static gravity
	on all child windows, and thus avoid having to create a window
	for NO_WINDOW children.

	- Adjust allocations of children as we scroll them
	so queued draws work correctly.

	- Don't allocate our children directly in a put()
	or move(); just queue a resize() like every other
	widget.

	* gtk/testgtk.c: Make the arrows on the scrollbars
	work, create a larger and more demanding test.
1999-01-27 18:21:20 +00:00
Tim Janik
90c7ea0b91 assert ref_count>0.
Wed Jan 27 09:19:07 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdkcolor.c (gdk_colormap_unref): assert ref_count>0.
1999-01-27 08:53:36 +00:00
Owen Taylor
8e979f59b4 New functions to set the colormap or visual of an existing widget. These
Mon Jan 25 20:05:22 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_{visual,colormap}):
	New functions to set the colormap or visual
	of an existing widget. These functions should not
	be called on a widget that has previosly been
	realized.
1999-01-26 01:18:13 +00:00
Owen Taylor
84c1a71045 Changed log 1999-01-26 01:17:30 +00:00
Owen Taylor
df403d5908 New functions to set the colormap or visual of an existing widget. These
Mon Jan 25 20:05:22 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_{visual,colormap}):
	New functions to set the colormap or visual
	of an existing widget. These functions should not
	be called on a widget that has previosly been
	realized.

	* gtk/gtkcolorsel.c (gtk_color_selection_dialog_init):
	Set the visual and colormap on the toplevel dialog,
	then push them for the child widgets. As opposed
	to push/pop in _new(), this way, things will work
	properly with gtk_widget_new().
1999-01-26 01:15:47 +00:00
Owen Taylor
65dd58ffa3 Queue a redraw on the tab area when a tab changes size. (Includes
Mon Jan 25 19:41:56 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_page_allocate): Queue
	a redraw on the tab area when a tab changes size.
	(Includes improvements from Lars Hamann)
1999-01-26 00:37:58 +00:00
Owen Taylor
d355451c51 Back out the last solution to updating problem. And try a different one
Mon Jan 25 19:00:13 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorsel.c (gtk_color_selection_value_events):
	 Back out the last solution to updating problem. And
	 try a different one that is less dependent on
	 the state of the widget. Just redraw the value_marker
	 when it gets mapped. Somebody needs to analyze
	 this widget more carefully and figure out
1999-01-26 00:28:13 +00:00
Owen Taylor
08f1e8098f Removed some GTK_WIDGET_DRAWABLE() tests - we need to update the value
Mon Jan 25 17:48:03 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorsel.c: Removed some GTK_WIDGET_DRAWABLE()
	tests - we need to update the value bar's contents
	even when the widget is unmapped.
1999-01-25 22:43:50 +00:00
Owen Taylor
7d5e1b0ccf Don't define ENABLE_NLS unless we have a working NLS. (This should keep
Mon Jan 25 15:47:46 1999  Owen Taylor  <otaylor@redhat.com>

	* acinclude.m4 (ac_result): Don't define ENABLE_NLS
	 unless we have a working NLS. (This should keep
	 libintl.h from being included when it doesn't
	 exist).
1999-01-25 21:11:13 +00:00
George Lebl
4b8095d525 set RECEIVES_DEFAULT on init, and a button press on the widget doesn't
Mon Jan 25 11:05:10 1999  George Lebl  <jirka@5z.com>

        * gtk/gtkbutton.c: set RECEIVES_DEFAULT on init, and a
          button press on the widget doesn't grab default anymore

        * gtk/gtkcheckbutton.c,gtk/gtkoptionmenu.c,gtk/gtkradiobutton.c:
          unset RECEIVES_DEFAULT on init

        * gtk/gtkwidget.[ch]: add a RECEIVES_DEFAULT flag to widget
          flags

        * gtk/gtkwindow.c,gtk/gtkplug.c: on pressing <enter>, activate
          the focused widget if it is a RECEIVES_DEFAULT widget,
          no matter what the current default_widget is

        * gtk/gtkwindow.c: on focus change, migrate the HAS_DEFAULT
          flag to CAN_DEFAULT widgets if they RECEIVE_DEFAULT as well
          or migrate it back to the default_widget if the focus widget
          doesn't "RECEIVE_DEFAULT"
1999-01-25 19:05:58 +00:00
Owen Taylor
8ac2b1dda6 Byteswap
Sun Jan 24 18:09:24 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (motif_read_initiator_info): Byteswap
1999-01-24 23:07:33 +00:00
Owen Taylor
a1cc053be2 Fix reversed assertion. (Pointed out by Austin Donnelly
Sun Jan 24 12:17:39 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcolor.c (gdk_colormap_real_destroy): Fix
	 reversed assertion.
	 (Pointed out by Austin Donnelly <austin@greenend.org.uk>)

	* gtk/gtkruler.c (gtk_ruler_expose): Remove unecessary
	 and harmful call to gtk_paint_box(). We are going
	 to paint onto the backing store later anyways.
1999-01-24 17:19:21 +00:00
Sergey I. Panov
42ffb3727e tiny style corrections 1999-01-24 16:12:22 +00:00
Owen Taylor
79fbe48242 X expects longs, not uint32 for XChangeProperty, when format == 32.
Sat Jan 23 11:15:39 1999  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkdnd.c (gdk_window_register_dnd): X expects
	 longs, not uint32 for XChangeProperty, when
	 format == 32.

	* gdk/gdkdnd.c (motif_read_initiator_info): Byte-swap
	 the MotifInitiatorInfo structure if necessary.

 	* gdk/gdkdnd.c: When extracting and constructing
         Motif DND messages, don't use data.s[], data.l[]
	 since on 64bit architectures, these won't necessarily
	 be in the same place with data.b[].

 	* gtk/testdnd.c (target_drag_drop): Return TRUE for
	 drag_drop within the drop zone.

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event): Only send
	 a XmTRANSFER_FAILURE if no drop site is found, not
	 on every drop!
1999-01-23 20:32:20 +00:00
Owen Taylor
6a690c6d3f Add flags field to GtkTargetEntry table.
Fri Jan 22 19:22:39 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkeditable.c: Add flags field to
	 GtkTargetEntry table.

	* gdk/gdkwindow.c (gdk_window_is_viewable): Treat foreign
	 windows as always viewable, since we can't track their
	 map-state reliably without speed problems. (Fixes
	 problem where updating didn't occur properly within
	 GtkPlug)
1999-01-23 20:31:42 +00:00
Jeff Garzik
0e9b9e32db Don't search selection list twice. (real_select_row): Remove extra ';',
Sat Jan 23 13:41:00 1999  Jeff Garzik  <jgarzik@pobox.com>

        * gtk/gtkctree.c
        (tree_delete): Don't search selection list twice.
        (real_select_row): Remove extra ';', add default for clarity.
1999-01-23 18:44:36 +00:00
Lars Hamann
f37d395c4f removed extra gtk_spin_button_update calls again. unblock dnd signal
Sat Jan 23 01:44:43 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkspinbutton.c (gtk_spin_button_get_value_as_int)
	(gtk_spin_button_get_value_as_float): removed extra
 	gtk_spin_button_update calls again.
	* gtk/gtkclist.c (gtk_clist_unmap): unblock dnd signal handler if
	neccessary
	* gtk/gtknotebook.c (gtk_notebook_button_press): grab_focus before
	switch_page
	(gtk_notebook_set_shape): don't use cur_page if it's NULL.
1999-01-23 01:04:33 +00:00
Jeff Garzik
ad987142c1 Fix recent change to match existing coding style.
Fri Jan 22 12:20:54 1999  Jeff Garzik  <jgarzik@pobox.com>

        * gtk/gtktooltips.c:
        Fix recent change to match existing coding style.
1999-01-22 17:23:55 +00:00
Tim Janik
060c32e4e0 take value_spacing into account for GTK_POS_LEFT.
Fri Jan 22 07:33:44 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkvscale.c (gtk_vscale_pos_trough): take value_spacing into
        account for GTK_POS_LEFT.

        * gtk/gtkradiobutton.c (gtk_radio_button_set_group): use
        gtk_toggle_button_set_active () to set the new state.
        (gtk_radio_button_new): only _set_group if group != NULL.
        (gtk_radio_button_clicked): reference the widget.
        (gtk_radio_button_init): make radio buttons active upon
        startup.
1999-01-22 08:12:00 +00:00
Sergey I. Panov
cb4bf0657c A few updates. 1999-01-22 03:59:16 +00:00
Jeff Garzik
ba58aa201d Check args for NULL. (gtk_selection_default_handler): Replace manual list
Thu Jan 21 17:13:12 1999  Jeff Garzik  <jgarzik@pobox.com>

        * gtk/gtkselection.c:
        (gtk_selection_property_notify): Check args for NULL.
        (gtk_selection_default_handler):
        Replace manual list count with call to g_list_length.
        Remove signedness of temp var 'count' to agree with usage.
        Slight spacing adjustment for readability.

        * gtk/gtkbox.c, gtk/gtklayout.c, gtk/gtkselection.c:
        Init a few ptrs to NULL, to quiet warnings.
1999-01-21 22:29:58 +00:00
Manish Singh
cb2eb293e6 Shut up cvs
-Yosh
1999-01-21 21:52:53 +00:00
Owen Taylor
a0fa647a64 [ Tried to commit wrong file last time ]
Thu Jan 21 16:03:02 1999  Owen Taylor  <otaylor@redhat.com>


	* gtk/gtktreeitem.c: Add a paint routine, fix up bugs
	in drawing where if the expose area was contained
	completely in the right side of the tree the background
	wasn't redraw, etc.
1999-01-21 21:09:03 +00:00
Owen Taylor
6878910ad4 Code cleanup.
Thu Jan 21 16:03:02 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkbutton.c (gtk_button_expose): Code cleanup.

	* gtk/gtktree.c: Add a paint routine, fix up bugs
	in drawing where if the expose area was contained
	completely in the right side of the tree the background
	wasn't redraw, etc.

	* gtk/gtkwidget.c (gtk_widget_clip_rect): Fix a bug
	in clipping draw regions while propagating them
	upwards.
1999-01-21 21:06:13 +00:00
Owen Taylor
d1d9c5bf04 Pushing and popping the visual/cmap in the init() function does no good,
Thu Jan 21 12:20:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorsel.c (gtk_color_selection_dialog_new):
	Pushing	and popping the visual/cmap in the init()
	function does no good, because the window itself needs
	to be create with that visual/cmap.

	So do it in the new() function instead.

	This will require people doing gtk_widget_new() to do
	the push/pop themselves, but I don't see any way around
	it other than digging in and tweaking the window
	widget's colormap and visual ourselves, which
	is highly non-kosher, but would be safe...
1999-01-21 17:27:23 +00:00
Tristan Tarrant
a46ac625c9 Updated Italian texts 1999-01-21 15:16:06 +00:00
Timur Bakeyev
7cef937760 It was reported by Owen Taylor <otaylor@redhat.com>, that LC_ALL produce
Thu Jan 21 16:04:35 1999  Timur Bakeyev <mc@bat.ru>

	* gtk/gtkrc.c (gtk_rc_init): It was reported by Owen Taylor
	<otaylor@redhat.com>, that LC_ALL produce unparsable garbage
	on some glibc'ed systems and HP/UX. So, falling to LC_CTYPE.
1999-01-21 13:26:35 +00:00
Owen Taylor
fea53a95f8 Set and read the XdndActionList property defined in the Xdnd spec. We do
Thu Jan 21 02:11:44 1999  Owen Taylor  <otaylor@redhat.com>

	* Set and read the XdndActionList property defined
	in the Xdnd spec. We do this always, not just for
	XdndActionAsk like the spec says, but if we don't
	find it, we fall back to actions = suggested_action,
	which is compatible with the language of the spec.
1999-01-21 07:08:25 +00:00
Jeff Garzik
8dc58cb2d3 Move not-null assertion before pointer de-ref.
* gdk/gdkdnd.c (gdk_drag_context_unref):
        Move not-null assertion before pointer de-ref.

        * gdk/gdkevents.c (gdk_event_queue_find_first):
        Fix infinite loop bug.  Someone should look at this further to
        make sure the events_pending tests are correct.
1999-01-21 06:24:09 +00:00
Owen Taylor
e7b04a53ac Default handling for drops should be keyed on GTK_DRAG_DEFAULT_DROP not
Thu Jan 21 00:44:47 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_drop): Default handling
	for drops should be keyed on GTK_DRAG_DEFAULT_DROP
	not GTK_DRAG_DEFAULT_MOTION.
1999-01-21 05:59:04 +00:00
Jeff Garzik
a646da3f1e Don't search entire row list twice for element being removed.
* gtk/gtkclist.c (real_remove_row):
        Don't search entire row list twice for element being removed.

        * gtk/gtkmenushell.c (gtk_menu_shell_insert):
        Replaced hand-coded implementation of g_list_insert with
        call to g_list_insert.

        * gtk/gtktooltips.c
          (gtk_tooltips_destroy_data, gtk_tooltips_layout_text):
        tooltipsdata->row test not-null test now properly encompasses
        both g_list_* calls.
1999-01-21 03:46:32 +00:00
Lars Hamann
1a58d9b3cf few cleanups. (gtk_notebook_key_press): call select page function for
Thu Jan 21 02:47:36 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtknotebook.c (gtk_notebook_focus): few cleanups.
	(gtk_notebook_key_press): call select page function for
	GDK_DOWN key in case of tab_pos == TOP. Changed other
	positions accordingly.
1999-01-21 02:13:13 +00:00
Owen Taylor
21993dcb10 Start off with the cursor for "no drop" since if we'll get a status if we
Wed Jan 20 19:57:14 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_begin): Start off with the
	cursor for "no drop" since if we'll get a status
	if we are over a drag window, but none if we aren't
	over one.
1999-01-21 01:03:27 +00:00
Jeff Garzik
6e3e247b9a . Free 'nprefix', closing a memory leak. Spaced out the code a bit to make
.
        * gtk/gtkcombo.c (gtk_combo_entry_key_press):
        Free 'nprefix', closing a memory leak.
        Spaced out the code a bit to make it more readable.

        * gtk/gtkhbox.[ch] (gtk_hbox_new),
          gtk/gtkvbox.[ch] (gtk_vbox_new):
        Change 'homogenous' arg from gint to gboolean.

        * gtk/gtktogglebutton.[ch]:
        New function gtk_toggle_button_get_active().
1999-01-21 00:37:48 +00:00
Federico Mena Quintero
df21a7064f Allow button 2 to act as GDK_ACTION_ASK. Also, allow MOD1 to specify
1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkdnd.c (gtk_drag_get_event_action): Allow button 2 to act
	as GDK_ACTION_ASK.  Also, allow MOD1 to specify GDK_ACTION_ASK
	only if that action is enabled in the actions argument.
1999-01-20 23:53:29 +00:00
Raja R Harinath
255005f0e9 New variable. Define to $prefix/$DATADIRNAME/locale. This will point to
* configure.in (gtklocaledir): New variable.  Define to
	$prefix/$DATADIRNAME/locale.  This will point to the directory
	where po/Makefile actually installs the message translation
	tables.
	* gtk/Makefile.am (INCLUDES): Define GTK_LOCALEDIR to
	$(gtklocaledir) rather than $prefix/share/locale.
1999-01-20 23:43:08 +00:00
Timur I. Bakeyev
5ce6bea660 Under some systems (notably, BSDI), there is no LC_MESSAGES category in
Under some systems (notably, BSDI), there is no LC_MESSAGES category in
locale.h. In this case it is good guess to relay on the value of LC_ALL
(in fact, LC_CTYPE will be more precise).
1999-01-20 18:35:53 +00:00
Owen Taylor
6205bbbf65 Instead of drawing a background pixmap in with gdk_draw_pixmap(), set it
Wed Jan 20 13:06:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.[ch] (clear_[focus_]area): Instead of drawing
	a background pixmap in with gdk_draw_pixmap(), set
	it as a tile pixmap for a GC. This should speed
	up things considerably and also will hide a bug
	where text->first_onscreen_ver_pixel is being
	corrupted, causing the bg pixmap drawing code to generate
	graphics exposes.
1999-01-20 18:06:31 +00:00
Lars Hamann
0543c806f9 only call grab_add if pointer_grab succeeds. (gtk_list_unmap): remove
Tue Jan 19 22:15:10 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtklist.c
	(gtk_list_button_press):  only call grab_add if pointer_grab succeeds.
	(gtk_list_unmap): remove pointer/widget grabs if needed.
	(gtk_list_signal_focus_lost): removed.
	(gtk_list_focus) (gtk_list_set_focus_child): set last_focus_child.
	(gtk_list_remove_items_internal) (gtk_list_clear_items): unset
 	undo_focus_child if necessary. In case of SELECTION_BROWSE/EXTENDED
 	select a new item if selection is empty.
1999-01-20 01:09:16 +00:00
Tim Janik
17127d2c6d add compatibility define for gtk_ctree_set_reorderable.
Tue Jan 19 00:21:15 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkcompat.h: add compatibility define for
        gtk_ctree_set_reorderable.
1999-01-18 23:51:43 +00:00
Lars Hamann
abb7ed1cea add a sanity check [from Todd Dukes <todddukes@netscape.net>]
Tue Jan 19 00:02:10 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (gtk_ctree_node_set_row_data_full):
	add a sanity check [from Todd Dukes <todddukes@netscape.net>]
1999-01-18 23:09:50 +00:00
Lars Hamann
28df7201ca only call grab_add if pointer_grab succeeds. (gtk_clist_unmap): remove
Mon Jan 18 22:54:11 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (gtk_clist_button_press): only call grab_add
	if pointer_grab succeeds.
	(gtk_clist_unmap): remove pointer/widget grabs if needed.
1999-01-18 23:02:08 +00:00
Owen Taylor
03f25c7ade Initialize label->label_wc. (We allocate labels from a memchunk)
Mon Jan 18 15:46:14 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_init): Initialize
	label->label_wc. (We allocate labels from
	a memchunk)
1999-01-18 20:46:51 +00:00
Tim Janik
4ee10fdefa CLAMP digits into a meaningfull range (we need to stay below a certain
Mon Jan 18 18:53:08 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkscale.c (gtk_scale_set_digits): CLAMP digits into a
        meaningfull range (we need to stay below a certain limit anyways
        to avoid string buffer overflows).

        * gtk/gtkvscale.c (gtk_vscale_pos_background): fixed up background
        area calculations for GTK_POS_RIGHT and GTK_POS_BOTTOM.
        * gtk/gtkhscale.c (gtk_hscale_pos_background): likewise.
        (gtk_hscale_draw_value): safety CLAMP the value's x position for
        GTK_POS_TOP and GTK_POS_BOTTOM, so we don't paint strings outside of
        our allocation.

        * gtk/gtkscale.c: implemented GtkScale::digits, GtkScale::draw_value
        and GtkScale::value_pos arguments.
1999-01-18 19:42:59 +00:00
Owen Taylor
7709c1d12d Some editing, a little more detail.
Mon Jan 18 14:26:17 1999  Owen Taylor  <otaylor@redhat.com>

	* docs/Changes-1.2.txt: Some editing, a little more
	detail.
1999-01-18 19:27:43 +00:00
Owen Taylor
e260fd6a2b Added gtk_menu_set_title() to set the title of a menu in the torn-off
Mon Jan 18 13:25:14 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmenu.[ch]: Added gtk_menu_set_title() to
	set the title of a menu in the torn-off state.

	* gtk/gtkthemes.c (gtk_theme_engine_get): When loading
	of theme engine fails, just warn and do without -
	don't error out.

	* gtk/gtkmain.c (gtk_check_version): s/to/too/.
1999-01-18 18:48:09 +00:00
Sergey I. Panov
deb20a3cd0 add Russian translations 1999-01-18 05:47:11 +00:00
Sergey I. Panov
60c57e3e37 First draft of the Russian translations. 1999-01-18 05:45:41 +00:00
Lars Hamann
4551382631 fixed auto resize bug.
Mon Jan 18 01:21:03 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (draw_row): fixed auto resize bug.
1999-01-18 00:36:33 +00:00
CST 1999 Shawn T. Amundson
d225ffbc5b Released GTK+ 1.1.13
Sun Jan 17 17:35:28 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.13

        * README:
          INSTALL:
          docs/gtk-config.1: ver=1.1.13
1999-01-18 00:27:59 +00:00
Tim Janik
fae75219e6 added a section about GtkArgGetFunc and GtkArgSetFunc 1999-01-17 23:54:22 +00:00
Lars Hamann
c9a2b79176 block drag source signal handler during column resizes.
Mon Jan 18 00:22:54 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release):
	block drag source signal handler during column resizes.
	(gtk_clist_set_column_visibility): resize clist if needed.
	(gtk_clist_map): raise resize windows to make resize
 	cursor visible again.
1999-01-17 23:44:18 +00:00
Tim Janik
e65030aaed removed deprecated functions: gtk_clist_set_border,
Sun Jan 17 22:47:15 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.[hc]:
        * gtk/gtkspinbutton.[hc]:
        * gtk/gtkscrolledwindow.[hc]:
        * gtk/gtkprogressbar.[hc]:
        * gtk/gtkpreview.[hc]:
        * gtk/gtkobject.[hc]:
        * gtk/gtkentry.[hc]:
        * gtk/gtkctree.[hc]:
        * gtk/gtkcontainer.[hc]:
        * gtk/gtkclist.[hc]:
        removed deprecated functions: gtk_clist_set_border,
        gtk_container_block_resize, gtk_container_unblock_resize,
        gtk_container_need_resize, gtk_ctree_set_reorderable,
        gtk_ctree_show_stub, gtk_ctree_set_use_drag_icons,
        gtk_entry_adjust_scroll, gtk_object_class_add_user_signal,
        gtk_preview_put_row, gtk_progress_bar_construct,
        gtk_scrolled_window_construct, gtk_spin_button_construct,
        gtk_widget_freeze_accelerators, gtk_widget_thaw_accelerators.

        * gtk/gtkcheckmenuitem.c: removed binary variant of
        gtk_check_menu_item_set_state, this is still defined in gtkcompat.h
        though.

        * docs/Changes-1.2.txt:
        removed section about gtk_idle_remove_by_data vs.
        gtk_timeout_remove_by_data, we actually don't even provide a
        gtk_timeout_remove_by_data() function.
        added a table with removed functions and their replacements.

        * NEWS: updates for 1.1.13.
1999-01-17 23:12:18 +00:00
Owen Taylor
1adaa231c8 Patch from Felix Bellaby <felix@pooh.u-net.com>
Sun Jan 17 17:56:33 1999  Owen Taylor  <otaylor@redhat.com>

	Patch from Felix Bellaby <felix@pooh.u-net.com>

	* gdk/gdk.c: Use XmbSetWMProperties to set
	the class/command on the loader window so that the
	client machine is also set in the same place.
	(For X11R5 sesssion management compatibility)

	* gdk/gdk.c: (gdk_set_sm_client_id) Implementation
	of function to set the session manager client ID.

	* gdk/gdkwindow.c (gdk_window_new): Set
	WM_CLIENT_LEADER propertiy on all windows pointing
	back to GDK's leader window.
1999-01-17 22:58:59 +00:00
Owen Taylor
2aca4b0a80 Allow a bg_pixmap of "<none>", as there was no way to set the background
Sun Jan 17 12:01:57 1999  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkrc.c (gtk_rc_style_init): Allow a bg_pixmap
	of "<none>", as there was no way to set the background
	on all widget but some widgets. This is important
	because Text widgets with background images are
	slow and possibly ugly.
1999-01-17 22:38:05 +00:00
Guillaume Laurent
5af447fa07 Added a g_return_val_if_fail() in gtk_label_parse_uline() to
prevent from 'string' arg being NULL.
1999-01-17 19:02:53 +00:00
Nat Friedman
377579c2ef New macro. Changed the spacing from 5 to 3.
1999-01-17  Nat Friedman  <nat@nat.org>

	* gtk/gtkscrolledwindow.c (DEFAULT_SCROLLBAR_SPACING): New macro.
  	Changed the spacing from 5 to 3.

	* gtk/gtkmenubar.c (BORDER_SPACING): Changed the extra spacing on
 	the menubar from 2 to 0.
1999-01-17 19:01:49 +00:00
Christopher Blizzard
01457a0230 s/1.1.3/1.1.13/ 1999-01-17 17:06:21 +00:00
Tim Janik
7e3af7c078 - GNU autoconf 2.13 - GNU automake 1.4 (Beta releases are at
- GNU autoconf 2.13
        - GNU automake 1.4
                (Beta releases are at ftp://ftp.cygnus.com/pub/tromey)
        - GNU libtool 1.2d
        - indent (GNU indent 1.9.1 is known good)
        - GNU gettext 10.35
                Available in ftp://alpha.gnu.org/gnu
1999-01-17 16:54:58 +00:00
Owen Taylor
529bd529ef Fix typo [ gtk-mailund-990116-0: Thomas Mailund Jensen
Sun Jan 17 11:51:17 1999  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c (gtk_text_move_cursor): Fix typo
	[ gtk-mailund-990116-0: Thomas Mailund Jensen <mailund@daimi.au.dk> ]
1999-01-17 16:51:20 +00:00
Christopher Blizzard
3aba370dad Update to version 1.1.3, change packager address.
Sun Jan 17 11:15:05 1999 Christopher Blizzard  <blizzard@appliedtheory.com>

        * gtk+.spec: Update to version 1.1.3, change packager address.
1999-01-17 16:25:20 +00:00
Tim Janik
65ef495712 deprecated gtk_check_menu_item_set_state, people should use
Sun Jan 17 14:52:29 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkcompat.h:
        * gtk/gtkcheckmenuitem.[hc]:
        deprecated gtk_check_menu_item_set_state, people should use
        gtk_check_menu_item_set_active instead.

        * gtk/testgtk.c:
         s/gtk_check_menu_item_set_state/gtk_check_menu_item_set_active/.
1999-01-17 14:52:22 +00:00
Tim Janik
9c5dfcd3ae incremented version number to 1.1.13, bin age 0, interface age 0.
Sun Jan 17 05:19:14 1999  Tim Janik  <timj@gtk.org>

        * configure.in: incremented version number to 1.1.13, bin age 0,
        interface age 0.

        * gtk/gtkmain.c (gtk_idle_remove_by_data): use g_idle_remove_by_data to
        remove idles, so `data' cannot conflict with other sources.

        * gtk/gtkcompat.h: define gtk_style_apply_default_pixmap here.

        * gtk/gtkstyle.[hc]: removed gtk_style_apply_default_pixmap.
        (struct _GtkStyle): reordered GtkStyleClass*klass; member.
1999-01-17 04:50:13 +00:00
George Lebl
2daaea2f98 for NO_WINDOW widgets, add their allocation.y to the position of the
Sat Jan 16 19:42:48 1999  George Lebl  <jirka@5z.com>

        * gtk/gtktooltips.c: for NO_WINDOW widgets, add their allocation.y
          to the position of the tooltip. This fixes tooltip positioning
          problems with some widgets such as a checkbox.
1999-01-17 03:49:31 +00:00
Tomas Ogren
ad4983713f Updated.
1999-01-17  Tomas Ogren  <stric@ing.umu.se>

* sv.po: Updated.
1999-01-17 03:04:45 +00:00
Nam SungHyun
0e46fffa45 updated 1999-01-17 02:19:33 +00:00
Vincent Renardias
df4598d582 Sat, 16 Jan 1999 23:32:33 +0100 [Vincent]
* fr.po: Updated.
1999-01-16 21:32:10 +00:00
Stuart Parmenter
1eb7f7367d check for child widget being NULL
Sat Jan 16 14:01:53 1999  Stuart Parmenter <pavlov@gtk.org>

	* gtk/gtklayout.c (gtk_layout_put): check for child widget being NULL
1999-01-16 19:04:06 +00:00
Lars Hamann
5c7acbbf42 fixed double click bug.
Sat Jan 16 05:02:22 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (gtk_clist_button_press): fixed double click bug.
1999-01-16 04:21:46 +00:00
Manish Singh
b35b174773 Mention libtool 1.2d
-Yosh
1999-01-16 03:44:08 +00:00
Kjartan Maraas
251e586236 Updated translation.
1999-01-16  Kjartan Maraas  <kmaraas@fib.hl.no>

		* Updated translation.
1999-01-15 23:59:44 +00:00
Tim Janik
87620764ae define GTK_DISABLE_COMPAT_H for compilation of gtk code.
Fri Jan 15 19:16:42 1999  Tim Janik  <timj@gtk.org>

        * gtk/Makefile.am: define GTK_DISABLE_COMPAT_H for compilation of gtk
        code.

        * gtk/gtkrc.c (gtk_rc_style_unref): added an assertment.

        * gtk/gtkcompat.h:
        * gtk/gtklabel.h:
        don't provide compatibility defines if GTK_DISABLE_COMPAT_H is defined.

        * gtk/gtkstyle.h:
        * gtk/gtkstyle.c: coding style, indentation and alignment fixups.
        (gtk_draw_string):
        (gtk_paint_string):
        (gtk_draw_polygon):
        (gtk_style_set_background): fixed assertments.
        (gtk_default_draw_ramp):
        (gtk_default_draw_cross):
        (gtk_default_draw_oval): issue warnings since these functions aren't
        yet implemented.

        * gdk/gdkwindow.c:
        (gdk_window_hide): only unmap window if already mapped.
        (gdk_window_show): only map window if !mapped.
        (gdk_window_internal_destroy): destroyed windows can't be mapped.

        * gtk/gtkwidget.c (gtk_widget_event): don't ignore expose events just
        because a resize is queued on a widget, we rely on the expose events
        now.
1999-01-15 18:41:43 +00:00
Owen Taylor
2e99e7713d nparams for selection_get should be 3, not 2. [ From Damon Chaplin
Fri Jan 15 10:22:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_class_init):
	nparams for selection_get should be 3, not 2.
	[ From Damon Chaplin <damon@karuna.freeserve.co.uk> ]

	* gtk/gtkeventbox.c (gtk_event_box_paint): Add a paint
	routine so queued redraws work inside event boxes.

Thu Jan 14 17:47:37 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Only
 	 redraw character under cursor when not displaying
	highlighted selection.

	* gdk/gdkrgb.c (gdk_rgb_init): Add in a cast to
	gpointer to make IRIX cc happy.

Thu Jan 14 12:29:50 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcheckbutton.c (gtk_check_button_draw): Restructure
	the drawing code to remove a bit of duplication -
	and to remove a call to gtk_widget_draw_focus()
	that queues a redraw when an expose occurs.

	* gtk/gtklabel.c (gtk_label_expose): Fix up handling
	  of ypadding.

	* gtk/gtknotebook.c (gtk_notebook_draw): If we redraw
	  the whole widget, also redraw the corresponding
	  areas of the child widget. (have_visible_child
	  still has some problems)

	* gdk/gdkpixmap.c: Change some g_new's to g_new0 so
	  that fields unused for pixmaps get initialzized
	  sanely.

        * gdk/gdk.h gdk/gdkwindow.c gdk/gdkprivate.h: Add new calls
	  gdk_window_is_visible() and gdk_window_is_viewable()
	  and a mapped flag to the window private structure.

        * gtk/gtkbin.c gtk/gtkclist.c gtk/gtkfixed.c gtk/gtkitem.c
	  gtk/gtklayout.c gtk/gtklist.c gtk/gtkmenushell.c
	  gtk/gtknotebook.c gtk/gtkpaned.c gtk/gtktree.c
	  gtk/gtktreeitem.c gtk/gtkviewport.c:
	Map windows after mapping children.

	* gtk/gtkwidget.c (gtk_widget_clip_rect): Handle
	rectangles completely clipped away correctly.

	* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
	call gtk_widget_draw if width or height is 0.

	* gtk/gtkwidget.c (gtk_widget_idle_draw): Don't
	rely on GTK_REDRAW_PENDING after we've cleared
	it. (This was causing draw-combining to not
	happen at all).

	* gtk/gtkbin.c gtk/gtkscale.c: Remove uneccessary calls
	to gtk_widget_queue_draw() when mapping.
1999-01-15 16:00:39 +00:00
Owen Taylor
3bba843968 Make MOD1-drag also do action ask.
Thu Jan 14 11:29:53 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_get_event_action): Make
	MOD1-drag also do action ask.

	* gtk/gtkdnd.c (gtk_drag_button_release_cb): Send the
	button-release event we simulate to get grabs released,
	with a window of GDK_ROOT_PARENT instead of the actual
	widget. This is a bad hack in some sense, but seems
	to work nicely. (It's sort of like what you would
	if you grabbed on button press, then the user
	released outside of the widget.)
1999-01-15 15:58:17 +00:00
Owen Taylor
eb7c4e4589 Do all event processing in dispatch() instead of prepare() and check().
Thu Jan 14 19:19:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c: Do all event processing in
	dispatch() instead of prepare() and check().
1999-01-15 15:56:32 +00:00
Owen Taylor
40f9670464 Change copy_area => !set_bg. Use tile instead of gdk_window_copy_area when
Thu Jan 14 20:29:16 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkstyle.[ch] (gtk_style_apply_default_background):
	Change copy_area => !set_bg. Use tile instead of
	gdk_window_copy_area when drawing without !set_bg.

	This does mess up timj's neat check-button example,
	but is consistent with how we interpret background
	pixmaps everywhere else in the default scheme.

	Restructure code for clarity.
1999-01-15 15:54:39 +00:00
Owen Taylor
467e0fcb24 gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkhandlebox.c gtk/gtkframe.c
Wed Jan 13 22:34:29 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkhandlebox.c
	gtk/gtkframe.c gtk/gtk[hv]box.c gtk[hv]paned.c gtk/gtklist.c
	gtkmenu.c gtkmenuitem.c gtkmenubar.c gtknotebook.c
	gtk/gtkscrolledwindow.c gtk/gtktable.c gtk/gtktree.c
	gtk/gtktreeeitem.c gtk/gtkviewport.c

	Fix up comparisons of signed and unsigned ints to avoid
	assigning negative widths/heigths.
1999-01-14 06:04:55 +00:00
Owen Taylor
c8ae0b92ca Unset CATOBJEXT so that the macros and Makefiles correctly handle
Wed Jan 13 21:18:41 1999  Owen Taylor  <otaylor@redhat.com>

	* acinclude.m4 (ac_result): Unset CATOBJEXT so
	that the macros and Makefiles correctly handle
	disabling NLS when no gettext is found.
1999-01-14 02:16:49 +00:00
Tim Janik
52a441445c in comparisions with GTK_TYPE_STRING, use the fundamental type to catch
Wed Jan 13 20:14:32 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkarg.c (gtk_arg_copy): in comparisions with GTK_TYPE_STRING, use
        the fundamental type to catch GTK_TYPE_IDENTIFIER as well.

        * gtk/gtkmenushell.c:
        (gtk_real_menu_shell_activate_current):
        (gtk_menu_shell_button_release): asure that we only activate sensitive
        menu items, reported by Dave Cole <dave@dccs.com.au>.
1999-01-13 20:36:23 +00:00
Pablo Saratxaga
aca733c310 updated spanish language file 1999-01-13 19:24:20 +00:00
Jeff Garzik
07cc384be1 cvs be quiet 1999-01-13 19:17:08 +00:00
Tim Janik
55b365d76d eliminate queue_clears or queue_draws where we know that expose events
Wed Jan 13 13:28:00 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c: eliminate queue_clears or queue_draws where we know
        that expose events will be generated.
        (gtk_widget_map): only queue_draw for NO_WINDOW widgets.
        (gtk_widget_unmap): only queue_clear_child for NO_WINDOW widgets.
        (gtk_widget_size_allocate): we don't need a queue_clear on changing
        allocations of !NO_WINDOW widgets, we do still need a full redraw for
        them though.

        * gtk/gtklabel.c (gtk_label_set_text): check whether the new string
        actually differs from the original.
1999-01-13 12:39:17 +00:00
Manish Singh
de7ffb4a1c remove autogened files
-Yosh
1999-01-13 08:52:03 +00:00
Manish Singh
38e44202bd Doah. libtool isn't the only thing in here.
-Yosh
1999-01-13 08:44:21 +00:00
Manish Singh
6790905309 acinclude.m4 ltconfig upgrade to libtool 1.2d (with fixes for irix6 and
* acinclude.m4
* ltconfig
* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)

-Yosh
1999-01-13 06:53:26 +00:00
Stuart Parmenter
9da0be6730 add GTK_HAVE_FEATURES_1_1_13 for the toggle button name changes 1999-01-13 03:34:53 +00:00
Tomas Ogren
fa75646110 Updated, did make update-po
1999-01-13  Tomas Ogren  <stric@ing.umu.se>

* sv.po: Updated, did make update-po
1999-01-13 02:30:55 +00:00
Owen Taylor
24f6d8b887 Add a drag_data_received handler for the label.
Tue Jan 12 18:30:51 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/testdnd.c (label_drag_data_received): Add
	a drag_data_received handler for the label.

Tue Jan 12 15:01:50 1999  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.c: Removed the putback_events queue,
	since it was causing problems with event ordering -
	just keep a single queue. If we need it, we can
	add priorities to events.

	* gdk/gdkevents.c: Annotate events with flags - we allocate
	a GdkEventPrivate structure in gdk_event_new() and use these
	flags to mark an event being translated as "pending" -
	I.e., not yet ready to be dequeued. So we can put
	the event on the queue and get the order of the
	events right. (This solves the double-click problems)

	* gdk/gdk.h gdk/gdkevents.h: Add gdk_event_peek() to get a copy
	of the next event on the event queue.

	* gtk/gtkmain.c (gtk_main_do_event): Use gdk_event_peek()
	to check the next event without causing event queue
	reordering.
1999-01-12 23:27:30 +00:00
Owen Taylor
5a86cbd116 Minor fix to handling of misc->[x/y]pad
Tue Jan 12 15:41:20 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_expose): Minor fix
	to handling of misc->[x/y]pad
1999-01-12 20:45:37 +00:00
Owen Taylor
bef538cc7e Add back as wrapper function to restore source/binary compatibility.
Tue Jan 12 14:31:43 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkstyle.[ch] (gtk_style_apply_default_pixmap):
	Add back as wrapper function to restore source/binary
	compatibility. grrrr.
1999-01-12 19:40:21 +00:00
Tim Janik
9619e45aa7 updates 1999-01-12 19:35:00 +00:00
Tim Janik
d7bd87f2ea reworked the redrawing heuristics somewhat, this fixed a bunch of existing
Tue Jan 12 13:47:07 1999  Tim Janik  <timj@gtk.org>

        * reworked the redrawing heuristics somewhat, this fixed a bunch of
        existing redrawing problems and majorly reduces overall redrawing needs
        during normal operation. basically we now only queue redraws when
        neccessary and much rely on the draw_area coalescing code in gtkwidget.c
        to optimize the queued portions. widgets will now upon reallocation only
        get redrawed if their allocation has changed. upon hide/show only the
        area allocated by the child will be queued for the parent, this has the
        side effect that parents which change their appearance in dependance on
        the numer of visible children have to keep track of their children's
        visiblity and eventually fully redraw themselves. this is a minor
        constrain with great benefits in terms of redraw reduction, and only got
        triggered by the notebook widget.

        * gtk/gtkwidget.c:
        (gtk_widget_queue_clear): don't bother if width and height == 0.
        (gtk_widget_queue_clear_child): new static function to queue a redraw of
        the area obscured by a child on a parent.
        (gtk_widget_queue_resize): queue_clear the widget if it is drawable.
        (gtk_widget_show): queue resize on the widget before showing.
        (gtk_widget_hide): queue resize on the widget after hiding.
        (gtk_widget_map): queue_draw the widget after mapping.
        (gtk_widget_unmap): queue_clear_child the widget.
        (gtk_widget_size_allocate): queue_clear_child and queue_draw if the
        widget's allocation changed.
        (gtk_widget_unparent): queue_clear_child so the parent redraws obscured
        portions.
        (gtk_widget_real_show):
        (gtk_widget_real_hide):
        (gtk_widget_real_map):
        (gtk_widget_real_unmap):
        (gtk_widget_real_size_allocate): don't bother with redraw queueing,
        descendants that override these functions don't do either and we handle
        all redrawing/resizing related stuff before or after the signal emission
        now.

        * gtk/gtkcontainer.c:
        (gtk_container_resize_children): don't bother about redrawing anymore
        since gtk_widget_size_allocate handles that for us now.

        * gtk/gtknotebook.h:
        * gtk/gtknotebook.c:
        added a flag have_visible_child to indicate whether we need to draw
        non child related portions at all, e.g. shadows etc.
        (gtk_notebook_draw): if have_visible_child changed, do a full paint
        instead of updating a small area only.

Mon Jan 11 20:44:35 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkstyle.c: changed gtk_style_apply_default_pixmap to
        gtk_style_apply_default_background which takes an extra argument
        copy_area to determine NO_WINDOW widget pixmap copying.
        changed callers accordingly.

        * gtk/gtktogglebutton.c:
        (gtk_toggle_size_allocate):
        (gtk_toggle_button_expose):
        (gtk_toggle_button_paint): avoid messing with our parent's window if
        toggle_button->draw_indicator == TRUE and we are a NO_WINDOW widget.

        * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator): draw
        the draw_indicator with GTK_STATE_ACTIVE if the toggle button is active.

        * gtk/check-n.xpm:
        * gtk/check-y.xpm:
        * gtk/testgtkrc: set pixmaps for ACTIVE and NORMAL check button
        bg_pixmaps.
1999-01-12 15:12:14 +00:00
Lars Hamann
8b0955954c end drag selections if necessary.
Mon Jan 11 23:52:58 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtklist.c (gtk_list_signal_drag_begin)
	(gtk_list_drag_begin): end drag selections if necessary.

	* gtk/gtkspinbutton.c/h (gtk_spin_button_update): made function
	public. Manually force synchronization of spin button text and
 	adjustment value.
1999-01-11 23:24:41 +00:00
Tim Janik
d2e69a89d4 eliminated some queue_draws when invoking gtk_widget_set_state, since that
Mon Jan 11 15:23:32 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtktogglebutton.c: eliminated some queue_draws when invoking
        gtk_widget_set_state, since that cares about redrawing already.
        some code cleanups.

        * gtk/gtktogglebutton.[hc]:
        * gtk/gtkfontsel.c:
        * gtkgamma.c:
        s/gtk_toggle_button_set_state/gtk_toggle_button_set_active/ since
        set_state is already taken by gtkwidget.h.

        * gtk/gtkcompat.h: #define gtk_toggle_button_set_state
        gtk_toggle_button_set_active.

        * gtk/gtkstyle.c: some indentation cleanups.
1999-01-11 18:49:54 +00:00
Owen Taylor
0b84fc2742 Only remove handlers for motion/button_release at drop, remove
Mon Jan 11 10:45:28 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c: Only remove handlers for motion/button_release
	at drop, remove "selection_get" handler later.
1999-01-11 16:07:47 +00:00
Tim Janik
983335243b removed Paolo Molaro's type creation hooks again, since they 1) don't care
Mon Jan 11 13:31:49 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.[hc]: removed Paolo Molaro's type creation hooks
        again, since they 1) don't care about infinite recursion (likely
        to achive), 2) we are in feature freeze for 1.2. this definitely
        deserves a sane implementation in 1.3 though (but without a hook
        return value, without seq_id hackery and with recursion checks).
1999-01-11 12:43:07 +00:00
Tim Janik
e3ee9e9d7d only pass key events to the focus widget if it is sensitive.
Mon Jan 11 13:18:37 1999  Tim Janik  <timj@gtk.org>

        * gtk/gtkwindow.c:
        (gtk_window_key_release_event):
        (gtk_window_key_press_event): only pass key events to the focus widget
        if it is sensitive.

        * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): don't popup the
        submenu if it isn't sensitive.
        (gtk_menu_item_paint): state_type doesn't need to be reset to
        GTK_STATE_INSENSITIVE if the widget is insensitive anyways.

        * gtk/gtkcontainer.c (gtk_container_real_focus):
        * gtk/gtklist.c (gtk_list_focus):
        * gtk/gtkmenushell.c (gtk_menu_shell_move_selected):
        * gtk/gtknotebook.c (gtk_notebook_focus):
        s/GTK_WIDGET_SENSITIVE/GTK_WIDGET_IS_SENSITIVE/ since a widgets
        sensitivity is determined through the parent as well,
        GTK_WIDGET_SENSITIVE is only of interest inside gtkwidget.c, everywhere
        else GTK_WIDGET_IS_SENSITIVE (widget) needs to be used to check for
        sensitivity.

        * gtk/gtkaccelgroup.c (gtk_accel_group_activate): don't activate
        object if it is an insensitive widget.
1999-01-11 12:22:52 +00:00
Paolo Molaro
f3af00f450 Mon, 11 Jan 1999 08:09:08 +0100 Paolo Molaro <lupus@debian.org>
* gtk/gtktypeutils.[ch]: add gtk_type_{add,remove}_creation_hook().
        You can have a notification when a type is created.
1999-01-11 07:09:07 +00:00
Tim Janik
b6714d9ad1 added an assertement.
1999-01-11  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_propagate_event): added an assertement.
1999-01-11 06:35:41 +00:00
Owen Taylor
05e714d6d1 Fixed cut and paste bug when comparing text property bg colors. [ Matt
Sun Jan 10 14:45:37 1999  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c (text_properties_equal): Fixed
	cut and paste bug when comparing text property
	bg colors.
	[ Matt Aubury <Matt.Aubury@comlab.ox.ac.uk> ]
1999-01-10 19:49:24 +00:00
Tim Janik
bcbe6f4885 if the lookup failed, try to initialize the object class and reattempt the
1999-01-10  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_lookup): if the lookup failed, try
        to initialize the object class and reattempt the lookup, reported
        by Paolo Molaro <lupus@lettere.unipd.it>.
1999-01-10 19:05:36 +00:00
Pablo Saratxaga
a24e14ceb4 added spanish language file 1999-01-10 18:32:14 +00:00
Owen Taylor
3bd19e15ea Added cs to ALL_LINGUAS.
Sat Jan  9 17:36:20 1999  Owen Taylor  <otaylor@redhat.com>

	* configure.in (ALL_LINGUAS): Added cs to ALL_LINGUAS.

Sat Jan  9 17:27:49 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkfilesel.c (gtk_file_selection_populate):
	Mark another string for internationalization.
	[ Stanislav Brabec <utx@k332.feld.cvut.cz> ]
1999-01-09 22:34:28 +00:00
Owen Taylor
71adaddfa7 Added Czech translation by Stanislav Brabec <utx@k332.feld.cvut.cz>
Sat Jan  9 17:35:19 1999  Owen Taylor  <otaylor@redhat.com>

	* cs.po: Added Czech translation by
	  Stanislav Brabec <utx@k332.feld.cvut.cz>
1999-01-09 22:32:58 +00:00
Owen Taylor
a40fd787da Set name "gtk-tooltips" on tip window so that a style can be set for
Sat Jan  9 14:02:08 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktooltips.c (gtk_tooltips_force_window): Set
	name "gtk-tooltips" on tip window so that a style
	can be set for tooltips.
1999-01-09 19:02:06 +00:00
Nuno Ferreira
a646c4b4d0 More strings translated. Not finished yet.
1999-01-09  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* pt.po: More strings translated. Not finished yet.
1999-01-09 13:08:32 +00:00
Owen Taylor
95843529d1 Fixed some list-manipulation breakage.
Fri Jan  8 19:00:17 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdnd.c (gdk_window_cache_filter): Fixed
	some list-manipulation breakage.

	* gdk/gdkdnd.c (gdk_window_cache_destroy): Free
	window cache structure.

	* gtk/gtkdnd.c (gtk_drag_set_icon_pixmap): Set an
	event mask on the drag window so clicking on it
	doesn't pop up root menus, etc.

	* gtk/gtkdnd.c (gtk_drag_button_release_cb): Remove
	signal handlers at button release.
1999-01-09 00:21:37 +00:00
Lars Hamann
b56693d114 call gtk_spin_button_update before returning a value
Fri Jan  8 00:42:00 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkspinbutton.c (gtk_spin_button_get_value_as_int)
	(gtk_spin_button_get_value_as_float): call gtk_spin_button_update
	before returning a value

	* gtk/gtkclist.c (gtk_clist_motion): don't allow 'drag selections'
	if clist is a drag source.
	(gtk_clist_drag_begin): remove pointer grabs, end ongoing selections.

	* gtk/gtkctree.c (remove_grab): copy of clist function.
	(gtk_ctree_drag_begin): let clists drag_begin method set the
	source info struct.
1999-01-08 00:21:36 +00:00
Owen Taylor
41604dd844 Fixes to drawing the background of the bin window so that clearing and
Thu Jan  7 19:10:21 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkviewport.c (gtk_viewport_style_set): Fixes
	to drawing the background of the bin window
	so that clearing and redrawing of child
	widgets work properly.

	* gtk/gtkwidget.c (gtk_widget_idle_draw): Juggle around
	data so that if somebody triggers more redraw queuing
	from a expose_event handler, it doesn't confuse the
	heck out of GTK+. (But is highly liable to cause
	an infinite loop...)
1999-01-08 00:12:43 +00:00
Owen Taylor
bedab705f2 Fix some more memory leaks.
Thu Jan  7 12:31:41 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_unref): Fix some
	more memory leaks.
1999-01-07 20:17:15 +00:00
Lars Hamann
f28c909c58 fix for dnd bug reported by Bertrand Guiheneuf. Don't return FALSE if
Wed Jan  6 23:14:19 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (gtk_ctree_drag_motion): fix for dnd bug reported
	by Bertrand Guiheneuf. Don't return FALSE if source widget != dest.
	widget.
1999-01-06 22:26:03 +00:00
Tristan Tarrant
216d83587f Added Italian texts 1999-01-06 09:09:04 +00:00
George Lebl
234d762ec3 free the event that was returned to us by gtk_get_current_event
Tue Jan 05 21:18:00 1999  George Lebl  <jirka@5z.com>

        * gtk/gtkmenu.c,gtk/gtkmenuitem.c,gtk/gtkeditable.c: free the
          event that was returned to us by gtk_get_current_event
1999-01-06 05:19:15 +00:00
Owen Taylor
52601eae08 Free memory allocated for target lists.
Tue Jan  5 11:31:55 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_unref): Free
	memory allocated for target lists.
1999-01-06 00:43:29 +00:00
Owen Taylor
0a411980ef Push GdkRGB's visual and colormap around the color selection dialog so
Tue Jan  5 19:01:18 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorsel.c (gtk_color_selection_dialog_init): Push
	GdkRGB's visual and colormap around the color selection
	dialog so that the window and the previews have the
	same colormap. If an app adds things to the colorsel
	dialog, it will have to take care of them itself.
1999-01-06 00:41:04 +00:00
Owen Taylor
5126b13c0a When redrawing the under-cursor character, don't redraw the terminating
Tue Jan  5 11:51:32 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable):
	When redrawing the under-cursor character, don't
	redraw the terminating NULL.
	[ From: dov@imagic.weizmann.ac.il (Dov Grobgeld) ]
1999-01-05 23:46:49 +00:00
Owen Taylor
1fd7a6e491 Make gtk_propagate_event() non-static, we need it in gtkdnd.c so that the
Tue Jan  5 15:03:47 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmain.c (gtk_propagate_event): Make
	gtk_propagate_event() non-static, we need it in gtkdnd.c
	so that the button-release we synthesize gets propagated
	correctly.

	* gtk/gtkdnd.c: Use gtk_propagate_event() so
	release gets to a GtkList. But we can't really
	get this right without access to the windows
	event masks and doing X-style propagation ourselves.

Tue Jan  5 11:31:55 1999  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_target_list_unref): Free
	memory allocated for target lists.

	* gtk/gtkdnd.c (gtk_drag_drop_finished): Release
	selections before destroying info structure.

	* gdk/gdkdnd.c gdktypes.h (gdk_drag_get_protocol): Add
	new value GDK_DRAG_PROTO_NONE, use it for non-drag
	targets, to quiet Purify.

	* gdk/gdkdnd.c (gdk_window_register_dnd): Set size
	of property properly.
1999-01-05 23:45:21 +00:00
Arturo Espinosa
ce87813af6 Stuff I did last night while watching TV 1999-01-05 21:27:07 +00:00
Arturo Espinosa
f876ca2681 Loading framework done, start of PNG loader 1999-01-05 04:31:03 +00:00
Arturo Espinosa
f0723b00a9 Initial import of the GdkPixBuf imaging library 1999-01-04 23:53:12 +00:00
Arturo Espinosa
249f6c5326 Initial revision 1999-01-04 23:53:12 +00:00
CST 1999 Shawn T. Amundson
c20ce75179 Released GTK+ 1.1.12
Mon Jan  4 03:45:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.12

        * INSTALL:
          NEWS:
          README:
          configure.in:
          gtk+.spec:
          docs/gtk-config.1:
          gtk/gtkfeatures.h.in: version=1.1.12
1999-01-04 11:04:11 +00:00
Nam SungHyun
37acae8845 Added 'ko'. Added Korean translation.
* configure.in (ALL_LINGUAS): Added 'ko'.
* po/ko.po: Added Korean translation.
1999-01-04 03:33:35 +00:00
Lars Hamann
73c4ee3a6c fixed auto_resize bug
Sun Jan  3 17:41:22 1999  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (real_tree_expand): fixed auto_resize bug
1999-01-03 17:32:43 +00:00
Tim Janik
e573567b99 make this G_PRIORITY_DEFAULT.
Sat Jan  2 03:54:30 1999  Tim Janik  <timj@gtk.org>

        * gdk/gdk.h (GDK_PRIORITY_EVENTS): make this G_PRIORITY_DEFAULT.

        * gdk/gdkevents.c (gdk_events_init): add the source and the poll fd with
        a priority of GDK_PRIORITY_EVENTS.
1999-01-02 22:19:15 +00:00
Jeff Garzik
d6890b721d Removed features.h test.
* configure.in, config.h.in, gdk/gdkimage.c:
        Removed features.h test.

        * gdk/gdkdnd.c:
        Guard public functions against NULL pointer derefs.
1999-01-02 07:32:22 +00:00
Manish Singh
a6da2cf948 gdk/gdk.c gdk/gdkinputnone.h casts to get rid of const warnings
* gdk/gdk.c
* gdk/gdkinputnone.h
* gtk/gtkruler.c: casts to get rid of const warnings

* gtk/Makefile.am: fix gtktypebuiltins.h dependencies, and do a
cmp so people don't whine about rebuilds

* gtk/gtknotebook.c: use g_snprintf on translated strings, so we
don't get buffer overflows

* gtk/gtkrc.c: use g_strdup_printf instead of g_malloc/sprintf
Plug some memleaks.

-Yosh
1999-01-02 03:16:07 +00:00
Jeff Garzik
7433badf8e Check for features.h.
* configure.in, config.h.in:
        Check for features.h.

        * gdk/gdkevents.c (gdk_event_put, gdk_events_queue):
        Fixed bug in linked list append logic by replacing hand-coded
        logic with a call to g_list_append.  Bug found by tml.

        * gdk/gdkimage.c:
        'gcc -ansi -pedantic' on GNU/Linux spews warnings and errors
        in sys/ipc.h, including one specific admonishment to use
        _SVID_SOURCE or _XOPEN_SOURCE.  Manually defined the latter, and
        included features.h if present to obtain the necessary
        side-effects.

        * gtk/gtkclist.c, gtk/gtkeditable.c:
        Eliminates comma-after-final-element warnings.

        * gtk/gtkfontsel.c (gtk_font_selection_init):
        Fixed bug where an intl string was declared as _("x") in
        local var initializer.
1999-01-01 23:36:32 +00:00
Elliot Lee
385108e0de gtk.m4: When testing to see if glib exists, set LIBS="$GTK_LIBS $LIBS" NOT
gtk.m4:
	When testing to see if glib exists, set
	        LIBS="$GTK_LIBS $LIBS"
	NOT
	        LIBS="$LIBS $GTK_LIBS"
	because order matters - if the user specifies their own $LIBS to
	./configure, these need to be passed in last.

gtk/Makefile.am:
	Fix problems with gtktypebuiltins* getting rebuilt every single
	time 'make' was run.

gtk/gtkcalendar.c:
	Set 'week' variable to 0 to get rid of uninitialized
	variable warning. Better solution is to give it the right value
	somewhere :)

gtk/gtkclist.c:
	When computing optimum column size, don't subtract the borders.(?)

gtk/gtkcolorsel.c:
	Don't read past end of array.
1998-12-31 21:01:18 +00:00
Jeff Garzik
d9f5d8f255 updated w/ changed from last night 1998-12-31 15:09:17 +00:00
Jeff Garzik
afd57f842d Init fix from Chi-Deok Hwang <cdhwang@sr.hei.co.kr>. Will ChangeLog shortly. 1998-12-31 05:35:29 +00:00
Miguel de Icaza
f2091ab7be Fix memory leak. gdk_event_put would make a copy of next_event, and
1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtk/gtkmain.c (gtk_main_do_event): Fix memory leak.
	gdk_event_put would make a copy of next_event, and next_event was
	not being freed.
1998-12-31 04:43:36 +00:00
CST 1998 Shawn T. Amundson
c44d39c06e Released GTK+ 1.1.11
Wed Dec 30 18:39:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.11

        * INSTALL:
          NEWS:
          README:
          configure.in:
          gtk+.spec:
          docs/gtk-config.1:
          gtk/gtkfeatures.h.in: version=1.1.11

Also fixed docs/Makefile.am so make distcheck works well now,
even on an SMP machine.

Do these .po files really have to be remade during a make dist?
1998-12-31 02:25:58 +00:00
Vincent Renardias
7e855cfc45 Wed, 30 Dec 1998 23:04:25 +0100 [Vincent]
* Major translation updates.
1998-12-30 21:10:02 +00:00
Owen Taylor
a078311369 Fixed off-by-one error when computing length.
Tue Dec 29 16:06:55 1998 Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkim.c (gdk_wcstombs): Fixed off-by-one
	error when computing length.
1998-12-29 21:10:30 +00:00
Jeff Garzik
fc07d22a53 x Pull in string.h for various mem*() and str*() functions, in an
x
   Pull in string.h for various mem*() and str*() functions,
        in an autoconf-friendly way.
x
1998-12-24 19:39:00 +00:00
Jeff Garzik
553fa4309e removed unused var 64-bit cast point to const data Made const-correct.
* gdk/gdkfont.c: removed unused var
        * gdk/gdkim.c: 64-bit cast
        * gtk/gtkaccelgroup.c: point to const data
        * gtk/gtkdnd.[ch]: (gtk_drag_dest_set, gtk_drag_source_set):
          Made const-correct.
        * gtk/gtkfontsel.c: kill uninitialized var warning
        * gtk/gtkselection.[ch]: (gtk_target_list_new,
          gtk_target_list_add_table, gtk_selection_add_targets):
          Made const-correct.
        * gtk/testgtk.c: 64-bit cast
1998-12-24 17:47:02 +00:00
CST 1998 Shawn T. Amundson
9775547b4a Released GTK+ 1.1.10
Thu Dec 24 03:16:52 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.10

        * INSTALL:
          NEWS:
          README:
          configure.in:
          gtk+.spec:
          docs/gtk-config.1:
          gtk/gtkfeatures.h.in: version=1.1.10

        * no.po: added translation by Kjartan Maraas <kmaraas@fib.hl.no>
1998-12-24 15:21:13 +00:00
Martin Baulig
d01381e1cb s,Fedrerico Mena,Federico Mena, 1998-12-24 12:33:19 +00:00
Owen Taylor
b596355d0a Update to changelog, to cover fix that previously slipped in.
Wed Dec 23 20:31:40 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c: Fix problem where empty labels were
	getting a requisition height of zero, and trailing
	newlines were being ignored.
1998-12-24 01:29:44 +00:00
Owen Taylor
c6cf882eee label->label should be the mb text _after_ removing the underlines, not
Wed Dec 23 13:58:14 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_parse_uline):
	label->label should be the mb text _after_ removing
	the underlines, not before.

	* gtk/gtkmenu.c: Reverted Elliot's tearoff-menu-item
	title hack. If it deserves being done, it deserves
	being done right.
1998-12-23 19:16:21 +00:00
Elliot Lee
fb833c477b */Makefile.am: Now passes 'make distcheck'. Now loops. I'm not sure what
*/Makefile.am: Now passes 'make distcheck'. Now loops. I'm not sure what
is up.

1998-12-23  Elliot Lee  <sopwith@redhat.com>

	* gtk/gtkmenu.c: Allow programmer to gtk_object_set_data(obj,
 	"GtkTearoffMenuItem_window_title", ..) on a GtkMenuItem and have
 	it be recognized. If we're getting the title out of the GtkLabel,
 	then remove all underscores.
1998-12-23 16:24:15 +00:00
Owen Taylor
08b22ddebf Request XmTRANFER_FAILURE on Motif drops not within a drop zone. I don't
Tue Dec 22 17:01:43 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event):
	Request XmTRANFER_FAILURE on Motif drops not within
	a drop zone. I don't know why this is necessary,
	but it is.

	* gdk/gdkdnd.c (gdk_drop_reply): Fixed error where
	Motif flag field in response was getting wrong
	values.
1998-12-22 22:00:43 +00:00
Owen Taylor
1f8fd8871b Return TRUE for button press events we handle. (Allows option menus in
Tue Dec 22 15:55:39 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkoptionmenu.c (gtk_option_menu_button_press):
	Return TRUE for button press events we handle.
	(Allows option menus in radio buttons to work...)
1998-12-22 20:55:30 +00:00
Owen Taylor
7f0156c2ea Optimization - when we've already found a widget, skip all checks for
Tue Dec 22 14:50:25 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_find_widget): Optimization -
	when we've already found a widget, skip all checks
	for subsequent children.

	* gtk/gtkdnd.c (gtk_drag_find_widget): Checked for
	!MAPPED, not !VISIBLE, since a widget (like a notebook
	page), can be VISIBLE, but !REALIZED or !MAPPED.

	* gtk/gtkdnd.c (gtk_drag_find_widget): Use forall(),
	not foreach().
1998-12-22 20:06:44 +00:00
Owen Taylor
b45236cee8 Added translation by Krzysztof Krzyaniak <eloy@venco.com.pl>
Tue Dec 22 14:24:37 1998  Owen Taylor  <otaylor@redhat.com>

	* pl.po: Added translation by
	  Krzysztof Krzyaniak <eloy@venco.com.pl>
1998-12-22 19:25:40 +00:00
Lars Hamann
df7d275d17 fixed column resize bug
Mon Dec 21 22:01:49 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (gtk_clist_motion): fixed column resize bug
1998-12-21 21:09:37 +00:00
Tim Janik
af2c3bd16f export the priority at which events are processed.
Sun Dec 20 04:48:59 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdk.h (GDK_PRIORITY_EVENTS): export the priority at which
        events are processed.

        * gtk/gtk[main|signal|container].[ch]: removed deprecated _interp
        variants: gtk_container_foreach_interp, gtk_idle_add_interp,
        gtk_timeout_add_interp, gtk_signal_connect_interp.
1998-12-20 05:47:28 +00:00
PST 1998 Shawn T. Amundson
cbf5479263 added translation by Tomas gren <stric@ing.umu.se>
Sat Dec 19 18:42:39 PST 1998 Shawn T. Amundson <amundson@gtk.org>

        * sv.po: added translation by Tomas gren <stric@ing.umu.se>
1998-12-20 02:48:52 +00:00
Tim Janik
5070b178e9 eek, fixed an embarrasing bug that caused this function to always return
Sat Dec 19 22:49:40 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_query): eek, fixed an embarrasing bug
        that caused this function to always return NULL (noticed by marius
        vollmer).
1998-12-20 01:24:40 +00:00
Owen Taylor
651e2f744f Don't add the gthread libs to GLIB_LIBS either, or -lgthread -lpthread
Sat Dec 19 17:28:30 1998  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Don't add the gthread libs to
	GLIB_LIBS either, or -lgthread -lpthread will get
	pulled into all applications because of shlib deps.

	* gtk/gtkmain.h gtk/gtkwidget.c gtk/gtk gdk/gdk:
	Use GLIB's priority #define. Revise scale of
	priorities.
1998-12-19 22:27:03 +00:00
Manish Singh
5225ae6105 always run a g_main_iteration, even if there are no active main loops.
* gtk/gtkmain.c: always run a g_main_iteration, even if
there are no active main loops. This fixes the gimp splash
screen.

-Yosh
1998-12-19 11:47:58 +00:00
Tim Janik
8fc5066a69 removed return_if_fail (label->words != NULL) since that's a valid case
Sat Dec 19 05:37:51 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtklabel.c (gtk_label_expose): removed return_if_fail
        (label->words != NULL) since that's a valid case when the label
        is empty, or just default constructed.
        fixed indentation prototype arguments and braces in some places.
        also, pointer comparisions and initializations are done with NULL
        not 0, there's a reason GLib defines NULL.

        * gdk/gdkevents.c (gdk_events_pending): return (queued_events ||
        putback_events) so this again returns whether events are pending,
        not whether other sources like idles are pending.

        * gtk/gtkmain.c (gtk_main_iteration_do):
        (gtk_main_iteration): return whether the loop is done, not whether
        something got dispatch to restore the original behaviour (yosh: this
        fixes code like in GleSelector).
1998-12-19 05:15:15 +00:00
Manish Singh
ee173b486f s/(enter|leave)_button/$1/g, since pthreads.h no longer conflicts
-Yosh
1998-12-19 03:24:15 +00:00
Lars Hamann
2231b92bbb fixed GDK_2BUTTON_PRESS bug.
Sat Dec 19 01:56:13 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (gtk_clist_button_press): fixed GDK_2BUTTON_PRESS
 	bug.
1998-12-19 01:18:08 +00:00
Manish Singh
690fa02b0a add ja.po to ALL_LINGUAS
-Yosh
1998-12-19 00:07:36 +00:00
Vincent Renardias
1163b431b5 Sat, 19 Dec 1998 01:15:44 +0100 [Vincent]
* fr.po: Added.
1998-12-18 23:18:11 +00:00
Owen Taylor
6704cf6e1a Marked plug window as destroyed before destroying the window.
Fri Dec 18 15:19:54 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtksocket.c (gtk_socket_filter_func): Marked
	plug window as destroyed before destroying the
	window.
1998-12-18 20:47:21 +00:00
Owen Taylor
8592d1c309 Set the usize on the tearoff window so when we reparent the window out,
Fri Dec 18 14:17:14 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmenu.c (gtk_menu_popup): Set the usize on the
	tearoff window so when we reparent the window out,
	the window doesn't shrink down.
1998-12-18 19:15:46 +00:00
Owen Taylor
21ea00bef0 Fixed transposition of \ and "
Fri Dec 18 09:52:28 1998  Owen Taylor  <otaylor@redhat.com>

	* de.po: Fixed transposition of \ and "
1998-12-18 14:52:57 +00:00
Sven Neumann
6f50500410 Daniels de.po file after a bit of editing.
--Sven
1998-12-18 11:16:31 +00:00
Yukihiro Nakai
c795ded090 Add Japanese Translation.
Add Japanese Translation.
1998-12-18 10:11:32 +00:00
Sebastian Wilhelmi
1a6d6e0647 do not export the glib flags for thread support to gtk-config.
1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: do not export the glib flags for thread support to
	gtk-config.
1998-12-18 10:01:21 +00:00
Tim Janik
d2dc06dae1 added gdk_flush() after g_main_run(), so we get the original behaviour
Fri Dec 18 01:32:59 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_main): added gdk_flush() after g_main_run(), so we
        get the original behaviour back, i.e. the event queue needs to be flushed
        after a main loop has been quitted.
        (gtk_main): add/remove the current main loop to/from the main loop
        before/after init/quit functions have been exected to preserve the
        original gtk_main_quit() behaviour.

Thu Dec 17 23:48:29 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdkevents.c (gdk_events_init): changed argument order in call
        to g_main_add_poll() to match recent glib changes.
1998-12-18 02:23:48 +00:00
Owen Taylor
11339ec5b3 Add @INTLLIBS@. gtk-scier-981116-0.patch Sean Cier
Thu Dec 17 20:33:28 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk-config.in: Add @INTLLIBS@.
	gtk-scier-981116-0.patch  Sean Cier <scier@PostHorizon.com>) ]

	* gtk/gtkcolorsel.c gtk/gtkfilesel.c gtk/gtkfontsel.c
	  gtk/gtkgamma.c gtk/gtkinputdialog.c
	  gtk/gtknotebook.c gtk/gtkrc.c gtk/gtkthemes.c
	  gtk/gtktipsquery.c:

	Applied parts of gtk-egger-981215-1 [ Daniel Egger
	<Daniel.Egger@t-online.de> ] marking additional strings for
	internationalization.

	* po/nl.po: Added Dutch translation from
	Paul Siegmann <pauls@euronet.nl>.
1998-12-18 01:32:33 +00:00
Owen Taylor
1bde7a5599 Remove the info tag from the context so if the source unexpectedly
Thu Dec 17 18:25:52 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_drop_finished): Remove the
	info tag from the context so if the source unexpectedly
	responds in the future, we do nothing properly.

Thu Dec 17 18:24:41 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtk[hv]paned.c (gtk_[hv]paned_size_allocate): Handle
	the case where one side of the the pane is empty.

	* gtk/gtkfilesel.c (gtk_file_selection_init): Set
	dir_title before using it. (Pointed out by
	Lavoie Philippe <lavoie@zeus.genie.uottawa.ca>)
1998-12-17 23:35:22 +00:00
Owen Taylor
55ce42dad1 Use setlocale (LC_ALL, NULL), not (LC_ALL, "") to query current locale.
Thu Dec 17 11:00:48 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkim.c (gdk_set_locale): Use setlocale (LC_ALL, NULL),
	not (LC_ALL, "") to query current locale.
	(Pointed out by	Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
1998-12-17 16:13:20 +00:00
Owen Taylor
eba4c9a85e Free previous label->label_wc.
Thu Dec 17 10:53:20 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_set_text): Free
	previous label->label_wc.

	* gtk/testgtkrc: Leave font, not fontset commented
	in by default.
1998-12-17 15:51:15 +00:00
Sebastian Wilhelmi
06449bebe1 Define gdk_use_mb outside USE_XIM guard. Removed unnecessary USE_XIM guard
1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk/gdkim.c: Define gdk_use_mb outside USE_XIM guard. Removed
	unnecessary USE_XIM guard inside another. Made gdk_use_mb
	static. Compile gdk_set_locale also if not USE_XIM.
1998-12-17 09:15:45 +00:00
Shawn T. Amundson
2fa220504c Released GTK+ 1.1.9
Thu Dec 17 00:26:01 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.9

        * INSTALL:
          NEWS:
          README:
          configure.in:
          gtk+.spec:
          gtk/gtkfeatures.h.in:
          docs/gtk-config.1: version=1.1.9
1998-12-17 06:49:15 +00:00
Manish Singh
a9575223a6 rm -rf intl breaks --disable-nls, put it back
* autogen.sh: rm -rf intl breaks --disable-nls, put it back

* gtkbutton.[ch]
* gtktogglebutton.c: s/(enter|leave)/$1_button/g.
Digital: 1 GTK+: 0 (for now)

-Yosh
1998-12-17 05:21:45 +00:00
CST 1998 Shawn T. Amundson
b0ecac9fa1 updated call to g_main_add_poll instead of g_main_poll_add
Wed Dec 16 22:38:22 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * gdk/gdkevents.c: updated call to g_main_add_poll
          instead of g_main_poll_add
1998-12-17 04:40:07 +00:00
Owen Taylor
47a65b7327 Remove unnecessary cast.
Wed Dec 16 23:32:05 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_expose): Remove
	unnecessary cast.
1998-12-17 04:31:49 +00:00
Owen Taylor
b729f6e30a Check for broken glibc 2.0 mb functions, and avoid them.
Wed Dec 16 22:50:52 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c gdk/gdkim.c: Check for broken glibc 2.0
	mb functions, and avoid them.
1998-12-17 04:20:29 +00:00
Arturo Espinosa
2d0bb66479 *** empty log message *** 1998-12-16 23:00:58 +00:00
Owen Taylor
45cdd91a8c Don't call XPending() if we have putback events.
Wed Dec 16 16:57:55 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (gdk_events_queue): Don't
	call XPending() if we have putback events.
1998-12-16 21:58:54 +00:00
Owen Taylor
b4ba8e3b5d Do nothing on empty string, quietly.
Wed Dec 16 16:04:41 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.c (gtk_label_expose): Do nothing
	on empty string, quietly.
1998-12-16 21:06:49 +00:00
Owen Taylor
c1726375b1 Redraw the character under the cursor when removing the cursor.
Wed Dec 16 15:36:19 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable):
	Redraw the character under the cursor when removing
	the cursor.
1998-12-16 20:39:31 +00:00
Owen Taylor
fcfe7370d8 Move main thread lock back to GDK - we need it there for locking when
Wed Dec 16 13:06:17 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.[ch] gtk/gtkmain.[ch] gtk/gtkprivate.h: Move main
	thread lock back to GDK - we need it there for locking
	when translating events. Rename things appropriately.

Wed Dec 16 11:44:21 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrange.c (gtk_range_expose): Fix a x/y typo.

CVS:
1998-12-16 20:09:30 +00:00
CST 1998 Shawn T. Amundson
0dcdac5828 Released GTK+ 1.1.8
Wed Dec 16 10:20:27 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.8

        * ChangeLog:
          INSTALL:
          README:
          gtk+.spec:
          docs/gtk-config.1: version=1.1.8
1998-12-16 16:57:13 +00:00
Sebastian Wilhelmi
7f01a3d324 Define gdk_xim_ic only, if USE_XIM is defined.
1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdk/gdkglobals.c: Define gdk_xim_ic only, if USE_XIM is defined.
1998-12-16 14:28:05 +00:00
Tim Janik
62347c40d9 urg, fixups 1998-12-16 06:05:46 +00:00
Tim Janik
017dfc9e4e version bump to 1.1.8, binary age 0, interface age 0, depend on GLib
Wed Dec 16 05:26:32 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.8, binary age 0, interface age 0,
        depend on GLib 1.1.8.

        * gdk/gdkprivate.h:
        * gdk/gdkglobals.c: removed last Gdk threads specific bits.

        * gtk/gtkmain.c (gtk_init): s/g_thread_supported/g_thread_supported()/.

        * gtk/gtkprivate.h: changed GTK_THREADS_ENTER and GTK_THREADS_LEAVE
        to function macros GTK_THREADS_ENTER() and GTK_THREADS_LEAVE().
        honour G_THREADS_ENABLED in the definition of GTK_THREADS_ENTER()
        and GTK_THREADS_LEAVE(). changed callers accordingly.
1998-12-16 06:03:14 +00:00
Owen Taylor
2c9c7efb23 Update news for 1.1.8. 1998-12-16 05:04:46 +00:00
CST 1998 Shawn T. Amundson
0fcd82d16a warn if glib.m4 or gettext.m4 are not found in aclocal's directory.
Tue Dec 15 21:26:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * autogen.sh: warn if glib.m4 or gettext.m4 are not found
          in aclocal's directory.
1998-12-16 03:33:22 +00:00
Owen Taylor
7d7b43c244 Create buttons, not combos again.
Tue Dec 15 21:36:14 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c (create_layout): Create buttons,
	not combos again.
1998-12-16 02:37:41 +00:00
Joel Becker
8968861d79 Fixed gettextize/aclocal conflict in autogen.sh 1998-12-16 01:40:50 +00:00
Lars Hamann
8a202e6f5b removed clist flag : GTK_CLIST_DRAG_SELECTION added flags :
Tue Dec 15 22:30:44 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.h :
	removed clist flag : GTK_CLIST_DRAG_SELECTION
	added flags : GTK_CLIST_REORDERABLE, GTK_CLIST_USE_DRAG_ICONS,
	GTK_CLIST_DRAW_DRAG_LINE, GTK_CLIST_DRAW_DRAG_RECT
	(GtkCListDragPos) : new enum for DND
 	(GtkButtonAction) : new enum of possible mouse button actions
	(struct _GtkCList): added button_actions array.
 	Added drag_button and click_cell struct, to store cell and
 	mouse button of last button_press_event

	(struct _GtkCListClass): new class method draw_drag_highlight.
	(gtk_clist_set_reorderable) (gtk_clist_set_use_drag_icons) :
	new functions. Moved from gtkctree.h. Now clist is reorderable
	as well.
	(gtk_clist_set_button_actions) new function to customize mouse
	button actions.

	* gtk/gtkclist.c:
	(gtk_clist_drag_begin)
	(gtk_clist_drag_motion)
	(gtk_clist_drag_leave)
	(gtk_clist_drag_end)
	(gtk_clist_drag_drop)
	(gtk_clist_drag_data_get)
	(gtk_clist_drag_data_received) : new dnd widget methods to
	implement clists reorderability via DND

	(remove_grab) : new function. remove mouse grab if necessary.
	(draw_drag_highlight) : new method. Draw dnd highlight depending
	on clist flags GTK_CLIST_DRAW_DRAG_LINE and GTK_CLIST_DRAW_DRAG_RECT

	(gtk_clist_class_init): added object args "reorderable" and
 	"use_drag_icons"

	(gtk_clist_button_press) (gtk_clist_button_release) :
	use button_actions array to decide which action to perform.
	(gtk_clist_motion) : start reorder operation if necessary.

	* gtk/gtkctree.h :
	(struct _GtkCTree): removed drag_icon, icon_widht, icon_height,
	drag_row, drag_source, drag_target, reorderable, use_icons,
	in_drag, drag_rect
	(gtk_ctree_set_reorderable) :  deprecated function.
 	use gtk_clist_set_reorderable instead.
	(gtk_ctree_set_use_drag_icons) : deprecated function.
 	use gtk_clist_set_use_drag_icons instead.

	* gtk/gtkctree.c :
	(gtk_ctree_class_init): removed object args "reorderable" and
	and "use_drag_icons"

	(draw_xor_line) (draw_xor_rect) (create_drag_icon) (check_cursor)
	(tree_toggle_selection) (set_mouse_cursor) : removed

	(draw_drag_highlight) : new clist method. replacement for
	draw_xor_line and draw_xor_rect functions
	(check_drag) renamed check_cursor function

	(gtk_ctree_drag_begin)
	(gtk_ctree_drag_motion)
	(gtk_ctree_drag_data_received) : new dnd methods to implement ctrees
	reorderability via DND

	(gtk_ctree_button_release)
	(gtk_ctree_button_motion) : removed.

	* gtk/testgtk.c:
	(create_clist) : added new reorderable toggle button
1998-12-16 01:28:31 +00:00
Owen Taylor
1566d98867 Use base[NORMAL] instead of bg[PRELIGHT] so CLists now can be used in
Tue Dec 15 19:50:41 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkctree.c gtk/gtkclist.c gtk/testgtk.c: Use
	base[NORMAL] instead of bg[PRELIGHT] so CLists now can be
	used in detergent commercials.
1998-12-16 00:52:46 +00:00
Jeff Garzik
96501b3481 Remove --with-threads, unused GTK_THREAD_FLAGS 1998-12-16 00:07:33 +00:00
Elliot Lee
a8e00e2169 Use G_IO_ERR|G_IO_HUP|G_IO_NVAL as the mask for checking for
1998-12-15  Elliot Lee  <sopwith@bogus.cuc.ml.org>

	* gdk/gdkevents.c: Use G_IO_ERR|G_IO_HUP|G_IO_NVAL
	as the mask for checking for GDK_INPUT_EXCEPTION events.
1998-12-15 23:59:44 +00:00
Martin Baulig
3f1ffdacbb Make the gettext check for for libc5 systems.
1998-12-15  Martin Baulig  <martin@home-of-linux.org>

	* acinclude.m4: Make the gettext check for for libc5 systems.
1998-12-15 23:11:05 +00:00
Martin Baulig
cc7eba32a2 Not running gettextize fails on a fresh CVS checkout and we'll get a lot
1998-12-15  Martin Baulig  <martin@home-of-linux.org>

	* autogen.sh: Not running gettextize fails on a fresh CVS checkout
	and we'll get a lot of bug reports tomorrow, so I add it back.
1998-12-15 22:13:35 +00:00
Martin Baulig
7b105fea0a Rename AM_GNU_GETTEXT_GTK to AM_GTK_GNU_GETTEXT and AM_WITH_NLS_GTK to
1998-12-15  Martin Baulig  <martin@home-of-linux.org>

	* acinclude.m4: Rename AM_GNU_GETTEXT_GTK to AM_GTK_GNU_GETTEXT and
	AM_WITH_NLS_GTK to AM_GTK_WITH_NLS to avoid this ugly automake
	warnings.
1998-12-15 22:03:53 +00:00
Owen Taylor
d56a55a484 Moved gtk_label_set() compatiblity define from <gtkcompat.h> to
Tue Dec 15 16:54:09 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.h: Moved gtk_label_set() compatiblity
	define from <gtkcompat.h> to <gtklabel.h> for
	compatibility.
1998-12-15 21:54:13 +00:00
Owen Taylor
dabb02d282 Provide a hacked version of the gettext macros that never use the included
Tue Dec 15 16:06:15 1998  Owen Taylor  <otaylor@redhat.com>

	* acinclude.m4: Provide a hacked version of the
	  gettext macros that never use the included gettext.

	* Makefile.am configure.in: Remove references
	  to intl/

	* autogen.sh: Don't run gettextize.
1998-12-15 21:08:52 +00:00
Owen Taylor
a3c1e86ffa Added gdk_text_extents_wc()
Tue Dec 15 14:30:35 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h gdk/gdkfonts.c: Added gdk_text_extents_wc()

        * Patch from Jonathan Blanford <jrb@redhat.com> to add line wrapping
	  to label. (Based on patch from Jeff Dairiki
	  <dairiki@mac-ceope.apl.washington.edu> gtk-dairiki-971208-0)

	- Adds new function gtk_label_set_line_wrap()
	- implement GTK_JUSTIFY_FILL.
	- rename gtk_label_set to gtk_label_set_text() add
	   gtk_label_set() to gtkcompat.h.

	* Use an internal wc representation in the label, so
	  that we handle underlining and line breaks correctly
	  for multi-byte strings.
1998-12-15 20:31:26 +00:00
Owen Taylor
7eec796cbd Added GTK_USER_DRAW flag.
Tue Dec 15 13:32:28 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.h: Added GTK_USER_DRAW flag.

	* gtk/gtkwindow.c: Honor GTK_USER_DRAW flag.

	* gtk/gtkdrawwindow.c gtk/Makefile.am: Removed
	GtkDrawWindow, which GTK_USER_DRAW obsoletes.
1998-12-15 18:48:19 +00:00
Owen Taylor
cceabe57ba Fixed up some warnings.
Tue Dec 15 11:37:05 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmain.c: Fixed up some warnings.

Tue Dec 15 10:32:01 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtk{h,v,}paned.{c,h}: Add new functions
	gtk_paned_set_position(),
	gtk_paned_pack1/2(). The latter take a
	shrink and resize parameters, that allows setting
	minimum sizes and getting 'relative' resizing.
1998-12-15 17:56:31 +00:00
Owen Taylor
1bf27c357d Keep separate putback_events and queued_events queues so that we get both
Tue Dec 15 10:26:23 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c: Keep separate putback_events and
	queued_events queues so that we get both FIFO and
	preemptive behavior for	gdk_event_put().
1998-12-15 15:32:49 +00:00
Owen Taylor
9a9f4591a4 Removed unused variable, fixed minor memory leak.
Tue Dec 15 09:22:44 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkrc.c (gtk_rc_init): Removed unused
	variable, fixed minor memory leak.

	* gdk/gdk.c: Fixed another merge problem.
1998-12-15 14:23:46 +00:00
Owen Taylor
a2fc714adb Remove gdk_signal, which crept back in in last commit.
Tue Dec 15 08:53:38 1998  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdk.c (gdk_get_display): Remove gdk_signal,
        which crept back in in last commit.

gdk/gdkevents.c: File missed on last commit.

CVS
1998-12-15 13:54:20 +00:00
Owen Taylor
a0c84d6818 Commented out testthreads from the build process, since we won't have any
Tue Dec 15 01:38:53 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am: Commented out testthreads from
	the build process, since we won't have any idea
	how to create a thread.

	* configure.in (LIBS): use glib-config ... gthread
	so we always build a thread-compatible library.

        * gtk/gtkaccellabel.c gtk/gtkclist.c gtk/gtkcolorsel.c
	  gtk/gtkcombo.c gtk/gtkcontainer.c gtk/gtkentry.c
	  gtk/gtklist.c gtk/gtkmenuitem.c gtk/gtknotebook.c
	  gtk/gtkrange.c gtk/gtkselection.c gtk/gtkspinbutton.c
	  gtk/gtktext.c gtk/gtktooltips.c gtk/gtkwidget.c:

	Add GTK_THREADS_ENTER/LEAVE pairs around timeouts
	and idles to account for the fact that they are no
	longer called within the GTK+ lock.

	* gtk/gtkprivate.h: Added definitions for locking
	the main GTK+ mutex.

	* gtk/gtkmain.c: Re-implement the main loop
	in terms of the GLib main loop.

	* gdk/gdk.h gdk/gdkthreads.c gdk/Makefile.am: Removed threading
	functionality, as it seems better to subsume GDK within the
	GTK+ lock than vice-versa.

        * gdk/gdkevents.c: New file, containing event handling bits
	from gdk.c.

	* gdk/gdkevents.c: Implement event source for GDK
	events.

	* configure.in gdk/gdkevents.c: Removed attempts to
	subtract base_id, which were already non-functional.
1998-12-15 07:32:11 +00:00
Manish Singh
58475f05a5 acconfig.h removed IPC_RMID_DEFERRED_RELEASE check
* acconfig.h
* configure.in: removed IPC_RMID_DEFERRED_RELEASE check

* gdk/gdk.c: remove signal handlers, since we do an IPC_RMID
after XShmAttach, and nobody complained

-Yosh
1998-12-15 07:08:05 +00:00
Manish Singh
30b9a28779 autoconf says we need AC_ISC_POSIX. Whiner.
-Yosh
1998-12-15 05:27:17 +00:00
Tim Janik
931b25f230 include -lintl in LIBS 1998-12-15 03:37:32 +00:00
Sven Neumann
d1edd7e40c Replaced the crappy de.po with a valid one.
(Bring me the haed of ...)


--Sven
1998-12-15 01:32:30 +00:00
Owen Taylor
698a11c606 Append locale-specific suffixes to default rc file names, and look these
Mon Dec 14 16:10:05 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrc.c (gtk_rc_init): Append locale-specific
	suffixes to default rc file names, and look these
	up in addition to the base filename, to facilitate
	having the correct fontset per-locale.

	move $(sysconfdir)/gtkrc to $(sysconfdir)/gtk/gtkrc

	* gtk/gtkitemfactory.[ch] (gtk_item_factory_set_translate_func):
	New function to set a function to translate menu paths.

	* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Free
	results of g_strsplit().
1998-12-14 23:26:12 +00:00
Nuno Ferreira
c46265c82c Added Portuguese translation.
* Added Portuguese translation.
1998-12-14 23:21:27 +00:00
Stefan Jeske
c242e9e36c Only call gtk_spin_button_update if the spinbutton is editable.
Mon Dec 14 20:04:31 1998  Stefan Jeske  <stefan@gtk.org>

	* gtk/gtkspinbutton.c: Only call gtk_spin_button_update if
 	the spinbutton is editable.
1998-12-14 19:13:58 +00:00
Owen Taylor
7facb75c85 Added gettext-10.35
Mon Dec 14 12:24:13 1998  Owen Taylor  <otaylor@redhat.com>

	* HACKING: Added gettext-10.35

	* autogen.sh: Run gettextize.

Wed Dec  9 16:29:06 1998  Owen Taylor  <otaylor@redhat.com>

        Applied gtk-egger-981010-[12]
	[ Daniel.Egger@t-online.de (Daniel Egger) ]

	* gtk/gtkintl.h: New file - defines for localization.

	* gtk/gtkfilesel.c gtk/gtkinputdialog.c: Mark strings
	for internationalization.

	* gtk/gtkmain.c: call bindtextdomain

	* po/ - directory for translations. Initially includes
	German translation.
1998-12-14 17:39:58 +00:00
Tim Janik
edc1476865 made GtkWidget::grab_focus a RUN_LAST and RUN_ACTION signal. moved stuff
Mon Dec 14 02:42:11 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c: made GtkWidget::grab_focus a RUN_LAST and
        RUN_ACTION signal. moved stuff from gtk_widget_grab_focus() into
        gtk_widget_real_grab_focus() so a signal is always emitted
        if the focus is grabbed on a widget.
1998-12-14 01:59:43 +00:00
Tim Janik
7ea8bb92a6 fixed submenu popup timeouts, we decide whether or not to delay the
Mon Dec 14 02:13:01 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenuitem.c: fixed submenu popup timeouts, we decide whether or
        not to delay the submenu popup from a menu item deselection time stamp.
        the code looks even more hackish than before, but in practice "feels"
        very well.
1998-12-14 01:35:33 +00:00
Federico Mena Quintero
3441c3f2c4 Added a "grab_focus" signal for widgets. When the signal is emitted, the
1998-12-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Added a "grab_focus"
	signal for widgets.  When the signal is emitted, the widget will
	grab the focus.  This is needed to let the user press an
	accelerator key in a dialog box and have the corresponding widget
	be focused.

	* gtk/gtkwidget.c (gtk_widget_class_init): Create the "grab_focus"
	signal.  The default handler is simply gtk_widget_grab_focus().
1998-12-14 01:32:24 +00:00
GMT 1998 Tony Gale
113448e030 Update the following sections to the current API: - Container Widgets -
Sun Dec 13 22:15:48 GMT 1998  Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml: Update the following sections to the
          current API:
            - Container Widgets
            - CList Widget
            - List Widget
            - Tree Widget
1998-12-13 22:25:07 +00:00
Tim Janik
6d6d3a59b8 made GtkMenuItem::activate a GTK_RUN_ACTION signal.
Sat Dec 12 19:11:35 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenuitem.c: made GtkMenuItem::activate a GTK_RUN_ACTION signal.

        * gtk/gtkbutton.c: made GtkButton::clicked a GTK_RUN_ACTION signal.

        * gtk/gtkfeatures.h.in: define GTK_HAVE_FEATURES_1_1_8.
1998-12-13 00:13:39 +00:00
Owen Taylor
07f0382368 Mark child->window as destroyed so we don't destroy it again.
Sat Dec 12 17:46:55 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtklayout.c (gtk_layout_unrealize): Mark
	child->window as destroyed so we don't destroy
	it again.
1998-12-12 22:49:38 +00:00
Owen Taylor
823b4d43a1 Corrections to computation of extents of text from a font set. (from
Sat Dec 12 17:18:32 1998  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkfont.c (gdk_text_extents): Corrections
        to computation of extents of text from a font set.
        (from Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
         and Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>)
1998-12-12 22:21:48 +00:00
Owen Taylor
11a8051179 Added "style_set" handlers.
Fri Dec 11 08:59:12 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklistitem.c (gtk_list_item_style_set):
	* gtk/gtklist.c     (gtk_list_style_set):
	Added "style_set" handlers.
1998-12-11 14:00:09 +00:00
Owen Taylor
84b2d43d95 Add in a "style_set" handler so that the background of the clist changes
Fri Dec 11 05:49:30 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclist.c (gtk_clist_style_set): Add in a "style_set"
	handler so that the background of the clist changes
	with the theme.
1998-12-11 10:52:30 +00:00
CST 1998 Shawn T. Amundson
353a7158ed Released GTK+ 1.1.7
Thu Dec 10 22:02:49 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.7

        * INSTALL:
          NEWS:
          README:
          configure.in:
          gtk+.spec:
          gtk/gtkfeatures.h.in:
          docs/gtk-config.1: Version to 1.1.7
1998-12-11 06:12:24 +00:00
Manish Singh
6af277b502 avoid void pointer math
* gtk/gtkclist.c: avoid void pointer math

* gtk/gtkhscale.c
* gtk/gtkhscrollbar.c
* gtk/gtkvscale.c
* gtk/gtkvscrollbar.c: removed trailing , from enums

* gtk/gtksignal.c: can't use enums as a bitfield type, use guint

* gtk/testgtk.c: removed C++ comment added by owenpoo

-Yosh
1998-12-11 05:52:42 +00:00
Owen Taylor
939c818395 Added gtk_drag_source_unset()
Thu Dec 10 21:48:34 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.[ch]: Added gtk_drag_source_unset()
1998-12-11 02:48:40 +00:00
Owen Taylor
ba17081caa Use gdk_window_get_origin() instead of gdk_window_get_position, because
Thu Dec 10 20:42:22 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_handle_event): Use
	gdk_window_get_origin() instead of gdk_window_get_position,
	because get_position is unreliable for plugs.

	This is a bad hack, maybe we need GDK_WINDOW_PLUG?
1998-12-11 01:44:12 +00:00
GMT 1998 Tony Gale
3821880398 - re-write the GtkProgressBar section to the 1.1 API. - add an Appendix
Thu Dec 10 17:58:49 GMT 1998  Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml:
          - re-write the GtkProgressBar section to the 1.1 API.
          - add an Appendix listing all the signals
            (apologies to TimJ for taking so long in using his hard work
             in automating the extraction - thanx Tim).
        * examples/*: bring them all upto the tutorial versions
1998-12-10 17:31:04 +00:00
Jeff Garzik
600ef4e7d1 use g_snprintf, eliminate need for string.h include string.h, for strlen
* gtk/testdnd.c: use g_snprintf, eliminate need for string.h
        * gtk/testrgb.c: include string.h, for strlen
1998-12-10 06:18:32 +00:00
Owen Taylor
6413a421f1 Add a case for success in test for XUnregisterIMInstantiate, to prevent
Wed Dec  9 17:39:26 1998  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Add a case for success in
	test for XUnregisterIMInstantiate, to prevent
	screwing up $LIBS.
1998-12-09 22:40:42 +00:00
Sebastian Wilhelmi
d3483d010e Fixed argument list and return type for non-XIM fallback.
Wed Dec  9 13:06:31 1998  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

 	* gdk/gdkim.c (gdk_ic_new,gdk_ic_{set,get}_attr): Fixed argument
 	list and return type for non-XIM fallback.

 	* configure.in: Only build XIM-support if available.
1998-12-09 18:13:52 +00:00
Owen Taylor
dfa88ef9c7 Add in missing 'flags' field to target list.
Wed Dec  9 12:23:30 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/testselection.c (main): Add in missing 'flags'
	field to target list.

	* gdk/gdkproperty.c (gdk_atom_intern): Actually
	add the atoms to the local cache.
1998-12-09 17:31:52 +00:00
Manish Singh
adc2698da1 put text after #endif in comment
* gdk/gdkprivate.h: put text after #endif in comment

* gdk/gdktypes.h: change whitespace in enum to shut up makeenums.pl

* gtk/testdnd.c: #include <string.h>

-Yosh
1998-12-09 13:01:17 +00:00
Owen Taylor
a309b7dd12 New file that holds code for dealing with X Input Methods.
(Missing from last big commit)
1998-12-09 09:19:36 +00:00
Owen Taylor
207757e70d Destroy widgets _after_ propagating unrealize signals through the widget
Mon Dec  7 10:27:09 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
	signals through the widget heirarchy. This is unpleasant, as it
	causes more X traffic, but is necessary, because we have to clean
	up our Input Contexts before destroying the X windows.
	(from matsu-981109-0.patch)

Mon Dec  7 10:18:18 1998  Owen Taylor  <otaylor@redhat.com>

	Applied gtk-a-higuti-981202-0 :
	[ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]

	* gdk/gdk.h gdk/gdk.c
		(gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
			implemented by a combination of Xlib functions, so
			it works even with X_LOCALE.
		(gdk_wcstombs): New function.
		(g_mbtowc): Removed. No longer needed.

	* gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c:
	        Added _wc() variants to gdk_text_width(),
		gdk_char_width(), gdk_draw_text(),

	* gdk/gdki18n.h
		(mblen, mbtowc, wctomb, mbstowcs, wcstombs,
		 wcslen, wcscpy, wcsncpy):
			Removed. No longer needed.
		(iswalnum): Removed.
		(gdk_iswalnum): New macro.
		(gdk_iswspace): New macro.
	* gdk/gdktype.h
		(GdkWChar): New typedef.

	* gtk/gtkentry.h, gtk/gtkentry.c
		There are many changes according to the change of the
		internal representation of text, from multibyte string
		to wide characters.
	* gtk/gtkprivate.h, gtk/gtkmain.c
		Removed the variable gtk_use_mb and related codes.
	* gtk/gtkspinbutton.c
		Some changes according to the change of type of entry->text.
	* gtk/gtktext.h, gtk/gtktext.c
		Changed the internal representation of text. We use GdkWchar
		if a fontset is supplied. If not, we use guchar to save
		memory.
1998-12-09 06:36:57 +00:00
Owen Taylor
af84227184 Allocate correct amount of memory for strings.
Wed Dec  9 00:41:41 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Allocate
	correct amount of memory for strings.
1998-12-09 05:43:35 +00:00
CST 1998 Shawn T. Amundson
6421c96ccc Released GTK+ 1.1.6
Tue Dec  8 18:29:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.6

        * NEWS: updated

        * gtk/Makefile.am:
          gtk/testgtk.c:
          gtk/gtkrc.h:
          gtk/gtkrc.c: Read in default files.
1998-12-09 01:05:41 +00:00
Tim Janik
9806d64e40 added gtk_type_query() which returns a newly allocated structure holding
Wed Dec  9 00:49:12 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c: added gtk_type_query() which returns a newly
        allocated structure holding certain type specific informations.
        fixed the big bunch of `discards const' warnings with the
        initialization of enum/flags values.
1998-12-08 23:57:25 +00:00
Owen Taylor
847aed3652 Fixed order of arguments to gdk_window_transient_for().
Tue Dec  8 15:10:17 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_transient_parent_realized):
	Fixed order of arguments to gdk_window_transient_for().
1998-12-08 20:12:26 +00:00
GMT 1998 Tony Gale
f6c5b74fb7 simple top level Makefile that invokes all the sub-directory Makefiles.
Tue Dec  8 18:02:57 GMT 1998  Tony Gale  <gale@gtk.org>

        * examples/Makefile: simple top level Makefile that invokes all
          the sub-directory Makefiles.
1998-12-08 18:04:58 +00:00
Andrew T. Veliath
d6acd1ecd3 Functions to test the toolbar space style.
* gtk/testgtk.c: Functions to test the toolbar space style.

	* gtk/gtktoolbar.c: Add a private GtkToolbarChildSpace subclass of
	GtkToolbarChild to hold allocation. Set default space style to
	GTK_TOOLBAR_SPACE_EMPTY, define SPACE_LINE_* for separator
	fraction defaults.
	(gtk_toolbar_paint_space_line): New function; paints the separator
	line, using "toolbar" as the detail.
	(gtk_toolbar_expose): (gtk_toolbar_draw): Handle CHILD_SPACE when
	style is set to SPACE_LINE.
	(gtk_toolbar_size_allocate): Store space allocations.
	(gtk_toolbar_insert_element): If we are a space, allocate and
	initialize a GtkToolbarChildSpace instead of a GtkToolbarChild.
	(gtk_toolbar_set_space_style): New function.

	* gtk/gtktoolbar.h: Add GtkToolbarSpaceStyle, with styles of EMPTY
	and LINE. Add prototype for gtk_toolbar_set_space_style.
1998-12-08 13:25:35 +00:00
Owen Taylor
287b0ce008 Remove random unnecessary includes of standard headers.
Mon Dec  7 16:03:55 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkthemes.h: Remove random unnecessary includes
	of standard headers.
1998-12-07 21:11:34 +00:00
Damon Chaplin
583b0b53e8 "" 1998-12-07 20:56:46 +00:00
Elliot Lee
73edf2ce77 Don't name function parameters after ObjC reserved words ("id" to
Don't name function parameters after ObjC reserved words ("id" to
"sm_client_id" - the function doesn't appear to be implemented anywhere so
it's no great loss).
1998-12-07 19:53:08 +00:00
Owen Taylor
d1045b6876 Use IPC_RMID _after_ doing XShmAttach. This should work everywhere, and
Mon Dec  7 13:38:06 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
	_after_ doing XShmAttach. This should work everywhere,
	and avoid the need for signal handlers or configure
	checks.
1998-12-07 19:03:10 +00:00
Federico Mena Quintero
139e3cd47d Removed the unused cursor field in the structure.
1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
	field in the structure.
1998-12-07 15:53:21 +00:00
GMT 1998 Tony Gale
337bdee253 Start mass update for GTK 1.1 Look for the best version of awk Fix FD leak
Mon Dec  7 15:15:06 GMT 1998  Tony Gale <gale@gtk.org>

        * docs/gtk_tut.sgml: Start mass update for GTK 1.1
        * examples/extract.sh: Look for the best version of awk
        * examples/extract.awk: Fix FD leak
        * example/base: minimal example from Tutorial
1998-12-07 15:19:00 +00:00
Owen Taylor
621beb8aaf New functions gtk_window_set_transient_for() - set up a "transient for"
Mon Dec  7 01:29:27 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwindow.c: New functions
        gtk_window_set_transient_for() - set up a "transient for" relationship.
	gtk_window_set_default_size() - set the initial size of a window
	   distinct from its minimum size.
	gtk_window_set_geometry_hints() - Allow the user to set
	   minimum, maximum sizes, aspect rations, and gridded geometry,
	   possibly all with respect to a subwidget of the window.
	These interfaces are still a wee bit experimental.

	* gdk/gdk.c: Added gdk_window_set_transient_for(),
	gdk_window_set_geometry_hints(), and gdk_window_set_role().

	* gdk/gdktypes.h: Added new types for find-grained specification
	of WM hints.

	* gtk/testgtk.c: Various changes to tests to test the
	above new functions.

	* gtk/gtkfontsel.c: Squash a few 'const' warnings.

	* gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
	call to gtk_style_set_background() to prevent egregious
	flashing to black.
1998-12-07 06:37:27 +00:00
Tim Janik
fd7bdf03e0 updates 1998-12-07 03:12:58 +00:00
Tim Janik
d2a3858b4b fixups 1998-12-07 03:02:19 +00:00
Tim Janik
f314322885 when marshalling connect_object signals, don't pass the data pointer
Mon Dec  7 03:52:01 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_handlers_run): when marshalling connect_object
        signals, don't pass the data pointer twice, but swap it with the
        object pointer (proposed on Nov 30 1998 on gtk-devel-list).
1998-12-07 02:58:24 +00:00
Tim Janik
33447a3856 reverted marius change to expose the type systems internal type info data
Mon Dec  7 03:08:39 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c: reverted marius change to expose the type systems
        internal type info data to the user. if such functionality is required
        we should provide wrapped accessors, ala gtk_signal_query().

        * gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
        since it destroys the possibility to implement automatic marshaller
        lookups some day, and it also disables third party code's ability to
        connect to any signal. also the GtkTypeInfo structures are dynamically
        allocated memory portions, so only the type system is really allowed
        to access that stuff.

Mon Dec  7 01:32:18 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
        Tab key on the entry. the focus shouldn't get lost even if completion
        is attempted from an empty entry, since an empty entry string does
        indeed have a valid completion meaning (complete all).
        (gtk_file_selection_init): cast the gchar array parameter in calls to
        gtk_clist_new_with_titles() to quit compiler warnings.
        (check_dir): the no_stat_dirs struct must not be const, since we do
        indeed modify its contents.

        * gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
        hook semantics.

        * gtk/gtksignal.h:
        * gtk/gtksignal.c:
        changed emission allocation, so we don't use a doubly linked list
        but link ourselfs (singly linked).
        changed emission hooks, they get the emision parameters passed as
        well now and are emitted during the actuall signal emission (after
        the RUN_FIRST class method, but prior to RUN_FIRST handlers).
        the existing restrictions do still apply to signal emission hooks,
        i.e. an emission may not be stopped or restarted from an emission hook.
        due to possibly huge perfomance impacts, frequent use of emision hooks
        is also not recommended.
        (gtk_signal_next_and_invalidate): added an
        assertments which explicits what the code assumes anyways: a
        maximum amount of 65535 signals.

        * gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
        gtk_container_foreach_full() should be used instead.

        * gtk/gtkmain.h:
        deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
        we provide _full variants.

        * gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
        gtk_signal_connect_full() for long enough now.
1998-12-07 02:31:19 +00:00
Marius Vollmer
031aa464c6 *** empty log message *** 1998-12-06 22:18:13 +00:00
Marius Vollmer
3f7c856606 Allow a NULL marshaller. (gtk_signal_connect_by_type): Allow only
* gtk/gtksignal.c (gtk_signal_newv): Allow a NULL marshaller.
(gtk_signal_connect_by_type): Allow only no_marshal handlers to
connect to signals with a NULL marshaller.

* gtk/gtktypeutils.c (gtk_type_get_info): New.
gtk/gtktypeutils.h (gtk_type_get_info): New prototype.
1998-12-06 22:15:53 +00:00
Stefan Jeske
8abed09aea Grey out arrows if wrap == FALSE and interval borders are reached.
* gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out
  arrows if wrap == FALSE and interval borders are reached.
1998-12-06 14:18:46 +00:00
Owen Taylor
5c42d2f6d6 Fixed long-standing typo in aspect ratio computation code. (pointed out by
Sat Dec  5 21:07:09 1998  Owen Taylor  <otaylor@gtk.org>

     * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
       long-standing typo in aspect ratio computation code.
       (pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
1998-12-06 02:08:28 +00:00
Lars Hamann
f5c4b3740c call toggle_row with valid row numbers only (toggle_row): check if
Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
        valid row numbers only
        (toggle_row): check if clist_row != NULL
1998-12-04 01:11:46 +00:00
Lars Hamann
f76880f205 fixed for-loop.
Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.

	* gtk/gtkclist.c
	(gtk_clist_set_column_visibility)
	(gtk_clist_column_titles_active)
 	(gtk_clist_column_titles_active)
	(gtk_clist_column_title_passive)
 	(gtk_clist_column_title_active): few additional tests whether
 	column->button != NULL
1998-12-04 00:04:31 +00:00
Owen Taylor
646d68e4bd Changed to 5 min from 10 seconds, so it doesn't abort while users have an
Thu Dec  3 16:49:18 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
	from 10 seconds, so it doesn't abort while users
	have an ACTION_ASK menu up.

	* gtk/gtkdnd.c: Hide the icon window between sending a a
	drop event to the destination and displaying the
	snapback animation, so that it doesn't hang around
	during ACTION_ASK.
1998-12-03 21:50:20 +00:00
Owen Taylor
46afb008db Use GTK_STATE_INSENSITIVE for the foreground of cells for CLists in the
Thu Dec  3 16:37:42 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
	for the foreground of cells for CLists in the insensitive
	state, instead of GTK_STATE_PRELIGHT.
1998-12-03 21:41:14 +00:00
Tim Janik
1ec6733573 moved checks upon focus setting from gtk_window_real_set_focus to
Thu Dec  3 06:20:59 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwindow.c: moved checks upon focus setting from
        gtk_window_real_set_focus to gtk_window_set_focus, so we don't
        emit the signal if unneccessary.

        * gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
        containers when grabbing focus on a new widget. this is based on
        a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.

        * gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
        flag, so we take the buttons into consideration upon the next focus
        request.

        * gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
        assertment.
1998-12-03 06:52:48 +00:00
CST 1998 Shawn T. Amundson
7cc3040412 Fixes for low-color displays and a slight enhancement for true-color
Wed Dec  2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkpixmap.c: Fixes for low-color displays and a slight
          enhancement for true-color displays.

        * INSTALL:
          README:
          configure.in:
          gtk+.spec:
          docs/gtk-config.1: up to version 1.1.6
1998-12-03 05:52:19 +00:00
Manish Singh
8285f4fc6f lets #define GTK_HAVE_FEATURES_1_1_6 before we release it this time
-Yosh
1998-12-02 09:38:31 +00:00
Tim Janik
0d15bc6687 s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
Wed Dec  2 01:39:02 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtknotebook.h:
	* gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.

	* incremented version number to 1.1.6 and made Gtk
 	dependant on GLib 1.1.6.

	* gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
 	from guint16 to gint16, since sizes bigger than 32767 are not supported
 	anyways, and aritmethics with intermediate negative values are possible
 	now.

Tue Dec  1 00:00:04 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtkscrolledwindow.c:
	implementation of GTK_POLICY_NEVER functionality, added rationales
	on the policy and size requisition handling at the top.
	(gtk_scrolled_window_size_request):
	we assume a default minimum for our child's width and height
	if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
	specified the dimension explicitely.
 	(gtk_scrolled_window_size_allocate):
	do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.

	* gtk/gtkviewport.c (gtk_viewport_size_request): report the real
	size we require (including the child).

        * gtk/gtkclist.c:
	(gtk_clist_size_request): report the real size required.

	* gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.

	* gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
	need to be a static variable.

Mon Nov 30 22:41:25 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtkclist.h:
	* gtk/gtkclist.c:
	* gtk/gtkviewport.h:
	* gtk/gtkviewport.c:
	* gtk/gtktext.h:
	* gtk/gtktext.c:
	* gtk/gtklayout.h:
	* gtk/gtklayout.c:
	* gtk/gtkwidget.h:
	* gtk/gtkwidget.c:
	* gtk/gtkscrolledwindow.h:
	* gtk/gtkscrolledwindow.c:
	s/scroll_adjustements/scroll_adjustments/
	s/scroll_adjustments/set_scroll_adjustments/g
1998-12-02 03:40:03 +00:00
Lars Hamann
4ebc61c067 new class method/signal row_move. new public function. emit a row_move
Tue Dec  1 22:45:58 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
	row_move.
	* gtk/gtkclist.c (gtk_clist_row_move): new public function.
	emit a row_move signal
	(real_row_move): move source_row to dest_row
	(gtk_clist_swap_rows): use gtk_clist_row_move calls.
	(gtk_clist_columns_autosize): resize all columns to their optimal
	width
	* gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
	entire sub-tree.
	* gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
1998-12-02 00:52:14 +00:00
Manish Singh
7078402341 configure.in gdk/Makefile.am Put -DFOO stuff into Makefile.am INCLUDES.
* configure.in
* gdk/Makefile.am
* gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
Separate vars for each, for granularity.

-Yosh
1998-12-01 10:42:01 +00:00
Tim Janik
6047ed3ebd fixed a stupid error of mine about the run type values.
Tue Dec  1 02:19:54 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkenums.h: fixed a stupid error of mine about the run type
        values.
1998-12-01 01:22:37 +00:00
Jeff Garzik
471afbe62b Surround debug variable with #ifdef to silence gcc. 1998-11-30 19:35:38 +00:00
Elliot Lee
060978e069 I submitted this patch twice to gtk-devel-list, and received no comments,
I submitted this patch twice to gtk-devel-list, and received no comments, so
am committing it.  Although not exhaustively tested, I have been using this
gtk+ for a week w/o problems, and I did read the code to ensure that nothing
ever writes to these data structures. If by chance people encounter SEGV's in
gtk+ code that is setting values in global data structures, this patch could
be a possible culprit.

1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>

	* {gdk,gtk}/*.c: Make read-only data structures "static const" to
	allow them to be shared, mainly including (but not limited to) the
	GtkTypeInfo structures for each class.

	* gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
1998-11-30 19:07:15 +00:00
Jeff Garzik
58ca2448eb Added initializer to quiet gcc warning. Added assertion to check for null
Added initializer to quiet gcc warning.
        Added assertion to check for null pointer deref.
1998-11-30 17:19:59 +00:00
Tim Janik
0c36e30836 merged testgtkrc with the pre-themes one, removed system specific
Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
        system specific includes.

        * gtk/gtksignal.c: asured that stop and restart emissions are also
        checked and processed for not connected objects. fixed up restart
        emission administration. invoke emission hooks after emission, hooks
        are not supposed to muck around with the current emission, and
        may also not cause emission restarts. fixed up stop emission
        administration.
1998-11-30 10:38:29 +00:00
Tim Janik
2c0fc39e62 added an event watcher for enter/leave based on signal emission hooks.
Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c: added an event watcher for enter/leave based on
        signal emission hooks.

        * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
        GTK_RUN_NO_HOOKS signal.

        * gtk/gtksignal.h:
        * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
        to a signal with gtk_signal_add_emission_hook or
        gtk_signal_add_emission_hook_full, and can be removed again with
        gtk_signal_remove_emission_hook.

        * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
        an appropriate mask for signal runtypes for a long time now.
        added GTK_RUN_NO_HOOKS value, which is used to flag signals
        that do not allow the running of signal hooks.
1998-11-30 07:09:36 +00:00
Michael Krause
140c26afbc made 'page_num' argument a gint: switch_page signal delivers valid page
1998-11-26  Michael Krause  <m.krause@tu-harburg.de>

        * gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
        argument a gint: switch_page signal delivers valid page numbers
        again.
1998-11-29 22:00:28 +00:00
Tim Janik
c7850eccde set composite names.
Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_[hv]adjustment):
        set composite names.
1998-11-29 09:51:02 +00:00
Tim Janik
f755abd275 updates 1998-11-29 06:30:26 +00:00
Tim Janik
60e5a21022 removed default initialization check, people must use gtk_type_init();
Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
        check, people must use gtk_type_init();

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
        for internal use by containers, that want to assign specific composite
        names to their composite children.
        added gtk_widget_get_composite_name() which will return a newly
        allocated string, containing the composite name of a widget. valid
        composite names can only be retrived from widgets that have a parent
        assigned and are flagged as GTK_COMPOSITE_CHILD.

        * gtk/gtkcontainer.h:
        * gtk/gtkcontainer.c: added a new function
        gtk_container_child_default_composite_name() which will return a
        newly allocated string, holding the composite name of a containers
        child. a default implementation is provided which will compose the
        composite name out of the widgets type and its sequential children
        id. this implementation can be overidden through a new class function
        *(composite_name)().
1998-11-29 06:29:40 +00:00
Owen Taylor
6edbb34d54 Removed bogus expose_event handler - we had two expose_event handlers!
Sat Nov 28 10:57:59 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
	expose_event handler - we had two expose_event
	handlers!
1998-11-28 15:57:55 +00:00
Tim Janik
238ede333f changed scrolled window inheritance, it inherits from GtkBin now.
Sat Nov 28 03:13:42 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkscrolledwindow.h:
        * gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
        it inherits from GtkBin now.

        * gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
        visibility of child.
        (gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
        added check so a child gets only drawn if it's visible.

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: removed gtk_widget_draw_children().

        * gtk/gtkstyle.h:
        * gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
        added internal function gtk_widget_reset_shapes() from gtkstyle.c.

        * gtk/gtkrc.h:
        * gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
        argument, changed callers.

        * gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
        it will issue a warning now.

        * gtk/gtkcompat.h: new file to #define aliases for historic
        function names.

        * changed 8 function names for consistency and provided aliases to keep
        source compatibility in gtkcompat.h:
        (gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
        (gtk_container_set_border_width): renamed from gtk_container_border_width
        (gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
        (gtk_packer_configure): renamed from gtk_packer_set_child_packing
        (gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
        (gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
        (gtk_scale_get_value_width): renamed from gtk_scale_value_width
        (gtk_window_set_position): renamed from gtk_window_position

        * renamed a few recently added funtions for consistency:
        (gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
        (gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
        (gtk_progress_configure): renamed from gtk_progress_reconfigure.
1998-11-28 07:42:37 +00:00
Manish Singh
67d445eebc check for existing viewport first, and don't add one if there already is
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
check for existing viewport first, and don't add one if there
already is one

-Yosh
1998-11-28 03:05:31 +00:00
Tim Janik
33347533ec GTK_BASIC and freeze/thaw explanaition 1998-11-28 02:07:44 +00:00
Tim Janik
58af2b56bf deprecated gtk_widget_freeze_accelerators and
Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
        gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
        and gtk_widget_unlock_accelerators.

        * gtk/gtklayout.h:
        * gtk/gtklayout.c: implemented incremental freezing facility.

        * gtk/gtktext.h:
        * gtk/gtktext.c: implemented incremental freezing facility.

        * gtk/gtkenums.h:
        * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.

        * gtk/gtkentry.h:
        * gtk/gtkentry.c:
        deprecated gtk_entry_adjust_scroll().

        * random GtkType, macro and indentation fixes.

Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.h:
        * gtk/gtkclist.c: implemented incremental freezing facility, added
        a new class member (*refresh)() which takes over the thaw
        functionality. the clist FROZEN flag got removed on the way.
        * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
        and incremental freezing.

        * gtk/gtkcalendar.c: implemented incremental freezing facility.
1998-11-28 01:56:09 +00:00
Raph Levien
36d80dc374 Fixed gdk_input_devices being NULL when compiled with --xinput=xfree but
no XInput extension in X server.
1998-11-27 19:44:01 +00:00
Owen Taylor
f26c189e5b New function to get the source widget of a drag.
Fri Nov 27 12:17:15 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
	get the source widget of a drag.

	* gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
	to restrict certain targets to the same widget or to
	the same application.

	* gtk/testdnd.c: Test gtk_drag_get_source_widget().
1998-11-27 17:16:36 +00:00
Lars Hamann
4ab10dc891 define GtkCTreeNode as boxed type use GTK_CTREE_NODE_TYPE instead of
Thu Nov 26 19:11:46 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
	* gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
	instead of GTK_TYPE_POINTER in signal definitions.
	(patch from James Henstridge <james@daa.com.au>)

Thu Nov 26 18:48:44 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (set_cell_contents)
	* gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
 	if auto.resize == TRUE

	* gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
 	don't draw tab, if show_tabs == FALSE
 	(bug reports from Alexis Mikhailov / Dave Cole)
 	(gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
 	the focus rectangle, not the hole tab.
1998-11-26 18:47:58 +00:00
Tim Janik
c7ac3835fa reverted bogus and undocumented!!! changes from Jay Cox (98/11/23
Thu Nov 26 03:18:08 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.h:
        * gtk/gtkctree.h:
        * gtk/gtkclist.c:
        * gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
        Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.

        * gtk/maketypes.awk: changed underline substitution, so we get
        GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
        * gtk/makeenums.pl: likewise.
        * gtk/gtkctree.c: adapted type names accordingly.
1998-11-26 03:43:24 +00:00
Jeff Garzik
ce073aac7d Replaced pushd and popd calls with equivalent shell code.
pushd and popd are not supported by ksh or sh [under Solaris at least].
1998-11-25 17:13:14 +00:00
Elliot Lee
9cb5eb75f8 use $srcdir instead of the $OBJ_DIR hack 1998-11-25 16:34:23 +00:00
Owen Taylor
a425e6b5c2 Edited section on the ScrolledWindow.
Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>

	* docs/Changes-1.2.txt: Edited section on the ScrolledWindow.

	* gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
	some code duplication.

	* gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
	and child widgets when scrolling greater than 32k pixels.

	* testgtk.c: Modified layout test to test scrolling over
	long distances.

	* gtk/gtkplug.c: Added a few blank lines.
1998-11-24 19:33:01 +00:00
Owen Taylor
1bb0d4c0f3 Fixed up copyright message.
Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.[ch]: Fixed up copyright message.

	* gdk/gdkrgb.c (DM): Make the dither matrix constant
	so it can be shared.

	* gtk/gtkdnd.c: Make cursor bitmaps const.

	* gdk/gdk.h gdk/gdkpixmap.c: Added const to
	gdk_pixmap/bitmap_create_from_data.
1998-11-24 16:15:46 +00:00
Tim Janik
5efb9be963 added a section on scrolled windows and scrollable widgets.
Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>

        * docs/Changes-1.2.txt: added a section on scrolled windows and
        scrollable widgets.
1998-11-24 07:23:06 +00:00
Andrew T. Veliath
b0fd18c7bf Include radio buttons when setting relief for button items.
* gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
	buttons when setting relief for button items.
	(gtk_toolbar_set_button_relief): Same.
1998-11-24 06:27:02 +00:00
Jeff Garzik
91d99f8903 Removed DEFS "+=" mess that breaks recent automakes. INCLUDES is the
* gdk/Makefile.am, gtk/Makefile.am:

        Removed DEFS "+=" mess that breaks recent automakes.
        INCLUDES is the correct way to add to CFLAGS from Makefile.am.

* gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
gtk/testthreads.c:

        Include "config.h" instead of "../config.h".

        Now that DEFS works again, automake will automatically pass us
        the location of config.h in -I.
1998-11-24 05:58:53 +00:00
Owen Taylor
5a5fb5635f Fixed accidentally introduced typo. 1998-11-24 05:10:21 +00:00
Owen Taylor
ee1d43929c Added layout widget for scrolling arbitrarily big areas. Added plug/socket
Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
	gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:

	Added layout widget for scrolling arbitrarily big areas.
	Added plug/socket widgets for interprocess embedding.

	These widgets still, at some point, need to be
	made more pure in their use of GDK, as opposed
	to raw X.

	* gtk/testgtk.c: Added test for layout widget.
1998-11-24 04:45:29 +00:00
Jeff Garzik
42faec1736 Bugfix from Brandon Long <blong@fiction.net> - Do the intended thing with
* gtk/gtkclist.c: (gtk_clist_swap_rows):
Bugfix from Brandon Long <blong@fiction.net> -
Do the intended thing with 'first' and 'last' list index
1998-11-24 04:25:38 +00:00
jaycox
47b3584d36 Modified Files: gtkclist.c gtkclist.h gtkctree.c gtkctree.h gtknotebook.c
Modified Files:
 	gtkclist.c gtkclist.h gtkctree.c gtkctree.h gtknotebook.c
 	gtknotebook.h gtkrc.c gtkrc.h
 add const in some useful places
1998-11-23 13:53:25 +00:00
Manish Singh
72bd1c5859 make a saner default adjustment (from 0 to 100) instead. I'm not sure if
* gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
default adjustment (from 0 to 100) instead. I'm not sure if this
is the correct level for the fix, but gtk_progress_bar_new()'s
original default behavior is restored.

-Yosh
1998-11-23 12:29:03 +00:00
Martin Baulig
8e2b7688fd Define this so we can check for latest GTK features.
1998-11-23  Martin Baulig  <martin@home-of-linux.org>

	* gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
	we can check for latest GTK features.
1998-11-23 11:08:12 +00:00
Havoc Pennington
3e90b96b08 When setting relief, also affect toggle buttons.
1998-11-23  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
	(gtk_toolbar_insert_element): When setting relief, also affect
	toggle buttons.
1998-11-23 06:53:07 +00:00
Manish Singh
6c0458c428 remove extraneous comma
* gtk/gtkobject.h: remove extraneous comma

-Yosh
1998-11-23 04:37:57 +00:00
Tim Janik
b9017e53a2 removed assertements for constructed containers again, since this
Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.c:
        (gtk_container_add_with_args):
        (gtk_container_addv):
        (gtk_container_add): removed assertements for constructed containers
        again, since this essentially breaks the "child" arg.

        * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
        reference count, we don't need to reference toplevels that already have
        destroy notifiers.

        * gtk/gtkscrolledwindow.c: check for the composites existance in
        _forall since we might not be already constructed.
1998-11-23 04:32:04 +00:00
Shawn Amundson
72149265a3 configure.in: require GLib 1.1.5 1998-11-23 03:07:50 +00:00
Tim Janik
f46ffebbc8 minor buglet 1998-11-23 02:41:18 +00:00
Tim Janik
97fd98099c minor updates 1998-11-23 02:31:44 +00:00
Tim Janik
10a2d8be70 disconnect hadj & vadj, not 2 * hadj.
Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
        2 * hadj.
1998-11-23 02:30:45 +00:00
Tim Janik
988f43bfa0 update 1998-11-23 02:01:14 +00:00
Tim Janik
98e22a43ab added args ::show_text, ::text_xalign, ::text_yalign, ::activity_mode.
Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
 	::text_yalign, ::activity_mode.

	* gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
 	::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
 	::activity_blocks.
	(gtk_progress_bar_new):
	(gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
	(gtk_progress_bar_construct): deprecated.

	* gtk/gtkvscrollbar.c:
	(gtk_vscrollbar_draw_step_back):
	(gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
 	gtk_paint_arrow, to be consistent with hscrollbar.

	* gtk/gtktext.c
	added construct args ::hadjustment, ::vadjustment.
	added args ::line_wrap, ::word_wrap.
	(gtk_text_class_init): added scroll_adjustments signal.
	(gtk_text_new): use gtk_widget_new.
	(gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
	so we don't screw the reference counts and don't leave signals connected.
 	(gtk_text_destroy): disconnect adjustments signals.
 	(gtk_text_finalize): unref adjustments.

	* gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
	added args ::indent, ::spacing, ::show_stub, ::reorderable,
 	::use_drag_icons, ::line_style and ::expander_style.
	(gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
	deprecated now.

	* gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
	* gtk/gtkclist.c:
 	removed ::vadjustment and ::hadjustment args, introduced
 	::scroll_adjustments signal.
	added ::shadow_type, ::selection_mode and ::row_height args.
	added n_columns construct arg.
	(gtk_clist_construct): call gtk_object_constructed().
 	(gtk_clist_set_row_height): if height is passed as 0,
	revert to automatic height calculation.
	(gtk_clist_destroy): before unrefing the adjustments, disconnect our
	signal handlers.

Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
	like gtk_object_new.
	(gtk_widget_destroy): assert that we only destroy constructed widgets.

	* gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
	to identify args that may only be used for construction.
	GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
	time.
	* gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
	at the end if the object is not fully constructed.
	(gtk_object_newv): likewise.
	(gtk_object_destroy): assert that we only destroy constructed objects.
 	(gtk_object_init): setup GTK_CONSTRUCTED from the
	objects real klass.
	(gtk_object_default_construct): new function to complete default
	construction of an object by applying missing construtor args with
	default values of 0, 0.0 or NULL.
	(gtk_object_constructed): new function to mark an object as being
	constructed (used from within constructors).

	* gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
	so it is immediatedly available for the caller.

	* gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
	the object initilizer (GtkObjectInitFunc takes a second arg now, the
 	real klass), and asure that object initializers may temporarily alter
	the class pointer.

Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>

	* gtk/testgtk.c: change all occourances of gtk_container_add (
	scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
	for widget!=(clist, ctree, text, viewport).

	* gtk/gtkcombo.c:
 	(gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
	to add children to the scrolled window.

	* gtk/gtkscrolledwindow.h:
	* gtk/gtkscrolledwindow.c:
	changed scrolled_window->viewport to scrolled_window->child, and use
	gtk_widget_scroll_adjustements() to set the scroll adjustments for the
	widget, we do not create an additional viewport anymore.
	added ::hadjustment and ::vadjustment constructor args.
 	(gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
	(gtk_scrolled_window_set_hadjustment):
	(gtk_scrolled_window_set_vadjustment): new functions that superceed
	gtk_scrolled_window_construct.
	(gtk_scrolled_window_construct): deprecated this function.

	* gtk/gtkhscrollbar.c:
	* gtk/gtkvscrollbar.c:
	* gtk/gtkhscale.c:
	* gtk/gtkvscale.c:
	support a constructor arg "::adjustment", and use gtk_widget_new() for
	the widget creation.

	* gtk/gtkrange.c: added ::update_policy arg.
 	(gtk_range_set_adjustment): if adjustment is passed in as NULL, create
 	a default adjustment so this function can be used for derived widgets
 	that depend on the adjustment's existance.
	(gtk_range_destroy): disconnect the adjustment signal, so we don't
	get called after we got destroyed, we don't destroy the adjustment
	in here, because it might have been provided from another widget.

	* gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
	(gtk_viewport_destroy): same as gtk_range_destroy.

	* gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.

	* gtk/gtkwidget.h:
	* gtk/gtkwidget.c: changed gtk_widget_activate() to return a
	gboolean, indicating whether this widget supports activation.
	added gtk_widget_scroll_adjustements() to set the scrolling
	adjustments of a widget.

Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtkoptionmenu.c:
 	(gtk_option_menu_remove_contents):
	(gtk_option_menu_update_contents): removed
 	gtk_container_[un]block_resize() pairs.

	* gtk/gtknotebook.h:
	* gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
	be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
	wrtie-only argument.

	* *.c: made deprecated functions issue a message:
	gtk_clist_set_border, gtk_container_block_resize,
 	gtk_container_unblock_resize, gtk_container_need_resize,
 	gtk_object_class_add_user_signal, gtk_spin_button_construct,
	gtk_scrolled_window_construct.
	removed non-functional functions:
	gtk_container_disable_resize, gtk_container_enable_resize,
	gtk_clist_set_policy.

Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtkbox.c (gtk_box_init):
	* gtk/gtkdrawingarea.c (gtk_drawing_area_init):
	* gtk/gtkeventbox.c (gtk_event_box_init):
	* gtk/gtkfixed.c (gtk_fixed_init):
	* gtk/gtkframe.c (gtk_frame_init):
	* gtk/gtkhandlebox.c (gtk_handle_box_init):
	* gtk/gtkpacker.c (gtk_packer_init):
	* gtk/gtkmisc.c (gtk_misc_init):
	* gtk/gtkpreview.c (gtk_preview_init):
	* gtk/gtkprogress.c (gtk_progress_init):
	* gtk/gtkprogressbar.c (gtk_progress_bar_init):
	* gtk/gtkseparator.c (gtk_separator_init):
	* gtk/gtktable.c (gtk_table_init):
	* gtk/gtkviewport.c (gtk_viewport_init):
	* gtk/gtkalignment.c (gtk_alignment_init):
	removed setting of the GTK_BASIC flag.

	* gtk/gtkwidget.h:
	* gtk/gtkwidget.c:
	removed GTK_BASIC, GTK_WIDGET_BASIC and	gtk_widget_basic.

	* miscellaneous GtkType and macro fixups.
1998-11-23 01:54:45 +00:00
CST 1998 Shawn T. Amundson
12f7825907 INSTALL: NEWS: README: gtk+.spec: docs/gtk-config.1: Version incremented
Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * configure.in:
          INSTALL:
          NEWS:
          README:
          gtk+.spec:
          docs/gtk-config.1: Version incremented to 1.1.5

        * Released GTK+ 1.1.5
1998-11-23 01:46:11 +00:00
Owen Taylor
d88375e9c3 Fixed so it at least works with window managers other than Enlightenment,
Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_get_deskrelative_origin):
	Fixed so it at least works with window managers other
	than Enlightenment, though it probably needs to be
	removed altogether.
1998-11-22 00:06:57 +00:00
Andrew T. Veliath
06d68566df Minor indent fix on gtk_handle_box_get_arg proto 1998-11-21 15:04:49 +00:00
Andrew T. Veliath
b1ab800825 Add shadow_type and gtk_handle_box_set_shadow_type function (plus a
1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>

	* gtk/gtkhandlebox.[ch]: Add shadow_type and
	gtk_handle_box_set_shadow_type function (plus a
	GtkHandleBox::shadow arg) to allow configuration of shadow in the
	bin window.
1998-11-21 10:08:41 +00:00
CST 1998 Shawn T. Amundson
27a8669d0d Fix for marking days from Dan Reish <dreish@izzy.net>.
Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkcalendar.c: Fix for marking days from
	  Dan Reish <dreish@izzy.net>.
1998-11-20 05:51:45 +00:00
Elliot Lee
14f08e6a93 allow setting $OBJ_DIR to specify building in a subdir 1998-11-20 04:21:48 +00:00
Tim Janik
45c02db925 crift removal 1998-11-19 15:05:19 +00:00
Lars Hamann
7351327089 return the nth GtkCTreeNode in row_list. (from Samuel Solon
Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
	in row_list. (from Samuel Solon <ssolon@usa.net>)

	* gtk/gtkclist.c (gtk_clist_get_column_title): return column title
	(gtk_clist_get_column_widget): return column widget
1998-11-18 23:55:10 +00:00
Arturo Espinosa
3725bc3ad9 Bah, the ChangeLog got unsynced - Federico 1998-11-18 17:20:23 +00:00
Owen Taylor
8715d1c1b3 Accept drops that are sent to a toplevel but are not within the toplevels
Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
	that are sent to a toplevel but are not within the
	toplevels bounds.

	* gdk/gdkdnd.c gdk/gdk.h: Added support for a
	XdndProxy atom which proxies the drag to another window.
1998-11-18 17:00:48 +00:00
Ben Gertzfield
fb6a7ccb92 Argh. Missed one dumb space in rules file. Fixed. 1998-11-18 06:25:35 +00:00
Ben Gertzfield
9c3e01cf3a add -b (binary-only; no source packages) flag to dpkg-buildpackage 1998-11-18 05:32:52 +00:00
Ben Gertzfield
a85038d0ec libgtk-cvs-dev now Provides: and Replaces: libgtk1.1-dev 1998-11-18 04:40:02 +00:00
Ben Gertzfield
d8bbe62f8e Added a newline to print NEWVERSION 1998-11-18 04:23:35 +00:00
Carsten Haitzler
6343181e2b Tue Nov 17 1998 The Rasterman <raster@redhat.com> Added
Tue Nov 17 1998 The Rasterman <raster@redhat.com>
        * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
          function to correctly determine gdk window position relative to
	  its "root window" - contains check for an Enlightenment
	  virtual root window.
        * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
	  gdk_window_get_deskrelative_origin to get the origin of dragged
	  handleboxes correctly. Now it works correctly with E.
1998-11-18 03:15:14 +00:00
lukka
e2f7831640 *** empty log message *** 1998-11-18 00:57:16 +00:00
Ben Gertzfield
9b26da82ca Added Debian CVS build scripts. To build a snapshot Debian release,
simply run, from within the top level of the gtk+ directory:

[ben@gilgamesh:~/src/gtk-snap/gtk+]% debian/build                        1:16PM

This will build a Debian snapshot release, updating debian/changelog, and
place the resultant .debs in .. (~/src/gtk-snap/ in this example).
The version numbers are automatically updated, and look like:

YYYYMMDD.XX

where YYYY is the four-digit year (Y10K problem!) and MM is the
month (01-12) and DD is the day (01-31). XX is the build number;
it starts at 01 and debian/build increments it if you build from
CVS more than once in a day. If you're doing more than 99 CVS
builds in one day you need your head checked.

*NOTE*! The debian/build script I've written does not check in the
changes it has made to debian/changelog; that'd be scary and probably
generate too many log files all the time.

This really doesn't matter *too* much, since debian/changelog is
kind of irrelevant with CVS builds. Just know that the scant
information that is in there will not be updated via CVS.

Also, for obvious reasons, the debian/build script I've written
disables PGP signing of the resultant .changes and .dsc file.
Since these packages are not going into any archives, this will
not be a problem.

Of course, all this doesn't mean much to you if you don't have the
Debian dpkg-dev tools and debhelper installed, so don't worry if
you have no idea what I'm talking about. :)
1998-11-17 21:19:25 +00:00
Martin Baulig
cb4a61eaa3 Put output files in the current directory and not in the $(srcdir) since
1998-11-17  Martin Baulig  <martin@home-of-linux.org>

	* gtk/genmarshal.pl: Put output files in the current directory
	and not in the $(srcdir) since the VPATH is ignored for built
	sources.
1998-11-17 20:47:33 +00:00
Manish Singh
3e1dcab4c0 gtk/genmarshal.pl check for unchanged autogenerated files, so we don't
* gtk/genmarshal.pl
* gtk/Makefile.am: check for unchanged autogenerated files, so
we don't rebuild everything just for adding a new function

-Yosh
1998-11-17 09:59:26 +00:00
CST 1998 Shawn T. Amundson
bb0ec69706 Pixmaps now grey out when insensitive, code thanks to GNOME stock by
Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkpixmap.h
          gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
          code thanks to GNOME stock by Eckehard Berns.  New function
          gtk_pixmap_set_build_insensitive to provide ability to turn
          this off.
1998-11-17 01:34:07 +00:00
Lars Hamann
e94a7b1a7a new flags : homogeneous; new guints : tab_hborder, tab_vborder; marked
Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
	new guints : tab_hborder, tab_vborder; marked tab_border deprecated
	(struct _GtkNotebookPage): new flags : expand, fill, pack

	* gtk/gtknotebook.h/c
	(gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
 	tabs
	(gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
	(gtk_notebook_set_tab_hborder): new function. set tab_hborder
	(gtk_notebook_set_tab_vborder): new function. set tab_vborder
	(gtk_notebook_query_tab_label): new function. get tab_label widget.
	(gtk_notebook_set_tab_label): new function. set tab_label widget.
	(gtk_notebook_set_tab_label_text): new function. set tab_label text.
	(gtk_notebook_query_menu_label): new function. get tab_label widget.
	(gtk_notebook_set_menu_label): new function. set tab_label widget.
	(gtk_notebook_set_menu_label_text): new function. set tab_label text.
	(gtk_notebook_set_tab_label_packing): new function. set tab_label
 	fill, expand, fill_type
	(gtk_notebook_query_tab_label_packing): new function. get tab_label
 	fill, expand, fill_type

	(gtk_notebook_real_page_position): return logic page number
	(gtk_notebook_search_page) search next/prev logic page
	(gtk_notebook_update_labels): set logic page number.
	(gtk_notebook_page_compare): renamed gtk_notebook_find_page
	(gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
 	CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
 	(gtk_notebook_button_press) (gtk_notebook_key_press)
 	(gtk_notebook_focus) (gtk_notebook_pages_allocate)
	(gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
 	use gtk_notebook_search_page
	(gtk_notebook_page_allocate): fixed allocation bug
	(gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
	(gtk_notebook_init): unset GTK_NO_WINDOW flag
	(gtk_notebook_size_request): check whether page->child is visible.
 	changes due to tab h/vborder, homogeneous tabs
	(gtk_notebook_paint): don't draw invisible tabs
	(gtk_notebook_switch_page): calculate page_num if it's less than 0
 	(gtk_notebook_append_*) (gtk_notebook_prepend_*)
 	(gtk_notebook_insert_page): removed sanity checks

	* gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
1998-11-16 23:40:50 +00:00
Owen Taylor
7e44eced8c Optimizations for moving point n places. (gtk-mailund-980718-0, Thomas
Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c: Optimizations for moving point n
	places.
	(gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)

	* gtk/gtkfixed.c: Removed gtk_fixed_umap, which was
	broken. (GtkWidget's default unmap handler should work fine).
	Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
1998-11-16 23:18:06 +00:00
Manish Singh
d8ab8e0e7d added shadow_type setting and gtk_menu_bar_set_shadow_type function to
* gtk/gtkmenubar.[ch]: added shadow_type setting and
gtk_menu_bar_set_shadow_type function to allow shadow
configurability for menubars

* gtk/gtkviewport.h: use GtkShadowType enum instead of generic guint

-Yosh
1998-11-16 09:05:26 +00:00
Tim Janik
3ae1549289 relookup type node after class creation and parent class' object
Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
        class creation and parent class' object initializer.
1998-11-16 06:05:37 +00:00
Guillaume Laurent
3196b43aa2 Corrected signals declarations 1998-11-14 18:19:23 +00:00
Federico Mena Quintero
3552f4bbf8 Destroy the cursor after we have assigned it to the window -- there is no
1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
	have assigned it to the window -- there is no point in keeping it around.
	(gtk_paned_unrealize): No need to destroy the cursor here.

	* gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
	it is not needed.
1998-11-13 23:10:53 +00:00
Owen Taylor
a0ca2a7b0d New function gdk_pixmap_foreign_new(). (gtk-blizzard-981005-0. Christopher
Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
	(gtk-blizzard-981005-0.
	 Christopher Blizzard <blizzard@applied-theory.com)

	* gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
	gdk_pixmap_foreign_new to gdkx.h.

Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am: Added rules to generate an empty
	GTK+ theme called "Default" upon installation.

	* gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
	of fonts and fontsets.
	(gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)

	* gtk/gtkmain.c: Change test to detect glibc's
	utf8 based mb* functions to be more specific.

	* gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation
	cleanups.
1998-11-13 21:28:36 +00:00
Lars Hamann
8b621ad059 don't show event_window (gtk_toggle_button_map) (gtk_toggle_button_unmap):
Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
        show event_window
        (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
        event_window if draw_indicator is set
        (gtk_toggle_button_set_mode):
1998-11-13 16:07:04 +00:00
Manish Singh
d1e07dbee8 cast NULL to GtkItemFactoryCallback to ensure proper type (SunPro cc
* gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
ensure proper type (SunPro cc complains)

* gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"

* gtk/gtktogglebutton.c: use our own draw method so we get proper
redraws on active state

-Yosh
1998-11-12 23:38:42 +00:00
Lars Hamann
b214f7e59e use GtkPositionType defines.
Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
	defines.

	* gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
	GTP_POS_RIGHT
1998-11-11 23:40:17 +00:00
Lars Hamann
f164436f86 added ARG_WINDOW_PLACEMENT
Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
        (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
        added ARG_WINDOW_PLACEMENT

        * gtk/gtkclist.c (size_allocate_columns): resize column if column
        button > column width and auto_resize is set
        (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
        consider column button width of auto resized columns
        (gtk_clist_parent_set): removed

        * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
        (auto_resize_columns): auto_resize all columns
        (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
        (column_auto_resize): respect column button width of auto resized
        columns
1998-11-11 20:46:51 +00:00
Martin Baulig
d5f4e60c56 Define this so we can check for latest GTK features.
1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>

	* gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
	we can check for latest GTK features.
1998-11-10 16:01:03 +00:00
Lars Hamann
6ef274c0ed new enum GtkCornerType added window_placement. new method to set
Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkenums.h : new enum GtkCornerType
        * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
        window_placement.
        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement):
        new method to set window_placement.
        (gtk_scrolled_window_viewport_allocate)
        (gtk_scrolled_window_size_allocate): few changes due to
        window_placement.
        * gtk/testgtk.c (remove_selection): fixed while loop.
1998-11-09 00:23:37 +00:00
Manish Singh
3c07b7ebbd check if column[i].button is valid before calling gtk_widget_intersect on
* gtk/gtkclist.c: check if column[i].button is valid before calling
gtk_widget_intersect on it in gtk_clist_draw

* gtk/gtkdnd.c: removed unused variable empty_bits

* gtk/gtkrc.c: we should use gslist_* functions with GSLists...

* gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
a boolean (thanks to Elrond for noticing this)

-Yosh
1998-11-08 05:58:41 +00:00
Jay Cox
a77c4da512 forward declaration for gtk_window_paint declare xid_ht static get the
1998-11-07  Jay Cox  <jaycox@earthlink.net>

	* gtk/gtkwindow.c: forward declaration for gtk_window_paint
	* gdk/gdkxid.c: declare xid_ht static
	* examples/*/Makefile: get the link ordering right.
1998-11-07 16:12:37 +00:00
Stefan Jeske
cf1d80fd80 Set background of title button window to GTK_STATE_NORMAL instead of
* gtk/gtkclist.c (gtk_clist_realize): Set background of
  title button window to GTK_STATE_NORMAL instead of
  GTK_STATE_SELECTED to avoid ugly flicker.
1998-11-07 15:45:27 +00:00
Lars Hamann
9d874ec20a resize clist if adjustments are NULL and list size has changed
Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
 	if adjustments are NULL and list size has changed
	(gtk_clist_size_request): return real list requsition,
 	if adjustments are NULL.
	(size_allocate_columns): use button->requisition.with, if column
 	width is not set.
	(list_requisition_width): new function. return full list width.
	(gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
	auto create adjustments.
	(gtk_clist_motion) (move_vertical) (move_horizontal):
 	check adjustment != NULL.
1998-11-07 14:29:22 +00:00
Guillaume Laurent
75fff482b9 Added warning about callback on <Branch> items 1998-11-07 00:33:22 +00:00
Owen Taylor
b0f8915fe7 Indentation cleanups.
Fri Nov  6 17:10:03 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation
	cleanups.
1998-11-06 22:10:27 +00:00
Owen Taylor
e2a5219220 Merge from themes-2. See the ChangeLog for a somewhat detailed
history of the evolution of the changes involved. Most of this
is actually minor painting tweaks.
1998-11-06 22:05:02 +00:00
Lars Hamann
3c0df19a58 gtk/gtkclist.h (struct _GtkCListClass) removed scrollbar_spacing.
Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.h (struct _GtkCListClass)
	* gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
1998-11-05 18:16:17 +00:00
Lars Hamann
00fbbe68b0 removed vscrollbar, hscrollbar, vscrollbar_policy, hscrollbar_policy.
Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
 	vscrollbar_policy, hscrollbar_policy. added h/vadjustment.

	* gtk/gtkclist.c (gtk_clist_class_init): added new args types
  	"hadjustment" & "vadjustment"
 	 (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
  	set/get_arg functions
 	(gtk_clist_construct): don't create/adjust scrollbars.
 	(gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
 	to set h/vadjustments
  	(gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
 	to query h/vadjustments
 	(create_scrollbars): removed.
 	(create_adjustments): replacement for create_scrollbars
 	(gtk_clist_new): call gtk_clist_new_with_titles
 	(gtk_clist_new_with_titles): don't warn on titles == NULL
 	(move_horizontal): use CLAMP instead
 	(gtk_clist_set_policy): deprecated method.
  	use gtk_scrolled_window_set_policy instead.
 	(vadjustment_value_changed): use clist->vadj.
 	(adjust_scrollbars): renamed to adjust_adjustments
 	(adjust_adjustments): former adjust_scrollbars
 	(gtk_clist_destroy): unref adjustments
 	(gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
  	(gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
  	(gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
 	(gtk_clist_thaw) (real_insert_row) (real_remove_row)
 	(gtk_clist_set_row_height) (real_resize_column):
 	call adjust_adjustments
 	(gtk_clist_moveto): return if clist has no adjustments yet.
 	(gtk_clist_parent_set): new GtkWidget::parent_set function.
 	Autogenerate h/vadjustments if needed.
 	(move_horizontal) (move_vertical): some cleanups

	* gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
  	call only gtk_viewport_set_h/vadjustment and let these functions
  	do the work.
 	(gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
 	generate a new adjustment if needed

	* gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
  	use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
  	queue_resize if visibility of scrollbars changes
  	(gtk_scrolled_window_remove): only call container_remove with
  	scrolled_window->viewport automatically if viewport was autogenerated
 	(gtk_scrolled_window_add): add widget as scrolled_window->viewport.
 	auto create a viewport only if widget does not take h/vadjustments.
 	(gtk_scrolled_window_construct): don't generate a viewport
  	automatically.
 	(gtk_scrolled_window_forall): call callback with viewport in any case
 	(gtk_scrolled_window_set_arg): call gtk_container_add in case of
  	ARG_VIEWPORT
 	(gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
 	(gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
  	viewport != NULL

	* gtk/testgtk.c
 	(create_ctree) (export_ctree) (create_clist): use a scrolled_window
  	in conjunction with clists/ctrees

	* gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
 	in conjunction with clists

	* gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
 	in conjunction with clists
1998-11-05 15:44:22 +00:00
Lars Hamann
6a227eec1c fix focus_row adjustment (gtk_ctree_remove_node): select focus_row if
Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
        (gtk_ctree_remove_node): select focus_row if needed
        (cell_size_request): only get pixmap size if pixmap != NULL
1998-11-04 21:44:09 +00:00
Tim Janik
08ebf9dbe9 added a bunch of checks for widget != NULL and GTK_IS_WIDGET (widget):
Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
        GTK_IS_WIDGET (widget):
1998-11-04 03:32:22 +00:00
Lars Hamann
268dd6deb7 set correct focus_row after a remove_row call.
Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
	focus_row after a remove_row call.
1998-11-04 01:28:07 +00:00
GMT 1998 Austin Donnelly
b9a51f3530 gtk/gtkoptionmenu.c make option menus work when some of the menuitems are
Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>

	* gtk/gtkoptionmenu.c
	* gtk/gtkmenushell.c: make option menus work when some of the
	menuitems are hidden - previously, option menu would popup too
	high.
1998-11-01 21:10:44 +00:00
Raja R Harinath
5492003cff Forgot to commit ChangeLog 1998-11-01 01:44:44 +00:00
Raja R Harinath
f2fe3fe221 Remove `#pragma }'.
* gtk/gtkfeatures.h.in: Remove `#pragma }'.

* gdk/gdki18n.h: Update to use new `glib' widechar defines.

* configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
case instead.
(wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
(GDK_WLIBS): New variable.  Lists extra libraries needed to use
widechar functions.
* gtk-config.in (--libs): List $GDK_WLIBS, too.
1998-11-01 01:44:05 +00:00
Shawn Amundson
704266d646 Require GLib 1.1.4 1998-10-31 10:01:16 +00:00
CST 1998 Shawn T. Amundson
4848d691e0 Released GTK+ 1.1.3
Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.3

        * INSTALL:
        * NEWS:
        * README:
        * gtk+.spec:
        * docs/gtk-config.1: updated for v1.1.3

        * Makefile.am
        * sanity_check
        * docs/Makefile.am: Includes new 'make release' as well as
          'make sanity'.  Also handles html and text creation from html,
          and puts them into the distribution

        * docs/Makefile.sgml: removed, similar functionality is now in
          the Makefile.am file

        * docs/.cvsignore: ignore html and text directories
        * docs/glib.texi: removed (now in glib dist)
1998-10-31 09:53:29 +00:00
Lars Hamann
52f5eeab68 free undo_un/selection, unselect list_item before disconnect signal
Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtklist.c (gtk_list_remove_items_internal):
	free undo_un/selection, unselect list_item before disconnect
	signal functions
	(gtk_list_destroy): removed. gtk_list_shutdown clears the list
	already
	(gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
	(gtk_list_signal_item_toggle)	(gtk_list_signal_scroll_horizontal)
 	(gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
 	(gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
 	(gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
 	(gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
 	(gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
 	new functions. These functions are signal connected to inserted
 	list_items, to handle key bindings and GtkItem::de/select/toggle
 	signals.

	* gtk/gtklistitem.c (gtk_list_item_class_init): added missing
	gtk_object_class_add_signals call.
	(gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
	(gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
	(gtk_list_item_start_selection) (gtk_list_item_end_selection)
	(gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
	(gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
 	removed. These functions are handled via connected
 	gtk_list_signal_* functions now
1998-10-30 19:57:50 +00:00
Tim Janik
fd8a1c93a9 cause the built sources to be rebuild when possible, even with
Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>

        * gtk/Makefile.am: cause the built sources to be rebuild when possible,
        even with --include-deps:
        $(libgtk_la_SOURCES): $(BUILT_SOURCES)
1998-10-30 04:25:42 +00:00
Tim Janik
e655e59bc7 renamed from gtk_object_data_set_destroy to fit the gtkobject.h API.
Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
        gtk_object_data_set_destroy to fit the gtkobject.h API.

        * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
        * gtk/gtkfontsel.h:
        * gtk/gtkfontsel.c:
        Added support for an extra 'base' filter which an application can
        set to restrict the fonts available to the user (e.g. a terminal
        program only wants the user to be able to select fixed-width fonts).
        The type of font (bitmap/scalable/scaled bitmap) is now
        also a part of the filter, so that an application can
        request that only scalable fonts are shown.
        There are new functions to set the base & user filters.
        I've also stopped the up/down key press signals getting
        to the clists since the font selection widget handles
        them itself. It acted a bit strangely before.
1998-10-30 01:34:06 +00:00
Joel Becker
4dce69399a fixed xlc stuff 1998-10-26 03:12:19 +00:00
Joel Becker
0d214799be fixed extraneous "," on line 390 1998-10-26 00:29:12 +00:00
Tim Janik
b89fb9835c support an environment variable GTK_MODULES= which takes a colon sperated
Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): support an environment variable
                GTK_MODULES= which takes a colon sperated list of module names
                        automatically loaded at gtk_init() startup.
1998-10-25 19:30:02 +00:00
Tim Janik
6d5faa20c4 added more g_return_if_fail() statements.
Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c: added more g_return_if_fail() statements.
1998-10-25 10:00:19 +00:00
Lars Hamann
18ce1ade26 removed. gtk_clist_destroy is sufficient
Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
        is sufficient
1998-10-22 21:00:01 +00:00
Lars Hamann
87b6664073 samll fix for invisible columns
Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
        columns
1998-10-22 14:54:28 +00:00
Tim Janik
3785528ef8 GtkType and macro fixups set a pattern for the file selection widget to
Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkfilesel.h: GtkType and macro fixups
        * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
        for the file selection widget to try a completion on (set the
        initial filter).

Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c: implement idle functions via GHook. this gives a
        slight speed improvement and lessens code duplication.
1998-10-22 00:54:57 +00:00
Arturo Espinosa
acfab255cc One-character fix to make it compile - Federico 1998-10-21 16:22:28 +00:00
Owen Taylor
4b2885b5d3 Always send "drag_leave" to dests without GTK_DEST_DEFAULT_MOTION.
Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c: Always send "drag_leave" to dests
	without GTK_DEST_DEFAULT_MOTION.

Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
	on destroyed windows so we clear the XID table properly.
	Finish up restructure of return value handling that
	was half-done before.

Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
	the window tree more comprehensively, so that we find
	client windows hidden under non-toplevels.

Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkselection.c (gtk_selection_data_set):
	Maintain the null-termintation guarantee, even when
	data = NULL, length = 0. (Warn on data = NULL,
	length > 0)

Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
	into function prototype for drag_data_received.
1998-10-20 18:43:54 +00:00
Paolo Molaro
7a564681b1 file testps.c was initially added on branch ps-mf. 1998-10-20 16:22:48 +00:00
Paolo Molaro
4e0feda1bd file region.h was initially added on branch ps-mf. 1998-10-20 16:22:46 +00:00
Paolo Molaro
a31d35650b file poly.h was initially added on branch ps-mf. 1998-10-20 16:22:44 +00:00
Paolo Molaro
a558d2dfef file gdkps.h was initially added on branch ps-mf. 1998-10-20 16:22:40 +00:00
Paolo Molaro
0aae38d765 file gdkps.c was initially added on branch ps-mf. 1998-10-20 16:22:39 +00:00
Paolo Molaro
40428da32c file gdkdrawable.c was initially added on branch ps-mf. 1998-10-20 16:22:35 +00:00
Paolo Molaro
5f53c26527 file Region.c was initially added on branch ps-mf. 1998-10-20 16:22:32 +00:00
Paolo Molaro
e812996962 file PolyReg.c was initially added on branch ps-mf. 1998-10-20 16:22:31 +00:00
Paolo Molaro
75f85f940e Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>

	* gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
1998-10-20 09:54:57 +00:00
Lars Hamann
e45890a616 rearranged some functions (gtk_clist_set_column_auto_resize): new
Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c: rearranged some functions
	(gtk_clist_set_column_auto_resize): new function. toggle auto_resize
 	flag of column
	(gtk_clist_set_column_resizeable): if resizeable disable auto_resize
	(gtk_clist_set_border): deprecated function, use
 	gtk_clist_set_shadow_type instead.
	(gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
 	(adjust_scrollbars): some cleanups
	(select_row) (unselect_row): removed. replaced by equivalent
	gtk_signal_emit calls
	(add_style_data): removed, use gtk_clist_style_set instead
	(gtk_clist_style_set): fill in size data, after style was set.
 	(set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
 	(gtk_clist_set_cell_style): auto_resize columns if needed
	(column_auto_resize): resize column if needed for auto_resize
	(real_clear): disable auto_resize while list destroy
	(resize_column): removed

	* gtk/gtkctree.c : (gtk_ctree_remove_node)
	(gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
	(gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
 	(set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
	(real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
	(real_tree_collapse) (real_tree_expand) (column_auto_resize):
 	auto_resize columns if needed
	(gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
	(real_clear): disable auto_resize while processing the tree

	* gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
	for one column
1998-10-19 22:46:38 +00:00
Owen Taylor
b443f453ed Fixed typo - look for right atom on transfer failures.
Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
	typo - look for right atom on transfer failures.
1998-10-19 14:15:27 +00:00
Christopher Blizzard
9b00b1a2ed add testdnd to .cvsignore 1998-10-19 01:46:49 +00:00
Owen Taylor
65a9d5b2f9 Change signal for drag_data_get to match the use that was being made of it
Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwidget.c gtkmarshal.list: Change signal
	for drag_data_get to match the use that was being
	made of it everywhere else...
1998-10-19 00:51:21 +00:00
Owen Taylor
d5129fbb3a New test program for new DND. (Old DND tests in testgtk still need to be
* gtk/testdnd.c: New test program for new DND. (Old
	DND tests in testgtk still need to be converted.)
1998-10-18 23:28:36 +00:00
Owen Taylor
58d21d03f6 Missed two files. 1998-10-18 22:52:25 +00:00
Owen Taylor
f7bcb45607 Added a modular client-message-filter mechanism, that is used for the DND
Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
	mechanism, that is used for the DND messages.

	  Removed all the old DND code.

	* gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
	get the visual of a given colormap.

	* gtk/gtkcolorsel.c: Conversion to new DND, drag
	a color-swatch.

	* gdk/gdk.h gdk/gdkdnd.c: The low-level
	X oriented portions of drag and drop protocols.
	Sending and receiving client messages, and navigating
	window trees.

	* gdk/gdkimage.c: added a gdk_flush() when destroying
	SHM images to hopefully make it more likely that
        X will gracefully handle the segment being destroyed.

	* gdk/gdkprivate.h gtk/gtkdebug.h: Add new
	DND debugging flags.

	* gtk/gtkeditable.[ch]: Updates for the selection handling
	changes.

	* gtk/gtkselection.[ch]: Added GtkTargetList, a
	refcounted data structure for keeping track of lists
	of GdkAtom + information. Removed selection_handler_add
	in favor of a "drag_data_get" signal.

	* gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
	dependent) parts of the DND protocols, display of drag icons,
	drag-under highlighting, and the "default handlers".

	* gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
	windows that are used for reliable pointer grabs and
	selection handling in the DND code.

	* gtk/testdnd.c: New test program for new DND. (Old
	DND tests in testgtk still need to be converted.)

	* gtk/testselection.c: Use the new selection API.

	* docs/dnd_internals: Start at describing how
	all the new code works inside.

	* docs/Changes-1.2.txt: New file describing source-incompatible
	changes in GTK+-1.2.

Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkwindow.c (gdk_window_remove_filter): Free
	the right list node.

	* gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
	to the XID table so we can receive events on it.

Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
	to get the timestamp from a generic event.

Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_add_events): Added function
	that safely adds additional events to a widget's event
	mask, even if the widget has previously been realized.
	(We can do this, but not remove events from the event
	 mask).

Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
	for AnyPropertyType.

Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_atom_intern): Add client-local
	hashing.

Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
	isn't a timestamp.

Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_event_translate): Removed printing
	of unknown window lookup warnings. (Made it
	a GDK_NOTE) - they happen in many circumstances.
1998-10-18 22:51:24 +00:00
Martin Baulig
7dbb5755a4 new function to toggle line wrapping like gtk_text_set_word_wrap ()
1998-10-18  Martin Baulig  <martin@home-of-linux.org>

	* gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
	line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
1998-10-18 13:10:08 +00:00
Lars Hamann
eff33964d7 change a few cell styles of inserted row (change_style): change style of
Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>

	* gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
	styles of inserted row
	(change_style): change style of focus_row

	* gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
	(gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
	to set/get row/cell styles.
	(gtk_clist_realize): attach row and cell style, allocate row colors.
	(gtk_clist_unrealize): detach row and cell styles.
	(get_cell_style): new function. get correct cell style.
	(draw_cell_pixmap): new function.
	(draw_row): draw cells with row or cell styles.
	(row_new): set cell and row styles to NULL.
	(row_delete): detach & unref cell and row styles.

	* gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles):
	new functions to attach/detach styles and allocate colors.
	(gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
	styles of invisible nodes.
	(draw_cell_pixmap): new function.
	(get_cell_style):  new function. get correct cell style.
	(gtk_ctree_draw_expander): new function. draw tree expander.
	(gtk_ctree_draw_lines): new function.draw tree lines.
	(draw_row): draw cells with row or cell styles.
	(row_new): set cell and row styles to NULL.
	(row_delete): detach & unref cell and row styles.
	(gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style)
	(gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style):
	Analogons of GtkCList functions
	(gtk_ctree_set_spacing): new function. set spacing between
	tree expander and cell contents
	(gtk_ctree_set_expander_style): new function. set expander style
	of ctree.
	(ctree_is_hot_spot): few changes due to draw_row modifications.
1998-10-16 15:00:05 +00:00
Paolo Molaro
0849664209 Wed, 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
* gtk/gtkcombo.c: try completion on MOD1-TAB.
	Handle case when the combo->list is empty.
1998-10-14 09:07:18 +00:00
Tim Janik
b6b7941b0d fixed a comment 1998-10-12 11:24:29 +00:00
Tim Janik
128cb63dcc only unref those handlers that have not yet been disconnected (finally
Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
        handlers that have not yet been disconnected (finally managed to
        trigger the gtk_signal_handler_unref() paranoid warning).

Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
        width and height which is -1 and not -2.
1998-10-12 06:01:09 +00:00
Manish Singh
3e4c74d7ef HACKING we need libtool 1.2b now
* HACKING
* autogen.sh: we need libtool 1.2b now

-Yosh
1998-10-10 07:51:50 +00:00
Tim Janik
357c50b14e take the left, right, top and bottom attach arguments as mandatory and
Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
        and bottom attach arguments as mandatory and readjust the table size
        and opposing edge accordingly if required. this way the order in which
        the arguments are set doesn't matter.
1998-10-10 01:55:09 +00:00
Owen Taylor
922d7fd0ae Fixed warning message to print out parent class name correctly.
Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
	message to print out parent class name correctly.
1998-10-08 19:43:47 +00:00
Tim Janik
3f7c96b352 removed functions gtk_object_set_data_destroy and
Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.h:
        * gtk/gtkobject.c:
        removed functions gtk_object_set_data_destroy and
        gtk_object_set_data_destroy_by_id.
        added functions gtk_object_remove_no_notify and
        gtk_object_remove_no_notify_by_id which will remove a certain data
        portion without invokation of its destroy notifier, this should only
        be used in very controled circumstances.
1998-10-08 06:33:49 +00:00
Lars Hamann
3a5447574b added size_allocate_title_buttons call (gtk_clist_realize): changed
Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
	size_allocate_title_buttons call
	(gtk_clist_realize): changed initial column.window position
1998-10-07 22:13:19 +00:00
Lars Hamann
28cd4d6102 removed xor_gc, use clists xor_gc instead removed
Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
        xor_gc instead
        * gtk/gtkctree.c (create_xor_gc): removed
        (gtk_ctree_button_press): set correct line_attributes for
        clist->xor_gc on drag start
        (gtk_ctree_button_release): reset clist->xor_gc
1998-10-07 19:28:25 +00:00
Tim Janik
3322a264e0 removed all occourances of #pragma } and #pragma { which were in place to
Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtk*.h:
        * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
        which were in place to fixup emacs' cc-mode indentation.
        putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
        proper way to achive this and doesn't produce problems for
        stupid pragma-related compiler bugs. ;)
1998-10-07 04:21:19 +00:00
Lars Hamann
a2951281f3 new signal GtkCList::resize_column. don't draw invisible columns
Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.h: new signal GtkCList::resize_column.
        * gtk/gtkclist.c (draw_row): don't draw invisible columns
        (size_allocate_title_buttons) (size_allocate_columns):
        skip invisible columns
        (new_column_width): take min/max_width into account
        (gtk_clist_button_release) (gtk_clist_motion):
        changes due to changed new_column_width function
        (LIST_WIDTH): changed define to inline function.
        (real_resize_column): class function for resize_column signal
        (gtk_clist_motion): fixed autoscrolling for column resizes
        (gtk_clist_set_column_visibility): don't hide last visible column,
        changed visible arg to gboolean
        (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
        new functions : set min/max width of a column
        (gtk_clist_set_column_resizeable): new function : enable/disable
        column resize operations by mouse

        * gtk/gtkctree.c (draw_row): don't draw invisible columns
        (ctree_is_hot_spot): return FALSE if tree_column is invisible
        (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
        tree_column is invisible
        (gtk_ctree_find_all_by_row_data)
        (gtk_ctree_find_all_by_row_data_custom):  new function from
        Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
        GtkCTreeNodes with row->data == data.
1998-10-07 00:03:24 +00:00
Tim Janik
c3a163b021 use g_free to free g_malloced memory (Martin Pool
Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
        memory (Martin Pool <mbp@wistful.humbug.org.au>).
1998-10-06 12:36:17 +00:00
Raph Levien
ecb9ebbce3 Fixed an alpha bug. 1998-10-05 22:30:08 +00:00
CDT 1998 Shawn T. Amundson
6b15c2ca82 gtk/gtkcalendar.c: More changes: - The day with focus is now seperated
Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkcalendar.h:
          gtk/gtkcalendar.c: More changes:
          - The day with focus is now seperated from the day selected
          - The day with focus has the xor's line around it
          - The selected day is now standard selected style
          - The week names and week numbers are now also drawn
            with selected style
          - Space now selects the day which has focus
1998-10-05 03:52:48 +00:00
Joel Becker
edebc6cf21 added xlc to the list of compilers that call automake with --include-deps 1998-10-05 03:50:46 +00:00
CDT 1998 Shawn T. Amundson
16786ffbf7 gtk/gtkcalendar.c: Some significant changes, including: - No longer draw
Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkcalendar.h:
          gtk/gtkcalendar.c: Some significant changes, including:
          - No longer draw focus around entire widget, only around
            the day which has focus
          - Draw relief around entire widget like originally planned
          - Show header and day names by default
          - Move data private to the widget out of GtkCalendar struct
            and only point to it with a gpointer
          - Remove some old unused variables from GtkCalendar struct
1998-10-04 23:07:04 +00:00
BST 1998 Tony Gale
89a9da8a21 update I've had sat around: - Grammar patch from James R. Van Zandt
Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml: update I've had sat around:
          - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
          - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
          - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
1998-10-04 16:55:16 +00:00
Martin Baulig
a9c05acd70 Added `visible'.
1998-10-01  Martin Baulig  <martin@home-of-linux.org>

	* gtk/gtkclist.h (GtkCListColumn): Added `visible'.

	* gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
	Makes it possible to individually show and hide columns.
	(size_allocate_columns): Adapted to keep track of hidden columns.
	(size_allocate_title_buttons): Likewise.
1998-10-04 10:52:52 +00:00
Tim Janik
c62ab96bcc for unknown foreign fundamental types, collect an argument of the type
Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
        fundamental types, collect an argument of the type returned from
        gtk_type_get_varargs_type(). removed the first macro argument which
        was just the same as the fundamental type of the *arg passed to
        the macro.
        * gtk/gtkarg.c (gtk_args_collect):
        * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
        gtk_type_get_varargs_type() to set and query the varargs collect
        type used for a fundamental type, registered outside of Gtk.

        * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
        GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
        GTK_TYPE_FLOAT.

        * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
        GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
        to GTK_TYPE_FLOAT.
1998-10-03 17:04:41 +00:00
Lars Hamann
879683b674 fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>

    * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
    (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand):
    fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV

    (real_tree_expand) (real_tree_collapse):
    don't expand/collapse a leaf
1998-10-02 23:45:09 +00:00
Tim Janik
bbe7d97e00 make sure we don't segfault when looking up a non-existant value name
Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
        segfault when looking up a non-existant value name (reported by
        Pablo <pcj+gtk@primenet.com>).
1998-10-02 21:14:26 +00:00
Tim Janik
b89ed0c35f new function. (gtk_clist_insert): added g_return_val_if_fail() statements.
Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.h (gtk_clist_prepend):
        * gtk/gtkclist.c (gtk_clist_prepend): new function.
        (gtk_clist_insert): added g_return_val_if_fail()
        statements. accept a row parameter < 0 or > clist->rows to indicate
        append mode.
        (real_clear): first clean up all internal pointers and lists (e.g.
        clist->row_list or clist->rows), then delete the distinct rows. this
        is required because of destroy notifiers, we need to have all internal
        structures updated and be reentrant.

        * gtk/gtkcalendar.h:
        * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
        GtkCalendarClass signal methods.
        GtkType and macro fixups, put `void' into () prototypes, avoid C++
        style comments, indentation fixes, fixed some g_return_if_fail()
        statements.
        (gtk_calendar_paint_header):
        (gtk_calendar_paint_day_names):
        (gtk_calendar_paint_week_numbers):
        (gtk_calendar_paint_main): made these static functions.
        (gtk_calendar_select_month):
        (gtk_calendar_select_day):
        (gtk_calendar_mark_day):
        (gtk_calendar_unmark_day):
        (gtk_calendar_get_date): signedness corrections, use guints
        rather than gints.
        (gtk_calendar_size_request): removed unused variables.
1998-10-01 13:24:42 +00:00
Tim Janik
fa5c68f7c6 list all widgets in the ->widgets_by_action list that have a callback
Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
        widgets in the ->widgets_by_action list that have a callback
        defined (not only those with a callback_action!=0).
1998-09-30 11:22:13 +00:00
CDT 1998 Shawn T. Amundson
3261e656e5 gtk/gtkcalendar.c: examples/calendar/gcalendar.c: remove HAVE_FEATURES
Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkcalendar.h:
          gtk/gtkcalendar.c:
          examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
1998-09-28 03:20:03 +00:00
CDT 1998 Shawn T. Amundson
31045ef4f2 gtk/gtkcalendar.c: examples/calendar: Added gtkcalendar widget and demo
Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkcalendar.h:
          gtk/gtkcalendar.c:
          examples/calendar: Added gtkcalendar widget and demo
1998-09-27 18:32:00 +00:00
Tim Janik
fbe8f91806 adde g_return_if_fail() statements.
Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.c (gtk_clist_sort):
        (gtk_clist_clear):
        (gtk_clist_unselect_all):
        (gtk_clist_select_all): adde g_return_if_fail() statements.
1998-09-26 06:31:30 +00:00
Tim Janik
d0b7b3f5c9 set binary age and interface age to 0.
Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>

        * configure.in: set binary age and interface age to 0.

        * gtk/gtkspinbutton.h:
        * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
        gtk_spin_button_configure. gtk_spin_button_construct is still defined
        as an alias for gtk_spin_button_configure for source compatibility,
        but actuall use is deprecated.
        typeness corrections, i.e. gint->gboolean and gint->guint.
        added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
        GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
        GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
        GtkSpinButton::adjustment, GtkSpinButton::digits and
        GtkSpinButton::climb_rate.
        GtkType and macro fixups.
1998-09-26 03:12:03 +00:00
Tim Janik
c961dd184b new function to get the *real* geometry position of a window, taken
Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
        the *real* geometry position of a window, taken possible window
        manager offsets into account.
        this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
        olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
        it does fail though for amiwm which adds windows to a pseudo root
        window, and for icewm by a small offset because it defines the
        geometry position whithin its border.

        * gtk/testgtk.c: added "saved position" test to figure how
        gdk_window_get_root_origin() interacts with window managers (repopup
        this window to figure ;).
1998-09-25 23:04:32 +00:00
Tim Janik
416b69a2c1 update to Gtk+ version 1.1.3, binary age 1, interface age 1.
Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>

        * configure.in: update to Gtk+ version 1.1.3, binary age 1,
        interface age 1.

        * gtk/gtkobject.c
        (gtk_object_ref):
        (gtk_object_unref): check for ->ref_count to be greater than 0 (the
        existing code was buggy in letting ->ref_count==0 pass through and
        then failing the living_objs_ht assertion).

        * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
        pixtext fields (Roman Pozlevich <roma@botik.ru>).
1998-09-23 04:47:45 +00:00
CDT 1998 Shawn T. Amundson
e1aba58de1 Released GTK+ 1.1.2
Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.2
1998-09-22 05:13:22 +00:00
Manish Singh
2e8d1aaa79 Shut up gcc AND cvs
-Yosh
1998-09-21 08:28:53 +00:00
jaycox
f6db9670d1 use $(PERL) instead of perl render properly in non-square aspect ratios.
* gtk/Makefile.am: use $(PERL) instead of perl
	* gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
	also much faster to render.
1998-09-21 08:14:10 +00:00
Manish Singh
8d3a895773 This shouldn't be there
-Yosh
1998-09-21 06:28:24 +00:00
Tim Janik
dcc8bc33db reallocate the required memory block, rather than allocating it newly from
Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
        the required memory block, rather than allocating it newly from
        scratch and doing a full-blown block copy on it.
1998-09-21 06:14:18 +00:00
Manish Singh
4721a7dd40 shut up CVS
-Yosh
1998-09-21 02:54:58 +00:00
Tim Janik
c1381c8cea more NEWS updates 1998-09-21 02:34:44 +00:00
Tim Janik
b9a26457b9 NEWS file update for upcoming release of Gtk+ version 1.1.2, binary age 0,
Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>

        * NEWS file update for upcoming release of Gtk+ version 1.1.2,
        binary age 0, interface age 0.

        * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
1998-09-21 02:31:39 +00:00
Owen Taylor
beb6af329e Patch to libtool-1.2b to make --disable-static
Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>

	* ltconfig.sh: Patch to libtool-1.2b to make --disable-static
1998-09-20 22:14:58 +00:00
Marius Vollmer
240a22f4ed More stuff about the type system. 1998-09-20 18:10:03 +00:00
Owen Taylor
104e5d2cc6 indent other than GNU indent should be OK now.
Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>

	* HACKING: indent other than GNU indent should be OK
	  now.

	* gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
	  instead of piping through indent. If indent wasn't
	  found in ./configure don't bother indenting at
	  all.
1998-09-20 14:58:08 +00:00
Owen Taylor
fd69dc379a file libtool-1.2.patch was initially added on branch gtk-1-0. 1998-09-20 14:54:19 +00:00
Owen Taylor
b03172656c Add names to prototype for gdk_image_new_bitmap.
Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
1998-09-20 13:35:24 +00:00
Raja R Harinath
cc4aa3cd47 Forgot to commit this 1998-09-20 02:35:59 +00:00
jaycox
1fe70a7a0d gtk/Makefile.am: use $(AWK) instead of awk
gtk/Makefile.am: use $(AWK) instead of awk
1998-09-19 01:54:04 +00:00
Raja R Harinath
49aa89e261 Remove references to $(top_srcdir). (gtk.defs,
* gtk/Makefile.am (gdk_headers):
Remove references to $(top_srcdir).
(gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
* gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
1998-09-18 20:20:23 +00:00
Tim Janik
dc9d35402a changed gpointer object_data; to GData*object_data to cure compiler
Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
        GData*object_data to cure compiler warnings.
1998-09-18 18:19:00 +00:00
Manish Singh
483bec40cc updated to latest automake version
-Yosh
1998-09-18 02:07:42 +00:00
Manish Singh
eb0fec7865 shutup CVS further
-Yosh
1998-09-17 22:59:18 +00:00
Raja R Harinath
44557367ed Move `gtkfeature.h' ... (gtkinclude_HEADERS): ... here. (gtk.defs): Pass
* gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
(gtkinclude_HEADERS): ... here.
(gtk.defs): Pass `g' flag to sed, to replace all occurances.
1998-09-17 18:16:10 +00:00
Raph Levien
dfcde48090 Added GNU indent to HACKING, as it is now required to build. 1998-09-17 17:52:00 +00:00
Owen Taylor
486362db9f Update to libtool-1.2b, change library versioning scheme to drop
Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am gtk-config.in l*: Update to libtool-1.2b,
	change library versioning scheme to drop LT_RELEASE
	from the -l line, while keeping it in the soname.

Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>

	* configure.in Makefile.in: define a MAINT-like variable REBUILD
	which is set if Perl and awk are found, and autogenerated sources
	can be rebuilt. Remove the auto-generated sources from
	CVS.

	Add dependencies so that the autogenerated sources are
	rebuilt if the files they depend on change.
	(This unfortunately currently results in the entire
	gtk/ directory being rebuilt when any header changes.
	Moving all enums to gtkenums.h would fix this.)
1998-09-17 15:40:22 +00:00
Tim Janik
ee1b96185f added gtk_object_set_data_destroy and gtk_object_set_data_destroy_by_id
Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.h: added gtk_object_set_data_destroy and
        gtk_object_set_data_destroy_by_id functions to set the destroy
        function pointer for an existing data portion.

        * gtk/gtkobject.c: removed the GtkObjectData implementation and
        made all gtk_object_*data* functions use the GLib equivalents.
1998-09-17 05:00:30 +00:00
Arturo Espinosa
0b54ffa9d6 sync 1998-09-16 23:34:03 +00:00
Federico Mena Quintero
bf69ab9d68 Test whether type is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before
1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
	is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
	(widget != NULL), otherwise radio button insertion will not work
	-- the widget argument is NULL for the first radio button in the
	group.
1998-09-16 23:33:25 +00:00
Owen Taylor
eacc9f5d05 Reverted global changes of g_new to malloc(), added back in the one place
Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkimage.c (gdk_image_new): Reverted global changes
	of g_new to malloc(), added back in the one place where
	it actually mattered. #include <stdlib.h>.

	* gdk/gdkrgb.c: g_malloc() to malloc() as above.
1998-09-15 17:08:38 +00:00
Owen Taylor
a2524578cd Don't request a new size from the WM if we asked for the same size before
Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_move_resize): Don't request
	a new size from the WM if we asked for the same size
	before and our request was rejected.

	* gtk/gtkwindow.c (gtk_window_configure_event): If
	in response to a request, we get a configure event
	with unchanged dimensions, send a synthetic expose
	since ForgetGravity won't expose our window.

Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c (adjust_adj): Change the way we
	set the adjustments on resize so that it tries to
	keep the beginning of the text in approximately
	the same place.

	Removed assertion that the above change made invalid.
1998-09-15 14:59:48 +00:00
CDT 1998 Shawn T. Amundson
c2f99dd168 changed g_new()s to malloc()s and g_free()s to free()s to avoid mixing
Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * gdk/gdkimage.c: changed g_new()s to malloc()s and
          g_free()s to free()s to avoid mixing g_new()s with
          free()s.  X itself uses free() on some of the
          malloced memory.
1998-09-15 03:12:54 +00:00
Owen Taylor
fb00a59c2f at Sep 12 10:44:06 1998 Owen Taylor <otaylor@redhat.com>
* gtkfilesel.c: Maintain a list of directories like
	/afs we know contain only directories, and avoid
	stat'ing files in those directories. (Because
	stat'ing all files in /afs is extremely expensive)

	To support automounters, try to open directories,
	even if we couldn't find them when reading their
	parent directory.
1998-09-12 14:41:04 +00:00
Lars Hamann
cb7c4d6c7f new function to set/unset the selectable flag of a single row.
* gtk/gtkclist.c (gtk_clist_set_selectable): new function
  to set/unset the selectable flag of a single row.
  (gtk_clist_get_selectable): new function
  to get the state of the selectable flag

* gtk/gtkctree.c (gtk_ctree_node_set_selectable)
  (gtk_ctree_node_get_selectable): clist analogons
1998-09-11 13:52:42 +00:00
Raph Levien
6d13f0f9b3 Checking in minor changes. Now synced with 0.9.0. 1998-09-11 00:11:05 +00:00
Manish Singh
683cb5753e added -posix check for NeXTStep
* configure.in: added -posix check for NeXTStep

* gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
a unique buffer for each thread.

* docs/gtk-config.1: clarified copyright

-Yosh
1998-09-09 09:51:44 +00:00
Tim Janik
c8fbf3b01e minor fixup 1998-09-08 09:24:22 +00:00
Tim Janik
e33741aed6 use g_atexit() instead of ATEXIT.
Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.

        * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.

        * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
        ATEXIT.

        * ltconfig: use GLib's ltconfig which honours lcc.
1998-09-08 04:08:17 +00:00
Manish Singh
f830dc3f36 comment the -std1 check and save LIBS properly
-Yosh
1998-09-08 03:09:54 +00:00
Manish Singh
e096fc9752 cosmetic case change
-Yosh
1998-09-07 02:16:41 +00:00
Manish Singh
f6d4cb9b99 #include <stdlib.h> for rand()
-Yosh
1998-09-06 19:36:56 +00:00
Owen Taylor
51021f88c5 When the pointer is grabbed on an input window, either explicitely, or
Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
	When the pointer is grabbed on an input window,
	either explicitely, or through press-grab, and
	then grabbed on a non-input window, ungrab the
	devices.
1998-09-05 21:22:51 +00:00
Tim Janik
78dbc1efdb don't include any gdk headers. added structure definitions for
Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.h: don't include any gdk headers.
        added structure definitions for GtkTypeObject and GtkTypeClass,
        which cover the very basic fields of GtkObject and GtkObjectClass,
        which are actually used by the type system.

        * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
        we only refer to our own structures. improved class inheritance
        sanity checking a bit.

        * gtk/gtkobject.h: placed appropriate comments at the beginnings
        of the GtkObject and GtkObjectClass structures, which explain
        their relationship to GtkTypeObject and GtkTypeClass.

        * gtk/gtktypeutils.h:
        * gtk/gtkobject.h:
        moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
        GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
        gtkobject.h to gtktypeutils.h.

        * gtk/gtkobject.h:
        * gtk/gtkobject.c:
        removed gtk_object_check_cast() and gtk_object_check_class_cast()
        functions. to keep source compatibility, we can provide macro aliases
        for the corresponding gtk_type_* functions. but then again, people
        shouldn't have been using these functions anyways since they were part
        of Gtk's internal API.

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c:
        implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
        functions to check GtkTypeObject and GtkTypeClass types.
1998-09-05 06:54:20 +00:00
Tim Janik
0f0d9509c0 `const' fixups.
Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkctree.h:
        * gtk/gtkctree.c: `const' fixups.

        * gtk/gtkclist.h:
        * gtk/gtkclist.c: `const' fixups and some coding style adaptions.

        * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
        if it is passed as NULL.
1998-09-03 07:28:37 +00:00
Raph Levien
ebe76c752c Fixed up some of the bigendian 32bpp modes. 1998-09-03 05:47:08 +00:00
Tim Janik
75bda50723 plug another small GtkSIgnalQuery leak.
Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
        GtkSIgnalQuery leak.
1998-09-03 02:48:52 +00:00
Tim Janik
698c89e5c4 GTK_MENU_DIR_CHILD: check for the existance of
Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
        GTK_MENU_DIR_CHILD: check for the existance of
        menu_shell->active_menu_item before accessing its child.
        GTK_MENU_DIR_PREV:
        GTK_MENU_DIR_NEXT: if we haven't had an active item and still
        don't, make a default selection.

Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
        the children with _forall for sensitivity changes and with
        _foreach on pure state changes. this fixes a lot of the
        old inclusions of internal widgets into _foreach calls.

        * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
        do the work. don't walk the subtrees of first level children.

        * gtk/gtktreeitem.c: provide a _forall implementation,
        which walks the subtrees as well for include_internals.

        * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
        the submenus as well for include_internals.

        * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
        implemented gtk_scrolled_window_forall, which will iterate over
        the viewport and the scrollbars for gtk_container_forall or
        iterate over the viewports children for gtk_container_foreach.

        * gtk/gtktoolbar.c:
        * gtk/gtktable.c:
        * gtk/gtkpaned.c:
        * gtk/gtkpacker.c:
        * gtk/gtkmenushell.c:
        * gtk/gtklist.c:
        * gtk/gtkfixed.c:
        * gtk/gtkclist.c:
        * gtk/gtkbox.c:
        * gtk/gtkbin.c:
        * gtk/gtknotebook.c:
        removed the old gtk_*_foreach functions and provided gtk_*_forall.

        * gtk/gtknotebook.c:
        (gtk_notebook_real_switch_page): expose tabs.
        (gtk_notebook_page_num): new function to return the page number
        of a distinct child.
        (gtk_notebook_focus): minor fixups. foxus handling is still screwed
        under some circumstances.

        * gtk/gtktreeitem.c:
        (gtk_real_tree_item_select):
        (gtk_real_tree_item_deselect): major fixes.
        some general fixups wrt queue_redraw, and tree items not being
        NO_WINDOW widgets.

        * gtk/gtklistitem.c:
        (gtk_real_list_item_select):
        (gtk_real_list_item_deselect):
        (gtk_real_list_item_toggle):
        removed unneccessary queue_redraw calls.

Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
        automatically popup the menu on space bar.

Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.h:
        * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
        method), which acts similar to gtk_container_foreach(), but iterates
        over internal children. the GtkContainer::foreach signal vanished in
        favour of a new class method ->forall() that optionally includes
        internal widgets.

        * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
        but a _forall implementation, since all child widgets we have are
        internal ones.
        (column_button_create): set the parent window prior
        to gtk_widget_set_parent().

        * gtk/gtkwidget.c:
        exchanged all calls to gtk_container_foreach() with
        gtk_container_forall().

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
        the GtkWidget::composite_child argument. to have a widget created
        with the flag initially, two new functions got added to wrap a widgets
        creation:
        gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().

Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktooltips.h:
        * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
        gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
        prior to the first tip being set.
        don't put an extra reference on the window, since it is a toplevel,
        it wont get destroyed from anywhere else.

        * overall macro and GtkType fixups.
1998-09-03 02:38:53 +00:00
Federico Mena Quintero
af9c5dede4 Replaced "foo == TRUE" and "foo == FALSE" constructs by more forgiving
1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
	constructs by more forgiving ones.  (Does anyone else feel like
	the color selector need rewriting?).
1998-09-02 21:46:49 +00:00
Owen Taylor
0e2758ae42 Unref the adjustment.
Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkprogress.c (gtk_progress_finalize): Unref
	the adjustment.

	* gtk/gtkmenu.c: Modified reference counting so
	that the reference count from the toplevel that
	the menu creates to the menu is invisible to the
	application.
1998-09-01 18:41:26 +00:00
Raph Levien
7dbe380691 I should have added testrgb to the .cvsignore last time. Now I have. 1998-09-01 06:01:30 +00:00
Raph Levien
1fe35dda56 Minor improvements to gdkrgb, added testrgb to the gtk directory. 1998-09-01 05:29:45 +00:00
Frank Belew (Myth)
4bb5d92a02 file .cvsignore was initially added on branch themes-2. 1998-09-01 05:20:20 +00:00
Raph Levien
10dcedad06 Added a gdk_draw_rgb_image_dithalign function. 1998-08-31 22:18:18 +00:00
Manish Singh
f2322ebeb4 quell some warnings with g_hash_table_new
* gdk/gdkcolor.c:
(gdk_colormap_new) (gdk_colormap_get_system):
quell some warnings with g_hash_table_new

* gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery when
we're done with it

* gtk/itemfactory.c:
(gtk_item_factory_from_path):
(gtk_item_factory_create_item): free some strings

* gtk/gtklabel.c:
(gtk_label_finalize): free label->pattern when done
(gtk_label_parse_uline): null terminate pattern string, delete some duplicated
code

* gtk/testthreads.c: add #include <unistd.h> for sleep()

-Yosh
1998-08-29 22:27:47 +00:00
Owen Taylor
1dafcb2a24 Make sure the mark we pass to line start is the beginning of a real line,
Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c (recompute_geometry): Make sure the
	mark we pass to line start is the beginning of a
	real line, not a wrapped one.
1998-08-25 22:22:12 +00:00
Marius Vollmer
155da3a8c5 Started to document the lowest layers of the type system. 1998-08-25 20:51:58 +00:00
Arturo Espinosa
1cbad0a4fc Updated the stupid builtins file, again - Federico 1998-08-25 16:44:03 +00:00
Owen Taylor
caf8ebc6f1 Reference count the fonts used in the text widget.
Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c: Reference count the fonts used in
	the text widget.

	* gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
	freeing functions to be more consistent, and more
	convenient; leave the old names in for backwards compatibility.

	* gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
	allocations in pseudo-color colormaps to greatly reduce
	calls to XAllocColor. Keep a per-colormap hashtable to
	speed up finding if there is an already-allocated matching
	color.

	* gdk/gdkcolor.c: Don't just match read the system colormap
	when the colormap is created, but synchronize our copy
	with the system colormap periodically.

	* gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c:
	Change XIM constants names to match GDK conventions

	* gtk/testinput.c: Allow the drawing area to get the focus.

	* gtk/testgtk.c: Change around the Text test to demonstrates
	multiple fonts, use more colors.

	* gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
	so they work after a widget is unrealized.

	* gtk/gtktext.[ch]: Remove the requirement that the text
	widget be realized before adding text (!) Allocate colors
	ourself, instead of requiring the caller allocate them.
	Allow changing styles to work properly by keeping track
	of the values for a certain property are default or
	set explicitely.

	* gtk/gtkmenu.h: Added some comments.

	* gtk/gtkentry.c: Changes to match XIM constants.

	* gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
	for adding keyed data to drawables. (Uses g_dataset
	internally)

	* gdk/gdkpixmap.c: Keep track of the colors we allocate,
	when creating an XPM - store them as user data for the GdkPixmap,
	so we don't leak colors when we create pixmaps from XPM's.

	Allocate memory for color information in large blocks instead of
	as many little pieces.
1998-08-25 00:06:38 +00:00
Manish Singh
b93d689290 removed some unused variables
* gdk/gdkrgb.c: removed some unused variables

* gtk/gtkclist.c
* gtk/gtkmain.c: #if 0'd out some unused code

* gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug

-Yosh
1998-08-24 18:13:08 +00:00
Tim Janik
02a871bc31 begin the parameter elipsis (...) after the first argument name. this
Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkarg.h:
        * gtk/gtkarg.c:
        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c:
        * gtk/gtkobject.h:
        * gtk/gtkobject.c:
        * gtk/gtkcontainer.h:
        * gtk/gtkcontainer.c:
        (gtk_object_new):
        (gtk_object_set):
        (gtk_widget_new):
        (gtk_widget_set):
        (gtk_container_add_with_args):
        (gtk_container_child_set):
        begin the parameter elipsis (...) after the first argument name. this
        change is source compatible, since it was always required, even as NULL.
        (gtk_args_collect):
        (gtk_object_args_collect):
        (gtk_container_child_args_collect):
        changed prototypes to pass first_arg_name, also, pass va_list variable
        by value (portability concerns). callers changed.

        * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
        a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
        can't pass va_list variables by reference for portability reasons.
1998-08-24 05:27:29 +00:00
Raph Levien
db10ace6c8 Added some calls to gdk_rgb_init, so it's much more likely to correctly
initialize now.
1998-08-22 05:41:32 +00:00
Carsten Haitzler
6cfad41c09 file makemakefile.sh was initially added on branch themes-2. 1998-08-22 01:29:55 +00:00
Carsten Haitzler
6ccb4844c9 file README was initially added on branch themes-2. 1998-08-22 01:29:54 +00:00
Carsten Haitzler
17a24b0ca3 file Makefile.am was initially added on branch themes-2. 1998-08-22 01:29:53 +00:00
Carsten Haitzler
04f593c9fb file ICON.png was initially added on branch themes-2. 1998-08-22 01:29:52 +00:00
Owen Taylor
41e007894c file ltmain.sh was initially added on branch themes-2. 1998-08-22 00:13:35 +00:00
Owen Taylor
97c37421a6 file ltconfig was initially added on branch themes-2. 1998-08-22 00:13:34 +00:00
Owen Taylor
5682c4abb6 file makemakefile.sh was initially added on branch themes-2. 1998-08-21 23:47:22 +00:00
Owen Taylor
cb6b2054ab file Makefile.am was initially added on branch themes-2. 1998-08-21 23:47:21 +00:00
Owen Taylor
0363711f77 file .cvsignore was initially added on branch themes-2. 1998-08-21 23:47:20 +00:00
Owen Taylor
bf7eeebb3a file install-sh was initially added on branch themes-2. 1998-08-21 23:41:07 +00:00
Owen Taylor
2c099e45e3 file README was initially added on branch themes-2. 1998-08-21 23:41:06 +00:00
Owen Taylor
9c891d4417 file NEWS was initially added on branch themes-2. 1998-08-21 23:41:05 +00:00
Owen Taylor
0c27e75cbe file ChangeLog was initially added on branch themes-2. 1998-08-21 23:41:02 +00:00
Owen Taylor
02a024df2f file AUTHORS was initially added on branch themes-2. 1998-08-21 23:41:01 +00:00
Stuart Parmenter
7aac253dcc added GTK_HAVE_FEATURES_1_1_2 1998-08-21 17:07:11 +00:00
Tim Janik
a7b3b116a9 added a function to perform a binary version check, returning a static
Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.h:
        * gtk/gtkmain.c (gtk_check_version): added a function to perform a
        binary version check, returning a static string for error descriptions,
        or NULL on success.
1998-08-21 02:22:06 +00:00
Owen Taylor
29d8fe021b Check to see if we've computed our geometry yet, and if not, ignore the
Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c ([un]draw_cursor): Check to see if we've
	computed our geometry yet, and if not, ignore the request.

	  gtk/gtktext.c (correct_cache_insert): Fiddled around]
	some more. All the bug-test codes seem to work at once
	now. (fingers crossed...)
1998-08-21 00:13:38 +00:00
Carsten Haitzler
f616dc9a9a file gtkrc was initially added on branch themes-2. 1998-08-20 22:20:49 +00:00
Carsten Haitzler
bd088fe083 file metal_theme_main.c was initially added on branch themes-2. 1998-08-20 22:20:06 +00:00
Carsten Haitzler
94ed72d3e6 file metal_theme_draw.c was initially added on branch themes-2. 1998-08-20 22:20:05 +00:00
Carsten Haitzler
c312fe1c8d file metal_theme.h was initially added on branch themes-2. 1998-08-20 22:20:04 +00:00
Carsten Haitzler
2fde6f677e file README.metal was initially added on branch themes-2. 1998-08-20 22:20:03 +00:00
Manish Singh
568b42bd52 silly visual fixes
* gdk/gdkrgb.c: silly visual fixes

* gtk/testgtk.c: call gdk_rgb_init so color preview test actually works

-Yosh
1998-08-20 20:10:52 +00:00
Federico Mena Quintero
cad57a6686 Do not do anything if the event's window is not the bin window.
1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
	anything if the event's window is not the bin window.
	(gtk_handle_box_motion): Likewise.
1998-08-20 16:55:16 +00:00
Raph Levien
e946fcf69d Change to testgtk to go along with GdkRgb integration into gtk_preview. 1998-08-20 06:59:26 +00:00
Raph Levien
f1a524a21e Minor fixes that were needed for the Gimp/GdkRgb integration. 1998-08-20 06:52:52 +00:00
Tim Janik
38db8d1951 allow argument parsing in gtk without G_ENABLE_DEBUG being defined
Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
        G_ENABLE_DEBUG being defined (specifically --gtk-module= and
        --g-fatal-warnings), noticed by miguel.
1998-08-18 22:22:22 +00:00
Tim Janik
49dfa78e74 use g_get_current_dir() instead of getcwd().
Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
        getcwd().

        * gdk/gdkprivate.h:
        * gdk/gdkglobals.c:
        * gdk/gdkwindow.c:
        * gdk/gdk.c:
        * gtk/gtkwindow.c:
        * gtk/gtkitemfactory.c:
        dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.

        * gtk/gtkselection.c:
        * gtk/gtkpreview.c:
        * gtk/gtkobject.c:
        * gtk/gtkmain.c:
        * gtk/gtktypeutils.c: indentation fixes due to g_message() use.

        * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
1998-08-18 16:58:09 +00:00
Lars Hamann
1575a19c59 fix for sigsegv in case of show_tabs == NULL
Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtknotebook.c (gtk_notebook_switch_focus_tab):
	* gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
	in case of show_tabs == NULL
1998-08-18 15:31:49 +00:00
Tim Janik
7f2909bbab restricted the --g*fatal-* arguments to --g-fatal-warnings again. this
Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
        to --g-fatal-warnings again. this option now causes log levels of
        WARNING and CRITICAL to abort().

        * gdk/gdk.c:
        * gdk/gdkdnd.c:
        * gdk/gdkcc.c:
        * gdk/gdkfont.c:
        * gdk/gdkwindow.c:
        * gdk/gdkvisual.c:
        * gtk/gtkwidget.c:
        * gtk/gtktypeutils.c:
        * gtk/gtktree.c:
        * gtk/gtkfontsel.c:
        * gtk/gtkmain.c:
        * gtk/gtkobject.c:
        * gtk/gtkpreview.c:
        * gtk/gtkselection.c:
        * gtk/gtktext.c:
        * gtk/gtktree.c:
        * gtk/gtktreeitem.c:
        did a global search&replace to substitute g_print() calls with
        g_message(). libraries shouldn't use printf(), g_print() or
        g_printerr() at all.
        a bunch of the replacements should probably be wrapped into the
        G{D|T}K_NOTE() macros, so they are special cased for debugging
        purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
        things.

        * gdk/gdkrgb.c: left this out currently.

        * gdk/gdkdnd.c: added copyright notice.
1998-08-18 03:59:41 +00:00
Raph Levien
fdc36ada3f It works better when I actually check the file in :) (I.e. this is the
speedup I was trying to check in a minute ago).
1998-08-18 00:34:43 +00:00
Raph Levien
265a137efc More speedups to the 565_d case. 1998-08-18 00:32:34 +00:00
Lars Hamann
17d141c8e5 new class methods: (sort_list) (insert_row) (remove_row)
Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.h:
        (struct _GtkCListClass): new class methods:
        (sort_list) (insert_row) (remove_row) (set_cell_contents)

        * gtk/gtkclist.c :
        (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
        removed and replaced by (set_cell_contents)
        (set_cell_contents): function for class method set_cell_contents
        (real_insert_row): function for class method insert_row
        (real_remoce_row): function for class method remove_row
        (real_sort_list): function for class method sort_list
        (default_compare): fix to avoid problems with cell types != CELL_TEXT

        * gtk/gtkctree.h :
        (gtk_ctree_export_to_gnode): new function to export a ctree as gnode
        (gtk_ctree_node_is_visible): new function to return visibility state
        of a node
		(gtk_ctree_show_stub): new function to set visibility of root stub

        renamed functions :
        (gtk_ctree_insert) -> (gtk_ctree_insert_node)
        (gtk_ctree_remove) -> (gtk_ctree_remove_node)
        (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
        (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
        (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
        (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
        (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
        (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
        (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
        (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
        (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
        (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
        (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
        (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
        (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
        (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
        (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
        (gtk_ctree_sort) -> (gtk_ctree_sort_node)
		(gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)

        * gtk/gtkctree.c :
        (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
        removed and replaced by (set_cell_contents)
        (set_cell_contents): function for class method set_cell_contents
        (real_insert_row): function for class method insert_row
        (real_remoce_row): function for class method remove_row
        (real_sort_list): function for class method sort_list
        (default_compare): removed. CTree now also compares two GtkCTreeRows
        instead of two GtkCTreeNodes.
        (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
        unlinking the node
        (real_tree_expand) (real_tree_collapse): fix for refcounting of
        node pixmaps
        (set_node_info): call gtk_ctree_node_set_pixtext instead of
        manipulating the row itself

        * gtk/testgtk.c: use renamed functions of GtkCTree.
        new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
        at work.
1998-08-17 23:48:04 +00:00
Tim Janik
47215ba403 removed gtk_input_add_interp.
Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c: removed gtk_input_add_interp.

        * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
        keyword.
        (gtk_editable_get_event_time): fix default: case.

        * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.

        * gdk/gdkpixmap.c: made a bunch of unexported functions static.

        * gdk/gdkcolor.c:
        * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
        of our functions.

        * various minor compilation cleanups, such as bogus commas in
        enums and similar things.

M
1998-08-17 14:48:51 +00:00
Dietmar Maurer
690a18f032 gdk.c: fixed bug in gdk_input_remove 1998-08-17 08:28:13 +00:00
Tim Janik
d2716f8bfd NULL terminate the arg list to g_strconcat() (thanx raph).
Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
        (thanx raph).
1998-08-17 05:49:13 +00:00
Shawn Amundson
477f14037c release delayed... 1998-08-17 05:24:45 +00:00
CDT 1998 Shawn T. Amundson
42cabcf5fb Released GTK+ 1.1.2
Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.2

        * NEWS: updated for 1.1.2
        * gtk+.spec: version = 1.1.2
1998-08-17 05:04:33 +00:00
Tim Janik
dceb6a11c8 remove the ugly HAVE_LIBGLE test (last time i typed that word!). 1998-08-17 03:54:27 +00:00
Tim Janik
fe63fe5da9 don't call module initializers multiple times. changed --gtk-with-module
Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
        times. changed --gtk-with-module to --gtk-module at owen's request.
1998-08-17 03:12:10 +00:00
Tim Janik
2b7f8016b5 feature a new commandline option --gtk-with-module=<module> that allows
Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): feature a new commandline option
        --gtk-with-module=<module> that allows additional loading and
        initialization of modules (e.g. GLE).
1998-08-17 02:41:42 +00:00
Tim Janik
7b9b0ab0fa version bump to 1.1.1, binary age 0, interface age 0. pass "gmodule" to
Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
        pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.

        * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
        with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
        "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
        different *-fatal-* arguments now. this needs to be revised and
        compressed to a reasonable amount of arguments.
1998-08-17 00:40:55 +00:00
Tim Janik
31de6ff4e0 fatal warning option is split up now, "--g-fatal-warnings" causes fatal
Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
        "--g-fatal-warnings" causes fatal warnings in GLib,
        "--gdk-fatal-warnings" causes fatal warnings in Gdk,
        "--gtk-fatal-warnings" causes fatal warnings in Gtk.

        * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
        * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.

        * gtk/testgtk.c:
        * gdk/gxid.c:
        we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
        since automake doesn't support per target _CFLAGS yet.

        * configure.in: require GLib 1.1.3.
1998-08-16 21:15:11 +00:00
johne
a4a3c87b3d Forgot Changelog. 1998-08-15 07:32:34 +00:00
John Ellis
db85d915e7 New function to set a callback to test if a node in drag can be dropped
Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>

        * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
        to set a callback to test if a node in drag can be dropped onto
        it's currrent location.
        * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
        to change the pointer when a drag destination is not allowed.
1998-08-15 07:30:01 +00:00
Arturo Espinosa
736bdbeaeb Regenerated gtktypebuiltins.h by hand. The autostuff files really need to be
changed to detect the presence of awk/perl and enable regeneration of the maintainer-only files
inside the gtk subdirectory - Federico
1998-08-14 22:20:47 +00:00
Raph Levien
0e563e0064 Committing a patch by Ray Lehtiniemi to speed up 565_d by 25%. 1998-08-14 04:06:42 +00:00
Owen Taylor
0dece0ba4f Added file README.cvs-commits
* Added file README.cvs-commits
1998-08-13 21:18:43 +00:00
Owen Taylor
814bfe1305 Changed GtkSignalFunc back to () from (void). (again!)
Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>

	* Changed GtkSignalFunc back to () from (void). (again!)
1998-08-13 21:00:43 +00:00
Nat Friedman
eff77f116b Fixed the GtkSignalFunc typedef to read "(void)" instead of "()", which
Fixed the GtkSignalFunc typedef to read "(void)" instead of "()", which was
causing it to not build on my irix machine.
1998-08-13 19:03:48 +00:00
Tony Gale
87f9cc2162 One character type fix - tony [gale@gtk.org] 1998-08-13 13:35:11 +00:00
BST 1998 Tony Gale
e8e7692534 - Tidy up of the menufactory example from Andy Kahn <kahn@zk3.dec.com> -
Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>

        * docs/gtk_tut.sgml:
          - Tidy up of the menufactory example from
            Andy Kahn <kahn@zk3.dec.com>
          - New section on Range Widgets from
            David Huggins-Daines <bn711@freenet.carleton.ca>
          - Started a new section on 'Advanced Event and Signal
            Handling' - used an email from Owen.
          - New appendix on Gdk Event Types
          - Added the tictactoe full example code to the
            'Code Examples' appendix
1998-08-13 13:11:14 +00:00
Owen Taylor
7a235648ea More ChangeLog fixups. 1998-08-12 16:53:45 +00:00
Owen Taylor
0346147a0e Removed leftover bits from ChangeLog 1998-08-12 16:50:41 +00:00
Owen Taylor
4af7480f8f Added gdk_text/string_extents() - too calculate all the metrics at once of
Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() -
	  too calculate all the metrics at once of a string, including
	  things which weren't calculated before.

	* gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
	  MenuItem type, that when put as the first thing in a
	  menu, makes the menu tearoff. Currently drawn as a
	  dashed line.

	* gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
	  "hide_on_activate" to the MenuItem class structure to allow
	  check and radio buttons to be changed with <Space> without
	  hiding the menu.

	* gtk/gtkaccellabel.[ch]: Added new capabilities to set
	  a underline_group and underline_mods for the label -
	  accelerators added in the underline group matching
	  underline_mods will be displayed as an underline character.

	  This doesn't work - Save As needs to be underlined
	  as Save _As.

	* gtk/gtkitemfactory.c:
	  - Create a AccelGroup for each MenuShell we create.
	  - If an '&' appears before a  character 'c' in the path,
	    then make 'c' an accelerator in the menu's accel group,
	    and if the menuitem is menubar <alt>C an accelerator
	    in the itemfactory's accel group.

	* gtk/gtklabel.[ch]: Add support for a pattern arg -
          which is a string. If an '_' appears in this string,
	  the corresponding position in the label is underlined.

          Add gtk_label_parse_uline() convenience function which
	  takes a string with embedded underlines, sets the
	  pattern and label, and returns the accelerator keyval.

	* gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
	  Instead, they create a GtkWindow and add themselves
	  to that. (When torn off, another new feature, they
	  create another GtkWindow to hold the torn off menu)

	  New function gtk_menu_set_tearoff_state()

	* gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h:
	  Added action signals  for keyboard navigation of menus.

	* gtk/gtkmenushell.c: Key press handler which activates
          bindings for navigation, and accelerators, for handling
	  underline accelerators. Exported functions to select
	  and activate menu items in a menushell.

	* gtk/testgtk.c: Added a new "Item Factory" test which
	  tests GtkItemFactory and the new keyboard navigation
	  of menus.
1998-08-12 16:49:13 +00:00
Tim Janik
5d270c2f45 relookup nodes after external functions have been called. also relookup
Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
        external functions have been called. also relookup nodes after
        this function has been invoked.
1998-08-11 19:29:36 +00:00
Owen Taylor
ca7082a04a Removed has_cursor, set the cursor beginning of Text when creating the
Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.[ch]: Removed has_cursor, set the cursor
	  beginning of Text when creating the Text widget.

	* gtk/testgtk.c: Grab the focus on the text widget so
	  as to test out the above.

Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkeditable.c: Reverted part of timj's change of Jul 16.
	  ::changed is a notification signal and should have no default
	  handler. A complete redraw of the Text widget does _not_ need to
	  be done on every text insertion.

Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
	(gtk-abilleira-072198-patch)

	* gtk/gtkwindow.[ch]:
	  Add gtk_window_set_modal() which sets a flag; when
	  set the window does a gtk_grab_add() when the window
	  is shown, and a gtk_grab_remove() when the window
	  is hidden.

	* gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
	  that case will run "Create Dir","Delete File" and "Rename File"
	  dialogs as modal too.

	* gtk/testgtk.c: Added a button with an example of creating modal
	  dialog boxes. Including file selection and color selection standard
	  dialogs.

Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
	  Removed CAN_FOCUS by default from scrollbars, button
	  children of toolbar. (But not GDK_TOOLBAR_CHILD_WIDGET children)
	  (Scrollbar definitely good change, toolbar bit more questionable)
1998-08-11 19:06:18 +00:00
Tim Janik
b46f089b6f #include fixes (reported by Asbjoern Pettersen).
Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>

        * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
        Pettersen).
1998-08-11 18:27:49 +00:00
Owen Taylor
f6abe64479 Applied gtk-pedersen-980727-0; added all logical operations to
Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0;
	  added all logical operations to gc->function.
1998-08-11 04:32:14 +00:00
Carsten Haitzler
20661babbf file DUMMY was initially added on branch themes-2. 1998-08-11 03:06:26 +00:00
Carsten Haitzler
1f3c079761 file vline.png was initially added on branch themes-2. 1998-08-11 03:06:24 +00:00
Carsten Haitzler
d7cf38387c file trough.png was initially added on branch themes-2. 1998-08-11 03:06:23 +00:00
Carsten Haitzler
c86201e87e file shadow2.png was initially added on branch themes-2. 1998-08-11 03:06:22 +00:00
Carsten Haitzler
279d363ab2 file shadow1.png was initially added on branch themes-2. 1998-08-11 03:06:21 +00:00
Carsten Haitzler
7d4023e88e file scrollbar_vert1.png was initially added on branch themes-2. 1998-08-11 03:06:20 +00:00
Carsten Haitzler
e2269c4f03 file scrollbar_thumb2.png was initially added on branch themes-2. 1998-08-11 03:06:19 +00:00
Carsten Haitzler
9648fd88b8 file scrollbar_thumb.png was initially added on branch themes-2. 1998-08-11 03:06:18 +00:00
Carsten Haitzler
4ed3aa1cb8 file scrollbar_horiz1.png was initially added on branch themes-2. 1998-08-11 03:06:17 +00:00
Carsten Haitzler
355fbf04b8 file ruler_vert.png was initially added on branch themes-2. 1998-08-11 03:06:16 +00:00
Carsten Haitzler
7f39f122d2 file ruler_horiz.png was initially added on branch themes-2. 1998-08-11 03:06:15 +00:00
Carsten Haitzler
96457c0af4 file progressbar.png was initially added on branch themes-2. 1998-08-11 03:06:13 +00:00
Carsten Haitzler
0b49ebc6f2 file option_menu.png was initially added on branch themes-2. 1998-08-11 03:06:12 +00:00
Carsten Haitzler
b08cdd5c00 file option2.png was initially added on branch themes-2. 1998-08-11 03:06:11 +00:00
Carsten Haitzler
62c2373866 file option1.png was initially added on branch themes-2. 1998-08-11 03:06:10 +00:00
Carsten Haitzler
5baacee740 file hline.png was initially added on branch themes-2. 1998-08-11 03:06:09 +00:00
Carsten Haitzler
ae6489b868 file handle_vert_thumb.png was initially added on branch themes-2. 1998-08-11 03:06:08 +00:00
Carsten Haitzler
bebf5b23fd file gap_top_start.png was initially added on branch themes-2. 1998-08-11 03:06:07 +00:00
Carsten Haitzler
334ad44555 file gap_top_end.png was initially added on branch themes-2. 1998-08-11 03:06:06 +00:00
Carsten Haitzler
bdd1baec35 file gap_top.png was initially added on branch themes-2. 1998-08-11 03:06:05 +00:00
Carsten Haitzler
075c96bc26 file gap_right_start.png was initially added on branch themes-2. 1998-08-11 03:06:04 +00:00
Carsten Haitzler
7f400fd777 file gap_right_end.png was initially added on branch themes-2. 1998-08-11 03:06:03 +00:00
Carsten Haitzler
8e0cab7cba file gap_right.png was initially added on branch themes-2. 1998-08-11 03:06:02 +00:00
Carsten Haitzler
981607d4a0 file gap_left_start.png was initially added on branch themes-2. 1998-08-11 03:06:01 +00:00
Carsten Haitzler
cd14b33a8a file gap_left_end.png was initially added on branch themes-2. 1998-08-11 03:05:59 +00:00
Carsten Haitzler
99fee10fe1 file gap_left.png was initially added on branch themes-2. 1998-08-11 03:05:58 +00:00
Carsten Haitzler
c9122881c8 file gap_bottom_start.png was initially added on branch themes-2. 1998-08-11 03:05:57 +00:00
Carsten Haitzler
0bff0b31cb file gap_bottom_end.png was initially added on branch themes-2. 1998-08-11 03:05:56 +00:00
Carsten Haitzler
78280d9de0 file gap_bottom.png was initially added on branch themes-2. 1998-08-11 03:05:55 +00:00
Carsten Haitzler
2109f32cfa file frame_gap_top_start.png was initially added on branch themes-2. 1998-08-11 03:05:54 +00:00
Carsten Haitzler
90eca42b09 file frame_gap_top_end.png was initially added on branch themes-2. 1998-08-11 03:05:53 +00:00
Carsten Haitzler
2fe4312b12 file frame_gap.png was initially added on branch themes-2. 1998-08-11 03:05:52 +00:00
Carsten Haitzler
9aac2c5a1f file frame2.png was initially added on branch themes-2. 1998-08-11 03:05:51 +00:00
Carsten Haitzler
884770db85 file frame1.png was initially added on branch themes-2. 1998-08-11 03:05:50 +00:00
Carsten Haitzler
0caf9d85a5 file focus.png was initially added on branch themes-2. 1998-08-11 03:05:49 +00:00
Carsten Haitzler
853ec8ef22 file extension_top1.png was initially added on branch themes-2. 1998-08-11 03:05:48 +00:00
Carsten Haitzler
2be1b69313 file extension_right1.png was initially added on branch themes-2. 1998-08-11 03:05:47 +00:00
Carsten Haitzler
59f64fa998 file extension_left1.png was initially added on branch themes-2. 1998-08-11 03:05:46 +00:00
Carsten Haitzler
a77eacb2a1 file extension_bottom1.png was initially added on branch themes-2. 1998-08-11 03:05:45 +00:00
Carsten Haitzler
601f4ecdb4 file entry2.png was initially added on branch themes-2. 1998-08-11 03:05:44 +00:00
Carsten Haitzler
a46bb12afe file entry1.png was initially added on branch themes-2. 1998-08-11 03:05:43 +00:00
Carsten Haitzler
54467af1c1 file curve_bg1.png was initially added on branch themes-2. 1998-08-11 03:05:42 +00:00
Carsten Haitzler
6b678e59fd file check2.png was initially added on branch themes-2. 1998-08-11 03:05:41 +00:00
Carsten Haitzler
e924208067 file check1.png was initially added on branch themes-2. 1998-08-11 03:05:40 +00:00
Carsten Haitzler
4cb1634b8c file button_def.png was initially added on branch themes-2. 1998-08-11 03:05:39 +00:00
Carsten Haitzler
a63c1000a8 file button9.png was initially added on branch themes-2. 1998-08-11 03:05:38 +00:00
Carsten Haitzler
ee791f46b4 file button8.png was initially added on branch themes-2. 1998-08-11 03:05:37 +00:00
Carsten Haitzler
e08f874a51 file button7.png was initially added on branch themes-2. 1998-08-11 03:05:36 +00:00
Carsten Haitzler
0cb81deacc file button6.png was initially added on branch themes-2. 1998-08-11 03:05:35 +00:00
Carsten Haitzler
71828f4669 file button5.png was initially added on branch themes-2. 1998-08-11 03:05:34 +00:00
Carsten Haitzler
c808e8ee75 file button4.png was initially added on branch themes-2. 1998-08-11 03:05:33 +00:00
Carsten Haitzler
41035ec767 file button3.png was initially added on branch themes-2. 1998-08-11 03:05:32 +00:00
Carsten Haitzler
a8eac0c33e file button2.png was initially added on branch themes-2. 1998-08-11 03:05:31 +00:00
Carsten Haitzler
c79aed0e05 file button1.png was initially added on branch themes-2. 1998-08-11 03:05:30 +00:00
Carsten Haitzler
13da0b3878 file brown_bg2.png was initially added on branch themes-2. 1998-08-11 03:05:29 +00:00
Carsten Haitzler
8ef268f205 file brown_bg1.png was initially added on branch themes-2. 1998-08-11 03:05:28 +00:00
Carsten Haitzler
23fbaaadb0 file arrow_up3.png was initially added on branch themes-2. 1998-08-11 03:05:27 +00:00
Carsten Haitzler
fce02ea0be file arrow_up2.png was initially added on branch themes-2. 1998-08-11 03:05:26 +00:00
Carsten Haitzler
2abc008e51 file arrow_up1.png was initially added on branch themes-2. 1998-08-11 03:05:25 +00:00
Carsten Haitzler
d6aa14f9ac file arrow_right3.png was initially added on branch themes-2. 1998-08-11 03:05:24 +00:00
Carsten Haitzler
2e8dae28fd file arrow_right2.png was initially added on branch themes-2. 1998-08-11 03:05:23 +00:00
Carsten Haitzler
19cc4bc416 file arrow_right1.png was initially added on branch themes-2. 1998-08-11 03:05:22 +00:00
Carsten Haitzler
708e45dd43 file arrow_left3.png was initially added on branch themes-2. 1998-08-11 03:05:20 +00:00
Carsten Haitzler
965e34a43c file arrow_left2.png was initially added on branch themes-2. 1998-08-11 03:05:19 +00:00
Carsten Haitzler
874b1d06e7 file arrow_left1.png was initially added on branch themes-2. 1998-08-11 03:05:18 +00:00
Carsten Haitzler
a698395064 file arrow_down3.png was initially added on branch themes-2. 1998-08-11 03:05:17 +00:00
Carsten Haitzler
e53b16ed74 file arrow_down2.png was initially added on branch themes-2. 1998-08-11 03:05:16 +00:00
Carsten Haitzler
fe7211b9c2 file arrow_down1.png was initially added on branch themes-2. 1998-08-11 03:05:15 +00:00
Lars Hamann
3184f21f0a Fix for resize bug. Call gtk_widget_size_allocate instead of
Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
        gtk_widget_size_allocate instead of gtk_widget_queue_resize
        if the visibility state of a scrollbar changes.
1998-08-10 17:56:43 +00:00
Tim Janik
d86059ea5a fixed an #include statement (reported by Eric Kidd).
Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
1998-08-10 10:52:08 +00:00
Shawn Amundson
c355f84a19 file gtk_vbox.pod was initially added on branch gtk-1-0. 1998-08-07 03:12:10 +00:00
Shawn Amundson
25884cfbf5 file gtk_hbox.pod was initially added on branch gtk-1-0. 1998-08-07 03:12:09 +00:00
Shawn Amundson
123d1f2673 file gtk.pod was initially added on branch gtk-1-0. 1998-08-07 03:12:06 +00:00
Tim Janik
c493091772 hm, someone changed an enum and didn't update auto-files... 1998-08-07 02:54:23 +00:00
Stefan Jeske
b7afebffed Renamed my_merge and my_mergesort to gtk_clist_merge and
Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>

	* gtk/gtkclist.c: Renamed my_merge and my_mergesort to
 	gtk_clist_merge and gtk_clist_mergesort. :)
1998-08-06 20:49:24 +00:00
Raph Levien
2a98c4a504 Fixed some minor comment typos and added myself to AUTHORS in gtk+. 1998-08-06 04:09:40 +00:00
Martin Baulig
123709106e Renamed merge' -> my_merge' and mergesort' -> my_mergesort'.
1998-08-06  Martin Baulig  <martin@home-of-linux.org>

	* gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
	`mergesort' -> `my_mergesort'.
1998-08-06 02:20:47 +00:00
Stefan Jeske
c8df83a2fe new enum GtkSortType.
Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>

	* gtk/gtkenums.h: new enum GtkSortType.

	* gtk/gtkclist.h:
	* gtk/gtkclist.c:
	Added sorting capabilities to GtkCList. New APIs :
	gtk_clist_set_compare_func, gtk_clist_set_sort_column,
	gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort.
	New internal functions : default_compare, merge, mergesort.

	(gtk_clist_append): This is just a wrapper for gtk_clist_insert now.

	(gtk_clist_insert): Modified to handle gtk_clist_append and the
	auto sort flag. Changed the return value from void to gint to
	return the row number where the element was actually inserted.

	(gtk_clist_swap_rows): Return immediately if auto sort flag is set.

	* gtk/gtkctree.h:
	* gtk/gtkctree.c:
	Removed the auto_sort flag, replaced ctree->node_compare with
	clist->compare all over the place, modified default_compare to
	match clist's needs. Removed APIs : gtk_ctree_set_auto_sort,
	gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.

	* gtk/testgtk.c: Modified clist/ctree samples to demonstrate
	sorting. The lists can be sorted by a column by clicking the
	corresponding title button.
1998-08-05 20:02:32 +00:00
PDT 1998 Shawn T. Amundson
e48d4e7159 Released GTK+ 1.1.1
Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GTK+ 1.1.1
1998-08-05 05:04:30 +00:00
Lars Hamann
e3b8e18524 changed to return a gboolean (gtk_ctree_insert_gnode): new function for
Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkctree.h:
        * gtk/gtkctree.c:
        (gtk_ctree_find): changed to return a gboolean
        (gtk_ctree_insert_gnode): new function for recursive insertion of a
        GNode tree.
        (gtk_ctree_real_select_recursive): fix for extended selection
        (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
        (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
1998-08-05 02:11:32 +00:00
Tim Janik
c4b3014e09 version bump to 1.1.1, binary age 0, interface age 0. GLib version 1.1.1
Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
        GLib version 1.1.1 is now required at minimum.

        * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
        of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
1998-08-04 23:44:27 +00:00
Owen Taylor
ed3c12aa5f Added missing else 1998-08-04 15:07:55 +00:00
Owen Taylor
f7a5303612 Undraw the cursor before (possibly) deleting the cursor's text property.
Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>

 	* gtk/gtktext.c (gtk_text_forward_delete): Undraw the
 	  cursor before (possibly) deleting the cursor's text
 	  property.

 	* gtk/gtktext.c (correct_cache_delete): More attempts
 	  to clean the line-start cache up after inserting
 	  a property. Among other things, make sure to
 	  fix up text->current_line, since it is used to
 	  refetch the changed lines.
1998-08-04 14:56:44 +00:00
Owen Taylor
790a6ae5b2 Empty rows/columns of the table should not have been marked as being able
Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktable.[ch]: Empty rows/columns of the table
        should not have been marked as being able to shrink.
	(Fixes prorlem with shrinking scrollbarless GIMP canvases)
1998-08-04 14:55:04 +00:00
Michael Fulbright
fb8cd9520f Changed a %postun to a %preun, should get rid of errors when uninstalling
Dr Mike <msf@redhat.com>
1998-08-04 14:34:23 +00:00
Federico Mena Quintero
f8a40e214a New public function to find a row by its data pointer using a custom
1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
	function to find a row by its data pointer using a custom
	comparison function.
1998-08-03 19:50:23 +00:00
Vincent Renardias
08d246be89 Mon, 3 Aug 1998 20:08:46 +0200 [Vincent]
* French version of the Gtk+ tutorial contributed by Eric Jacoboni <jaco@dotcom.fr>
1998-08-03 18:05:06 +00:00
George Lebl
2a1cd0c42e don't you hate it when you apply the wrong patch and discover it only
after applying it and committing
-George
1998-08-03 06:22:41 +00:00
George Lebl
fba2b02b10 draw the buttons during a "draw" as well, this fixes a bug when the whole
Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>

        * gtk/gtkclist.c: draw the buttons during a "draw" as well,
          this fixes a bug when the whole widget is made non-sesitive
          the buttons weren't redrawn
1998-08-03 05:58:49 +00:00
Lars Hamann
c3c5e72151 reset drag_pos after abort removed a few unneeded lines fixed compiler
Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
	* gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
	* gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
1998-08-02 22:18:20 +00:00
Owen Taylor
d597937560 Change window_private->parent pointer when reparenting.
Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>

        * gdk/gdkwindow.c (gdk_window_reparent): Change
          window_private->parent pointer when reparenting.
1998-08-02 07:15:00 +00:00
Raph Levien
7ba4ba0d2f Made some config changes to make it work better both as a standalone
module (i.e. with Gtk 1.0) and as a module under Gtk 1.1+, i.e. harmonized
with the separate GdkRgb release.
1998-08-02 05:39:47 +00:00
Lars Hamann
8ad52d1024 Few fixes for column resize. Store resize column in clist->drag_pos.
Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
        (gtk_clist_button_release) (new_column_width): Few fixes for
        column resize. Store resize column in clist->drag_pos.

Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkctree.h
        * gtk/gtkctree.c
        * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
        to GtkCTreeNode *node.

        * gtk/gtklist.h : added extended selection mode and auto scrolling.
        (struct _GtkList): removed unneeded variables timer, button,
        selection_start_pos, selection_end_pos, scroll_direction, have_grab.
        Added new variables undo_selection, undo_unselection, last_focus_child,
        undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
        drag_selection, add_mode.

        New functions :
        (gtk_list_extend_selection), (gtk_list_start_selection),
        (gtk_list_end_selection), (gtk_list_select_all),
        (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
        (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
        (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
        (gtk_list_undo_selection), (gtk_list_end_drag_selection)

        * gtk/gtklist.c :
        (gtk_list_enter_notify): removed, because auto scrolling now works
        with gtk_list_motion_notify

        New functions, needed for auto scrolling :
        (gtk_list_motion_notify) (gtk_list_move_focus_child)

        New functions for extended selection support :
        (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
        (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
        (gtk_list_focus_lost)

        (gtk_list_set_focus_child): modified gtk_container_set_focus_child
        function to support auto scrolling, and avoid out-of-sync errors in
        case auf GTK_SELECTION_BROWSE
        (gtk_list_focus): modified gtk_container_focus function to avoid out
        off sync errors in case auf GTK_SELECTION_EXTENDED

        * gtk/gtklistitem.h
        * gtk/gtklistitem.c :
        New signal functions for key binding support :
        (toggle_focus_row), (select_all), (list_item), (unselect_all)
        (list_item), (undo_selection), (start_selection), (end_selection)
        (extend_selection), (scroll_horizontal), (scroll_vertical),
        (toggle_add_mode)
        (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
        GDK_KEY_RELEASE_MASK
        (gtk_list_item_draw_focus): modify gc if parent has add_mode set.

        * gtk/gtkcombo.c :
        (gtk_combo_popup_button_press):  grab pointer for combo->list
        (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
        (gtk_combo_list_key_press): take care of which child HAS_GRAB
        (gtk_comb_init): don't connect combo->button with button_release_event
1998-07-31 20:48:06 +00:00
Carsten Haitzler
cf7b958af5 file pixmap_theme_main.c was initially added on branch themes-2. 1998-07-31 16:47:50 +00:00
Carsten Haitzler
1616d67d81 file pixmap_theme_draw.c was initially added on branch themes-2. 1998-07-31 16:47:49 +00:00
Carsten Haitzler
c312e81604 file pixmap_theme.h was initially added on branch themes-2. 1998-07-31 16:20:32 +00:00
Carsten Haitzler
bd745719cf file b_full.png was initially added on branch themes-2. 1998-07-30 18:53:11 +00:00
Carsten Haitzler
e884fc143d file b3.png was initially added on branch themes-2. 1998-07-30 18:53:10 +00:00
Carsten Haitzler
0e6bf066c6 file b2.png was initially added on branch themes-2. 1998-07-30 18:53:09 +00:00
Carsten Haitzler
0d1978edbf file b1.png was initially added on branch themes-2. 1998-07-30 18:53:08 +00:00
Carsten Haitzler
ddabef3c49 file b0.png was initially added on branch themes-2. 1998-07-30 18:53:07 +00:00
Carsten Haitzler
dcc96c09bd file _rulev.png was initially added on branch themes-2. 1998-07-30 18:53:06 +00:00
Carsten Haitzler
032196b9dd file _ruleh.png was initially added on branch themes-2. 1998-07-30 18:53:04 +00:00
Carsten Haitzler
f6665c9c0a file _prog_vgrad.png was initially added on branch themes-2. 1998-07-30 18:53:03 +00:00
Carsten Haitzler
e6f7751958 file _option2.png was initially added on branch themes-2. 1998-07-30 18:53:02 +00:00
Carsten Haitzler
93ab7875e4 file _option1.png was initially added on branch themes-2. 1998-07-30 18:53:01 +00:00
Carsten Haitzler
b7ab832906 file _focus.png was initially added on branch themes-2. 1998-07-30 18:53:00 +00:00
Carsten Haitzler
b5658eeaef file _check2.png was initially added on branch themes-2. 1998-07-30 18:52:59 +00:00
Carsten Haitzler
cc7f7a2eb5 file _check1.png was initially added on branch themes-2. 1998-07-30 18:52:58 +00:00
Carsten Haitzler
103739f248 file _box_out_dgrad6.png was initially added on branch themes-2. 1998-07-30 18:52:57 +00:00
Carsten Haitzler
3f314b2cd8 file _box_out_dgrad5.png was initially added on branch themes-2. 1998-07-30 18:52:56 +00:00
Carsten Haitzler
fe480d99b4 file _box_out_dgrad4.png was initially added on branch themes-2. 1998-07-30 18:52:55 +00:00
Carsten Haitzler
965d225c9a file _box_out_dgrad3.png was initially added on branch themes-2. 1998-07-30 18:52:54 +00:00
Carsten Haitzler
82765cc166 file _box_out_dgrad2.png was initially added on branch themes-2. 1998-07-30 18:52:53 +00:00
Carsten Haitzler
7329d5cb8c file _box_out_dgrad1.png was initially added on branch themes-2. 1998-07-30 18:52:52 +00:00
Carsten Haitzler
44097af086 file _arrow_u3.png was initially added on branch themes-2. 1998-07-30 18:52:51 +00:00
Carsten Haitzler
527bf45430 file _arrow_u2.png was initially added on branch themes-2. 1998-07-30 18:52:50 +00:00
Carsten Haitzler
5f6e095722 file _arrow_u1.png was initially added on branch themes-2. 1998-07-30 18:52:49 +00:00
Carsten Haitzler
919c335569 file _arrow_r3.png was initially added on branch themes-2. 1998-07-30 18:52:48 +00:00
Carsten Haitzler
2720bec633 file _arrow_r2.png was initially added on branch themes-2. 1998-07-30 18:52:47 +00:00
Carsten Haitzler
13ce27bfef file _arrow_r1.png was initially added on branch themes-2. 1998-07-30 18:52:46 +00:00
Carsten Haitzler
d1812f696e file _arrow_l3.png was initially added on branch themes-2. 1998-07-30 18:52:45 +00:00
Carsten Haitzler
03def75b3f file _arrow_l2.png was initially added on branch themes-2. 1998-07-30 18:52:44 +00:00
Carsten Haitzler
63ff245b44 file _arrow_l1.png was initially added on branch themes-2. 1998-07-30 18:52:43 +00:00
Carsten Haitzler
5622a388fa file _arrow_d3.png was initially added on branch themes-2. 1998-07-30 18:52:42 +00:00
Carsten Haitzler
23aec8934e file _arrow_d2.png was initially added on branch themes-2. 1998-07-30 18:52:41 +00:00
Carsten Haitzler
d0ccf396e7 file _arrow_d1.png was initially added on branch themes-2. 1998-07-30 18:52:40 +00:00
Carsten Haitzler
4ed4f66911 file win95_theme_main.c was initially added on branch themes-2. 1998-07-30 18:52:38 +00:00
Carsten Haitzler
e2aace2ade file win95_theme_draw.c was initially added on branch themes-2. 1998-07-30 18:52:37 +00:00
Carsten Haitzler
5fa74836b8 file win95_theme.h was initially added on branch themes-2. 1998-07-30 18:52:36 +00:00
Carsten Haitzler
24de292011 file motif_theme_main.c was initially added on branch themes-2. 1998-07-30 18:52:32 +00:00
Carsten Haitzler
9cf57615e6 file motif_theme_draw.c was initially added on branch themes-2. 1998-07-30 18:52:31 +00:00
Carsten Haitzler
8857d094a8 file motif_theme.h was initially added on branch themes-2. 1998-07-30 18:52:30 +00:00
Carsten Haitzler
43916bf90f file configure.in was initially added on branch themes-2. 1998-07-30 18:52:29 +00:00
Carsten Haitzler
551b25196f file autogen.sh was initially added on branch themes-2. 1998-07-30 18:52:28 +00:00
Carsten Haitzler
0d45a265fa file Makefile.in was initially added on branch themes-2. 1998-07-30 18:52:27 +00:00
Carsten Haitzler
d0b6c5e10f file Changelog was initially added on branch themes-2. 1998-07-30 18:52:26 +00:00
Lars Hamann
a9912f2e78 removed a few unneeded lines
* gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
1998-07-30 10:52:35 +00:00
Lars Hamann
cfd59821e7 column resize now works with horizontal autoscrolling, GtkCTree's 'reorder
* gtk/gtkclist.c (gtk_clist_motion): column resize now works with
  horizontal autoscrolling, GtkCTree's 'reorder ability' now works
  with horizontal and vertical autoscrolling.
1998-07-29 21:46:39 +00:00
CDT 1998 Shawn T. Amundson
e93751bbbd new directory new file, initial gtk_button man page
Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/docs/man: new directory
        * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
1998-07-29 01:33:51 +00:00
Lars Hamann
7b5763fdd0 small fix for border drawing bug
* gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
  bug
1998-07-28 21:43:04 +00:00
Carsten Haitzler
0e7cab347a file th_main.c was initially added on branch themes-2. 1998-07-28 20:39:26 +00:00
Carsten Haitzler
8ad3303188 file th_draw.c was initially added on branch themes-2. 1998-07-28 20:39:25 +00:00
Carsten Haitzler
7b07769355 file th.h was initially added on branch themes-2. 1998-07-28 20:39:24 +00:00
Carsten Haitzler
dc69fc120d file COMPILE was initially added on branch themes-2. 1998-07-28 20:39:23 +00:00
898 changed files with 274329 additions and 90869 deletions

View File

@@ -1,6 +1,7 @@
*.lo
config.log
config.h
config.h.in
libtool
config.status
stamp-h
@@ -10,4 +11,7 @@ aclocal.m4
configure
gtk-config
config.cache
ABOUT-NLS
intl
stamp-h.in
gtk+.spec

13
AUTHORS
View File

@@ -4,19 +4,26 @@ Peter Mattis <petm@xcf.berkeley.edu>
Spencer Kimball <spencer@xcf.berkeley.edu>
Josh MacDonald <jmacd@xcf.berkeley.edu>
Please do not mail the original authors asking questions about this
version of GTK+.
The GTK+ Team (in alphabetical order)
-------------------------------------
Shawn T. Amundson <amundson@gtk.org>
Jerome Bolliet <bolliet@in2p3.fr>
Jerome Bolliet <bolliet@gtk.org>
Damon Chaplin <damon@gtk.org>
Tony Gale <gale@gtk.org>
Jeff Garzik <jgarzik@gtk.org>
Lars Hamann <lars@gtk.org>
Raja R Harinath <harinath@gtk.org>
Carsten Haitzler <raster@gtk.org>
Tim Janik <timj@gtk.org>
Stefan Jeske <stefan@gtk.org>
Elliot Lee <sopwith@gtk.org>
Raph Levien <raph@gtk.org>
Ian Main <imain@gtk.org>
Fedrerico Mena <quartic@gtk.org>
Paolo Molaro <lupus@lettere.unipd.it>
Federico Mena <quartic@gtk.org>
Paolo Molaro <lupus@gtk.org>
Jay Painter <jpaint@gtk.org>
Manish Singh <manish@gtk.org>
Owen Taylor <otaylor@gtk.org>

4106
ChangeLog

File diff suppressed because it is too large Load Diff

9106
ChangeLog.pre-1-2 Normal file

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

27
HACKING
View File

@@ -1,29 +1,35 @@
If you want to hack on the Gtk+ project, it will make you life easier
to have the following packages installed:
- GNU autoconf 2.12
- GNU automake 1.3
- GNU autoconf 2.13
- GNU automake 1.4
(Beta releases are at ftp://ftp.cygnus.com/pub/tromey)
- GNU libtool 1.2
- GNU libtool 1.2d
- indent (GNU indent 1.9.1 is known good)
- GNU gettext 10.35
Available in ftp://alpha.gnu.org/gnu
These should be available by ftp from ftp.gnu.org or any of the
fine GNU mirrors. Beta software can be found at alpha.gnu.org.
If you are accessing gtk+ via CVS, then you will need to take several
steps to get it to compile. You can do all these steps at once
by running:
In order to get CVS gtk+ installed on your system, you need to have
the most recent CVS version of glib installed as well.
The installation process of glib is similar to that of gtk+, but
needs to be fulfilled prior to installation of gtk+.
To compile a CVS version of gtk+ on your system, you will need to take
several steps to setup the tree for compilation. You can do all these
steps at once by running:
cvsroot/gtk+# ./autogen.sh
Basically this does the following for you:
cvsroot/gtk+# aclocal; automake; autoconf
cvsroot/gtk+/glib# aclocal; automake; autoconf
The above commands create the "configure" script. Now you
can run the configure script in cvsroot/gtk+ to create all
the Makefiles. You only need to call "configure" in cvsroot/gtk+
as the one in glib will be invoked automatically.
the Makefiles.
Before running autogen.sh or configure, make sure you have libtool
in your path.
@@ -33,11 +39,12 @@ options like --prefix=/usr to configure you can give those options
to autogen.sh and they will be passed on to configure.
If at all possible, please use CVS to get the latest development version of
gtk+. You can do the following to get gtk+ from cvs:
gtk+ and glib. You can do the following to get glib and gtk+ from cvs:
$ export CVSROOT=':pserver:anonymous@cvs.gimp.org:/debian/home/gnomecvs'
$ cvs login
(there is no password, just hit return)
$ cvs -z9 checkout glib
$ cvs -z9 checkout gtk+
Please submit patches to the gtk-list@redhat.com mailing list (you must

51
INSTALL
View File

@@ -7,12 +7,12 @@ you got this package.
Simple install procedure
========================
% gzip -cd gtk+-1.1.0.tar.gz | tar xvf - # unpack the sources
% cd gtk+-1.1.0 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK
% gzip -cd gtk+-1.2.5.tar.gz | tar xvf - # unpack the sources
% cd gtk+-1.2.5 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK
[ Become root if necessary ]
% make install # install GTK
% make install # install GTK
The Nitty-Gritty
================
@@ -43,6 +43,13 @@ which form of support to use:
For more information, follow the link from http://www.gtk.org
* --disable-nls do not use Native Language Support
If this flag is not specified, GTK+ will try to find
and use the gettext() set of functions to provide translations
of the strings in the standard dialogs into the
user's native language.
* --enable-xim support XIM [default=yes]
Specifying --disable-xim will disable support for entering
@@ -50,7 +57,7 @@ internationalized text using X Input Methods. This will give some
slight savings in speed and memory use and might be necessary
with older versions of X.
* --with-locale=LOCALE locale name you want to use
* --with-locale=LOCALE locale name you want to use
The --with-locale options is used to determine if your operating
system has support for the locale you will be using. If not, X's
@@ -84,19 +91,43 @@ or,
setenv CFLAGS -O2 ; ./configure # csh and variants
Native-Language Support and gettext()
=====================================
Using an uninstalled copy of GLIB
=================================
To provide native-language support (NLS) GTK+ uses the
gettext() set of functions. These functions are found
in the C library on many systems, such as the Solaris
C library and the GNU C Library, version 2.
If your C library does not provide the necessary functionality,
you may wish to install the GNU gettext package. You'll
need version 0.10.35 or better. Version 0.10.35 is
available from ftp://alpha.gnu.org/pub/gnu
Generally, GTK+ will properly detect what is installed
on your system and enable or disable NLS as appropriate.
However, in rare cases, it may be necessary to disable
NLS manually to get GTK+ to compile. You can do this
by specifying the --disable-nls flag when configuring
GTK+.
Using an uninstalled copy of GLIB [ Unsupported ]
=================================================
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.1.0
./configure --with-glib=../glib-1.2.5
This, however, will not work if you built GLIB with different
source and build directories.
It is recommended that you install GLIB before compiling
GTK+. The --with-glib option is not regularly tested
and may not function correctly. In addition,
inter-library dependencies won't be generated when
using --with-glib=.
Installation directories
========================
@@ -126,7 +157,7 @@ For complete details, see the file docs/gtk-config.txt
Notes for using XIM support for Japanese input
==============================================
* There is a bug in older versions of kinput2 that will cause GTK
* There is a bug in older versions of kinput2 that will cause GTK+
to hang when destroying a text entry. The latest versions of
kinput is available from:

View File

@@ -1,27 +1,39 @@
## Process this file with automake to produce Makefile.in
## Makefile.am for GTK+
SRC_SUBDIRS = gdk gtk
SUBDIRS = $(SRC_SUBDIRS) docs
SUBDIRS = po $(SRC_SUBDIRS) docs
bin_SCRIPTS = gtk-config
# require automake 1.4
AUTOMAKE_OPTIONS = 1.4
EXTRA_DIST = \
HACKING \
gtk+.spec \
gtk+.spec.in \
gtk.m4 \
makecopyright \
TODO \
NEWS.pre-1-0 \
ChangeLog.pre-1-0 \
examples/README.1ST \
examples/extract.awk \
examples/extract.sh \
README.cvs-commits \
intl/libgettext.h \
intl/po2tbl.sed.in \
examples/aspectframe/Makefile \
examples/aspectframe/aspectframe.c \
examples/Makefile \
examples/README.1ST \
examples/extract.awk \
examples/extract.sh \
examples/base/Makefile \
examples/base/base.c \
examples/buttons/Makefile \
examples/buttons/buttons.c \
examples/buttons/info.xpm \
examples/clist/clist.c \
examples/calendar/Makefile \
examples/calendar/gcalendar.c \
examples/clist/Makefile \
examples/clist/clist.c \
examples/entry/Makefile \
examples/entry/entry.c \
examples/eventbox/Makefile \
@@ -40,16 +52,13 @@ EXTRA_DIST = \
examples/list/list.c \
examples/menu/Makefile \
examples/menu/menu.c \
examples/menu/menufactory.c \
examples/menu/menufactory.h \
examples/menu/mfmain.c \
examples/menu/mfmain.h \
examples/menu/itemfactory.c \
examples/notebook/Makefile \
examples/notebook/notebook.c \
examples/packer/Makefile \
examples/packer/pack.c \
examples/packbox/Makefile \
examples/packbox/packbox.c \
examples/packer/Makefile \
examples/packer/pack.c \
examples/paned/Makefile \
examples/paned/paned.c \
examples/pixmap/Makefile \
@@ -58,6 +67,8 @@ EXTRA_DIST = \
examples/progressbar/progressbar.c \
examples/radiobuttons/Makefile \
examples/radiobuttons/radiobuttons.c \
examples/rangewidgets/Makefile \
examples/rangewidgets/rangewidgets.c \
examples/rulers/Makefile \
examples/rulers/rulers.c \
examples/scribble-simple/Makefile \
@@ -71,19 +82,37 @@ EXTRA_DIST = \
examples/statusbar/statusbar.c \
examples/table/Makefile \
examples/table/table.c \
examples/text/Makefile \
examples/text/text.c \
examples/tictactoe/Makefile \
examples/tictactoe/tictactoe.c \
examples/tictactoe/tictactoe.h \
examples/tictactoe/ttt_test.c \
examples/tree/Makefile \
examples/tree/tree.c \
examples/wheelbarrow/Makefile \
examples/wheelbarrow/wheelbarrow.c \
examples/fixed/fixed.c \
examples/fixed/Makefile \
examples/frame/frame.c \
examples/frame/Makefile \
examples/spinbutton/spinbutton.c \
examples/spinbutton/Makefile \
examples/find-examples.sh
dist-hook: gtk+.spec
if test -e $(srcdir)/INSTALL.in && test -e $(srcdir)/README.in ; then \
CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
CONFIG_HEADERS= \
$(SHELL) config.status \
&& cp INSTALL README $(distdir) ; \
fi \
&& cp gtk+.spec $(distdir)
m4datadir = $(datadir)/aclocal
m4data_DATA = gtk.m4
.PHONY: files populate checkin release
.PHONY: files release sanity snapshot
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
@@ -96,13 +125,13 @@ files:
done; \
done
populate:
@echo "populating project"
@files=`$(MAKE) files | grep -v "make\[[1-9]\]"`; prcs populate -d gtk+.prj $$files
checkin: populate
@echo "checking in project"
@prcs checkin
release:
rm -rf .deps */.deps
$(MAKE) distcheck
sanity:
./sanity_check $(VERSION)
snapshot:
$(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`

View File

@@ -1,501 +0,0 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = /bin/sh
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
CC = @CC@
GTK_MAJOR_VERSION = @GTK_MAJOR_VERSION@
GTK_MICRO_VERSION = @GTK_MICRO_VERSION@
GTK_MINOR_VERSION = @GTK_MINOR_VERSION@
GTK_VERSION = @GTK_VERSION@
LD = @LD@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
NM = @NM@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
VERSION = @VERSION@
x_cflags = @x_cflags@
x_includes = @x_includes@
x_ldflags = @x_ldflags@
x_libs = @x_libs@
xinput_progs = @xinput_progs@
SRC_SUBDIRS = glib gdk gtk
SUBDIRS = $(SRC_SUBDIRS) docs
bin_SCRIPTS = gtk-config
EXTRA_DIST = \
gtk+.spec \
gtk.m4 \
makecopyright \
TODO \
NEWS.pre-1-0 \
ChangeLog.pre-1-0 \
examples/aspectframe/Makefile \
examples/aspectframe/aspectframe.c \
examples/buttons/Makefile \
examples/buttons/buttons.c \
examples/buttons/info.xpm \
examples/entry/Makefile \
examples/entry/entry.c \
examples/eventbox/Makefile \
examples/eventbox/eventbox.c \
examples/filesel/Makefile \
examples/filesel/filesel.c \
examples/gtkdial/Makefile \
examples/gtkdial/dial_test.c \
examples/gtkdial/gtkdial.c \
examples/gtkdial/gtkdial.h \
examples/helloworld/Makefile \
examples/helloworld/helloworld.c \
examples/helloworld2/Makefile \
examples/helloworld2/helloworld2.c \
examples/list/Makefile \
examples/list/list.c \
examples/menu/Makefile \
examples/menu/menu.c \
examples/menu/menufactory.c \
examples/menu/menufactory.h \
examples/menu/mfmain.c \
examples/menu/mfmain.h \
examples/notebook/Makefile \
examples/notebook/notebook.c \
examples/packbox/Makefile \
examples/packbox/packbox.c \
examples/paned/Makefile \
examples/paned/paned.c \
examples/pixmap/Makefile \
examples/pixmap/pixmap.c \
examples/progressbar/Makefile \
examples/progressbar/progressbar.c \
examples/radiobuttons/Makefile \
examples/radiobuttons/radiobuttons.c \
examples/rulers/Makefile \
examples/rulers/rulers.c \
examples/scribble-simple/Makefile \
examples/scribble-simple/scribble-simple.c \
examples/scrolledwin/Makefile \
examples/scrolledwin/scrolledwin.c \
examples/selection/Makefile \
examples/selection/gettargets.c \
examples/selection/setselection.c \
examples/statusbar/Makefile \
examples/statusbar/statusbar.c \
examples/table/Makefile \
examples/table/table.c \
examples/tictactoe/Makefile \
examples/tictactoe/tictactoe.c \
examples/tictactoe/tictactoe.h \
examples/tictactoe/ttt_test.c \
examples/wheelbarrow/Makefile \
examples/wheelbarrow/wheelbarrow.c \
examples/find-examples.sh
m4datadir = $(datadir)/aclocal
m4data_DATA = gtk.m4
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = gtk-config
SCRIPTS = $(bin_SCRIPTS)
DATA = $(m4data_DATA)
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
Makefile.in NEWS TODO acconfig.h aclocal.m4 config.guess config.h.in \
config.sub configure configure.in gtk-config.in install-sh ltconfig \
ltmain.sh missing mkinstalldirs stamp-h.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: all-recursive-am all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(ACLOCAL_M4): @MAINT@ configure.in
cd $(srcdir) && $(ACLOCAL)
config.status: $(srcdir)/configure
$(SHELL) ./config.status --recheck
$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
config.h: stamp-h
@:
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status
@echo timestamp > stamp-h
$(srcdir)/config.h.in: @MAINT@$(srcdir)/stamp-h.in
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
cd $(top_srcdir) && $(AUTOHEADER)
@echo timestamp > $(srcdir)/stamp-h.in
mostlyclean-hdr:
clean-hdr:
distclean-hdr:
-rm -f config.h
maintainer-clean-hdr:
gtk-config: $(top_builddir)/config.status gtk-config.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
$(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
else if test -f $(srcdir)/$$p; then \
echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
$(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
else :; fi; fi; \
done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
list='$(bin_SCRIPTS)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
done
install-m4dataDATA: $(m4data_DATA)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(m4datadir)
@list='$(m4data_DATA)'; for p in $$list; do \
if test -f $(srcdir)/$$p; then \
echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(m4datadir)/$$p"; \
$(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(m4datadir)/$$p; \
else if test -f $$p; then \
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(m4datadir)/$$p"; \
$(INSTALL_DATA) $$p $(DESTDIR)$(m4datadir)/$$p; \
fi; fi; \
done
uninstall-m4dataDATA:
@$(NORMAL_UNINSTALL)
list='$(m4data_DATA)'; for p in $$list; do \
rm -f $(DESTDIR)$(m4datadir)/$$p; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
@SET_MAKE@
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
list='$(SUBDIRS)'; for subdir in $$list; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $$target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
done; \
for subdir in $$rev; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $$target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir && $(MAKE) tags); \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
done; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
mostlyclean-tags:
clean-tags:
distclean-tags:
-rm -f TAGS ID
maintainer-clean-tags:
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
-rm -rf $(distdir)
GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
dc_install_base=`cd $(distdir)/=inst && pwd`; \
cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
&& $(MAKE) \
&& $(MAKE) dvi \
&& $(MAKE) check \
&& $(MAKE) install \
&& $(MAKE) installcheck \
&& $(MAKE) dist
-rm -rf $(distdir)
@echo "========================"; \
echo "$(distdir).tar.gz is ready for distribution"; \
echo "========================"
dist: distdir
-chmod -R a+r $(distdir)
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
-rm -rf $(distdir)
dist-all: distdir
-chmod -R a+r $(distdir)
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
-rm -rf $(distdir)
distdir: $(DISTFILES)
-rm -rf $(distdir)
mkdir $(distdir)
-chmod 777 $(distdir)
here=`cd $(top_builddir) && pwd`; \
top_distdir=`cd $(distdir) && pwd`; \
distdir=`cd $(distdir) && pwd`; \
cd $(top_srcdir) \
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
$(mkinstalldirs) $(distdir)/examples $(distdir)/examples/aspectframe \
$(distdir)/examples/buttons $(distdir)/examples/entry \
$(distdir)/examples/eventbox $(distdir)/examples/filesel \
$(distdir)/examples/gtkdial $(distdir)/examples/helloworld \
$(distdir)/examples/helloworld2 $(distdir)/examples/list \
$(distdir)/examples/menu $(distdir)/examples/notebook \
$(distdir)/examples/packbox $(distdir)/examples/paned \
$(distdir)/examples/pixmap $(distdir)/examples/progressbar \
$(distdir)/examples/radiobuttons $(distdir)/examples/rulers \
$(distdir)/examples/scribble-simple \
$(distdir)/examples/scrolledwin \
$(distdir)/examples/selection $(distdir)/examples/statusbar \
$(distdir)/examples/table $(distdir)/examples/tictactoe \
$(distdir)/examples/wheelbarrow
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
done
for subdir in $(SUBDIRS); do \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \
done
info: info-recursive
dvi: dvi-recursive
check: all-am
$(MAKE) check-recursive
installcheck: installcheck-recursive
all-recursive-am: config.h
$(MAKE) all-recursive
all-am: Makefile $(SCRIPTS) $(DATA) config.h
install-exec-am: install-binSCRIPTS
install-data-am: install-m4dataDATA
uninstall-am: uninstall-binSCRIPTS uninstall-m4dataDATA
install-exec: install-exec-recursive install-exec-am
@$(NORMAL_INSTALL)
install-data: install-data-recursive install-data-am
@$(NORMAL_INSTALL)
install: install-recursive install-exec-am install-data-am
@:
uninstall: uninstall-recursive uninstall-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
installdirs: installdirs-recursive
$(mkinstalldirs) $(DATADIR)$(bindir) $(DATADIR)$(m4datadir)
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
maintainer-clean-generic distclean-am
mostlyclean: mostlyclean-recursive mostlyclean-am
clean: clean-recursive clean-am
distclean: distclean-recursive distclean-am
-rm -f config.status
-rm -f libtool
maintainer-clean: maintainer-clean-recursive maintainer-clean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
-rm -f config.status
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
uninstall-binSCRIPTS install-binSCRIPTS uninstall-m4dataDATA \
install-m4dataDATA install-data-recursive uninstall-data-recursive \
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
uninstalldirs-recursive all-recursive check-recursive \
installcheck-recursive info-recursive dvi-recursive \
mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
installcheck all-recursive-am all-am install-exec-am install-data-am \
uninstall-am install-exec install-data install uninstall all \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
.PHONY: files populate checkin release
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
@for subdir in $(SUBDIRS); do \
files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
for file in $$files; do \
echo $$subdir/$$file; \
done; \
done
populate:
@echo "populating project"
@files=`$(MAKE) files | grep -v "make\[[1-9]\]"`; prcs populate -d gtk+.prj $$files
checkin: populate
@echo "checking in project"
@prcs checkin
release:
$(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

271
NEWS
View File

@@ -1,3 +1,274 @@
What's New in GTK+ 1.2.0 (since 1.0.x):
* New widgets: GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree,
GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket
* Many new features and robustness for existing widgets
* Theme support
* New DND implementation
* Internationalization of standard dialogs
* New key binding system
* Tearoff menus and menu accelerators
* Wide character support for entry and text
* Resizing code has been overhauled
* Queued redraws of partial areas
* Far better support for object arguments
* Speed optimizations
* Runtime loading of dynamic modules
* Support for GLib log domains
* Tutorial improvements
* A bug fix or two
Overview of Changes in GTK+ 1.1.16:
* Major fixes and improvements for handlebox
* A change to the way widget->requisition works. Now,
widget->requisition is always what the widget requested,
unmodified by the usize. See Changes-1.2.txt for details.
This correct various bugs with gtk_widget_set_usize().
* Fixes for XIM on X11R5 systems
* Don't allow cut-and-paste of text in password-style entries
* --enable-debug is now on by default for the development releaes.
(When compiling for "production", use --enable-debug=minimum)
* Handle systems where Helvetica is not present more gracefully
* Fixes for memory leaks
* CList and CTree fixes
* Bug fixes for drawing problems.
* Miscellaneous bug fixes to GtkLabel, GtkCList, GtkCTree,
GtkColorsel, Focusing, DND
* Tutorial improvements
Overview of Changes in GTK+ 1.1.15:
* Tutorial Updates
* Added --libs gthread to gtk-config
* Bug fixes
What is new in GTK+ 1.1.14:
* Additions to docs/Changes-1.2.txt
* Just warn when loading theme engine fails
* CLAMP GtkScale digits to a meaningful range
* GTK_LOCALDIR is now defined in a better fashion
* New functions (feature freeze, we know...):
gtk_menu_set_title()
gtk_toggle_button_get_active()
* Some locale fixups in gtkrc code
* Fixes to make gtk_radio_button_set_group() keep only
one radio button in the group active
* Foreign windows are now always treated as viewable; this fixes
a problem where updating didn't occure properly in GtkPlug
* DND fixes for 64 bit architectures, and for specifying operations
with modifier keys.
* Major revisions to GtkLayout: avoid having to create window
for NO_WINDOW children, adjust allocations of children as
scrolled so queued draws work, and a resize is queued instead
of allocating directly in a put() or move()
What is new in GTK+ 1.1.13:
* Dnd and selection bug fixes and memory purification.
* Widget sensitivity fixups.
* Tooltips windows are now named "gtk-tooltips" so rc file rules
can match tooltips windows. Fixed interaction of tooltips and NO_WINDOW
widgets.
* Spin buttons now update their values upon value retrival.
* Overhaul of the resizing vs. redrawing logic to reduce redrawing needs
a lot. Gtk makes full use of the draw_area coalescing code now, which
got minorly improved as well.
* Containers map their Gdk windows after their children now to reduce
expose event generation.
* Gdk event queue fixups, this solves the double-click problems people were
recently having.
* Account for the fact that GSource's are only properly reentrant from
within dispatch(), thus we don't do Gdk event processing from within
check() or prepare() anymore.
* Rc files feature a bg_pixmap value of "<none>" now.
* Improved session management support in Gdk.
* Automatic disabling of NLS if no gettext is found should work now.
* Removed deprecated functions, docs/Changes-1.2.txt gives an overview.
* Gtk+ development now requires GNU autoconf 2.13, GNU automake 1.4
and GNU libtool 1.2d.
* More bug fixes all over the place.
What is new in GTK+ 1.1.12:
* Korean translation added
* Fixed memory leaks
* A few other bug fixes
What is new in GTK+ 1.1.11:
* Dutch, Japanese, Swedish, Polish, and Norwegian translations
* Removed deprecated _interp variants: gtk_container_foreach_interp,
gtk_idle_add_interp, gtk_timeout_add_interp, gtk_signal_connect_interp
* Lots of cast corrections
* Many fixes
What is new in GTK+ 1.1.9:
* Check for broken glibc 2.0 mb functions and avoid them
* Label and Entry display fixes
* Move main thread back to GDK, for locking when translating events
* Bug fixes
What is new in GTK+ 1.1.8:
* Added support for gettext and the localization of the standard
dialogs.
* Added line-wrapping for the label, and JUSTIFY_FILL
* Support reordering via drag and drop in CList and CTree.
* Replaced GtkDrawWindow widget with a GTK_USER_DRAW flag
* Extended gtkpaned API to support minimum sizes and proportional
resizing.
* Changed the handling of shared memory segments so as to
remove the need for GTK+ to set up signal handlers.
* Re-implemented event loop in terms of the event loop
that has been added to GLib 1.1.8
* Added 'grab_focus' signal to allow keyboard accelerators
for entries.
* Load locale specific RC files if present.
* Bug fixes.
What is new in GTK+ 1.1.7:
* Fixed memory mis-allocation in default files code
* Various event handling fixes
* Wide character support for entry and text
* Destroy widgets _after_ propagating unrealize signals through
widget heirarchy
* Only build XIM-support if available
* Tutorial and examples updates
* Added gtk_drag_source_unset()
What is new in GTK+ 1.1.6:
* The signal system now features emission hooks whith special semantics,
refer to the ChangeLog for this.
* Minor? speedups and memory reductions to the emission handling of the
signal system.
* _interp() function variants are deprecated now. the corresponding *_full()
variants are provided for a long time now.
* Dnd abort timeout increased to 10 minutes.
* GtkScrolledWindow inherits from GtkBin now.
* GTK_POLICY_NEVER is implemented for scrolled windows now.
* Lots of API clean ups.
* Incremental freezing abilities.
* Integrated widgets from the GNOME tree: GtkLayout, GtkPlug and GtkSocket.
* New window functions for transient relationship, default size, and
geometry hints
* Default rc files are now read in (<sysconfdir/etc/gtkrc and ~/.gtkrc)
GTK_RC_FILES environment variable and functions are provided to configure
this behavior
* Read doc/Changes-1.2.txt to properly adapt your code.
* Bug Fixes.
What is new in GTK+ 1.1.5:
* Theme integration
* Widget style modification is now handled through GtkRcStyles
* GtkPixmaps now grey out pixmaps when insensitive
* Notebook enhancements
* Shadow configurability for menubars and handleboxes
* DND enhancements
* gtkfilesel now supports automounters better
* Implementation of expose compression
* Queued redraws of partial areas
* Scrolledwindow (+Viewport) source incompatibilities, children that are added
to a scrolled window don't get an automatic viewport anymore. a convenience
function gtk_scrolled_window_add_with_viewport() is suplied for this task
* Deprecated functions will now issue a message, informing the programmer about
the use of this function. These functions will get removed in future versions
* Non-functional functions got removed entirely
* gtk_widget_new() and gtk_object_new() will now auto-construct new objects.
A new function gtk_object_default_construct() is provided now which should
be called after every gtk_type_new() to perfom the auto-construction
* Improved argument support of several widgets
* Bug Fixes
What is new in GTK+ 1.1.3:
* GtkCList/GtkCTree now have the ability to:
- hide/show individual columns
- disable/enable column resizing
- set min and max for column widths
- set expander style of the ctree
- set/get row and cell styles
- set spacing between tree expander and cell contents in ctree
- toggle auto_resize for columns
* Must enhanced DND support, removed old DND code
* Idle functions are now implemented via GHook, giving a slight speed
improvement
* An environment variable GTK_MODULES which takes a colon seperated
list of module names GTK+ will now automatically load at gtk_init() startup
* GtkFontSel now has support for an extra 'base' filter
* New function gdk_window_set_root_origin to get the real geometry taking
into account window manager offsets
* New function gtk_text_set_line_wrap to toggle line wrapping
* New function gtk_widget_add_events which safely adds additional
events to a widget's event mask
* New function gdk_event_get_time to get the timestamp from a generic
event
* New widget GtkCalendar
* New widget GtkInvisible - InputOnly offscreen windows used for reliable
pointer grabs and selection handling in DND code
* New functions gtk_object_remove_no_notify[_by_id] to remove a certain
data portion without invokation of its destroy notifier
* gtk_spin_button_construct is now deprecated, use gtk_spin_button_configure
instead
* gtk_clist_set_border is now deprecated, use gtk_clist_set_shadow_type
instead
* Removed functions gtk_object_set_data_destroy[_by_id]
* Documentation additions/updates
* HTML and plain text files are now included in the distribution
* Bug fixes, typeness corrections, and general fixups
What is new in GTK+ 1.1.2:
* Gtk+ is now featuring runtime loading of dynamic modules via the
--gtk-modules= command line switch. such modules have to export a
G_MODULE_EXPORT void gtk_module_init (gint *argc, gchar ***argv);
function which will be invoked to initialize the module. since such
modules may create new widget types, they are always resident.
* The tutorial has been updated again.
* Changes to menus including tearoff menus and accelerators.
* Better support for modal dialogs.
* Removed CAN_FOCUS by default from scrollbars and button children of toolbar.
* More improvements and fixes for GtkCList and GtkCTree (i.e. row sorting).
* GtkCTree rows can be unselectable now.
* The GtkCTree API has undergone major renames (see ChangeLog entry from Lars
Hamann on Tue Aug 18 00:29:13 1998).
* A bunch of varargs functions changed to get va_lists working on systems that
implement va_lists as arrays.
* Improvements to the gdkrgb code.
* Improvements to Gdk color handling so we greatly reduce server traffic and
don't leak colors anymore.
* Improved internal widget tree iterators (the GtkContainer::foreach signal
vanished because of this).
* Option menus can have the keyboard focus now.
* More fixups to the text widget.
* GtkFileSelection should behave much more nicely in combination with AFS now.
* Support for label underlining.
* Support for GLib 1.1.3 log domains.
* Documentation improvements.
* Configuration fixes on various platforms.
* Miscellaneous fixes to XInput support.
* Build with shared library dependencies on Linux
* Fix for a major bug in the type systems memory allocation code that could
cause random crashes.
* Libtool update to version 1.2b.
* Lots of bugfixes and cleanups again ;)
What is new in GTK+ 1.1.1:
* Tutorial updates and additions.
* Key binding support for GtkListItems and GtkList.
* Extended selection mode and autoscrolling for GtkLists.
* A GtkCtree now operates on GtkCTreeNode* structures rather than GList*.
* GtkCTreeNodes can now be created from GNode trees.
* Bug fixes for GtkNotebook, GtkCList, GtkCombo and GdkWindow reparentation.
What is new in GTK+ 1.1.0:
* New widget GtkFontSelector.

38
README
View File

@@ -1,7 +1,7 @@
General Information
===================
This is GTK+ version 1.1.0. GTK+, which stands for the Gimp ToolKit,
This is GTK+ version 1.2.0. 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.
@@ -26,13 +26,23 @@ See the file 'INSTALL'
How to report bugs
==================
To report a bug, send mail either to gtk-list, as mentioned
above, or to gtk-bugs@gtk.org. If you send mail to gtk-list, you
must be subscribed yourself.
Bugs should be reported to the GNOME bug tracking
system. (http://bugs.gnome.org). To report a problem
about GTK+, send mail to submit@bugs.gnome.org.
In the mail include:
The subject of the mail should describe your problem.
In the body of the mail, you should first include
a "pseudo-header" that gives the package and
version number. This should be separated by a blank
line from the actual headers.
* The version of GTK
Package: gtk+
Version: 1.2.0
[ Please substitute 1.2.0 with the version of GTK+ that
you have installed ]
Then describe the bug. Include:
* Information about your system. For instance:
@@ -64,6 +74,22 @@ In the mail include:
is produced running the test program with the --sync command
line option.
An example of a bug report:
====
To: submit@bugs.gnome.org
From: yourname@your.address.org
Subject: handlebox test in testgtk is misnamed.
Package: gtk+
Version: 1.2.0
When I run gtk/testgtk, the button "handle box"
is misnamed. There are multiple handle boxes in
the demo, so it should be "handle boxes", to
be like "buttons" or "check buttons".
===
Patches
=======

63
README.cvs-commits Normal file
View File

@@ -0,0 +1,63 @@
GTK+ is part of the GNOME CVS repository. At the current time, any
person with write access to the GNOME repository, can make changes to
GTK+. This is a good thing, in that it encourages many people to work
on GTK+, and progress can be made quickly. However, GTK+ is a fairly
large and complicated package that many other things depend on, so to
avoid unnecessary breakage, and to take advantage of the knowledge
about GTK+ that has been built up over the last 18 months, we'd like
to ask people commiting to GTK+ to follow a few rules:
0) Ask first. If your changes are major, or could possibly break existing
code, you should always ask. If your change is minor and you've
been working on GTK+ for a while it probably isn't necessary
to ask. But when in doubt, ask. Even if your change is correct,
somebody may know a better way to do things.
If you are making changes to GTK+, you should be subscribed
to gtk-devel-list@redhat.com. (Subscription address:
gtk-devel-list-request@redhat.com.) This is a good place to ask
about intended changes.
If you just want to make a trivial change, and don't want to subscribe,
you can also mail gtk-bugs@gtk.org. Or, alternatively, you can look in
the ChangeLog for somebody who has been making changes to the file
you want to change and email them.
#gimp on byxnet (irc.gimp.org, irc2.gimp.org, irc3.gimp.org,
irc.germany.gimp.org...)s also a good place to find GTK+ developers to
discuss changes with, however, email to gtk-devel-list is the most
certain and preferred method.
1) Ask _first_.
2) There must be a ChangeLog for every commit. (If you discover that
you only committed half the files you meant to and need to fix that
up, or something, you don't need a new ChangeLog entry. But in general,
ChangeLog entries are mandatory.) Changes with out ChangeLog entries
will be reverted.
3) There _must_ be a ChangeLog for every commit.
Notes:
* If you are going to be changing many files in an experimental fashion,
it probably is a good idea to create a separate branch for your changes.
* The ChangeLog entries should preferrably match in date format
with the existing entries. You can set how emacs does this
by using customize mode:
- M-x customize
- set Programming/Tools/ChangeLog/Add Log Time Format to
'Old Format'
Or, set the add-log-time-format to 'current-time-string in
your .emacs file.
Owen Taylor
13 Aug 1998

33
README.win32 Normal file
View File

@@ -0,0 +1,33 @@
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
http://www.iki.fi/tml/gimp/win32/ .
To build GTk+ on Win32, you need either the Microsoft compiler and
tools, or gcc-2.95 or later running under cygwin-b20.1 or
later. Compile in gdk\win32 and gtk with `nmake -f makefile.msc` or
`make -f makefile.cygwin`. Before doing a install, check the BIN
definition in gdk\win32\makefile.msc (or makefile.cygwin) and
gtk\makefile.msc (or makefile.cygwin).
See the README.win32 file in the GLib distribution for instructions
how to build with gcc.
The tablet support uses the Wintab API. The Wintab development kit can
be downloaded from http://www.pointing.com. If you don't care for
that, undefine HAVE_WINTAB in config.h.win32 and remove references to
the wntab32x library from the makefile before building.
GTk+ wants to be built with the GNU "intl" library for
internationalisation (i18n). Get the version ported to Win32 (not a
very big deal) from tml's web site mentioned above. We build the
"intl" library as a DLL called gnu-intl.dll (the "gnu" prefix is used
to reduce name clash risks). If you don't want any i18n stuff,
undefine ENABLE_NLS, HAVE_GETTEXT and HAVE_LIBINTL in the
config.h.win32 file, and remove references to the gnu-intl library
from the makefiles.
Note that while the GNU gettext package is under the GPL, the "intl"
part of it as 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.

217
TODO
View File

@@ -1,123 +1,25 @@
For 1.1.0 release:
For 1.2.0 release:
- remove deprecated functions from *.[hc] files, especially the
non-functional ones.
Bugs:
* Widget redrawing when the window resizes sometimes messes up.
GtkLabels sometimes redraw without clearing up the underlying background on
window resizes.
* delay dnd settings to take effect once a widget is realized, this is
to avoid force realizations. i think this goes along with owens dnd
changes?
-timj
The way DND data types are set in GtkWidget really needs to be fixed.
This is pretty high on my priority list, and I'll get to it as soon as
the column list widget is done. The correct way dnd data needs to be set
is to have a additional keyed data type with GtkWidget, which is applied to
the widget's window upon realize.
There also needs to be a way to set dnd-data on widget windows which are
not the main window (for widgets that create more than one window).
-Jay Painter
DnD seems to work for me, but yes, there needs to be some sort of
gtk_widget layer that makes it easier... Also, adding support for drop
zones might be nice.
-Elliot
This one is reproducabel for me:
testgtk --sync
popup colorselection
drag/drop works
start up preview color
drag works but not dropping
end preview color
drag/drop works
start up prewiev color
segfault in malloc
-timj
* Change bitfields to guints from enums, or vice versa?
* Expose events aren't being generated correctly for DND demo
Additions:
* implement keyboard navigation in menus
Outstanding items:
* focus handling for GtkOptionMenu (needs the previous)
* GScanner: it might be good to ues stdio and getch() instead of 1-character
reads. so one can take advantage of buffering. Currently each read() takes
a separate syscall.
* implement gtk_default_draw_oval and other missing things in gtkstyle.c.
* Lists should scroll to center the recently selected item if it isn't
visible.
* enforce invariants on *_RESIZE* and *_REDRAW* flags.
* asure that child widgets are really get gtk_widget_destroy()ed in their
parents destroy handler, and not just unparented or somesuch.
* GtkToolTips:
allocate GtkTooltipsData from memchunks
look into incorporation of outdated/gtk-dairiki-971208-[01].patch.gz
* GtkToolTips: allocate GtkTooltipsData from memchunks
* Change gtk_widget_propagate_default_style() mechanism to
void gtk_rc_string_export (const gchar *rc_additions,
gboolean override_rc_styles);
* Make all widget attributes configurable after the widget is created (timj).
* Widgets dervied from GtkButton need to be able to override
GtkButtonClass.paint. e.g. redrawing of GtkToggleButton with CAN_DEFAULT
is messed up otheriwse. This does in fact not only apply to (toggle)buttons,
we should introduce a common paint member for the GtkWidgetClass.
* Radio buttons need to display CAN/HAS_DEFAULT correctly.
* Radio buttons need to display CAN/HAS_DEFAULT correctly, if draw_inidicator
is TRUE. (Radio buttons do not need to CAN_DEFAULT! OWT)
* GtkCList improvements. (Jay Painter)
* More dialogs: Print, maybe others...
* Seperate GtkObject, type and signaling system from Gdk dependancies,
by moving them into a seperate libgtkobj.
* move *_input_add (wrappers for select(2)) mechanism into glib.
* Make sure a widget added to a list is a list item and a widget added
to a menu is a menu item, etc. GTK_BASIC was a first attempt at this,
but it fails with subsequent container_add()s. maybe have another
GTK_PARENT_BASIC (similar to GTK_PARENT_SENSITIVE) flag, to prevent
tree iterations upon every container addition.
* gdk_expose_compress: ala-Xt, this would really help for opaque moves and
such
* Entry should have a password mode (and it should show stars
for user feedback).
* Entry should allow set_usize to work better, and should compute
a different width when a maximum length is used.
* More dialogs: Print, GtkFontSelector, maybe others...
* Multiple document interface (MDI)?
* Support another widget style? Should be possible using GtkStyle's, but
there may be some work needed to remove any style dependencies in widget
code. Maybe GtkStyle's should have 'draw_push_button', 'draw_check_button',
etc, functions to draw the various widgets.
This will be covered by upcoming themability, raster is working on it.
* make the gtk_main callbacks consistent in their add/remove behaviour.
* More work on Documentation
* Check return values on all calls to XIC[Get/Set]Values
* Rewrite the interface to the i18n stuff so GTK widgets don't need to
retrieve X values, and so they don't have to know the value of the
XNxxx character constants.
* The "--geometry" option should be supported
- Having gdk_init() parse the geometry option. (putting it into
@@ -140,68 +42,31 @@ Additions:
( You'd have to extend gdk_window_set_hints to accept the
window gravity option to get it right. )
? Allow moving the separator for paned widgets by dragging
* Allow moving the separator for paned widgets by dragging
it directly instead of using the handle.
? Mark public use of gtk_tree_remove_item as deprecated - it should be used
as:
gtk_container_remove (GTK_CONTAINER(tree), widget);
* Standardize that all strings should be passed as gchar *, not
guchar *. But what about non-string data? (gdk_property_change,
gtk_selection_data_set) X makes these sort of things guchar...
* Check into XAddConnectionWatch - is this needed for XIM?
* Places where a _full variant is needed:
gtk_clist_set_row_data
gtk_init_add
gtk_menu_popup
gtk_toolbar_prepend_element
gtk_toolbar_insert_element
gtk_widget_dnd_data_set (should be guchar * with a copy?
shouldn't be there at all...)
??? GtkDrawingarea.draw_data
* gtk_rc_add_[name/class]_style are broken for bg pixmaps, because
styles are broken for bg pixmaps, and RC styles only hack around
that.
* Try to rationally deal with someone else deleting one of our
windows??? This would mean keeping track of our window heirarchy
ourselves, for one thing, and will never be safe, because of
race conditions.
* --g-fatal-warnings flag that does
g_set_warning_handler ((GWarningHandler)g_error);
* If a window spontaneously resizes itself N times before any
ConfigureNotify events are received, then due to the interaction
of the ConfigureNotify compression code in GDK and the resize
count used for the window, the window will be size_allocated
the next N-1 times it is moved.
Fix: Only send GDK_EVENT_CONFIGURE when the window is resized,
create a new event type for toplevel motion. (GDK_EVENT_REPOSITION?)
and eliminate the resize count in GtkWindow.
* Generic ScrolledWindow interface, which provide automatic scrollbar
capability to Viewport, Text, and CList widgets.
* GTK_POLICY_NEVER for scrolled windows.
* Consider caching more state in GdkWindowPrivate. Currently,
every widget realization involves a XGetGeometry and a
XGetWindowAttributes. And every GdkWindow destruction
involves a XQueryTree.
* Should all the default handlers really return FALSE? This can
cause confusing presses to be sent to containers that actually
want to get events on themselves.
* New signals to handle accelerators: accel_before and accel_after (or
somesuch) to pre and post process accelerator calls. [Yosh]
* The menu code should skip separators during keyboard navigation,
whether they are sensitive or insensitive.
* OwnerButtonPressGrab needs to go!
Text/Edit widget:
@@ -212,7 +77,7 @@ Text/Edit widget:
Improvements:
- Unify the key binding support in some fashion between the
Entry and Text widget widgets (???)
Entry and Text widget widgets, use GtkBindings for this.
- Figure out a way not to recompute the geometry on insertions/deletions
which are large, but not a significant fraction of the
@@ -273,3 +138,63 @@ Text/Edit widget:
[ From: Stefan Jeske <jeske@braunschweig.netsurf.de> ]
- "changed" emitted when doing deletes on empty Text widget.
- Delete IC in editable->unrealize, not editable->finalize?
Themes
======
- When a scale gets shown/hidden only queue a redraw on the
non-window portion, not the whole area.
- In various places, to avoid shaping windows excessively,
we set parent relative backgrounds. This is an ugly
hack and needs a better solution. Plus, I don't think
these parent-relative backgrounds always persist to
when they are actually needed.
Such calls exist in: GtkButton, GtkHandeBox, GtkItem,
GtkListItem, GtkMenu, GtkMenuItem, GtkMisc,
GtkNoteBook, GtkOptionMenu, GtkPaned, GtkPreview,
GtkSpinButton and GtkTreeItem.
- For menus and for GtkWindow's, the realize() function
calls paint(), so that background pixmaps can be set
ahead of time, and prevent flashing when the window is
shown. This is an ugly hack and needs a better solution.
=======
Calendar Widget:
- The widget should be nicely resizeable vertical too.
- CALENDAR_MARGIN should be removed, uses INNER_BORDER and
style->class->[xy]thickness insted.
- Flag to choose between using standard three letter abbreviated
weekday name or just the first character from it. It looks like
that is what most other calendar-widgets do.
- Arrows should resize with the header-font.
- The keyboard support has to be finished.
DND
===
- Use a cursor instead of an ICON when over Motif windows,
to get rid of the current junk that Motif leaves because
of it's XCopyArea stupidity for doing highlighting.
- Add a GTK_DRAG_VERIFY target flag and a "drag_data_verify"
signal so that apps can easily check if a, say,
text/uri-list URL looks OK during the drop.
- Check more for memory leaks.
- Drag and drop for Entry and Text widgets.
- Send synthetic motion events on structure changes so
drag_enter/leave get sent properly. (See the popup
in testdnd)

View File

@@ -15,27 +15,29 @@
/* Other stuff */
#undef ENABLE_NLS
#undef GTK_COMPILED_WITH_DEBUGGING
#undef HAVE_CATGETS
#undef HAVE_DIRENT_H
#undef HAVE_GETTEXT
#undef HAVE_IPC_H
#undef HAVE_LC_MESSAGES
#undef HAVE_PWD_H
#undef HAVE_SHM_H
#undef HAVE_STPCPY
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
#undef HAVE_XCONVERTCASE
/* some systems do not allow to ipcrm pages prior to
* actual usage, namely: OSF1 V3.2, SunOS 4.1.1, 5.5, 5.5.1, 5.6,
* IRIX 5.2 and 6.2.
*/
#undef IPC_RMID_DEFERRED_RELEASE
#undef NO_FD_SET
#undef RESOURCE_BASE
/* Define to enable POSIX threading awareness */
#undef USE_PTHREADS
/* Define to use X11R6 additions to XIM */
#undef USE_X11R6_XIM
#undef XINPUT_NONE
#undef XINPUT_GXI

View File

@@ -1,6 +1,6 @@
## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
## Copyright (C) 1996-1998 Free Software Foundation, Inc.
## Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
## Copyright (C) 1996-1999 Free Software Foundation, Inc.
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -21,28 +21,66 @@
## configuration script generated by Autoconf, you may include it under
## the same distribution terms that you use for the rest of that program.
# serial 24 AM_PROG_LIBTOOL
AC_DEFUN(AM_PROG_LIBTOOL,
[AC_REQUIRE([AM_ENABLE_SHARED])dnl
AC_REQUIRE([AM_ENABLE_STATIC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AM_PROG_LD])dnl
AC_REQUIRE([AM_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
dnl
# serial 40 AC_PROG_LIBTOOL
AC_DEFUN(AC_PROG_LIBTOOL,
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
# Save cache, so that ltconfig can load it
AC_CACHE_SAVE
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| AC_MSG_ERROR([libtool configure failed])
# Reload cache, that may have been modified by ltconfig
AC_CACHE_LOAD
# This can be used to rebuild libtool when needed
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl
# Redirect the config.log output again, so that the ltconfig log is not
# clobbered by the next message.
exec 5>>./config.log
])
AC_DEFUN(AC_LIBTOOL_SETUP,
[AC_PREREQ(2.13)dnl
AC_REQUIRE([AC_ENABLE_SHARED])dnl
AC_REQUIRE([AC_ENABLE_STATIC])dnl
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_LD])dnl
AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
dnl
# Check for any special flags to pass to ltconfig.
libtool_flags=
libtool_flags="--cache-file=$cache_file"
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
test "$silent" = yes && libtool_flags="$libtool_flags --silent"
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
[libtool_flags="$libtool_flags --enable-dlopen"])
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
[libtool_flags="$libtool_flags --enable-win32-dll"])
AC_ARG_ENABLE(libtool-lock,
[ --disable-libtool-lock avoid locking (might break parallel builds)])
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
@@ -68,30 +106,42 @@ case "$host" in
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
fi
;;
esac
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| AC_MSG_ERROR([libtool configure failed])
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
[*-*-cygwin* | *-*-mingw*)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
;;
])
esac
])
# AM_ENABLE_SHARED - implement the --enable-shared flag
# Usage: AM_ENABLE_SHARED[(DEFAULT)]
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
# AC_ENABLE_SHARED - implement the --enable-shared flag
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'.
AC_DEFUN(AM_ENABLE_SHARED,
[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
AC_DEFUN(AC_ENABLE_SHARED, [dnl
define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(shared,
changequote(<<, >>)dnl
<< --enable-shared build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT]
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
changequote([, ])dnl
[ --enable-shared=PKGS only build shared libraries if the current package
appears as an element in the PKGS list],
[p=${PACKAGE-default}
case "$enableval" in
yes) enable_shared=yes ;;
@@ -108,29 +158,23 @@ no) enable_shared=no ;;
IFS="$ac_save_ifs"
;;
esac],
enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
])
# AM_DISABLE_SHARED - set the default shared flag to --disable-shared
AC_DEFUN(AM_DISABLE_SHARED,
[AM_ENABLE_SHARED(no)])
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_SHARED(no)])
# AM_DISABLE_STATIC - set the default static flag to --disable-static
AC_DEFUN(AM_DISABLE_STATIC,
[AM_ENABLE_STATIC(no)])
# AM_ENABLE_STATIC - implement the --enable-static flag
# Usage: AM_ENABLE_STATIC[(DEFAULT)]
# AC_ENABLE_STATIC - implement the --enable-static flag
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'.
AC_DEFUN(AM_ENABLE_STATIC,
[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
AC_DEFUN(AC_ENABLE_STATIC, [dnl
define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(static,
changequote(<<, >>)dnl
<< --enable-static build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT]
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
changequote([, ])dnl
[ --enable-static=PKGS only build shared libraries if the current package
appears as an element in the PKGS list],
[p=${PACKAGE-default}
case "$enableval" in
yes) enable_static=yes ;;
@@ -147,26 +191,73 @@ no) enable_static=no ;;
IFS="$ac_save_ifs"
;;
esac],
enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
])
# AC_DISABLE_STATIC - set the default static flag to --disable-static
AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_STATIC(no)])
# AM_PROG_LD - find the path to the GNU or non-GNU linker
AC_DEFUN(AM_PROG_LD,
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'.
AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(fast-install,
changequote(<<, >>)dnl
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
changequote([, ])dnl
[p=${PACKAGE-default}
case "$enableval" in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
for pkg in $enableval; do
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
IFS="$ac_save_ifs"
;;
esac],
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
])
# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_FAST_INSTALL(no)])
# AC_PROG_LD - find the path to the GNU or non-GNU linker
AC_DEFUN(AC_PROG_LD,
[AC_ARG_WITH(gnu-ld,
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by GCC])
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
/* | [A-Za-z]:\\*)
test -z "$LD" && LD="$ac_prog"
;;
# Accept absolute paths.
changequote(,)dnl
[\\/]* | [A-Za-z]:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
changequote([,])dnl
# Canonicalize the path of ld
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
"")
# If it fails, then pretend we aren't using GCC.
ac_prog=ld
@@ -183,10 +274,10 @@ else
fi
AC_CACHE_VAL(ac_cv_path_LD,
[if test -z "$LD"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog"; then
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
ac_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some GNU ld's only accept -v.
@@ -194,7 +285,7 @@ AC_CACHE_VAL(ac_cv_path_LD,
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
test "$with_gnu_ld" != no && break
else
test "$with_gnu_ld" != yes && break
test "$with_gnu_ld" != yes && break
fi
fi
done
@@ -210,10 +301,10 @@ else
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_SUBST(LD)
AM_PROG_LD_GNU
AC_PROG_LD_GNU
])
AC_DEFUN(AM_PROG_LD_GNU,
AC_DEFUN(AC_PROG_LD_GNU,
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
@@ -223,37 +314,448 @@ else
fi])
])
# AM_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN(AM_PROG_NM,
# AC_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN(AC_PROG_NM,
[AC_MSG_CHECKING([for BSD-compatible nm])
AC_CACHE_VAL(ac_cv_path_NM,
[case "$NM" in
/* | [A-Za-z]:\\*)
ac_cv_path_NM="$NM" # Let the user override the test with a path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
[if test -n "$NM"; then
# Let the user override the test.
ac_cv_path_NM="$NM"
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/nm; then
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
# Check to see if the nm accepts a BSD-compat flag.
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
ac_cv_path_NM="$ac_dir/nm -B"
ac_cv_path_NM="$ac_dir/nm -B"
break
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
ac_cv_path_NM="$ac_dir/nm -p"
ac_cv_path_NM="$ac_dir/nm -p"
break
else
ac_cv_path_NM="$ac_dir/nm"
ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
continue # so that we can try to find one that supports BSD flags
fi
break
fi
done
IFS="$ac_save_ifs"
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
;;
esac])
fi])
NM="$ac_cv_path_NM"
AC_MSG_RESULT([$NM])
AC_SUBST(NM)
])
# AC_CHECK_LIBM - check for math library
AC_DEFUN(AC_CHECK_LIBM,
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case "$host" in
*-*-beos* | *-*-cygwin*)
# These system don't have libm
;;
*-ncr-sysv4.3*)
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
;;
*)
AC_CHECK_LIB(m, main, LIBM="-lm")
;;
esac
])
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl convenience library, adds --enable-ltdl-convenience to
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
# '${top_builddir}/' (note the single quotes!) if your package is not
# flat, and, if you're not using automake, define top_builddir as
# appropriate in the Makefiles.
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
case "$enable_ltdl_convenience" in
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
"") enable_ltdl_convenience=yes
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
esac
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
])
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl installable library, and adds --enable-ltdl-install to
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
# '${top_builddir}/' (note the single quotes!) if your package is not
# flat, and, if you're not using automake, define top_builddir as
# appropriate in the Makefiles.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_CHECK_LIB(ltdl, main,
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
[if test x"$enable_ltdl_install" = xno; then
AC_MSG_WARN([libltdl not installed, but installation disabled])
else
enable_ltdl_install=yes
fi
])
if test x"$enable_ltdl_install" = x"yes"; then
ac_configure_args="$ac_configure_args --enable-ltdl-install"
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
else
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
LIBLTDL="-lltdl"
INCLTDL=
fi
])
dnl old names
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
dnl This is just to silence aclocal about the macro not being used
ifelse([AC_DISABLE_FAST_INSTALL])dnl
# Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#
# Modified to never use included libintl.
# Owen Taylor <otaylor@redhat.com>, 12/15/1998
#
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# serial 5
AC_DEFUN(AM_GTK_WITH_NLS,
[AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
AC_MSG_RESULT($USE_NLS)
AC_SUBST(USE_NLS)
USE_INCLUDED_LIBINTL=no
dnl If we use NLS figure out what method
if test "$USE_NLS" = "yes"; then
# AC_DEFINE(ENABLE_NLS)
# AC_MSG_CHECKING([whether included gettext is requested])
# AC_ARG_WITH(included-gettext,
# [ --with-included-gettext use the GNU gettext library included here],
# nls_cv_force_use_gnu_gettext=$withval,
# nls_cv_force_use_gnu_gettext=no)
# AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
nls_cv_force_use_gnu_gettext="no"
nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
dnl User does not insist on using GNU NLS library. Figure out what
dnl to use. If gettext or catgets are available (in this order) we
dnl use this. Else we have to fall back to GNU NLS library.
dnl catgets is only used if permitted by option --with-catgets.
nls_cv_header_intl=
nls_cv_header_libgt=
CATOBJEXT=NONE
AC_CHECK_HEADER(libintl.h,
[AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
[AC_TRY_LINK([#include <libintl.h>], [return (int) dgettext ("","")],
gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no)])
if test "$gt_cv_func_dgettext_libc" != "yes"; then
AC_CHECK_LIB(intl, bindtextdomain,
[AC_CACHE_CHECK([for dgettext in libintl],
gt_cv_func_dgettext_libintl,
[AC_CHECK_LIB(intl, dgettext,
gt_cv_func_dgettext_libintl=yes,
gt_cv_func_dgettext_libintl=no)],
gt_cv_func_dgettext_libintl=no)])
fi
if test "$gt_cv_func_dgettext_libc" = "yes" \
|| test "$gt_cv_func_dgettext_libintl" = "yes"; then
AC_DEFINE(HAVE_GETTEXT)
AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
if test "$MSGFMT" != "no"; then
AC_CHECK_FUNCS(dcgettext)
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr],
[CATOBJEXT=.gmo
DATADIRNAME=share],
[CATOBJEXT=.mo
DATADIRNAME=lib])
INSTOBJEXT=.mo
fi
fi
# Added by Martin Baulig 12/15/98 for libc5 systems
if test "$gt_cv_func_dgettext_libc" != "yes" \
&& test "$gt_cv_func_dgettext_libintl" = "yes"; then
INTLLIBS=-lintl
LIBS=`echo $LIBS | sed -e 's/-lintl//'`
fi
])
if test "$CATOBJEXT" = "NONE"; then
AC_MSG_CHECKING([whether catgets can be used])
AC_ARG_WITH(catgets,
[ --with-catgets use catgets functions if available],
nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
AC_MSG_RESULT($nls_cv_use_catgets)
if test "$nls_cv_use_catgets" = "yes"; then
dnl No gettext in C library. Try catgets next.
AC_CHECK_LIB(i, main)
AC_CHECK_FUNC(catgets,
[AC_DEFINE(HAVE_CATGETS)
INTLOBJS="\$(CATOBJS)"
AC_PATH_PROG(GENCAT, gencat, no)dnl
# if test "$GENCAT" != "no"; then
# AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
# if test "$GMSGFMT" = "no"; then
# AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
# fi
# AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
# USE_INCLUDED_LIBINTL=yes
# CATOBJEXT=.cat
# INSTOBJEXT=.cat
# DATADIRNAME=lib
# INTLDEPS='$(top_builddir)/intl/libintl.a'
# INTLLIBS=$INTLDEPS
# LIBS=`echo $LIBS | sed -e 's/-lintl//'`
# nls_cv_header_intl=intl/libintl.h
# nls_cv_header_libgt=intl/libgettext.h
# fi
])
fi
fi
if test "$CATOBJEXT" = "NONE"; then
dnl Neither gettext nor catgets in included in the C library.
dnl Fall back on GNU gettext library.
nls_cv_use_gnu_gettext=yes
fi
fi
if test "$nls_cv_use_gnu_gettext" != "yes"; then
AC_DEFINE(ENABLE_NLS)
else
# Unset this variable since we use the non-zero value as a flag.
CATOBJEXT=
# dnl Mark actions used to generate GNU NLS library.
# INTLOBJS="\$(GETTOBJS)"
# AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
# AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
# AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
# [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
# AC_SUBST(MSGFMT)
# USE_INCLUDED_LIBINTL=yes
# CATOBJEXT=.gmo
# INSTOBJEXT=.mo
# DATADIRNAME=share
# INTLDEPS='$(top_builddir)/intl/libintl.a'
# INTLLIBS=$INTLDEPS
# LIBS=`echo $LIBS | sed -e 's/-lintl//'`
# nls_cv_header_intl=intl/libintl.h
# nls_cv_header_libgt=intl/libgettext.h
fi
dnl Test whether we really found GNU xgettext.
if test "$XGETTEXT" != ":"; then
dnl If it is no GNU xgettext we define it as : so that the
dnl Makefiles still can work.
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
: ;
else
AC_MSG_RESULT(
[found xgettext program is not GNU xgettext; ignore it])
XGETTEXT=":"
fi
fi
# We need to process the po/ directory.
POSUB=po
else
DATADIRNAME=share
nls_cv_header_intl=intl/libintl.h
nls_cv_header_libgt=intl/libgettext.h
fi
AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
AC_OUTPUT_COMMANDS(
[case "$CONFIG_FILES" in *po/Makefile.in*)
sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
esac])
# # If this is used in GNU gettext we have to set USE_NLS to `yes'
# # because some of the sources are only built for this goal.
# if test "$PACKAGE" = gettext; then
# USE_NLS=yes
# USE_INCLUDED_LIBINTL=yes
# fi
dnl These rules are solely for the distribution goal. While doing this
dnl we only have to keep exactly one list of the available catalogs
dnl in configure.in.
for lang in $ALL_LINGUAS; do
GMOFILES="$GMOFILES $lang.gmo"
POFILES="$POFILES $lang.po"
done
dnl Make all variables we use known to autoconf.
AC_SUBST(USE_INCLUDED_LIBINTL)
AC_SUBST(CATALOGS)
AC_SUBST(CATOBJEXT)
AC_SUBST(DATADIRNAME)
AC_SUBST(GMOFILES)
AC_SUBST(INSTOBJEXT)
AC_SUBST(INTLDEPS)
AC_SUBST(INTLLIBS)
AC_SUBST(INTLOBJS)
AC_SUBST(POFILES)
AC_SUBST(POSUB)
])
AC_DEFUN(AM_GTK_GNU_GETTEXT,
[AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_ISC_POSIX])dnl
AC_REQUIRE([AC_HEADER_STDC])dnl
AC_REQUIRE([AC_C_CONST])dnl
AC_REQUIRE([AC_C_INLINE])dnl
AC_REQUIRE([AC_TYPE_OFF_T])dnl
AC_REQUIRE([AC_TYPE_SIZE_T])dnl
AC_REQUIRE([AC_FUNC_ALLOCA])dnl
AC_REQUIRE([AC_FUNC_MMAP])dnl
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
unistd.h sys/param.h])
AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
strdup __argz_count __argz_stringify __argz_next])
if test "${ac_cv_func_stpcpy+set}" != "set"; then
AC_CHECK_FUNCS(stpcpy)
fi
if test "${ac_cv_func_stpcpy}" = "yes"; then
AC_DEFINE(HAVE_STPCPY)
fi
AM_LC_MESSAGES
AM_GTK_WITH_NLS
if test "x$CATOBJEXT" != "x"; then
if test "x$ALL_LINGUAS" = "x"; then
LINGUAS=
else
AC_MSG_CHECKING(for catalogs to be installed)
NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in
*$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
esac
done
LINGUAS=$NEW_LINGUAS
AC_MSG_RESULT($LINGUAS)
fi
dnl Construct list of names of catalog files to be constructed.
if test -n "$LINGUAS"; then
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
fi
fi
dnl The reference to <locale.h> in the installed <libintl.h> file
dnl must be resolved because we cannot expect the users of this
dnl to define HAVE_LOCALE_H.
if test $ac_cv_header_locale_h = yes; then
INCLUDE_LOCALE_H="#include <locale.h>"
else
INCLUDE_LOCALE_H="\
/* The system does not provide the header <locale.h>. Take care yourself. */"
fi
AC_SUBST(INCLUDE_LOCALE_H)
dnl Determine which catalog format we have (if any is needed)
dnl For now we know about two different formats:
dnl Linux libc-5 and the normal X/Open format
test -d intl || mkdir intl
if test "$CATOBJEXT" = ".cat"; then
AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
dnl Transform the SED scripts while copying because some dumb SEDs
dnl cannot handle comments.
sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
fi
dnl po2tbl.sed is always needed.
sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
$srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
dnl In the intl/Makefile.in we have a special dependency which makes
dnl only sense for gettext. We comment this out for non-gettext
dnl packages.
if test "$PACKAGE" = "gettext"; then
GT_NO="#NO#"
GT_YES=
else
GT_NO=
GT_YES="#YES#"
fi
AC_SUBST(GT_NO)
AC_SUBST(GT_YES)
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
dnl Try to locate is.
MKINSTALLDIRS=
if test -n "$ac_aux_dir"; then
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
AC_SUBST(MKINSTALLDIRS)
dnl *** For now the libtool support in intl/Makefile is not for real.
l=
AC_SUBST(l)
dnl Generate list of files to be processed by xgettext which will
dnl be included in po/Makefile.
test -d po || mkdir po
if test "x$srcdir" != "x."; then
if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
posrcprefix="$srcdir/"
else
posrcprefix="../$srcdir/"
fi
else
posrcprefix="../"
fi
rm -f po/POTFILES
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
< $srcdir/po/POTFILES.in > po/POTFILES
])

View File

@@ -1,27 +1,28 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
PROJECT=Gtk+
TEST_TYPE=-d
FILE=gdk
DIE=0
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile GTK+."
echo "You must have autoconf installed to compile $PROJECT."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
}
(libtool --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have libtool installed to compile GTK+."
echo "Get ftp://alpha.gnu.org/gnu/libtool-1.0h.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
(automake --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have automake installed to compile GTK+."
echo "You must have automake installed to compile $PROJECT."
echo "Get ftp://ftp.cygnus.com/pub/home/tromey/automake-1.2d.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
@@ -31,8 +32,8 @@ if test "$DIE" -eq 1; then
exit 1
fi
test -d gtk || {
echo "You must run this script in the top-level GTK+ directory"
test $TEST_TYPE $FILE || {
echo "You must run this script in the top-level $PROJECT directory"
exit 1
}
@@ -41,10 +42,45 @@ if test -z "$*"; then
echo "to pass any to it, please specify them on the $0 command line."
fi
case $CC in
*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
esac
if test -z "$ACLOCAL_FLAGS"; then
acdir=`aclocal --print-ac-dir`
m4list="glib.m4 gettext.m4"
for file in $m4list
do
if [ ! -f "$acdir/$file" ]; then
echo "WARNING: aclocal's directory is $acdir, but..."
echo " no file $acdir/$file"
echo " You may see fatal macro warnings below."
echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS "
echo " environment variable to \"-I /some/dir\", or install"
echo " $acdir/$file."
echo ""
fi
done
fi
echo "Running gettextize... Ignore non-fatal messages."
# Hmm, we specify --force here, since otherwise things dont'
# get added reliably, but we don't want to overwrite intl
# while making dist.
echo "no" | gettextize --copy --force
aclocal $ACLOCAL_FLAGS
automake
# optionally feature autoheader
(autoheader --version) < /dev/null > /dev/null 2>&1 && autoheader
automake -a $am_opt
autoconf
./configure "$@"
cd $ORIGDIR
$srcdir/configure --enable-maintainer-mode "$@"
echo
echo "Now type 'make' to compile GTK+."
echo "Now type 'make' to compile $PROJECT."

326
config.guess vendored
View File

@@ -1,6 +1,7 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999
# Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -23,6 +24,7 @@
# Written by Per Bothner <bothner@cygnus.com>.
# The master version of this file is at the FSF in /home/gd/gnu/lib.
# Please send patches to the Autoconf mailing list <autoconf@gnu.org>.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
@@ -35,6 +37,20 @@
# (but try to keep the structure clean).
#
# Use $HOST_CC if defined. $CC may point to a cross-compiler
if test x"$CC_FOR_BUILD" = x; then
if test x"$HOST_CC" != x; then
CC_FOR_BUILD="$HOST_CC"
else
if test x"$CC" != x; then
CC_FOR_BUILD="$CC"
else
CC_FOR_BUILD=cc
fi
fi
fi
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
@@ -46,7 +62,8 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
dummy=dummy-$$
trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
@@ -59,7 +76,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
cat <<EOF >dummy.s
cat <<EOF >$dummy.s
.globl main
.ent main
main:
@@ -76,9 +93,9 @@ main:
ret \$31,(\$26),1
.end main
EOF
${CC-cc} dummy.s -o dummy 2>/dev/null
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
./$dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
@@ -97,8 +114,14 @@ EOF
;;
esac
fi
rm -f dummy.s dummy
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
rm -f $dummy.s $dummy
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
@@ -112,6 +135,9 @@ EOF
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
exit 0 ;;
arc64:OpenBSD:*:*)
echo mips64el-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
@@ -139,7 +165,7 @@ EOF
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
@@ -147,9 +173,12 @@ EOF
echo pyramid-pyramid-bsd
fi
exit 0 ;;
NILE:*:*:dcosx)
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
@@ -195,6 +224,32 @@ EOF
atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
exit 0 ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
exit 0 ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
@@ -216,6 +271,9 @@ EOF
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
macppc:NetBSD:*:*)
echo powerpc-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
@@ -225,12 +283,16 @@ EOF
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:*)
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; {
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
@@ -245,10 +307,10 @@ EOF
exit (-1);
}
EOF
${CC-cc} dummy.c -o dummy \
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm dummy.c dummy && exit 0
rm -f dummy.c dummy
$CC_FOR_BUILD $dummy.c -o $dummy \
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
@@ -300,7 +362,7 @@ EOF
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
sed 's/^ //' << EOF >dummy.c
sed 's/^ //' << EOF >$dummy.c
#include <sys/systemcfg.h>
main()
@@ -311,8 +373,8 @@ EOF
exit(0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
@@ -321,7 +383,8 @@ EOF
fi
exit 0 ;;
*:AIX:*:4)
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
@@ -354,18 +417,50 @@ EOF
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[3478]??:HP-UX:*:*)
9000/[34678]??:HP-UX:*:*)
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
9000/8?? ) HP_ARCH=hppa1.0 ;;
9000/[678][0-9][0-9])
sed 's/^ //' << EOF >$dummy.c
#include <stdlib.h>
#include <unistd.h>
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
($CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
rm -f $dummy.c $dummy
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
sed 's/^ //' << EOF >dummy.c
sed 's/^ //' << EOF >$dummy.c
#include <unistd.h>
int
main ()
@@ -390,8 +485,8 @@ EOF
exit (0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -400,6 +495,9 @@ EOF
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
*9??*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
@@ -416,6 +514,9 @@ EOF
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
hppa*:OpenBSD:*:*)
echo hppa-unknown-openbsd
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
@@ -448,11 +549,14 @@ EOF
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY*T3E:*:*:*)
echo t3e-cray-unicosmk${UNAME_RELEASE}
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
exit 0 ;;
F300:UNIX_System_V:*:*)
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
@@ -465,10 +569,22 @@ EOF
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*)
i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
if test -x /usr/bin/objformat; then
if test "elf" = "`/usr/bin/objformat`"; then
echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
exit 0
fi
fi
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
@@ -478,13 +594,22 @@ EOF
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
i*:CYGWIN*:*)
echo i386-pc-cygwin32
echo ${UNAME_MACHINE}-pc-cygwin
exit 0 ;;
i*:MINGW*:*)
echo i386-pc-mingw32
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i386-pc-interix
exit 0 ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32
echo powerpcle-unknown-cygwin
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -493,9 +618,17 @@ EOF
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
# uname on the ARM produces all sorts of strangeness, and we need to
# filter it out.
case "$UNAME_MACHINE" in
armv*) UNAME_MACHINE=$UNAME_MACHINE ;;
arm* | sa110*) UNAME_MACHINE="arm" ;;
esac
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
ld_help_string=`cd /; ld --help 2>&1`
ld_supported_emulations=`echo $ld_help_string \
| sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g
@@ -506,12 +639,42 @@ EOF
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
elf32ppc)
# Determine Lib Version
cat >$dummy.c <<EOF
#include <features.h>
#if defined(__GLIBC__)
extern char __libc_version[];
extern char __libc_release[];
#endif
main(argc, argv)
int argc;
char *argv[];
{
#if defined(__GLIBC__)
printf("%s %s\n", __libc_version, __libc_release);
#else
printf("unkown\n");
#endif
return 0;
}
EOF
LIBC=""
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
if test "$?" = 0 ; then
./$dummy | grep 1\.99 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
fi
rm -f $dummy.c $dummy
echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;;
esac
if test "${UNAME_MACHINE}" = "alpha" ; then
sed 's/^ //' <<EOF >dummy.s
sed 's/^ //' <<EOF >$dummy.s
.globl main
.ent main
main:
@@ -529,9 +692,9 @@ EOF
.end main
EOF
LIBC=""
${CC-cc} dummy.s -o dummy 2>/dev/null
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
./dummy
./$dummy
case "$?" in
7)
UNAME_MACHINE="alpha"
@@ -548,22 +711,23 @@ EOF
16)
UNAME_MACHINE="alphaev6"
;;
esac
esac
objdump --private-headers dummy | \
objdump --private-headers $dummy | \
grep ld.so.1 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
fi
rm -f dummy.s dummy
fi
rm -f $dummy.s $dummy
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then
cat >dummy.c <<EOF
main(argc, argv)
int argc;
char *argv[];
{
cat >$dummy.c <<EOF
#ifdef __cplusplus
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
@@ -573,8 +737,8 @@ main(argc, argv)
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
else
# Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help.
@@ -593,12 +757,13 @@ EOF
;;
esac
# Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF
cat >$dummy.c <<EOF
#include <features.h>
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __cplusplus
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
@@ -615,8 +780,8 @@ main(argc, argv)
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
# are messed up and put the nodename in both sysname and nodename.
@@ -638,6 +803,14 @@ EOF
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:5:7*)
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) && UNAME_MACHINE=i586
(/bin/uname -X|egrep '^Machine.*Pent.*II' >/dev/null) && UNAME_MACHINE=i686
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) && UNAME_MACHINE=i585
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}${UNAME_VERSION}-sysv${UNAME_RELEASE}
exit 0 ;;
i?86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
@@ -647,6 +820,10 @@ EOF
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
@@ -693,7 +870,7 @@ EOF
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
i?86:LynxOS:2.*:*)
i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
@@ -705,6 +882,9 @@ EOF
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
@@ -735,19 +915,40 @@ EOF
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit 0 ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
exit 0 ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit 0 ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit 0 ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
exit 0 ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
cat >dummy.c <<EOF
cat >$dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
@@ -785,7 +986,10 @@ main ()
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
if (version < 4)
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
else
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
@@ -845,8 +1049,8 @@ main ()
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
# Apollos put the system type in the environment.

View File

@@ -1,56 +0,0 @@
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define to empty if the keyword does not work. */
#undef const
/* Define if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define if your processor stores words with the most significant
byte first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
/* Other stuff */
#undef GTK_COMPILED_WITH_DEBUGGING
#undef HAVE_IPC_H
#undef HAVE_SHM_H
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
#undef HAVE_SYS_SELECT_H
#undef HAVE_XCONVERTCASE
/* some systems do not allow to ipcrm pages prior to
* actual usage, namely: OSF1 V3.2, SunOS 4.1.1, 5.5, 5.5.1, 5.6,
* IRIX 5.2 and 6.2.
*/
#undef IPC_RMID_DEFERRED_RELEASE
#undef NO_FD_SET
#undef RESOURCE_BASE
/* Define to enable POSIX threading awareness */
#undef USE_PTHREADS
#undef XINPUT_NONE
#undef XINPUT_GXI
#undef XINPUT_XFREE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Define if you have the getpagesize function. */
#undef HAVE_GETPAGESIZE
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

192
config.h.win32 Executable file
View File

@@ -0,0 +1,192 @@
/* config.h.win32. Handcrafted for Microsoft C and gcc -mno-cygwin */
#if ! (defined(_MSC_VER) || defined(__GNUC__))
#error Unrecognized Win32 compiler, edit config.h.win32 by hand
#endif
/* Define if using alloca.c. */
/* #undef C_ALLOCA */
/* Define to empty if the keyword does not work. */
/* #undef const */
/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
This function is required for alloca.c support on those systems. */
/* #undef CRAY_STACKSEG_END */
/* Define if you have alloca, as a function or macro. */
#define HAVE_ALLOCA 1
#ifdef _MSC_VER
#define alloca _alloca
#elif defined (__GNUC__)
#define alloca __builtin_alloca
#endif
/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
/* #undef HAVE_ALLOCA_H */
/* Define if you have a working `mmap' system call. */
/* #undef HAVE_MMAP */
/* Define to empty, or __inline if that's what your compiler wants. */
#define inline __inline
/* Define to `long' if <sys/types.h> doesn't define. */
/* #undef off_t */
/* Define if you need to in order for stat and other things to work. */
/* #undef _POSIX_SOURCE*/
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Define to `unsigned' if <sys/types.h> doesn't define. */
/* #undef size_t */
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
*/
/* #undef STACK_DIRECTION */
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Other stuff */
#define ENABLE_NLS 1
#define GTK_COMPILED_WITH_DEBUGGING "minimum"
/* #undef HAVE_CATGETS */
/* #undef HAVE_DIRENT_H */
#define HAVE_GETTEXT 1
/* #undef HAVE_IPC_H */
/* #undef HAVE_LC_MESSAGES */
/* #undef HAVE_PWD_H */
/* #undef HAVE_SHM_H */
/* #undef HAVE_STPCPY */
/* #undef HAVE_XSHM_H */
#define HAVE_SHAPE_EXT 1
/* #undef HAVE_SYS_SELECT_H */
/* #undef HAVE_SYS_TIME_H */
/* #undef HAVE_XCONVERTCASE */
/* #undef NO_FD_SET */
/* #undef XINPUT_NONE */
/* #undef XINPUT_GXI */
/* #undef XINPUT_XFREE */
#define XINPUT_WIN32 1
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Define if you have the __argz_count function. */
/* #undef HAVE___ARGZ_COUNT */
/* Define if you have the __argz_next function. */
/* #undef HAVE___ARGZ_NEXT */
/* Define if you have the __argz_stringify function. */
/* #undef HAVE___ARGZ_STRINGIFY */
/* Define if you have the broken_wctype function. */
/* #undef HAVE_BROKEN_WCTYPE */
/* Define if you have the dcgettext function. */
/* #undef HAVE_DCGETTEXT */
/* Define if you have the getcwd function. */
#define HAVE_GETCWD 1
/* Define if you have the getpagesize function. */
#define HAVE_GETPAGESIZE 1
/* Define if you have the lstat function. */
/* #undef HAVE_LSTAT */
/* Define if you have the munmap function. */
/* #undef HAVE_MUNMAP */
/* Define if you have the putenv function. */
#define HAVE_PUTENV 1
#define putenv _putenv
/* Define if you have the setenv function. */
/* #undef HAVE_SETENV */
/* Define if you have the setlocale function. */
#define HAVE_SETLOCALE 1
/* Define if you have the stpcpy function. */
/* #undef HAVE_STPCPY */
/* Define if you have the strcasecmp function. */
#define HAVE_STRCASECMP 1
#define strcasecmp _stricmp
/* Define if you have the strchr function. */
#define HAVE_STRCHR 1
/* Define if you have the strdup function. */
#define HAVE_STRDUP 1
/* Define if you have the <argz.h> header file. */
/* #undef HAVE_ARGZ_H */
/* Define if you have the <dirent.h> header file. */
/* #undef HAVE_DIRENT_H */
/* Define if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define if you have the <nl_types.h> header file. */
/* #undef HAVE_NL_TYPES_H */
/* Define if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define if you have the <sys/param.h> header file. */
/* #undef HAVE_SYS_PARAM_H */
/* Define if you have the <sys/time.h> header file. */
/* #undef HAVE_SYS_TIME_H */
/* Define if you have the <unistd.h> header file. */
/* #undef HAVE_UNISTD_H */
/* Define if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define if you have the <wctype.h> header file. */
#ifdef _MSC_VER
#define HAVE_WCTYPE_H 1
#endif /* _MSC_VER */
/* Define if you have the i library (-li). */
/* #undef HAVE_LIBI */
/* Define if you have the intl library (-lintl). */
#define HAVE_LIBINTL 1
/* define if compiled symbols have a leading underscore */
/* #undef WITH_SYMBOL_UNDERSCORE */
/* Define if you have the Wintab programmer's kit */
#define HAVE_WINTAB 1
/* Define if you have the <dimm.h> header file
* (available in the Platform SDK)
*/
/* #define HAVE_DIMM_H 1 */

341
config.sub vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
@@ -98,11 +98,21 @@ case $os in
os=
basic_machine=$1
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=vxworks
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco5)
os=sco3.2v5
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
@@ -121,6 +131,9 @@ case $os in
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -150,19 +163,26 @@ case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 \
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
| mipstx39 | mipstx39el \
| sparc | sparclet | sparclite | sparc64 | v850)
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
| 580 | i960 | h8300 \
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
| alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
| mips64vr5000 | miprs64vr5000el \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
| thumb | d10v)
basic_machine=$basic_machine-unknown
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65)
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i[3456]86)
i[34567]86)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
@@ -171,27 +191,44 @@ case $basic_machine in
exit 1
;;
# Recognize the basic CPU types with company name.
vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \
vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* \
| alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
| xmp-* | ymp-* \
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
| alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
| clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
| mipstx39-* | mipstx39el-* \
| f301-*)
| f301-* | armv*-* | t3e-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
| thumb-* | v850-* | d30v-* | tic30-* | c30-* )
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-unknown
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
@@ -221,6 +258,10 @@ case $basic_machine in
basic_machine=m68k-apollo
os=-sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -297,6 +338,10 @@ case $basic_machine in
encore | umax | mmax)
basic_machine=ns32k-encore
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;;
fx2800)
basic_machine=i860-alliant
;;
@@ -315,6 +360,14 @@ case $basic_machine in
basic_machine=h8300-hitachi
os=-hms
;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
@@ -330,13 +383,30 @@ case $basic_machine in
basic_machine=m68k-hp
os=-hpux
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
hp9k6[0-9][0-9] | hp6[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
basic_machine=hppa1.1-hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
@@ -345,27 +415,51 @@ case $basic_machine in
hppa-next)
os=-nextstep3
;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i[3456]86v32)
i[34567]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i[3456]86v4*)
i[34567]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i[3456]86v)
i[34567]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i[3456]86sol2)
i[34567]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
i386-vsta | vsta)
basic_machine=i386-unknown
os=-vsta
;;
i386-go32 | go32)
basic_machine=i386-unknown
os=-go32
;;
i386-mingw32 | mingw32)
basic_machine=i386-unknown
os=-mingw32
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
@@ -394,6 +488,10 @@ case $basic_machine in
miniframe)
basic_machine=m68000-convergent
;;
*mint | *MiNT)
basic_machine=m68k-atari
os=-mint
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux-gnu
@@ -408,10 +506,26 @@ case $basic_machine in
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
;;
msdos)
basic_machine=i386-unknown
os=-msdos
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder)
basic_machine=armv4l-corel
os=-linux
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
@@ -424,6 +538,10 @@ case $basic_machine in
basic_machine=mips-sony
os=-newsos
;;
necv70)
basic_machine=v70-nec
os=-sysv
;;
next | m*-next )
basic_machine=m68k-next
case $os in
@@ -449,9 +567,25 @@ case $basic_machine in
basic_machine=i960-intel
os=-nindy
;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
np1)
basic_machine=np1-gould
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
;;
os68k)
basic_machine=m68k-none
os=-os68k
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
@@ -469,25 +603,23 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5)
basic_machine=i586-intel
pentium | p5 | k5 | k6 | nexen)
basic_machine=i586-pc
;;
pentiumpro | p6)
basic_machine=i686-intel
pentiumpro | p6 | 6x86)
basic_machine=i686-pc
;;
pentium-* | p5-*)
pentiumii | pentium2)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-*)
pentiumpro-* | p6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
k5)
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
basic_machine=i586-amd
;;
nexen)
# We don't have specific support for Nexgen yet, so just call it a Pentium
basic_machine=i586-nexgen
pentiumii-* | pentium2-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
@@ -507,12 +639,20 @@ case $basic_machine in
ps2)
basic_machine=i386-ibm
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
sequent)
basic_machine=i386-sequent
;;
@@ -520,6 +660,10 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
sparclite-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
@@ -527,6 +671,13 @@ case $basic_machine in
spur)
basic_machine=spur-unknown
;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;;
sun2)
basic_machine=m68000-sun
;;
@@ -571,6 +722,10 @@ case $basic_machine in
basic_machine=i386-sequent
os=-dynix
;;
t3e)
basic_machine=t3e-cray
os=-unicos
;;
tx39)
basic_machine=mipstx39-unknown
;;
@@ -588,6 +743,10 @@ case $basic_machine in
basic_machine=a29k-nyu
os=-sym1
;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv)
basic_machine=vax-dec
os=-sysv
@@ -611,6 +770,14 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
w65*)
basic_machine=w65-wdc
os=-none
;;
w89k-*)
basic_machine=hppa1.1-winbond
os=-proelf
;;
xmp)
basic_machine=xmp-cray
os=-unicos
@@ -618,6 +785,10 @@ case $basic_machine in
xps | xps100)
basic_machine=xps100-honeywell
;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
none)
basic_machine=none-none
os=-none
@@ -625,6 +796,15 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k)
basic_machine=hppa1.1-winbond
;;
op50n)
basic_machine=hppa1.1-oki
;;
op60c)
basic_machine=hppa1.1-oki
;;
mips)
if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
@@ -647,7 +827,7 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
sparc)
sparc | sparcv9)
basic_machine=sparc-sun
;;
cydra)
@@ -659,6 +839,16 @@ case $basic_machine in
orion105)
basic_machine=clipper-highlevel
;;
mac | mpw | mac-mpw)
basic_machine=m68k-apple
;;
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
c4x*)
basic_machine=c4x-none
os=-coff
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
@@ -712,13 +902,21 @@ case $os in
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv*)
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -macos* | -mpw* | -magic* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@@ -743,6 +941,9 @@ case $os in
-acis*)
os=-aos
;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*)
os=-sysv
;;
@@ -774,9 +975,18 @@ case $os in
# This must come after -sysvr4.
-sysv*)
;;
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix)
os=-xenix
;;
-*mint | -*MiNT)
os=-mint
;;
-none)
;;
*)
@@ -802,6 +1012,9 @@ case $basic_machine in
*-acorn)
os=-riscix1.2
;;
arm*-corel)
os=-linux
;;
arm*-semi)
os=-aout
;;
@@ -823,15 +1036,36 @@ case $basic_machine in
# default.
# os=-sunos4
;;
m68*-cisco)
os=-aout
;;
mips*-cisco)
os=-elf
;;
mips*-*)
os=-elf
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
*-be)
os=-beos
;;
*-ibm)
os=-aix
;;
*-wec)
os=-proelf
;;
*-winbond)
os=-proelf
;;
*-oki)
os=-proelf
;;
*-hp)
os=-hpux
;;
@@ -895,6 +1129,18 @@ case $basic_machine in
f301-fujitsu)
os=-uxpv
;;
*-rom68k)
os=-coff
;;
*-*bug)
os=-coff
;;
*-apple)
os=-macos
;;
*-atari*)
os=-mint
;;
*)
os=-none
;;
@@ -916,9 +1162,15 @@ case $basic_machine in
-aix*)
vendor=ibm
;;
-beos*)
vendor=be
;;
-hpux*)
vendor=hp
;;
-mpeix*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
@@ -946,6 +1198,15 @@ case $basic_machine in
-aux*)
vendor=apple
;;
-hms*)
vendor=hitachi
;;
-mpw* | -macos*)
vendor=apple
;;
-*mint | -*MiNT)
vendor=atari
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;

View File

@@ -1,9 +1,24 @@
# Process this file with autoconf to produce a configure script.
AC_INIT(gdk/gdktypes.h)
# In the following, there are a the following variants
# of GLib cflags and libs variables
#
# GLIB_CFLAGS: cflags for compiling libraries and example progs
# GLIB_LIBS: libraries for linking example programs
# GLIB_DEPLIBS: libraries for linking libraries against
# glib_cflags: cflags to store in gtk-config
# glib_libs: libs to store in gtk-config
# glib_thread_cflags: cflags to store in gtk-config for gtk-config gthread
# glib_thread_libs: libs to store in gtk-config for gtk-config gthread
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}
dnl we to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
dnl are available for $ac_help expansion (don't we all *love* autoconf?)
AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
#
# Making releases:
# GTK_MICRO_VERSION += 1;
# GTK_INTERFACE_AGE += 1;
@@ -13,11 +28,14 @@ cflags_set=${CFLAGS+set}
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
#
GTK_MAJOR_VERSION=1
GTK_MINOR_VERSION=1
GTK_MINOR_VERSION=3
GTK_MICRO_VERSION=0
GTK_INTERFACE_AGE=0
GTK_BINARY_AGE=0
GTK_VERSION=$GTK_MAJOR_VERSION.$GTK_MINOR_VERSION.$GTK_MICRO_VERSION
dnl
AC_DIVERT_POP()dnl
AC_SUBST(GTK_MAJOR_VERSION)
AC_SUBST(GTK_MINOR_VERSION)
AC_SUBST(GTK_MICRO_VERSION)
@@ -56,27 +74,40 @@ AM_MAINTAINER_MODE
AC_CANONICAL_HOST
dnl figure debugging default, prior to $ac_help setup
dnl
AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
if test `expr $GTK_MINOR_VERSION \% 2` = 1 ; then
debug_default=yes
else
debug_default=minimum
fi
AC_DIVERT_POP()dnl
dnl declare --enable-* args and collect ac_help strings
AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
AC_ARG_ENABLE(shm, [ --enable-shm support shared memory if available [default=yes]],
echo $enable_shm, enable_shm="yes")
AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=minimum]],,enable_debug=minimum)
AC_ARG_ENABLE(ansi, [ --enable-ansi turn on strict ansi [default=no]],
, enable_ansi=no)
AC_ARG_WITH(glib, [ --with-glib=DIR Use uninstalled copy of glib])
AC_ARG_ENABLE(xim, [ --enable-xim support XIM [default=yes]],
echo $enable_xim, enable_xim="yes")
, enable_xim="yes")
AC_ARG_ENABLE(xim_inst, [ --disable-xim-inst does not use xim instantiate callback],
, enable_xim_inst="maybe")
AC_ARG_ENABLE(rebuilds, [ --disable-rebuilds disable all source autogeneration rules],,enable_rebuilds=yes)
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_WITH(threads, [ --with-threads=[posix] support threading ])
if test "x$enable_debug" = "xyes"; then
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
CFLAGS="$CFLAGS -DG_ENABLE_DEBUG"
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
else
if test "x$enable_debug" = "xno"; then
CFLAGS="$CFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DGTK_NO_CHECK_CASTS"
GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DGTK_NO_CHECK_CASTS"
else
CFLAGS="$CFLAGS -DGTK_NO_CHECK_CASTS"
GTK_DEBUG_FLAGS="-DGTK_NO_CHECK_CASTS"
fi
fi
@@ -87,28 +118,83 @@ AM_SANITY_CHECK
# Checks for programs.
AC_PROG_CC
AC_ISC_POSIX
AM_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
changequote(,)dnl
if test "x$GCC" = "xyes"; then
if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then
CFLAGS="$CFLAGS -Wall"
fi
case " $CFLAGS " in
*[\ \ ]-Wall[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wall" ;;
esac
if test "x$enable_ansi" = "xyes"; then
if test -z "`echo "$CFLAGS" | grep "\-ansi" 2> /dev/null`" ; then
CFLAGS="$CFLAGS -ansi"
fi
case " $CFLAGS " in
*[\ \ ]-ansi[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -ansi" ;;
esac
if test -z "`echo "$CFLAGS" | grep "\-pedantic" 2> /dev/null`" ; then
CFLAGS="$CFLAGS -pedantic"
fi
case " $CFLAGS " in
*[\ \ ]-pedantic[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -pedantic" ;;
esac
fi
fi
changequote([,])dnl
AC_MSG_CHECKING([For extra flags to get ANSI library prototypes])
gtk_save_LDFLAGS=$LDFLAGS
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
# define a MAINT-like variable REBUILD which is set if Perl
# and awk are found, so autogenerated sources can be rebuilt
AC_PROG_AWK
AC_CHECK_PROGS(PERL, perl5 perl)
# We would like indent, but don't require it.
AC_CHECK_PROG(INDENT, indent, indent)
REBUILD=\#
if test "x$enable_rebuilds" = "xyes" && \
test -n "$PERL" && \
$PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
test -n "$AWK" ; then
REBUILD=
fi
AC_SUBST(REBUILD)
AC_CHECK_FUNCS(lstat)
AC_MSG_CHECKING(whether make is GNU Make)
STRIP_BEGIN=
STRIP_END=
if $ac_make --version 2>/dev/null | grep '^GNU Make ' >/dev/null ; then
STRIP_BEGIN='$(strip'
STRIP_END=')'
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
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 nl no pl pt pt_BR ru sk sl sv uk wa zh_TW.Big5"
AM_GTK_GNU_GETTEXT
LIBS="$LIBS $INTLLIBS"
# AM_GTK_GNU_GETTEXT above substs $DATADIRNAME
# this is the directory where the *.{mo,gmo} files are installed
gtklocaledir='${prefix}/${DATADIRNAME}/locale'
AC_SUBST(gtklocaledir)
dnl The DU4 header files don't provide library prototypes unless
dnl -std1 is given to the native cc.
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
gtk_save_LIBS=$LIBS
LIBS="$LIBS -lm"
AC_TRY_RUN([#include <math.h>
int main (void) { return (log(1) != log(1.)); }],
@@ -126,9 +212,33 @@ AC_TRY_RUN([#include <math.h>
)
LIBS=$gtk_save_LIBS
if test "x$enable_xim" = "xyes"; then
CFLAGS="$CFLAGS -DUSE_XIM"
fi
MATH_LIB=-lm
GTK_LIBS_EXTRA=
AC_MSG_CHECKING(for the BeOS)
case $host in
*-*-beos*)
AC_MSG_RESULT(yes)
GTK_LIBS_EXTRA="-L\$(top_builddir_full)/gdk/.libs -lgdk"
MATH_LIB=
;;
*)
AC_MSG_RESULT(no)
;;
esac
AC_SUBST(MATH_LIB)
AC_SUBST(GTK_LIBS_EXTRA)
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
CFLAGS="$CFLAGS -posix"
AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
AC_MSG_RESULT(-posix),
AC_MSG_RESULT()
CFLAGS=$gtk_save_CFLAGS
AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
if test x$with_glib = xyes ; then
AC_MSG_ERROR([
@@ -138,27 +248,36 @@ fi
if test x$with_glib = x ; then
# Look for separately installed glib
AM_PATH_GLIB(1.1.0,,
AM_PATH_GLIB(1.3.0,,
AC_MSG_ERROR([
*** GLIB 1.1.0 or better is required. The latest version of GLIB
*** is always available from ftp://ftp.gtk.org.]))
*** GLIB 1.3.0 or better is required. The latest version of GLIB
*** is always available from ftp://ftp.gtk.org/.]),
gmodule gthread)
glib_cflags=$GLIB_CFLAGS
glib_libs=$GLIB_LIBS
# we do not want to make all gtk progs to link to thread libraries.
glib_cflags=`$GLIB_CONFIG glib gmodule --cflags`
glib_thread_cflags="$GLIB_CFLAGS"
glib_libs=`$GLIB_CONFIG glib 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)
if test -x $with_glib/glib-config ; then
GLIB_CONFIG=$with_glib/glib-config
if test -x $GLIB_CONFIG ; then
:
else
AC_MSG_ERROR([GLIB directory ($with_glib) not present or not configured])
fi
# For use in gtk-config
glib_cflags=`$with_glib/glib-config --cflags`
glib_libs=`$with_glib/glib-config --libs`
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_release=`$with_glib/glib-config --version | sed 's%\\.[[0-9]]*$%%'`
glib_release=`$GLIB_CONFIG --version | sed 's%\\.[[0-9]]*$%%'`
# canonicalize relative paths
case $with_glib in
@@ -170,8 +289,9 @@ else
;;
esac
GLIB_CFLAGS="-I$glib_dir"
GLIB_LIBS=$glib_dir/libglib-$glib_release.la
GLIB_CFLAGS="-I$glib_dir -I$glib_dir/gmodule"
GLIB_LIBS="$glib_dir/libglib.la $glib_dir/gmodule/libgmodule.la"
GLIB_DEPLIBS=
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
@@ -179,6 +299,13 @@ fi
AC_SUBST(glib_cflags)
AC_SUBST(glib_libs)
AC_SUBST(glib_thread_cflags)
AC_SUBST(glib_thread_libs)
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
@@ -234,6 +361,35 @@ AC_CHECK_LIB(X11, XConvertCase,
,
$x_libs)
# Check for XIM support.
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.
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)
fi
fi
x_cflags="$X_CFLAGS"
x_ldflags="$X_LDFLAGS $X_LIBS"
@@ -250,14 +406,11 @@ else
AC_DEFINE(XINPUT_NONE)
fi
# Threads
AM_CONDITIONAL(XINPUT_GXI, test x$with_xinput = xgxi)
AM_CONDITIONAL(XINPUT_XFREE, test x$with_xinput = xxfree)
if test "x$with_threads" = "xposix" || test "x$with_threads" = "xyes"; then
AC_CHECK_LIB(pthread, pthread_attr_init,
AC_DEFINE(USE_PTHREADS)
x_libs="$x_libs -lpthread"
CFLAGS="$CFLAGS -D_REENTRANT")
fi
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
AC_SUBST(x_cflags)
AC_SUBST(x_includes)
@@ -265,46 +418,11 @@ AC_SUBST(x_ldflags)
AC_SUBST(x_libs)
AC_SUBST(xinput_progs)
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
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 whether shmctl IPC_RMID allowes subsequent attaches
if test "$ac_cv_header_sys_shm_h" = "yes"; then
AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int main()
{
int id;
char *shmaddr;
id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0777);
if (id == -1)
exit (2);
shmaddr = shmat (id, 0, 0);
shmctl (id, IPC_RMID, 0);
if ((char*) shmat (id, 0, 0) == (char*) -1)
{
shmdt (shmaddr);
exit (1);
}
shmdt (shmaddr);
shmdt (shmaddr);
exit (0);
}
],
AC_DEFINE(IPC_RMID_DEFERRED_RELEASE)
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no),
AC_MSG_RESULT(assuming no))
fi
# Check for the X shared memory extension header file
AC_MSG_CHECKING(X11/extensions/XShm.h)
if test "x$no_xext_lib" = "xyes"; then
@@ -321,27 +439,6 @@ if test "x$enable_shm" = "xyes"; then
fi
fi
# Check for private display resource base variable
AC_MSG_CHECKING(resource base field in XDisplay)
AC_CACHE_VAL(gtk_cv_display_resource_base,
[AC_TRY_RUN([
#define XLIB_ILLEGAL_ACCESS
#include <X11/Xlib.h>
int
main ()
{
Display *display;
return 0;
display->resource_base;
}],
gtk_cv_display_resource_base="resource_base",
gtk_cv_display_resource_base="private3")])
AC_MSG_RESULT($gtk_cv_display_resource_base)
AC_DEFINE_UNQUOTED(RESOURCE_BASE, gdk_display->$gtk_cv_display_resource_base)
# Check if X_LOCALE definition is necessary
AC_MSG_CHECKING(need -DX_LOCALE)
@@ -360,7 +457,7 @@ need_x_locale=yes)
AC_MSG_RESULT($need_x_locale)
if test $need_x_locale = yes; then
CFLAGS="$CFLAGS -DX_LOCALE"
GTK_LOCALE_CFLAGS="-DX_LOCALE"
fi
# Checks for header files.
@@ -369,9 +466,6 @@ AC_HEADER_STDC
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
# Checks for endianness (needed by GdkRgb).
AC_C_BIGENDIAN
# Checks for library functions.
AC_TYPE_SIGNAL
AC_FUNC_MMAP
@@ -393,11 +487,144 @@ else
fi
fi
# `widechar' tests for gdki18n.h
AC_MSG_CHECKING(for wchar.h)
AC_TRY_CPP([#include <wchar.h>], gdk_wchar_h=yes, gdk_wchar_h=no)
if test $gdk_wchar_h = yes; then
AC_DEFINE(HAVE_WCHAR_H,1,[Have wchar.h include file])
fi
AC_MSG_RESULT($gdk_wchar_h)
# Check for wctype.h (for iswalnum)
AC_MSG_CHECKING(for wctype.h)
AC_TRY_CPP([#include <wctype.h>], gdk_wctype_h=yes, gdk_wctype_h=no)
if test $gdk_wctype_h = yes; then
AC_DEFINE(HAVE_WCTYPE_H,1,[Have wctype.h include file])
fi
AC_MSG_RESULT($gdk_wctype_h)
# in Solaris 2.5, `iswalnum' is in -lw
GDK_WLIBS=
AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)])
oLIBS="$LIBS"
LIBS="$LIBS $GDK_WLIBS"
# The following is necessary for Linux libc-5.4.38
AC_MSG_CHECKING(if iswalnum() and friends are properly defined)
AC_TRY_LINK([#include <stdlib.h>],[
#if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H))
# ifdef HAVE_WCTYPE_H
# include <wctype.h>
# else
# ifdef HAVE_WCHAR_H
# include <wchar.h>
# endif
# endif
#else
# define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c))
#endif
iswalnum((wchar_t) 0);
], gdk_working_wctype=yes, gdk_working_wctype=no)
LIBS="$oLIBS"
if test $gdk_working_wctype = no; then
AC_DEFINE(HAVE_BROKEN_WCTYPE,1,[Is the wctype implementation broken])
GDK_WLIBS=
fi
AC_MSG_RESULT($gdk_working_wctype)
AC_SUBST(GDK_WLIBS)
AC_SUBST(GTK_DEBUG_FLAGS)
AC_SUBST(GTK_XIM_FLAGS)
AC_SUBST(GTK_LOCALE_FLAGS)
AC_OUTPUT_COMMANDS([
## Generate `gdk/gdkconfig.h' in two cases
## 1. `config.status' is run either explicitly, or via configure.
## Esp. not when it is run in `Makefile' to generate makefiles and
## config.h
## 2. CONFIG_OTHER is set explicitly
##
## Case 1 is difficult. We know that `automake' sets one of
## CONFIG_FILES or CONFIG_HEADERS to empty. This heuristic works
## only when AM_CONFIG_HEADER is set, however.
if test -n "${CONFIG_FILES}" && test -n "${CONFIG_HEADERS}"; then
# Both CONFIG_FILES and CONFIG_HEADERS are non-empty ==> Case 1
CONFIG_OTHER=${CONFIG_OTHER:-gdk/gdkconfig.h}
fi
case "$CONFIG_OTHER" in
*gdk/gdkconfig.h*)
echo creating gdk/gdkconfig.h
outfile=gdkconfig.h-tmp
cat > $outfile <<\_______EOF
/* gdkconfig.h
*
* This is a generated file. Please modify `configure.in'
*/
#ifndef GDKCONFIG_H
#define GDKCONFIG_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
_______EOF
cat >>$outfile <<_______EOF
$gdk_windowing
$gdk_wc
_______EOF
cat >>$outfile <<_______EOF
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GDKCONFIG_H */
_______EOF
if cmp -s $outfile gdk/gdkconfig.h; then
echo gdk/gdkconfig.h is unchanged
rm -f $outfile
else
mv $outfile gdk/gdkconfig.h
fi ;;
esac
],[
# Currently we always use X11 on those systems where we run configure...
gdk_windowing='
#define GDK_WINDOWING_X11'
if test x$gdk_wchar_h = xyes; then
gdk_wc='
#define GDK_HAVE_WCHAR_H 1'
fi
if test x$gdk_wctype_h = xyes; then
gdk_wc="\$gdk_wc
#define GDK_HAVE_WCTYPE_H 1"
fi
if test x$gdk_working_wctype = xno; then
gdk_wc="\$gdk_wc
#define GDK_HAVE_BROKEN_WCTYPE 1"
fi
])
AC_OUTPUT([
gtk+.spec
docs/gtk-config.1
Makefile
gtk-config
po/Makefile.in
docs/Makefile
gdk/Makefile
gdk/x11/Makefile
gtk/Makefile
gtk/gtkfeatures.h
gtk/gtkcompat.h
], [chmod +x gtk-config])

62
debian/build vendored Executable file
View File

@@ -0,0 +1,62 @@
#!/usr/bin/perl -w
# Adjust debian/changelog and build a new
# Debian package of a CVS archive.
# Written 17 November 1998 by Ben Gertzfield
# <che@debian.org>
# This work is released under the GNU
# General Public License, version 2 or
# later.
use strict;
use diagnostics;
use File::Copy;
my $maintainer = 'Ben Gertzfield <che@debian.org>';
my @date = localtime;
my $datestr = sprintf("%d%.2d%.2d", $date[5] + 1900, $date[4] + 1, $date[3]);
my $revision = '01';
open (CHANGELOG, 'debian/changelog') or die "Couldn't open debian/changelog: $!\n";
$_ = <CHANGELOG>;
chomp;
close CHANGELOG;
my ($package, $last_date, $last_revision) = /^(.*?) \((.*?)\.(.*)?\)/;
if ($last_date eq $datestr) {
$revision = sprintf("%.2d", $last_revision + 1);
}
my $new_version = "$datestr.$revision";
copy('debian/changelog', 'debian/changelog.old') or die "Couldn't copy debian/changelog to debian/changelog.old: $!\n";
open(NEWCHANGELOG, ">debian/changelog") or die "Couldn't open debian/changelog for writing: $!\n";
print NEWCHANGELOG "$package ($new_version) unstable; urgency=low\n\n * CVS snapshot build at " . scalar localtime() . "\n\n -- $maintainer " . `date -R` . "\n";
open(OLDCHANGELOG, "debian/changelog.old") or die "Couldn't open debian/changelog.old: $!\n";
while (<OLDCHANGELOG>) {
print NEWCHANGELOG;
}
close OLDCHANGELOG;
close NEWCHANGELOG;
unlink('debian/changelog.old') or die "Couldn't unlink debian/changelog.old: $!\n";
open(NEWVERSION, '>debian/version') or die "Couldn't open debian/version for writing: $!\n";
print NEWVERSION "$new_version\n";
close NEWVERSION;
system('dpkg-buildpackage -b -rfakeroot -us -uc');
unlink 'debian/version' or die "Couldn't unlink debian/version: $!\n";

165
debian/changelog vendored
View File

@@ -1,167 +1,8 @@
gtk+ (1:0.99.8-1) unstable; urgency=low
gtk+-cvs (19981116.01) unstable; urgency=low
* New upstream version.
* New file included in libgtk-dev: /usr/share/aclocal/gtk.m4,
to help autoconf/automake developers use gtk and gtk-config
more easily.
* New file included in libgtk-doc: /usr/doc/libgtk-doc/gtk-config.txt
Please refer to this doc when developing for gtk or compiling
and running into odd path-related errors.
-- Ben Gertzfield <che@debian.org> Thu, 19 Mar 1998 19:58:53 -0800
* First test build from CVS
gtk+ (1:0.99.7-4) frozen unstable; urgency=low
* Rebuild with native Debian libtool to have libraries properly
linked with libc and libX et al.
-- Ben Gertzfield <che@debian.org> Tue, 17 Mar 1998 16:05:13 -0800
gtk+ (1:0.99.7-3) frozen unstable; urgency=low
* Accidentally included all the html docs in /usr/doc/libgtk-doc/faq-html;
moved the tutorial into /usr/doc/libgtk-doc/tutorial-html.
* Included the Italian Gtk+ Tutorial in
/usr/doc/libgtk-doc/italian-tutorial-html.
-- Ben Gertzfield <che@debian.org> Mon, 16 Mar 1998 22:39:57 -0800
gtk+ (1:0.99.7-2) unstable; urgency=low
* Upstream source added a /usr/lib/glib/ directory that I didn't
notice; included this directory in libgtk-dev.
* Realized that Xinput support was broken because I was doing
./configure --enable-xinput=xfree instead of ./configure
--with-xinput=xfree. Fixed.
-- Ben Gertzfield <che@debian.org> Sun, 15 Mar 1998 19:17:05 -0800
gtk+ (1:0.99.7-1) unstable; urgency=low
* New upstream release -- THIS IS INCOMPATIBLE WITH OLDER RELEASES!
All Gtk-using packages *will* need patches to work with this Gtk!
* Upstream release includes 'gtk-config' script to check installed
version of Gtk; included said script in libgtk-dev in /usr/bin.
-- Ben Gertzfield <che@debian.org> Sun, 15 Mar 1998 11:03:03 -0800
gtk+ (1:0.99.5-2) unstable; urgency=low
* Modified libgtk-doc to Replace: libgtk-dev (<< 1:0.99.4) to
deal with both packages including the same .info files.
Fixes bug #19533.
* Also noticed that libgtk-dev depended on libgtk1 without
an epoch! Fixed.
-- Ben Gertzfield <che@debian.org> Thu, 12 Mar 1998 13:37:11 -0800
gtk+ (1:0.99.5-1) unstable; urgency=low
* Wow, that was quick, a new upstream version.
-- Ben Gertzfield <che@debian.org> Mon, 9 Mar 1998 22:08:08 -0800
gtk+ (1:0.99.4-3) unstable; urgency=low
* Recompiled with --enable-xinput=xfree to enable Wacom pads
and other physical input devices.
-- Ben Gertzfield <che@debian.org> Mon, 9 Mar 1998 21:26:07 -0800
gtk+ (1:0.99.4-2) unstable; urgency=MEDIUM
* Ack! The shlibs file makes things depend on libgtk1 (>= 0.99.4)
rather than (>= 1:0.99.4)! Fixes bug #19134.
-- Ben Gertzfield <che@debian.org> Sat, 7 Mar 1998 23:57:33 -0800
gtk+ (1:0.99.4-1) unstable; urgency=low
* New upstream version.
* Recompiled with new debhelper to remove du warnings.
* Upstream source is named gtk+, not libgtk1. Changed source name.
* Removed --disable-xim in hopes that xim is no longer broken.
* Removed testgtk at the behest of the Gtk developers until I can
come up with a better solution, probably related to:
* the new libgtk-doc package! :) libgtk-doc contains the Gtk FAQ,
the Gtk Tutorial, and the Gtk info files.
-- Ben Gertzfield <che@debian.org> Tue, 3 Mar 1998 22:23:47 -0800
libgtk1 (1:0.99.3-2) unstable; urgency=low
* Created manpage for testgtk program.
* Fixed copyright mention to LGPL.gz to be just LGPL.
* This fixes all known lintian errors.
-- Ben Gertzfield <che@debian.org> Wed, 11 Feb 1998 14:07:17 -0800
libgtk1 (1:0.99.3-1) unstable; urgency=low
* New upstream version.
* Include the testgtk binary in libgtk-dev.
-- Ben Gertzfield <che@debian.org> Sat, 24 Jan 1998 15:30:09 -0800
libgtk1 (1:0.99.2-2) unstable; urgency=low
* Fixed shlibs file to specify version >=1:0.99.2.
* Renamed debian/postinst.libgtk1 to debian/postinst, so debhelper
would actually install it.
-- Ben Gertzfield <che@debian.org> Mon, 5 Jan 1998 12:22:46 -0800
libgtk1 (1:0.99.2-1) unstable; urgency=low
* New upstream version.
-- Ben Gertzfield <che@debian.org> Sun, 4 Jan 1998 00:21:21 -0800
libgtk1 (1:0.99.0-1) unstable; urgency=medium
* New upstream version with new numbering scheme, went to epoch :1
correspondingly.
* Hopefully fixed entry-field bug.
* Converted to use debhelper.
-- Ben Gertzfield <che@debian.org> Mon, 15 Dec 1997 12:02:25 -0800
libgtk1 (971201-1) unstable; urgency=low
* New upstream version.
* Fixed copyright to say LGPL, not GPL. (bug #14867)
* Re-added postinst ldconfig call. (bug #14213)
* Info files should be correct now. (bugs #14773, #15143)
-- Ben Gertzfield <che@debian.org> Mon, 1 Dec 1997 16:41:50 -0800
libgtk1 (971109-1) unstable; urgency=low
* New upstream version.
* Name is really 'GIMP Tool Kit', not 'General Tool Kit'.
-- Ben Gertzfield <che@debian.org> Mon, 10 Nov 1997 16:15:27 -0800
libgtk1 (970925-3) unstable; urgency=low
* Moved the include files to /usr/include/{gtk,gdk}.
* Removed postinst/postrm ldconfig calls, fixes old gimp bug #13773.
-- Ben Gertzfield <che@debian.org> Fri, 17 Oct 1997 17:06:10 -0700
libgtk1 (970925-2) unstable; urgency=low
* Added the shlibs file.
* Removed the postinst/postrm calls to ldconfig, fixes bug #13733.
-- Ben Gertzfield <che@debian.org> Fri, 10 Oct 1997 17:55:39 -0700
libgtk1 (970925-1) unstable; urgency=low
* New upstream version.
* Split off source tree from gimp's source tree.
-- Ben Gertzfield <che@debian.org> Mon, 29 Sep 1997 13:14:45 -0700
-- Ben Gertzfield <che@debian.org> Tue, 17 Nov 1998 12:02:13 -0800
Local variables:
mode: debian-changelog

70
debian/control vendored
View File

@@ -1,41 +1,81 @@
Source: gtk+
Priority: optional
Source: gtk+-cvs
Priority: extra
Section: libs
Maintainer: Ben Gertzfield <che@debian.org>
Standards-Version: 2.4.0.0
Package: libgtk1
Package: libgtk-cvs-1.1
Architecture: any
Section: libs
Depends: ${shlibs:Depends}
Description: The GIMP Toolkit set of widgets for X
Conflicts: libgtk-dev (<< 1:1.0.2), libgtk1.1
Description: CVS build of the GIMP Toolkit set of widgets for X
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
.
The GIMP Toolkit is a freely available set of widgets for X.
GTK is easy to use, and has been implemented in such projects as
The GNU Image Manipulation Program (The GIMP), GNOME, a GNU
desktop set of utilities for X, and gzilla, a GNU web-browser.
.
This is the unstable 1.1 branch of GTK. It is not intended for use
with stable projects!
Package: libgtk-dev
Package: libgtk-cvs-dev
Architecture: any
Section: devel
Depends: libgtk1 (>= 1:0.99.8)
Suggests: libgtk-doc
Replaces: libgtk1 (<= 0.99.7)
Description: Header files and static libraries for the GIMP Toolkit
Depends: libgtk-cvs-1.1 (=${Source-Version}), libglib-cvs-dev
Suggests: libgtk-cvs-doc
Provides: libgtk1.1-dev
Replaces: libgtk1.1-dev
Conflicts: libgtk-dev, libgtk1 (<< 1:1.0.4), libgtk1.1-dev
Description: CVS build of development files for the GIMP Toolkit
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
.
This package contains the header files and static libraries for the
GIMP Toolkit set of widgets for X.
.
This is the unstable, 1.1 branch of GTK+. This is not intended for
use with stable releases of programs!
.
Install this package if you wish to develop your own X programs using
the GIMP Toolkit, or if you wish to compile your own plug-ins for
the GIMP Toolkit 1.1, or if you wish to compile your own plug-ins for
The GIMP.
Package: libgtk-doc
Package: libgtk-cvs-doc
Architecture: all
Section: docs
Replaces: libgtk-dev (<< 1:0.99.4)
Description: Documentation and example code for the GIMP Toolkit
Section: doc
Conflicts: libgtk-dev (<< 1:0.99.4), libgtk-doc, libgtk1.1-doc
Description: CVS build of documentation for the GIMP Toolkit
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
.
This package contains lots of info-files, HTML docs, FAQs, and
other handy documentation about the GIMP Toolkit set of widgets
for X.
for X.
.
This package documents the unstable 1.1 release of the GIMP Toolkit.
.
Install this package if you want to have lots of info about the
GIMP toolkit when you're programming.
Package: libgtk-cvs-dbg
Architecture: any
Section: devel
Depends: libgtk-cvs-1.1 (= ${Source-Version}), libgtk-cvs-dev (= ${Source-Version})
Suggests: libgtk-cvs-doc
Conflicts: libgtk1.1-dbg
Description: CVS build of debugging files for the GIMP Toolkit
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
.
This package contains the debugging static libraries for the
GIMP Toolkit set of widgets for X.
.
This is the unstable, 1.1 branch of GTK+. This is not intended for
use with stable releases of programs!
.
Install this package if you wish to debug your own X programs using
the GIMP Toolkit 1.1, or if you wish to debug your own plug-ins for
The GIMP.

6
debian/copyright vendored
View File

@@ -1,7 +1,7 @@
This package was debianized by Ben Gertzfield che@imsa.edu on
Tue, 22 Jul 1997 20:53:20 -0500
This package was debianized by Ben Gertzfield <che@debian.org> on
Tue, 17 Nov 1998 12:07:17 -0800
It was downloaded from ftp.gimp.org.
It was produced from the CVS repository at cvs.gimp.org.
It may be redistributed under the terms of the GNU LGPL, Version 2 or
later, found on Debian systems in the file /usr/doc/copyright/LGPL.

9
debian/libgtk-cvs-dev.files vendored Normal file
View File

@@ -0,0 +1,9 @@
usr/lib/libgdk.so
usr/lib/libgdk.a
usr/lib/libgtk.so
usr/lib/libgtk.a
usr/include/gdk/
usr/include/gtk/
usr/bin/gtk-config
usr/man/man1/gtk-config.1
usr/share/aclocal/gtk.m4

View File

@@ -2,6 +2,4 @@
set -e
ldconfig
#DEBHELPER#

8
debian/libgtk-cvs-doc.files vendored Normal file
View File

@@ -0,0 +1,8 @@
usr/info/gdk.info
usr/info/gtk.info
usr/info/gtk.info-1
usr/info/gtk.info-2
usr/info/gtk.info-3
usr/info/gtk.info-4
usr/info/gtk.info-5

View File

@@ -8,7 +8,4 @@ install-info --quiet --description="The GIMP Toolkit." \
install-info --quiet --description="The GIMP Drawing Kit." \
--section "The GIMP" "The GIMP" /usr/info/gdk.info.gz
install-info --quiet --description="The GIMP Library." \
--section "The GIMP" "The GIMP" /usr/info/glib.info.gz
#DEBHELPER#

View File

@@ -2,7 +2,6 @@
set -e
install-info --quiet --remove gtk
install-info --quiet --remove glib
install-info --quiet --remove gdk
#DEBHELPER#

196
debian/rules vendored
View File

@@ -1,27 +1,50 @@
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# debian/rules file for gtk+ Debian package
# written April 1998 by Ben Gertzfield <che@debian.org
build: build-stamp
build-stamp:
dh_testdir
# Add here commands to compile the package.
./configure --prefix=/usr --with-xinput=xfree
./autogen.sh --prefix=/usr --with-xinput=xfree
$(MAKE)
cd docs && make -f Makefile.sgml
cd docs && make distdocs
cd ..
touch build-stamp
build-dbg: build-dbg-stamp
build-dbg-stamp:
dh_testdir
./configure --prefix=/usr --with-xinput=xfree --enable-debug=yes
$(MAKE)
touch build-dbg-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
rm -f build-stamp build-dbg-stamp install-stamp install-dbg-stamp
# Add here commands to clean up after the build process.
-$(MAKE) clean
cd docs
-$(MAKE) maintainer-clean
cd ..
-$(MAKE) distclean
-rm docs/*.html
find . -name '*.o' -o -name '_libs' -o -name '*.lo' -o -name '*.a' -o -name '.deps' | xargs rm -rf
dh_clean
clean-dbg:
dh_testdir
dh_testroot
rm -f build-stamp build-dbg-stamp install-stamp install-dbg-stamp
# Add here commands to clean up after the build process.
-$(MAKE) clean
cd docs
-$(MAKE) maintainer-clean
cd ..
-$(MAKE) distclean
find . -name '*.o' -o -name '_libs' -o -name '*.lo' -o -name '*.a' -o -name '.deps' | xargs rm -rf
dh_clean -k
install: install-stamp
install-stamp: build
dh_testdir
@@ -30,88 +53,105 @@ install-stamp: build
$(MAKE) prefix=`pwd`/debian/tmp/usr install
touch install-stamp
install-dbg: install-dbg-stamp
install-dbg-stamp: build-dbg
dh_testdir
dh_testroot
dh_clean -k
$(MAKE) prefix=`pwd`/debian/libgtk-cvs-dbg/usr install
touch install-dbg-stamp
# Build architecture-independent files here.
binary-indep: build install libgtk-doc
binary-indep: build install libgtk-cvs-doc
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install libgtk-dev libgtk1
binary-arch: build install libgtk-cvs-dev libgtk-cvs-1.1 libgtk-cvs-dbg
libgtk1: build
dh_testdir -plibgtk1
dh_testroot -plibgtk1
# dh_clean -plibgtk1
dh_installdirs -plibgtk1
libgtk-cvs-1.1: build
dh_testdir -plibgtk-cvs-1.1
dh_testroot -plibgtk-cvs-1.1
dh_installdirs -plibgtk-cvs-1.1
# Add here commands to install the files into debian/tmp
rm -rf debian/tmp/usr/bin debian/tmp/usr/include debian/tmp/usr/info debian/tmp/usr/lib/glib debian/tmp/usr/share
# dh_movefiles -plibgtk1
# $(MAKE) prefix=`pwd`/debian/tmp/usr install
# rmdir debian/tmp/usr/bin
# rm debian/tmp/usr/lib/*.{so,la,a}
# rm -rf debian/tmp/usr/{include,info}
dh_installdocs -plibgtk1
dh_installchangelogs -plibgtk1
dh_strip -plibgtk1
dh_compress -plibgtk1
dh_fixperms -plibgtk1
dh_installdeb -plibgtk1
dh_shlibdeps -plibgtk1
dh_gencontrol -plibgtk1
dh_makeshlibs -plibgtk1 -V 'libgtk1 (>= 1:0.99.7)'
# echo "libglib 1 libgtk1 (>=0.99.4)" >> debian/tmp/DEBIAN/shlibs
# echo "libgtk 1 libgtk1 (>=0.99.4)" >> debian/tmp/DEBIAN/shlibs
# echo "libgdk 1 libgtk1 (>=0.99.4)" >> debian/tmp/DEBIAN/shlibs
dh_md5sums -plibgtk1
dh_builddeb -plibgtk1
rm -rf debian/tmp/usr/bin debian/tmp/usr/include debian/tmp/usr/info debian/tmp/usr/lib/glib debian/tmp/usr/share/aclocal debian/tmp/usr/man debian/tmp/usr/lib/*.la
dh_installdocs -plibgtk-cvs-1.1
dh_installchangelogs -plibgtk-cvs-1.1
dh_strip -plibgtk-cvs-1.1
dh_compress -plibgtk-cvs-1.1
dh_fixperms -plibgtk-cvs-1.1
dh_installdeb -plibgtk-cvs-1.1
dh_shlibdeps -plibgtk-cvs-1.1
dh_gencontrol -plibgtk-cvs-1.1
dh_makeshlibs -plibgtk-cvs-1.1 -V 'libgtk-cvs-1.1 (='`cat debian/version`')'
dh_md5sums -plibgtk-cvs-1.1
dh_builddeb -plibgtk-cvs-1.1
libgtk-dev: build
dh_testdir -plibgtk-dev
dh_testroot -plibgtk-dev
dh_clean -plibgtk-dev -k
dh_installdirs -plibgtk-dev
libgtk-cvs-dev: build
dh_testdir -plibgtk-cvs-dev
dh_testroot -plibgtk-cvs-dev
dh_clean -plibgtk-cvs-dev -k
dh_installdirs -plibgtk-cvs-dev
# Add here commands to install the files into debian/tmp
dh_movefiles -plibgtk-dev
dh_movefiles -plibgtk-cvs-dev
cp gtk-config debian/tmp/usr/bin
# $(MAKE) prefix=`pwd`/debian/libgtk-dev/usr install
# find debian/libgtk-dev/usr/lib \( -type f -or -type l \) -and ! \( -name \*.so -or -name \*.a \) | xargs rm
# cp gtk/.libs/testgtk debian/libgtk-dev/usr/bin
# cp debian/testgtk.1 debian/libgtk-dev/usr/man/man1
dh_installdocs -plibgtk-dev
dh_installchangelogs -plibgtk-dev
dh_strip -plibgtk-dev
dh_compress -plibgtk-dev
dh_fixperms -plibgtk-dev
dh_installdeb -plibgtk-dev
dh_shlibdeps -plibgtk-dev
dh_gencontrol -plibgtk-dev
dh_makeshlibs -plibgtk-dev
dh_md5sums -plibgtk-dev
dh_builddeb -plibgtk-dev
dh_installdocs -plibgtk-cvs-dev
dh_installchangelogs -plibgtk-cvs-dev
dh_strip -plibgtk-cvs-dev
dh_compress -plibgtk-cvs-dev
dh_fixperms -plibgtk-cvs-dev
dh_installdeb -plibgtk-cvs-dev
dh_shlibdeps -plibgtk-cvs-dev
dh_gencontrol -plibgtk-cvs-dev
dh_md5sums -plibgtk-cvs-dev
dh_builddeb -plibgtk-cvs-dev
libgtk-doc:
dh_testdir -plibgtk-doc
dh_testroot -plibgtk-doc
dh_clean -plibgtk-doc -k
dh_installdirs -plibgtk-doc usr/doc/libgtk-doc/faq-html \
usr/doc/libgtk-doc/tutorial-html usr/doc/libgtk-doc/italian-tutorial-html
# Add here commands to install the files into debian/tmp
dh_movefiles -plibgtk-doc
cp docs/gtkfaq*.html debian/libgtk-doc/usr/doc/libgtk-doc/faq-html
cp docs/gtk_tut-*.html debian/libgtk-doc/usr/doc/libgtk-doc/tutorial-html
cp docs/gtk_tut.html debian/libgtk-doc/usr/doc/libgtk-doc/tutorial-html
cp docs/gtk_tut_it*.html debian/libgtk-doc/usr/doc/libgtk-doc/italian-tutorial-html
dh_installdocs -plibgtk-doc docs/{debugging,developers,styles,text_widget,widget_system,gtk-config}.txt ChangeLog TODO NEWS
dh_installchangelogs -plibgtk-doc
dh_strip -plibgtk-doc
dh_compress -plibgtk-doc
dh_fixperms -plibgtk-doc
dh_installdeb -plibgtk-doc
dh_shlibdeps -plibgtk-doc
dh_gencontrol -plibgtk-doc
dh_makeshlibs -plibgtk-doc
dh_md5sums -plibgtk-doc
dh_builddeb -plibgtk-doc
libgtk-cvs-doc:
dh_testdir -plibgtk-cvs-doc
dh_testroot -plibgtk-cvs-doc
dh_clean -plibgtk-cvs-doc -k
dh_installdirs -plibgtk-cvs-doc usr/doc/libgtk-cvs-doc/faq-html \
usr/doc/libgtk-cvs-doc/tutorial-html usr/doc/libgtk-cvs-doc/italian-tutorial-html usr/doc/libgtk-cvs-doc/french-tutorial-html usr/doc/libgtk-cvs-doc/gdk-html
dh_movefiles -plibgtk-cvs-doc
cp docs/html/gtkfaq*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/faq-html
cp docs/html/gtk_tut-*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
cp docs/html/gtk_tut.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
cp docs/html/gtk_tut_it*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/italian-tutorial-html
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/italian-tutorial-html
cp docs/html/gtk_tut_fr*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/french-tutorial-html
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/french-tutorial-html
cp docs/html/gdk* debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/gdk-html
cp docs/text/*.txt debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/
dh_installdocs -plibgtk-cvs-doc docs/{debugging,developers,styles,text_widget,widget_system,gtk-config,refcounting}.txt TODO NEWS
dh_installchangelogs -plibgtk-cvs-doc
dh_strip -plibgtk-cvs-doc
dh_compress -plibgtk-cvs-doc
dh_fixperms -plibgtk-cvs-doc
dh_installdeb -plibgtk-cvs-doc
dh_shlibdeps -plibgtk-cvs-doc
dh_gencontrol -plibgtk-cvs-doc
dh_md5sums -plibgtk-cvs-doc
dh_builddeb -plibgtk-cvs-doc
libgtk-cvs-dbg: clean-dbg install-dbg
dh_testdir -plibgtk-cvs-dbg
dh_testroot -plibgtk-cvs-dbg
dh_installdirs -plibgtk-cvs-dbg
# Add here commands to install the files into debian/libgtk-cvs-dbg
rm -rf debian/libgtk-cvs-dbg/usr/bin debian/libgtk-cvs-dbg/usr/include debian/libgtk-cvs-dbg/usr/info debian/libgtk-cvs-dbg/usr/lib/glib debian/libgtk-cvs-dbg/usr/man debian/libgtk-cvs-dbg/usr/share debian/libgtk-cvs-dbg/usr/lib/*.{la,so*}
for file in `find debian/libgtk-cvs-dbg/usr/lib -name '*.a'` ; do \
mv $$file debian/libgtk-cvs-dbg/usr/lib/`basename $$file .a`_g.a; \
done
dh_installdocs -plibgtk-cvs-dbg
dh_installchangelogs -plibgtk-cvs-dbg
dh_compress -plibgtk-cvs-dbg
dh_fixperms -plibgtk-cvs-dbg
dh_installdeb -plibgtk-cvs-dbg
dh_shlibdeps -plibgtk-cvs-dbg
dh_gencontrol -plibgtk-cvs-dbg
dh_md5sums -plibgtk-cvs-dbg
dh_builddeb -plibgtk-cvs-dbg
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

565
demos/testpixbuf.c Normal file
View File

@@ -0,0 +1,565 @@
/* testpixbuf -- test program for gdk-pixbuf code
* 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
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <gtk/gtk.h>
#include "gdk-pixbuf.h"
#include "gdk-pixbuf-io.h"
#include "gdk-pixbuf-loader.h"
#define DEFAULT_WIDTH 24
#define DEFAULT_HEIGHT 24
static const unsigned char default_image[] = {
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xae, 0xb3, 0xb3, 0xc6, 0xc9, 0xcd, 0xd7, 0xd4, 0xdf,
0xec, 0xde, 0xf3, 0xe7, 0xcb, 0xe9, 0xd9, 0xb5, 0xd3, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xb1, 0xb7, 0xa5,
0xb0, 0xb8, 0xad, 0xb3, 0xb9, 0xb6, 0xc1, 0xc6, 0xc8, 0xd5, 0xd3, 0xdc,
0xec, 0xde, 0xf3, 0xe5, 0xca, 0xe6, 0xe0, 0xbb, 0xd7, 0xe1, 0xad, 0xc2,
0xe3, 0xac, 0xa3, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xca, 0xc1, 0xa4, 0xc5, 0xc7, 0xac,
0xb7, 0xbe, 0xaf, 0xad, 0xb4, 0xaf, 0xbd, 0xc2, 0xc3, 0xd1, 0xd0, 0xd8,
0xec, 0xde, 0xf3, 0xe5, 0xc7, 0xe4, 0xe0, 0xb6, 0xd1, 0xe7, 0xa9, 0xb4,
0xed, 0xcd, 0xb6, 0xd6, 0xcf, 0xae, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0x00, 0x00, 0x00, 0xdf, 0xa7, 0x9f, 0xdd, 0xbf, 0xaa, 0xcf, 0xc5, 0xa9,
0xc1, 0xc4, 0xac, 0xb2, 0xba, 0xaf, 0xb6, 0xbb, 0xbb, 0xcd, 0xce, 0xd4,
0xec, 0xde, 0xf3, 0xe4, 0xc4, 0xe1, 0xe0, 0xaf, 0xc7, 0xea, 0xbc, 0xae,
0xe1, 0xd6, 0xb6, 0xc7, 0xcc, 0xae, 0xa2, 0xab, 0x9a, 0x00, 0x00, 0x00,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0x00, 0x00, 0x00, 0xe3, 0xab, 0xc0, 0xe6, 0xa3, 0xa7, 0xdf, 0xba, 0xa8,
0xcf, 0xc5, 0xa9, 0xbd, 0xc2, 0xae, 0xad, 0xb4, 0xaf, 0xc6, 0xc9, 0xcd,
0xec, 0xde, 0xf3, 0xe2, 0xbf, 0xdc, 0xe7, 0xa9, 0xb4, 0xe7, 0xd6, 0xb8,
0xc7, 0xcc, 0xae, 0xac, 0xb6, 0xa6, 0x9d, 0xa8, 0x9f, 0x00, 0x00, 0x00,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
0xd9, 0xaf, 0xcf, 0xe1, 0xb4, 0xd2, 0xe2, 0xb0, 0xcb, 0xe4, 0xa9, 0xbb,
0xe2, 0xb2, 0xa6, 0xcf, 0xc5, 0xa9, 0x6a, 0x6a, 0x6a, 0x0d, 0x0d, 0x0d,
0x0d, 0x0d, 0x0d, 0x6a, 0x6a, 0x6a, 0xed, 0xcd, 0xb6, 0xc7, 0xcc, 0xae,
0xa6, 0xb1, 0xa3, 0x98, 0xa2, 0x9c, 0x8f, 0x97, 0x96, 0x7e, 0x84, 0x85,
0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
0xe8, 0xc6, 0xe7, 0xe5, 0xc2, 0xe3, 0xe3, 0xbd, 0xdd, 0xe1, 0xb6, 0xd5,
0xe2, 0xb0, 0xcb, 0x6a, 0x6a, 0x6a, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6a, 0x6a, 0x6a, 0x9d, 0xa8, 0x9f,
0x8f, 0x97, 0x96, 0x8b, 0x90, 0x92, 0x97, 0x9e, 0xa2, 0xa0, 0xa7, 0xae,
0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
0xe7, 0xd3, 0xed, 0xe8, 0xd1, 0xed, 0xe8, 0xce, 0xec, 0xe9, 0xcc, 0xeb,
0xe8, 0xc6, 0xe7, 0x0d, 0x0d, 0x0d, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x0d, 0x0d, 0x0d, 0x97, 0x9e, 0xa2,
0xa7, 0xae, 0xb7, 0xb2, 0xb6, 0xc5, 0xba, 0xbc, 0xce, 0xbf, 0xbe, 0xd3,
0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
0xe9, 0xdf, 0xf0, 0xe9, 0xdf, 0xf0, 0xe9, 0xdf, 0xf0, 0xe9, 0xdf, 0xf0,
0xe9, 0xdf, 0xf0, 0x0d, 0x0d, 0x0d, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x0d, 0x0d, 0x0d, 0xe1, 0xd2, 0xf7,
0xe1, 0xd2, 0xf7, 0xe1, 0xd2, 0xf7, 0xe1, 0xd2, 0xf7, 0xe1, 0xd2, 0xf7,
0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
0xca, 0xc7, 0xd2, 0xc5, 0xc4, 0xcd, 0xbf, 0xbf, 0xc7, 0xb8, 0xb9, 0xc0,
0xae, 0xaf, 0xb6, 0x6a, 0x6a, 0x6a, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6a, 0x6a, 0x6a, 0xd5, 0xa8, 0xe1,
0xd8, 0xb2, 0xe9, 0xd9, 0xb8, 0xed, 0xdb, 0xbd, 0xf0, 0xdc, 0xbf, 0xf1,
0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
0xa4, 0xa6, 0xac, 0xa8, 0xaa, 0xaf, 0xa0, 0xa6, 0xa8, 0x98, 0x9e, 0x9c,
0xa1, 0xa8, 0x9e, 0xb1, 0xb6, 0xa1, 0x6a, 0x6a, 0x6a, 0x0d, 0x0d, 0x0d,
0x0d, 0x0d, 0x0d, 0x6a, 0x6a, 0x6a, 0xc0, 0x8c, 0xad, 0xcc, 0x90, 0xb5,
0xd3, 0x94, 0xca, 0xd6, 0xa2, 0xdb, 0xd5, 0xa8, 0xe1, 0xcf, 0xa7, 0xdf,
0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0x00, 0x00, 0x00, 0x98, 0x9f, 0x9b, 0xa1, 0xa8, 0x9e, 0xac, 0xb3, 0xa0,
0xb9, 0xb9, 0xa4, 0xd0, 0xb8, 0xa8, 0xc5, 0xb5, 0xb8, 0xb6, 0xbb, 0xad,
0xe3, 0xd7, 0xb5, 0xdd, 0xb4, 0xa9, 0xcb, 0x89, 0xac, 0xc0, 0x8c, 0xad,
0xc8, 0x91, 0xb5, 0xd1, 0x8d, 0xb7, 0xd3, 0x94, 0xca, 0x00, 0x00, 0x00,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0x00, 0x00, 0x00, 0xa1, 0xa7, 0x98, 0xb1, 0xb6, 0xa1, 0xbd, 0xb9, 0xa5,
0xd0, 0xb8, 0xa8, 0xca, 0xb5, 0xb7, 0xb8, 0xb1, 0xb1, 0xc2, 0xc8, 0xb2,
0xe3, 0xd7, 0xb5, 0xe1, 0xbf, 0xaf, 0xdb, 0x92, 0x9a, 0xbe, 0x82, 0xa6,
0xc0, 0x8c, 0xad, 0xc8, 0x91, 0xb4, 0xc7, 0x8b, 0xb0, 0x00, 0x00, 0x00,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xbc, 0xb6, 0xa1, 0xd0, 0xb8, 0xa8,
0xcd, 0xb6, 0xb7, 0xc0, 0xb4, 0xb5, 0xb1, 0xb1, 0xaa, 0xca, 0xd1, 0xb4,
0xe3, 0xd7, 0xb5, 0xe2, 0xc1, 0xb0, 0xdb, 0xa8, 0xa3, 0xd2, 0x8a, 0xa9,
0xb7, 0x7e, 0xa2, 0xbd, 0x89, 0xa9, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0xc9, 0xaf, 0xaf,
0xc5, 0xb5, 0xb8, 0xb8, 0xb1, 0xb1, 0xb6, 0xbb, 0xad, 0xd0, 0xd6, 0xb5,
0xe3, 0xd7, 0xb5, 0xe2, 0xbf, 0xaf, 0xdd, 0xb4, 0xa9, 0xdb, 0x92, 0x9a,
0xc6, 0x84, 0xa7, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xac, 0xaa, 0xa6, 0xbd, 0xc3, 0xb0, 0xd2, 0xd7, 0xb5,
0xe3, 0xd7, 0xb5, 0xe2, 0xbf, 0xae, 0xdb, 0xb6, 0xa8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff,
0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff
};
static const char * book_open_xpm[] = {
"16 16 4 1",
" c None s None",
". c black",
"X c #808080",
"o c white",
" ",
" .. ",
" .Xo. ... ",
" .Xoo. ..oo. ",
" .Xooo.Xooo... ",
" .Xooo.oooo.X. ",
" .Xooo.Xooo.X. ",
" .Xooo.oooo.X. ",
" .Xooo.Xooo.X. ",
" .Xooo.oooo.X. ",
" .Xoo.Xoo..X. ",
" .Xo.o..ooX. ",
" .X..XXXXX. ",
" ..X....... ",
" .. ",
" "};
static const char * book_closed_xpm[] = {
"16 16 6 1",
" c None s None",
". c black",
"X c red",
"o c yellow",
"O c #808080",
"# c white",
" ",
" .. ",
" ..XX. ",
" ..XXXXX. ",
" ..XXXXXXXX. ",
".ooXXXXXXXXX. ",
"..ooXXXXXXXXX. ",
".X.ooXXXXXXXXX. ",
".XX.ooXXXXXX.. ",
" .XX.ooXXX..#O ",
" .XX.oo..##OO. ",
" .XX..##OO.. ",
" .X.#OO.. ",
" ..O.. ",
" .. ",
" "};
static const char * mini_page_xpm[] = {
"16 16 4 1",
" c None s None",
". c black",
"X c white",
"o c #808080",
" ",
" ....... ",
" .XXXXX.. ",
" .XoooX.X. ",
" .XXXXX.... ",
" .XooooXoo.o ",
" .XXXXXXXX.o ",
" .XooooooX.o ",
" .XXXXXXXX.o ",
" .XooooooX.o ",
" .XXXXXXXX.o ",
" .XooooooX.o ",
" .XXXXXXXX.o ",
" ..........o ",
" oooooooooo ",
" "};
static const char * gtk_mini_xpm[] = {
"15 20 17 1",
" c None",
". c #14121F",
"+ c #278828",
"@ c #9B3334",
"# c #284C72",
"$ c #24692A",
"% c #69282E",
"& c #37C539",
"* c #1D2F4D",
"= c #6D7076",
"- c #7D8482",
"; c #E24A49",
"> c #515357",
", c #9B9C9B",
"' c #2FA232",
") c #3CE23D",
"! c #3B6CCB",
" ",
" ***> ",
" >.*!!!* ",
" ***....#*= ",
" *!*.!!!**!!# ",
" .!!#*!#*!!!!# ",
" @%#!.##.*!!$& ",
" @;%*!*.#!#')) ",
" @;;@%!!*$&)'' ",
" @%.%@%$'&)$+' ",
" @;...@$'*'*)+ ",
" @;%..@$+*.')$ ",
" @;%%;;$+..$)# ",
" @;%%;@$$$'.$# ",
" %;@@;;$$+))&* ",
" %;;;@+$&)&* ",
" %;;@'))+> ",
" %;@'&# ",
" >%$$ ",
" >= "};
const gchar ** xpms[] = {
book_open_xpm,
book_closed_xpm,
mini_page_xpm,
gtk_mini_xpm,
NULL
};
static void
quit_func (GtkWidget *widget, gpointer dummy)
{
gtk_main_quit ();
}
static void
expose_func (GtkWidget *drawing_area, GdkEventExpose *event, gpointer data)
{
GdkPixbuf *pixbuf;
pixbuf = (GdkPixbuf *)gtk_object_get_data(GTK_OBJECT(drawing_area), "pixbuf");
if (!pixbuf->art_pixbuf) {
g_warning ("art_pixbuf is NULL in expose_func!!\n");
return;
}
if (pixbuf->art_pixbuf->has_alpha) {
gdk_draw_rgb_32_image (drawing_area->window,
drawing_area->style->black_gc,
event->area.x, event->area.y,
event->area.width,
event->area.height,
GDK_RGB_DITHER_MAX,
pixbuf->art_pixbuf->pixels
+ (event->area.y * pixbuf->art_pixbuf->rowstride)
+ (event->area.x * pixbuf->art_pixbuf->n_channels),
pixbuf->art_pixbuf->rowstride);
} else {
gdk_draw_rgb_image (drawing_area->window,
drawing_area->style->white_gc,
event->area.x, event->area.y,
event->area.width,
event->area.height,
GDK_RGB_DITHER_NORMAL,
pixbuf->art_pixbuf->pixels
+ (event->area.y * pixbuf->art_pixbuf->rowstride)
+ (event->area.x * pixbuf->art_pixbuf->n_channels),
pixbuf->art_pixbuf->rowstride);
}
}
static void
config_func (GtkWidget *drawing_area, GdkEventConfigure *event, gpointer data)
{
GdkPixbuf *pixbuf;
pixbuf = (GdkPixbuf *)gtk_object_get_data(GTK_OBJECT(drawing_area), "pixbuf");
g_print("X:%d Y:%d\n", event->width, event->height);
#if 0
if (((event->width) != (pixbuf->art_pixbuf->width)) ||
((event->height) != (pixbuf->art_pixbuf->height)))
gdk_pixbuf_scale(pixbuf, event->width, event->height);
#endif
}
static GtkWidget*
new_testrgb_window (GdkPixbuf *pixbuf, gchar *title)
{
GtkWidget *window;
GtkWidget *vbox;
GtkWidget *temp_box;
GtkWidget *button;
GtkWidget *drawing_area;
gint w, h;
w = pixbuf->art_pixbuf->width;
h = pixbuf->art_pixbuf->height;
window = gtk_widget_new (gtk_window_get_type (),
"GtkObject::user_data", NULL,
"GtkWindow::type", GTK_WINDOW_TOPLEVEL,
"GtkWindow::title", "testrgb",
"GtkWindow::allow_shrink", TRUE,
NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
(GtkSignalFunc) quit_func, NULL);
vbox = gtk_vbox_new (FALSE, 0);
if (title)
gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new (title),
TRUE, TRUE, 0);
drawing_area = gtk_drawing_area_new ();
temp_box = gtk_hbox_new (FALSE, 0);
gtk_drawing_area_size (GTK_DRAWING_AREA(drawing_area), w, h);
gtk_box_pack_start (GTK_BOX (temp_box), drawing_area, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), temp_box, FALSE, FALSE, 0);
gtk_signal_connect (GTK_OBJECT(drawing_area), "expose_event",
GTK_SIGNAL_FUNC(expose_func), NULL);
gtk_signal_connect (GTK_OBJECT(drawing_area), "configure_event",
GTK_SIGNAL_FUNC (config_func), NULL);
gtk_object_set_data (GTK_OBJECT(drawing_area), "pixbuf", pixbuf);
gtk_widget_show (drawing_area);
button = gtk_button_new_with_label ("Quit");
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
(GtkSignalFunc) gtk_widget_destroy,
GTK_OBJECT (window));
gtk_widget_show (button);
gtk_container_add (GTK_CONTAINER (window), vbox);
gtk_widget_show_all (vbox);
gtk_widget_show (window);
return window;
}
static gint
update_timeout(gpointer data)
{
GtkWidget** window_loc = data;
if (*window_loc != NULL) {
gtk_widget_queue_draw(*window_loc);
}
return TRUE;
}
static void
progressive_prepared_callback(GdkPixbufLoader* loader, gpointer data)
{
GtkWidget** retloc = data;
GdkPixbuf* pixbuf;
pixbuf = gdk_pixbuf_loader_get_pixbuf(loader);
g_assert(pixbuf != NULL);
gdk_pixbuf_ref(pixbuf); /* for the RGB window */
*retloc = new_testrgb_window(pixbuf, "Progressive");
return;
}
static void
progressive_updated_callback(GdkPixbufLoader* loader, guint x, guint y, guint width, guint height, gpointer data)
{
g_print ("progressive_updated_callback:\n\t%d\t%d\t%d\t%d\n", x, y, width, height);
return;
}
static int readlen = 1;
int
main (int argc, char **argv)
{
int i;
int found_valid = FALSE;
GdkPixbuf *pixbuf;
GdkPixbufLoader *pixbuf_loader;
FILE *file;
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 ());
{
char *tbf_readlen = getenv("TBF_READLEN");
if(tbf_readlen) readlen = atoi(tbf_readlen);
}
i = 1;
if (argc == 1) {
const gchar*** xpmp;
pixbuf = gdk_pixbuf_new_from_data ((guchar *) default_image, ART_PIX_RGB, FALSE,
DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_WIDTH * 3,
NULL, NULL);
new_testrgb_window (pixbuf, NULL);
xpmp = xpms;
while (*xpmp) {
pixbuf = gdk_pixbuf_new_from_xpm_data (*xpmp);
new_testrgb_window (pixbuf, NULL);
++xpmp;
}
found_valid = TRUE;
} else {
for (i = 1; i < argc; i++) {
pixbuf = gdk_pixbuf_new_from_file (argv[i]);
#if 0
pixbuf = gdk_pixbuf_rotate(pixbuf, 10.0);
#endif
if (pixbuf) {
new_testrgb_window (pixbuf, "File");
found_valid = TRUE;
}
}
{
GtkWidget* rgb_window = NULL;
guint timeout;
char *buf;
pixbuf_loader = gdk_pixbuf_loader_new ();
gtk_signal_connect(GTK_OBJECT(pixbuf_loader),
"area_prepared",
GTK_SIGNAL_FUNC(progressive_prepared_callback),
&rgb_window);
gtk_signal_connect(GTK_OBJECT(pixbuf_loader),
"area_updated",
GTK_SIGNAL_FUNC(progressive_updated_callback),
&rgb_window);
timeout = gtk_timeout_add(1000, update_timeout, &rgb_window);
file = fopen (argv[1], "r");
g_assert (file != NULL);
buf = g_malloc(readlen);
while (!feof(file)) {
int nbytes;
nbytes = fread(buf, 1, readlen, file);
//printf(".");
fflush(stdout);
if (gdk_pixbuf_loader_write (GDK_PIXBUF_LOADER (pixbuf_loader), buf, nbytes) == FALSE)
break;
while (gtk_events_pending())
gtk_main_iteration();
}
printf("\n");
gtk_timeout_remove (timeout);
gdk_pixbuf_loader_close (GDK_PIXBUF_LOADER (pixbuf_loader));
gtk_object_destroy (GTK_OBJECT(pixbuf_loader));
fclose (file);
if (rgb_window != NULL)
gtk_widget_queue_draw(rgb_window);
}
}
if (found_valid)
gtk_main ();
return 0;
}

View File

@@ -16,3 +16,5 @@ Makefile.in
*.cps
*.fns
*.vrs
html
text

274
docs/Changes-1.2.txt Normal file
View File

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

7
docs/Changes-1.4.txt Normal file
View File

@@ -0,0 +1,7 @@
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.

View File

@@ -1,32 +1,201 @@
## Process this file with automake to produce Makefile.in
info_TEXINFOS = gdk.texi gtk.texi glib.texi
info_TEXINFOS = gdk.texi gtk.texi
man_MANS = gtk-config.1
EXTRA_DIST = \
texinfo.tex \
macros.texi \
Makefile.sgml \
gtkdocs_fix \
gtkfaq.sgml \
gtk-config.txt \
gtk_tut.sgml \
gtk_tut_it.sgml \
debugging.txt \
developers.txt \
refcounting.txt \
styles.txt \
text_widget.txt \
widget_system.txt \
gtk_tut_packbox1.gif \
gtk_tut_packbox2.gif \
gtk_tut_table.gif \
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 \
debugging.txt \
developers.txt \
refcounting.txt \
styles.txt \
text_widget.txt \
widget_system.txt \
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)

View File

@@ -1,387 +0,0 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
SHELL = /bin/sh
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
CC = @CC@
GTK_MAJOR_VERSION = @GTK_MAJOR_VERSION@
GTK_MICRO_VERSION = @GTK_MICRO_VERSION@
GTK_MINOR_VERSION = @GTK_MINOR_VERSION@
GTK_VERSION = @GTK_VERSION@
LD = @LD@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
NM = @NM@
PACKAGE = @PACKAGE@
RANLIB = @RANLIB@
VERSION = @VERSION@
x_cflags = @x_cflags@
x_includes = @x_includes@
x_ldflags = @x_ldflags@
x_libs = @x_libs@
xinput_progs = @xinput_progs@
info_TEXINFOS = gdk.texi gtk.texi glib.texi
man_MANS = gtk-config.1
EXTRA_DIST = \
texinfo.tex \
macros.texi \
Makefile.sgml \
gtkdocs_fix \
gtkfaq.sgml \
gtk-config.txt \
gtk_tut.sgml \
gtk_tut_it.sgml \
debugging.txt \
developers.txt \
refcounting.txt \
styles.txt \
text_widget.txt \
widget_system.txt \
gtk_tut_packbox1.gif \
gtk_tut_packbox2.gif \
gtk_tut_table.gif \
gtk-config.1
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
TEXI2DVI = texi2dvi
TEXINFO_TEX = $(srcdir)/texinfo.tex
INFO_DEPS = gdk.info gtk.info glib.info
DVIS = gdk.dvi gtk.dvi glib.dvi
TEXINFOS = gdk.texi gtk.texi glib.texi
man1dir = $(mandir)/man1
MANS = $(man_MANS)
NROFF = nroff
DIST_COMMON = Makefile.am Makefile.in texinfo.tex
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: Makefile $(INFO_DEPS) $(MANS)
.SUFFIXES:
.SUFFIXES: .dvi .info .ps .texi .texinfo .txi
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
gdk.info: gdk.texi
gdk.dvi: gdk.texi
gtk.info: gtk.texi
gtk.dvi: gtk.texi
glib.info: glib.texi
glib.dvi: glib.texi
DVIPS = dvips
.texi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texi.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.texi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.texinfo.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.txi.info:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.txi.dvi:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
.txi:
@cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
cd $(srcdir) \
&& $(MAKEINFO) `echo $< | sed 's,.*/,,'`
.dvi.ps:
$(DVIPS) $< -o $@
install-info-am: $(INFO_DEPS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(infodir)
@for file in $(INFO_DEPS); do \
d=$(srcdir); \
for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
if test -f $$d/$$ifile; then \
echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
$(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
else : ; fi; \
done; \
done
@$(POST_INSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
for file in $(INFO_DEPS); do \
echo " install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file";\
install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/$$file || :;\
done; \
else : ; fi
uninstall-info:
$(PRE_UNINSTALL)
@if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
ii=yes; \
else ii=; fi; \
for file in $(INFO_DEPS); do \
test -z "$ii" \
|| install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
done
@$(NORMAL_UNINSTALL)
for file in $(INFO_DEPS); do \
(cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
done
dist-info: $(INFO_DEPS)
for base in $(INFO_DEPS); do \
d=$(srcdir); \
for file in `cd $$d && eval echo $$base*`; do \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
done; \
done
mostlyclean-aminfo:
-rm -f gdk.aux gdk.cp gdk.cps gdk.dvi gdk.fn gdk.fns gdk.ky gdk.kys \
gdk.ps gdk.log gdk.pg gdk.toc gdk.tp gdk.tps gdk.vr gdk.vrs \
gdk.op gdk.tr gdk.cv gdk.cn gtk.aux gtk.cp gtk.cps gtk.dvi \
gtk.fn gtk.fns gtk.ky gtk.kys gtk.ps gtk.log gtk.pg gtk.toc \
gtk.tp gtk.tps gtk.vr gtk.vrs gtk.op gtk.tr gtk.cv gtk.cn \
glib.aux glib.cp glib.cps glib.dvi glib.fn glib.fns glib.ky \
glib.kys glib.ps glib.log glib.pg glib.toc glib.tp glib.tps \
glib.vr glib.vrs glib.op glib.tr glib.cv glib.cn
clean-aminfo:
distclean-aminfo:
maintainer-clean-aminfo:
for i in $(INFO_DEPS); do \
rm -f $$i; \
if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \
rm -f $$i-[0-9]*; \
fi; \
done
install-man1:
$(mkinstalldirs) $(DESTDIR)$(man1dir)
@list='$(man1_MANS)'; \
l2='$(man_MANS)'; for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
done
uninstall-man1:
@list='$(man1_MANS)'; \
l2='$(man_MANS)'; for i in $$l2; do \
case "$$i" in \
*.1*) list="$$list $$i" ;; \
esac; \
done; \
for i in $$list; do \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
rm -f $(DESTDIR)$(man1dir)/$$inst; \
done
install-man: $(MANS)
@$(NORMAL_INSTALL)
$(MAKE) install-man1
uninstall-man:
@$(NORMAL_UNINSTALL)
$(MAKE) uninstall-man1
tags: TAGS
TAGS:
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
subdir = docs
distdir: $(DISTFILES)
here=`cd $(top_builddir) && pwd`; \
top_distdir=`cd $(top_distdir) && pwd`; \
distdir=`cd $(distdir) && pwd`; \
cd $(top_srcdir) \
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu docs/Makefile
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
done
$(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
info: $(INFO_DEPS)
dvi: $(DVIS)
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
install-data: install-info-am install-man
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall: uninstall-info uninstall-man
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(infodir) $(DESTDIR)$(mandir)/man1
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-aminfo mostlyclean-generic
clean: clean-aminfo clean-generic mostlyclean
distclean: distclean-aminfo distclean-generic clean
-rm -f config.status
-rm -f libtool
maintainer-clean: maintainer-clean-aminfo maintainer-clean-generic \
distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: install-info-am uninstall-info mostlyclean-aminfo \
distclean-aminfo clean-aminfo maintainer-clean-aminfo install-man1 \
uninstall-man1 install-man uninstall-man tags distdir info dvi \
installcheck install-exec install-data install uninstall all \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -1,40 +0,0 @@
#
# To use this makefile, do:
# make -f Makefile.gtkfaq
#
# This is not done by default because you might
# not have sgml2html installed... Perhaps we could
# detect that in the future and combine it in with
# the automake stuff...
#
all: html ps
html: faq tut italian_tut
perl gtkdocs_fix gtkfaq*.html gtk_tut*.html
txt:
sgml2txt gtkfaq.sgml
sgml2txt gtk_tut.sgml
sgml2txt gtk_tut_it.sgml
ps: dvi
dvips -o gtkfaq.ps gtkfaq.dvi
dvips -o gtk_tut.ps gtk_tut.dvi
dvips -o gtk_tut_it.ps gtk_tut_it.dvi
dvi:
sgml2latex gtkfaq.sgml
sgml2latex gtk_tut.sgml
sgml2latex gtk_tut_it.sgml
faq:
sgml2html gtkfaq.sgml
tut:
sgml2html gtk_tut.sgml
italian_tut:
sgml2html gtk_tut_it.sgml

210
docs/dnd_internals.txt Normal file
View File

@@ -0,0 +1,210 @@
This document describes some of the internals of the DND handling
code.
Organization
============
The DND code is split between a lowlevel part - gdkdnd.c and a
highlevel part - gtkdnd.c. To put it simply, gdkdnd.c contain the
portions of DND code that are easiest to do in raw X, while gtkdnd.c
contains the portions of DND that are easiest to do with an event loop
and high level selection handling.
Except for a few details of selection handling, most of the
dependencies on the DND protocol are confined to gdkdnd.c.
There are two or three supported protocols - Motif DND,
Xdnd and a pseudo-protocol ROOTWIN, which is used for drops
on root windows that aren't really accepting drops.
gdkdnd.c divides into 4 pieces:
1) Utility functions (finding client windows)
2) Motif specific code (the biggest chunk)
3) Xdnd specific code
4) The public interfaces
The code in gtkdnd.c roughly consists of three parts
1) General utility functions
2) Destination side code
3) Source side code.
Both on the source and dest side, there is some division
between the low level layers and the default handlers,
though they are rather mixed in many cases.
Structures and Memory Management
================================
Information about source sites and drop sites is stored
in the structures GtkSourceSite and GtkDestSite.
Information about in-progress drags and drops is stored
in the structures GtkSourceInfo and GtkDestInfo.
The GtkSourceInfo structure is created when the drag
begins, and persists until the drag either completes
or times out. A pointer to it is stored in
dataset-data for the GdkDragContext, however there
is no ownership. If the SourceInfo is destroyed
before the context, the field is simply cleared.
A GtkDestInfo is attached to each GdkDragContext
that is received for an incoming drag. In contrast
to the SourceInfo the DestInfo is "owned" by the
context, and when the context is destroyed, destroyed.
The GDK API
===========
It is expect that the GDK DND API will never be
used by anything other than the DND code in GTK+.
/* Drag and Drop */
GdkDragContext * gdk_drag_context_new (void);
void gdk_drag_context_ref (GdkDragContext *context);
void gdk_drag_context_unref (GdkDragContext *context);
These create and refcount GdkDragContexts in a
straightforward manner.
/* Destination side */
void gdk_drag_status (GdkDragContext *context,
GdkDragAction action,
guint32 time);
void gdk_drop_reply (GdkDragContext *context,
gboolean ok,
guint32 time);
void gdk_drop_finish (GdkDragContext *context,
gboolean success,
guint32 time);
GdkAtom gdk_drag_get_selection (GdkDragContext *context);
/* Source side */
GdkDragContext * gdk_drag_begin (GdkWindow *window,
GList *targets,
GdkDragAction actions);
gboolean gdk_drag_get_protocol (guint32 xid,
GdkDragProtocol *protocol);
void gdk_drag_find_window (GdkDragContext *context,
GdkWindow *drag_window,
gint x_root,
gint y_root,
GdkWindow **dest_window,
GdkDragProtocol *protocol);
gboolean gdk_drag_motion (GdkDragContext *context,
GdkWindow *dest_window,
GdkDragProtocol protocol,
gint x_root,
gint y_root,
GdkDragAction action,
guint32 time);
void gdk_drag_drop (GdkDragContext *context,
guint32 time);
void gdk_drag_abort (GdkDragContext *context,
guint32 time);
GdkAtom gdk_drag_get_selection (GdkDragContext *context);
Retrieves the selection that will be used to communicate
the data for the drag context (valid on both source
and dest sides)
Cursors and window heirarchies
==============================
The DND code, when possible (and it isn't possible over
Motif window) uses a shaped window as a drag icon.
Because the cursor may fall inside this window during the
drag, we actually have to figure out which window
the cursor is in _ourselves_ so we can ignore the
drag icon properly. (Oh for OutputOnly windows!)
To avoid obscene amounts of server traffic (which are only
slighly observerable locally, but would really kill a
session over a slow link), the code in GDK does
XGetWindowAttributes for every child of the root window at
the beginning of the drag, then selects with
SubstructureNotifyMask on the root window, so that
it can update this list.
It probably would be easier to just reread the entire
list when one of these events occurs, instead of
incrementally updating, but updating the list in
sync was sort of fun code, so I did it that way ;-)
There is also a problem of trying to follow the
mouse cursor as well as possible. Currently, the
code uses PointerMotionHint, and an XQueryPointer
on MotionNotify events. This results in pretty
good syncing, but may result in somewhat poor
accuracy for drops. (Because the coordinates of
the drop are the coordinates when the server receives
the button press, which might actually be before
the XQueryPointer for the previous MotionNotify
event is done.)
Probably better is doing MotionNotify compression
and discarding MotionNotify events when there
are more on the queue before the next ButtonPress/Release.
Proxying
========
A perhaps rather unusual feature of GTK's DND is proxying. A
dest site can be specified as a proxy drop site for another
window. This is most needed for the plug-socket code - the
socket needs to pass on drags to the plug since the original
source only sees toplevel windows. However, it can also be
used as a user visible proxy - i.e., dragging to buttons on
the taskbar.
Internally, when the outer drag enters a proxy dest site, a
new source drag is created, with SourceInfo and
GdkDragContext. From the GDK side, it looks much like a
normal source drag; on the GTK+ side, most of the code is
disjoint. The need to pass in a specific target window
is the reason why the GDK DND API splits
gdk_drag_find_window() and gdk_drag_motion().
For proxy drags, the GtkDestInfo and GtkSourceInfo for the
drag point at each other.
Because the abstraction of the drag protocol is at the GDK
level, a proxy drag from Motif to Xdnd or vice versa happens
pretty much automatically during the drag, though the
drop can get complicated. For Xdnd <-> Motif,
Motif <-> Xdnd, or Motif <-> Motif drags, it is necessary to
for the Proxy to retrieve the data and pass it on to
the true destination, since either the selection names
differ or (Motif<->Motif), the proxy needs to know
about the XmDRAG_SUCCESS/FAILURE selection targets.
Further Reading:
================
Xdnd:
The spec is at:
http://www.cco.caltech.edu/~jafl/xdnd/
Motif:
The Motif DND protocol is best described in the
Hungry Programmers _Inside Lesstif_ book, available
from:
http://www.igpm.rwth-aachen.de/~albrecht/hungry.html
Harald Albrecht and Mitch Miers have done a far
better job at documenting the DND protocol then
anything the OpenGroup has produced.
Owen Taylor
otaylor@redhat.com
Oct 18, 1998

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
\input texinfo @c -*-texinfo-*-
b\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename gdk.info
@settitle GDK

View File

@@ -1,455 +0,0 @@
\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename glib.info
@settitle GLIB
@setchapternewpage odd
@set edition 1.0
@set update-date 3 Feburary 1998
@set update-month Feburary 1998
@c %**end of header
@ifinfo
This file documents GLIB, A library of useful routines for C programming
Copyright (C) 1998 Gregory A McLean
Permission is granted to make and distributed 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 Gregory McLean.
@end ifinfo
@titlepage
@title GLIB, Useful routines for C programming
@subtitle Version 1.0
@subtitle @value{update-month}
@author by Gregory McLean
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1998 Gregory McLean
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 Gregory McLean.
@end titlepage
@dircategory Library of useful routines for 'C' programing
@direntry
* GLIB: (glib). useful routines for 'C' programming
@end direntry
@node Top, Copying, (dir), (dir)
@top useful routines for 'C' programming
@ifinfo
This is edition @value{edition} of the GLIB documentation,
@w{@value{update-date}}.
@end ifinfo
@menu
* Copying:: Your rights.
* Overview:: What is GLIB?
* Doubly linked lists:: Doubly linked lists
* Signly linked lists:: Singly linked lists
* List allocators:: List Allocators
* Hash tables:: Hash tables
* Caches:: Cache handling
* Trees:: Tree handling
* Memory:: Memory handling
* Timers:: Timer functions
* Output:: Output handling
* Utilities:: Utilitiy functions
* Errors:: Error handling
* String Chunks:: String Chunks
* Strings:: String handling
* Resizable arrays:: Resizeable arrays
* GScanner:: Flexible lexical scanner
* Miscellany:: Other stuff
* 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
@node Overview, Doubly linked lists, Copying, Top
@comment node-name, next, previous, up
@chapter What is GLIB
@node Doubly linked lists, Signly linked lists, Overview, Top
@comment node-name, next, previous, up
@chapter Doubly linked lists
@subsection Functions
@deftypefun GList* g_list_alloc (void)
@end deftypefun
@deftypefun void g_list_free (GList *@var{list})
@end deftypefun
@deftypefun void g_list_free_1 (GList *@var{list})
@end deftypefun
@deftypefun GList* g_list_append (GList *@var{list}, gpointer @var{data})
@end deftypefun
@deftypefun GList* g_list_prepend (GList *@var{list}, gpointer @var{data})
@end deftypefun
@deftypefun GList* g_list_insert (GList *@var{list}, gpointer @var{data}, gint @var{position})
@end deftypefun
@deftypefun GList* g_list_insert_sorted (GList *@var{list}, gpointer @var{data}, GCompareFunc @var{func})
@end deftypefun
@deftypefun GList* g_list_concat (GList *@var{list1}, GList *@var{list2})
@end deftypefun
@deftypefun GList* g_list_remove (GList *@var{list}, gpointer @var{data})
@end deftypefun
@deftypefun GList* g_list_remove_link (GList *@var{list}, GList *@var{link})
@end deftypefun
@deftypefun GList* g_list_reverse (GList *@var{list})
@end deftypefun
@deftypefun GList* g_list_nth (GList *@var{list}, gint @var{n})
@end deftypefun
@deftypefun GList* g_list_find (GList *@var{list}, gpointer @var{data})
@end deftypefun
@deftypefun GList* g_list_last (GList *@var{list})
@end deftypefun
@deftypefun GList* g_list_first (GList *@var{list})
@end deftypefun
@deftypefun gint g_list_length (GList *@var{list})
@end deftypefun
@deftypefun void g_list_foreach (GList *@var{list}, GFunc @var{func}, gpointer @var{user_data})
@end deftypefun
@node Signly linked lists, List allocators, Doubly linked lists, Top
@comment node-name, next, previous, up
@chapter Signly linked lists
@subsection Functions
@deftypefun GSList* g_slist_alloc (void)
@end deftypefun
@deftypefun void g_slist_free (GSList *@var{list})
@end deftypefun
@deftypefun void g_slist_free_1 (GSList *@var{list})
@end deftypefun
@deftypefun GSList* g_slist_append (GSList *@var{list}, gpointer @var{data})
@end deftypefun
@deftypefun GSList* g_slist_prepend (GSList *@var{list}, gpointer @var{data})
@end deftypefun
@deftypefun GSList* g_slist_insert (GSList *@var{list}, gpointer @var{data}, gint @var{position})
@end deftypefun
@deftypefun GSList* g_slist_insert_sorted (GSList *@var{list}, gpointer @var{data}, GCompareFunc @var{func})
@end deftypefun
@deftypefun GSList* g_slist_concat (GSList *@var{list1}, GSList *@var{list2})
@end deftypefun
@deftypefun GSList* g_slist_remove (GSList *@var{list}, gpointer @var{data})
@end deftypefun
@deftypefun GSList* g_slist_remove_link (GSList *@var{list}, GSList *@var{link})
@end deftypefun
@deftypefun GSList* g_slist_reverse (GSList *@var{list})
@end deftypefun
@deftypefun GSList* g_slist_nth (GSList *@var{list}, gint @var{n})
@end deftypefun
@deftypefun GSList* g_slist_find (GSList *@var{list}, gpointer @var{data})
@end deftypefun
@deftypefun GSList* g_slist_last (GSList *@var{list})
@end deftypefun
@deftypefun gint g_slist_length (GSList *@var{list})
@end deftypefun
@deftypefun void g_slist_foreach (GSList *@var{list}, GFunc @var{func}, gpointer @var{user_data})
@end deftypefun
@node List allocators, Hash tables, Signly linked lists, Top
@comment node-name, next, previous, up
@chapter List allocators
@subsection Functions
@deftypefun GListAllocator* g_list_allocator_new (void)
@end deftypefun
@deftypefun void g_list_allocator_free (GListAllocator *@var{allocator})
@end deftypefun
@deftypefun GListAllocator* g_slist_set_allocator (GListAllocator *@var{allocator})
@end deftypefun
@deftypefun GListAllocator* g_list_set_allocator (GListAllocator *@var{allocator})
@end deftypefun
@node Hash tables, Caches, List allocators, Top
@comment node-name, next, previous, up
@chapter Hash tables
@subsection Functions
@deftypefun GHashTable* g_hash_table_new (GHashFunc @var{hash_func}, GCompareFunc @var{key_compare_func})
@end deftypefun
@deftypefun void g_hash_table_destroy (GHashTable *@var{hash_table})
@end deftypefun
@deftypefun void g_hash_table_insert (GHashTable *@var{hash_table}, gpointer @var{key}, gpointer @var{value})
@end deftypefun
@deftypefun void g_hash_table_remove (GHashTable *@var{hash_table}, gpointer @var{key})
@end deftypefun
@deftypefun gpointer g_hash_table_lookup (GHashTable *@var{hash_table}, gpointer @var{key})
@end deftypefun
@deftypefun void g_hash_table_freeze (GHashTable *@var{hash_table})
@end deftypefun
@deftypefun void g_hash_table_thaw (GHashTable *@var{hash_table})
@end deftypefun
@deftypefun void g_hash_table_foreach (GHashTable *@var{hash_table}, GHFunc @var{func}, gpointer @var{user_data})
@end deftypefun
@node Caches, Trees, Hash tables, Top
@comment node-name, next, previous, up
@chapter Cache handling
@subsection Functions
@deftypefun GCache* g_cache_new (GCacheNewFunc @var{value_new_func}, GCacheDestroyFunc @var{value_destroy_func}, GCacheDupFunc @var{key_dup_func}, GCacheDestroyFunc @var{key_destroy_func}, GHashFunc @var{hash_key_func}, GHashFunc @var{hash_value_func}, GCompareFunc @var{key_compare_func})
@end deftypefun
@deftypefun void g_cache_destroy (GCache *@var{cache})
@end deftypefun
@deftypefun gpointer g_cache_insert (GCache *@var{cache}, gpointer @var{key})
@end deftypefun
@deftypefun void g_cache_remove (GCache *@var{cache}, gpointer @var{key})
@end deftypefun
@deftypefun void g_cache_key_foreach (GCache *@var{cache}, GHFunc @var{func}, gpointer @var{user_data})
@end deftypefun
@deftypefun void g_cache_value_foreach (GCache *@var{cache}, GHFunc @var{func}, gpointer @var{user_data})
@end deftypefun
@node Trees, Memory, Caches, Top
@comment node-name, next, previous, up
@chapter Tree handling
@subsection Functions
@deftypefun GTree* g_tree_new (GCompareFunc @var{key_compare_func})
@end deftypefun
@deftypefun void g_tree_destroy (GTree *@var{tree})
@end deftypefun
@deftypefun void g_tree_remove (GTree *@var{tree}, gpointer @var{key}, gpointer @var{value})
@end deftypefun
@deftypefun gpointer g_tree_lookup (GTree *@var{tree}, gpointer @var{key})
@end deftypefun
@deftypefun void g_tree_traverse (GTree *@var{tree}, GTraverseFunc @var{traverse_func}, GTraverseType @var{traverse_type}, gpointer @var{data}
@end deftypefun
@deftypefun gpointer g_tree_search (GTree *@var{tree}, GSearchFunc @var{search_func}, gpointer @var{data})
@end deftypefun
@deftypefun gint g_tree_height (GTree *@var{tree})
@end deftypefun
@deftypefun gint g_tree_nnodes (GTree *@var{tree})
@end deftypefun
@node Memory, Timers, Trees, Top
@comment node-name, next, previous, up
@chapter Memory handling
@subsection Functions
@deftypefun gpointer g_malloc (gulong @var{size})
@end deftypefun
@deftypefun gpointer g_malloc0 (gulong @var{size})
@end deftypefun
@deftypefun gpointer g_realloc (gpointer @var{mem}, gulong @var{size})
@end deftypefun
@deftypefun void g_mem_profile (void)
@end deftypefun
@deftypefun void g_mem_check (gpointer @var{mem})
@end deftypefun
@deftypefun GMemChunk* g_mem_chunk_new (gchar *@var{name}, gint @var{atom_size}, gulong @var{area_size}, gint @var{type})
@end deftypefun
@deftypefun void g_mem_chunk_destroy (GMemChunk *@var{mem_chunk})
@end deftypefun
@deftypefun gpointer g_mem_chunk_alloc (GMemChunk *@var{mem_chunk})
@end deftypefun
@deftypefun void g_mem_chunk_free (GMemChunk *@var{mem_chunk}, gpointer @var{mem})
@end deftypefun
@deftypefun void g_mem_chunk_clean (GMemChunk *@var{mem_chunk})
@end deftypefun
@deftypefun void g_mem_chunk_reset (GMemChunk *@var{mem_chunk})
@end deftypefun
@deftypefun void g_mem_chunk_print (GMemChunk *@var{mem_chunk})
@end deftypefun
@deftypefun void g_mem_chunk_info (void)
@end deftypefun
@deftypefun void g_blow_chunks (void)
Not what you might be thinking, @code{g_blow_chunks()} simply compresses all
the chunks. This operation consists of freeing every memory area that should
be freed (but which we haven't gotten around to doing yet).
@end deftypefun
@node Timers, Output, Memory, Top
@comment node-name, next, previous, up
@chapter Timer functions
@subsection Functions
@deftypefun GTimer* g_timer_new (void)
@end deftypefun
@deftypefun void g_timer_destroy (GTimer *@var{timer})
@end deftypefun
@deftypefun void g_timer_start (GTimer *@var{timer})
@end deftypefun
@deftypefun void g_timer_stop (GTimer *@var{timer})
@end deftypefun
@deftypefun void g_timer_reset (GTimer *@var{timer})
@end deftypefun
@deftypefun gdouble g_timer_elapsed (GTimer *@var{timer}, gulong *@var{microseconds})
@end deftypefun
@node Output, Utilities, Timers, Top
@comment node-name, next, previous, up
@chapter Output functions
@subsection Functions
@deftypefun void g_error (gchar *@var{format}, @dots{})
@end deftypefun
@deftypefun void g_warning (gchar *@var{format}, @dots{})
@end deftypefun
@deftypefun void g_message (gchar *@var{format}, @dots{})
@end deftypefun
@deftypefun void g_print (gchar *@var{format}, @dots{})
@end deftypefun
@node Utilities, Errors, Output, Top
@comment node-name, next, previous, up
@chapter Utility functions
@node Errors, String Chunks, Utilities, Top
@comment node-name, next, previous, up
@chapter Error handling
@node String Chunks, Strings, Errors, Top
@comment node-name, next, previous, up
@chapter String chunks
@node Strings, Resizable arrays, String Chunks, Top
@comment node-name, next, previous, up
@chapter String handling
@node Resizable arrays, GScanner, Strings, Top
@comment node-name, next, previous, up
@chapter Resizable arrays
@node GScanner, Miscellany, Resizable arrays, Top
@comment node-name, next, previous, up
@chapter Flexible lexical scanner
@node Miscellany, Function Index, GScanner, Top
@comment node-name, next, previous, up
@chapter Other stuff
@node Function Index, Concept Index, Miscellany, Top
@comment node-name, next, previous, up
@unnumbered Function Index
@printindex fn
@node Concept Index, , Function Index, Top
@comment node-name, next, previous, up
@unnumbered Concept Index
@printindex cp
@summarycontents
@contents
@bye

View File

@@ -1,4 +1,4 @@
.TH GTK+ 1 "11 May 1998" Version 1.0.2
.TH GTK+ 1 "25 October 1998" Version @VERSION@
.SH NAME
gtk-config - script to get information about the installed version of GTK+
.SH SYNOPSIS
@@ -40,7 +40,7 @@ and \-\-libs options. This option must be specified before any
.BR gimp (1),
.BR gimptool (1)
.SH COPYRIGHT
Copyright \(co 1995 Spencer Kimball and Peter Mattis
Copyright \(co 1998 Owen Taylor
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,

View File

@@ -36,6 +36,14 @@ gtk-config takes the following flags:
If PREFIX is specified, overrides the configured value of $exec_prefix.
Otherwise, prints out the configured value of $exec_prefix
You may also add to the command line a list of additional
libraries that gtk-config should supply the CFLAGS and LIBS
for. The only currently supported library is 'gthread'.
As an example of this latter usage, you can get the
appropriate cflags for a threaded program with:
gtk-config --cflags gthread
Example of using gtk-config

View File

@@ -1,5 +1,6 @@
\input texinfo @c -*-texinfo-*-
@c Copyright (C) 1996 by Peter Mattis. All rights reserved.
@c Portions Copyright (C) 1998 Marius Vollmer
@c
@c %**start of header
@setfilename gtk.info
@@ -9,8 +10,8 @@
@c %**end of header
@set edition 1.0
@set update-date 29 January 1998
@set update-month January 1998
@set update-date 23 August 1998
@set update-month August 1998
@ifinfo
This file documents GTK, the GIMP Toolkit
@@ -44,7 +45,7 @@ approved by Peter Mattis.
@title The GIMP Toolkit
@subtitle Version @value{edition}
@subtitle @value{update-month}
@author by Peter Mattis
@author by Peter Mattis and the GTK+ team
@page
@vskip 0pt plus 1filll
@@ -83,7 +84,8 @@ This is edition @value{edition} of the GTK documentation,
@menu
* Copying:: Your rights.
* Overview:: What is GTK?
* Objects:: Object overview.
* Types::
* Objects::
* Signals:: Signals overview.
* Widgets:: Widget overview.
* Other Objects:: Utility objects.
@@ -120,17 +122,17 @@ copies of GTK, 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
Also, for our own protection, we must make certain that everyone finds
out that there is no warranty for GTK. If GTK 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 GTK are found in the General
Public Licenses that accompanies it.
Public Licenses that accompany it.
@node Overview, Objects, Copying, Top
@node Overview, Types, Copying, Top
@comment node-name, next, previous, up
@chapter What is GTK?
@cindex Overview
@@ -151,26 +153,261 @@ label. However, the child widget can also be a pixmap, image or any
combination possible the programmer desires. This flexibility is adhered
to throughout the library.
@c I think the next paragraph takes unproportionally much space for
@c the thing it wants to say (compared to the rest of this overview).
@c So Somebody please extend this overview with more generally interesting
@c stuff. - mvo
@node Objects, Signals, Overview, Top
To make life easier for you, GTK presents this flexibility in a uniform
framework. Specifically, it implements its own support for object
oriented programming that is well adapted to the purposes of a user
interface toolkit and it aims at providing a reasonable sane and
disciplined programming interface. This uniformity and discipline is
intended to make it easy and reliable to access GTK from languages other
than C. Especially more dynamic languages like Perl, Python or Scheme
will find amble support, and in fact, bindings to these languages
already exist.
@node Types, Objects, Overview, Top
@comment node-name, next, previous, up
@chapter Object Overview
@cindex Objects
@chapter Types
@cindex type
@cindex type system
@cindex class
GTK implements a semi-simple class mechanism and an associated class
hierarchy for widgets and several other useful objects. The GtkObject
type is the root of the class hierarchy. It provides a few items needed
by all classes, the foundation for the signal (@pxref{Signals})
mechanism and the ``destroy'' method.
@flushright
Other kid's games are all such a bore!
They've gotta have rules and they gotta keep score!
@*
-- Calvin about CalvinBall(tm)
@end flushright
The class hierarchy is defined by a type hierarchy. This hierarchy
allows queries to be made in regards to a type. The basic query that can
be performed is asking whether a given type has an ``is a'' relation
with another type. For instance, it is common to ask whether a general
widget pointer is a type of specific widget so that runtime sanity
checks can be made.
GTK implements a semi-simple type system with an associated class
mechanism for widgets and several other useful objects. This type
system is intended to be general enough to allow both a smooth binding
of dynamically typed languages to Gtk, as well as to serve for a
rigorous and formalistic definition of the larger part of the Gtk API.
@section Type utility functions
@c The GtkObject
@c type is the root of the class hierarchy. It provides a few items needed
@c by all classes, the foundation for the signal (@pxref{Signals})
@c mechanism and the ``destroy'' method.
The classes for the individual widgets are by far the most important
part of this type system, but before we get to them, we describe the
basics of the type system itself. This is mostly of interest for widget
writers and language binders, so you might want to skip ahead to the
next chapter, which talks about the object oriented stuff.
@menu
* Type introduction::
* Basics::
* Simple types::
* Enumerations and flags::
* Strings::
* Boxed types::
* Callbacks::
* Composite types::
@end menu
@node Type introduction, Basics, Types, Types
@section Introduction to the Type System
Gtk defines its own system of types, much like a computer language
defines what types it supports. Of course, the Gtk type system is build
on top of the types that C provides, so it includes members like
@samp{int}, @samp{long} and @samp{float}. But, compared to C, it allows
only few carefully selected types and specifies a lot of restrictions on
the way you can use values of these types. For example, there is no
general facility for specifying @emph{pointer to X}. Instead, we take a
more higher level approach and define such things as @samp{string},
which is just like a @code{char*} but with additional rules about how to
manage the memory that it points to.
The type system has two purposes: to define a formal system with which
to describe the various exported features of Gtk; and to implement this
system at run-time so that we get sound and flexible @dfn{dynamic} types
for the dynamic languages that want to interface with Gtk.
Let me restate this with different words, because I think it is
important to understand this idea. We will see in a moment that the
type system is indeed well defined and all this detail is implemented
with functions and data structures in Gtk. For example, every type (and
there can be any number of them) can be represented with a unique
integer and Gtk has support for the necessary bookkeeping for this.
Every type also has a name and there are functions for converting
between the name of a type and its unique number. Maybe more useful,
there is a big discriminated union that can be used to pass around a
value of any representable type, together with its precise type.
This is the run-time or dynamic side of the type system. Mostly, you do
not need to use it when you don't want to. The compile-time or static
side of the type system can is used to statically define the programming
interface of Gtk. For example, suppose there is function @code{gtk_foo}
in the Gtk API that has a prototype
@example
char *gtk_foo (char *);
@end example
This looks like it does something with strings. But what does it do
with the memory of the string that has been passed in, and what are we
supposed or allowed to do with the memory that the returned pointer
points to? The more restricted type @samp{string} from the Gtk type
system can be used to be more precise. In fact, the definition of
@samp{string} below includes the rule that when a @samp{string} is
passed to a function, that function is not allowed to retain a pointer
into the string beyond the life time of that function call. So we are
safe to deallocate it or override it when the function has returned.
Likewise, the definition specifies that the memory of a @samp{string}
that is returned from a function becomes the sole property of the
calling function. The calling function is responsible for deallocating
it eventually and it can be sure that nobody else scribbles in it. When
@samp{gtk_foo} really obeys these rules, we can say that it takes one
argument, which is a @samp{string}, and it returns a @samp{string}.
Now we can understand why it makes sense to have a more restrictive type
system than that of C. With it, it is possible to be more precise and
we actually have a framework where we can be sure that as long as we
stay inside this framework we are not gratuitously causing trouble for
languages that are more disciplined than C. Of course, you are not
restricted to making all your interfaces expressible within the
framework. There are valid reasons for breaking it, for performance or
simply for convenience. But please try to provide all the functionality
of your module in such a way that it can be described with this type
system and treat the non-conforming functions as additional goodies that
are nice to have but not essential. The reward is an instant
accessibility of your code from a huge number of scripting and extension
languages such as Perl, Python, and Guile.
These formal specifications of the Gtk interface are contained in
special declarations in the header files of Gtk. They are ignored by
the C compiler, but can be used by other language processors. For extra
convenience, these declarations are also available in a more condensed
form that is easier to parse. Tools for generating bindings of Gtk to
other languages can read these declarations and---because all the
important details are defined---automatically generate the bulk of the
needed glue code. It is also possible to feed these declarations into a
running application (a interface builder, say) and thus make it aware of
new widgets and functions without recompiling anything.
The run-time side of the type system is also somewhat introspective.
This means that you can query Gtk about all the members of an
enumeration for example. Gtk provides tools that help you provide this
introspection for your definitions also.
Types are not enough to completely specify an interface, so GTK also has
@dfn{modes}. A mode specifies what happens to a value when it crosses a
module boundary; it can be @samp{in}, @samp{out}, or @samp{inout}. Most
fundamental types (and their derived types) support only mode @samp{in}.
The modes @samp{out} and @samp{inout} can only be used with the
composite types: lists and vectors. When argument of these types are
marked as @samp{out} or @samp{inout} it means that the called module is
allowed to change the contents of the composite value and that these
changes need to be propagated back to the originator of the value. Mode
@samp{out} means that the argument has no meaningful value at the
beginning and should not be read. Mode @samp{in} specifies that the
called module is not allowed to change the value in any way.
The type system allows for an unbounded number of types. Every widget
is a type for example and you can add new widget types at any time
without confusing the run-time implementation of the type system.
Nevertheless, all types are derived from a certain @dfn{fundamental}
type, and there are only a small and finite number of fundamental types.
We only specify rules for the fundamental types and all other types
inherit these rules from their fundamental type. For example,
@samp{int} is a fundamental type, as is @samp{GtkObject}. All widgets
derive from @samp{GtkObject} and so the rules for @samp{GtkObject} apply
to all widgets as well.
This derivation defines a type hierachy, but this hierachy is not
completely general. You can't derive from @samp{int} for example, and
you can only have one level of derivation from @samp{enum}. The
fundamental type @samp{GtkObject}, however, is the basis for the large
and deep hierarchy of widget types.
The individual fundamental types are defined and explained in the
following sections. Here is a complete list of them:
@table @samp
@item none
The not-a-value type, similar to @samp{void}.
@item char
A character. Internationalization issues are still undecided.
@item bool
True or false.
@item byte, ubyte, int, uint, long, ulong, float, double
The usual assortment of scalar types.
@item string
A string. Internationalization issues are still undecided.
@item enum, flags
Enumerations with a fixed set of literals. Either used to express a
single choice from this set or to individually turn on and off several
flags.
@item boxed
A pointer to an opaque structure that can be copied and destroyed.
@item callback
A pointer to a function with enough extra information so that it can
also be used for functions written in languages completely different
from C.
@item GtkObject
A pointer to a GtkObject or derived type. The fun starts here.
@item args, slist, dlist, cvec, tvec
An assortment of composite types like linked lists and counted or
zero-terminated arrays.
@item pointer, signal, c_callback
Obsolete types.
@end table
@node Basics, Simple types, Type introduction, Types
@section Basic Concepts
The basis for the type system are the fundamental types. At run-time,
they are represented by members of the @code{GtkFundamentalType}
enumeration. For the static declarations, they are identified with a
unique name.
@deftp {Enumeration} GtkFundamentalType
This enumeration contains a member for each defined fundamental type.
Most members are listed along with the description of their semantics,
but one is listed here:
@table @code
@item GTK_TYPE_INVALID
No valid type is derived from this. Use @code{GTK_TYPE_INVALID} to
express exceptional situations. This member does not really correspond
to a fundamental type and thus there is no name for it.
@end table
@end deftp
@deftp {Data type} GtkType
The type @code{GtkType} holds the run-time representation of a type. It
is a integer of a certain size. The follwing macros are defined to
access the basic properties of a @code{GtkType}:
@deftypefn {Macro} {unsigned int} GTK_TYPE_SEQNO (GtkType type)
Returns the sequence number of @var{type}. The sequence numbers are
guaranteed to be dense, i.e., you can use them to index a table and the
table need not be much larger than the number of different GtkTypes that
you might encounter.
@end deftypefn
@deftypefn {Macro} GtkFundamentalType GTK_FUNDAMENTAL_TYPE (GtkType type)
Returns the fundamental type of @var{type}.
@end deftypefn
Both macros simply access different bit-fields of a @code{GtkType}, so
they are very efficient.
@end deftp
New types are registered with the @code{gtk_type_unique} function. Any
kind oftype can be registered with @code{gtk_type_unique} but there are
convenience functions for most fundamental types. Each fundamental type
has its own interpretation of the rules below and these convenience
functions should be used to automatically get the type registration
right. So, don't be put off by the apparent complexity of the interface
to @code{gtk_type_unique}. You will be using it only for new widgets,
and there the rules are simple.
The @code{GtkTypeInfo} structure is used to communicate information to
@code{gtk_type_unique} as opposed to passing in large numbers of
@@ -186,123 +423,257 @@ struct _GtkTypeInfo
guint class_size;
GtkClassInitFunc class_init_func;
GtkObjectInitFunc object_init_func;
GtkArgSetFunc arg_set_func;
GtkArgGetFunc arg_get_func;
gpointer reserved_1;
gpointer reserved_2;
GtkClassInitFunc base_class_init_func;
@}
@end example
@itemize @bullet
@item
The @code{type_name} field refers to the name of the type. It is
convention for the type name to be the same as the C structure type. For
example, the type name of the @code{GtkObject} structure is
``GtkObject''.
The @code{type_name} field refers to the name of the type. This is the
same name that is used in the static definitions. It is convention for
the type name to be closely related to the name of the underlying C
type. For example, the type name of the @code{GtkObject} structure is
``GtkObject'', and the name of the @code{GtkWindowType} enumeration is
``GtkWindowType''. Note that the C type corresponding to ``GtkObject''
is really a pointer to a @code{GtkObject} struct, but the name has no
``*'' in it.
@item
The @code{object_size} field refers to the size in bytes of the C
structure. The easiest (and portable) means of computing this size is by
using the C @code{sizeof} operator. For instance, the sizeof of the
@code{GtkObject} structure is computed by doing @code{sizeof
(GtkObject)}.
structure for types that have such a structure. The easiest (and
portable) means of computing this size is by using the C @code{sizeof}
operator. For instance, the sizeof of the @code{GtkObject} structure is
computed by doing @code{sizeof (GtkObject)}. When the type has no
associated structure or when you do not want to support the
@code{gtk_type_new} function for the new type, set @code{object_size} to
0. Only types derived from GTK_TYPE_OBJECT can be handled by
@code{gtk_type_new}, anyway.
@item
The @code{class_size} field refers to the size in bytes of the C
structure for the class. Again, the @code{sizeof} operator should be
used to compute this value.
structure for the class. Again, the @code{sizeof} operator should be
used to compute this value. If you don't want to have a class structure
for this type, set the field to 0. @code{gtk_type_class} will then
always return @code{NULL}.
@item
The @code{class_init_func} field is a callback which is used by the type
mechanism to initialize class specific fields. The single argument this
function takes is a pointer to a class structure.
The @code{class_init_func} and @code{base_class_init_func} fields are
callbacks which are used by the type mechanism to initialize class
specific fields. The single argument these function taks is a pointer to
a class structure. When you do not need one or both of them, set the
corresponding field to @code{NULL}. The @code{class_init_func} will be
called at most once, right after the class structure of size
@code{class_size} has been allocated. The interaction between
@code{class_init_func} and @code{base_class_init_func} is only really
useful for the full-fledged object system. It is described there
@pxref{Objects}.
@item
The @code{object_init_func} field is a callback which is used by the
type mechanism to initialize object specific fields. The single argument
this functions takes is a pointer to an object structure.
@c FIXME!! Document the arg_set_func and arg_get_func..
type mechanism to initialize object specific fields for structures that
have been allocated via @code{gtk_type_new}. The single argument this
functions takes is a pointer to an object structure. If you do not want
any special object initialization to take place, set this to
@code{NULL}. All object initialization functions for all types that are
part of the inheritance chain are called, starting with the most basic
type.
@end itemize
@deftypefun guint gtk_type_unique (guint @var{parent_type}, GtkTypeInfo *@var{type_info})
The @var{parent_type} is simply the value of the new types parent
type. If @var{parent_type} is 0, then the new type is the root of the
type hierarchy. @var{type_info} is a pointer to a structure which
contains necessary information for construction of the new
type. Specifically, the @code{type_name}, @code{object_size} and
@code{class_size} fields are required. The @code{class_init_func},
@code{object_init_func} and @code{value_init_func} fields may be NULL.
@deftypefun guint gtk_type_unique (GtkType @var{parent_type}, GtkTypeInfo *@var{type_info})
The @var{parent_type} is simply the new types parent type. If
@var{parent_type} is GTK_TYPE_INVALID, then the new type is a new
fundamental type. You should @b{never} register new fundamental types.
@var{type_info} is a pointer to a structure which contains necessary
information for construction of the new type.
You can only register a specific name once.
@end deftypefun
@deftypefun gchar* gtk_type_name (guint @var{type})
@deftypefun gchar* gtk_type_name (GtkType @var{type})
The returned string is the name of @var{type} as specified to
@code{gtk_type_unique}.
@end deftypefun
@deftypefun guint gtk_type_from_name (guchar *@var{name})
@deftypefun GtkType gtk_type_from_name (guchar *@var{name})
Return the type associated with @var{name}. If there is no type
associated with @var{name}, then 0 will be returned.
associated with @var{name}, then GTK_TYPE_INVALID will be returned.
@end deftypefun
@deftypefun guint gtk_type_parent (guint @var{type})
Returns the parent type of @var{type} or 0 if @var{type} is the root of
the type hierarchy.
@deftypefun GtkType gtk_type_parent (GtkType @var{type})
Returns the parent type of @var{type} or GTK_TYPE_INVALID if @var{type}
is a fundamental type.
@end deftypefun
@deftypefun gpointer gtk_type_class (guint @var{type})
@deftypefun gpointer gtk_type_class (GtkType @var{type})
Returns the initialized class structure for @var{type}. The class
structure is actually created and initialized the first time it is
needed. If creation and initialization occurs, the @code{class_size}
field of the @code{GtkTypeInfo} structure used to initialize this type
is used to determine how large the class structure is. The
@code{class_init_func} field from the @code{GtkTypeInfo} structure is
called for all the members in the types ancestry, including the
type. The order of this invocation proceeds from the root on down. For
example, the @code{GtkWidgetClass} is first initialized as an
@code{GtkObjectClass} by the object class initialization routine and
then by the widget class initialization routine. This allows the widget
class initialization routine to override values set by the object class
initialization routine. The returned structure is shared by all objects
of @var{type} and, as such, should not be modified.
needed. Refer to @pxref{Objects} for details on how this initialization works for GTK_TYPE_OBJECT derived types.
@c If creation and initialization occurs, the @code{class_size}
@c field of the @code{GtkTypeInfo} structure used to initialize this type
@c is used to determine how large the class structure is. The
@c @code{class_init_func} field from the @code{GtkTypeInfo} structure is
@c called for all the members in the types ancestry, including the
@c type. The order of this invocation proceeds from the root on down. For
@c example, the @code{GtkWidgetClass} is first initialized as an
@c @code{GtkObjectClass} by the object class initialization routine and
@c then by the widget class initialization routine. This allows the widget
@c class initialization routine to override values set by the object class
@c initialization routine.
The returned structure is shared by all objects of @var{type} and, as
such, should not be modified.
@end deftypefun
@deftypefun gpointer gtk_type_new (guint @var{type})
Returns a new instance of an @var{type} object. The object structure is
created and initialized similarly to the class structure (as described
above). The @code{object_size} and @code{object_init_func} fields of the
@code{GtkTypeInfo} structure are used to determine the objects allocated
size and the object specific initialization routine. Similarly to the
class initialization, all the object initialization routines from the
root on down to the particular type being created are invoked.
@deftypefun gpointer gtk_type_new (GtkType @var{type})
Returns a new instance of an @var{type} object. This works only for GTK_TYPE_OBJECT derived types. Please see @pxref{Objects}.
@c The @code{object_size}
@c and @code{object_init_func} fields of the @code{GtkTypeInfo} structure
@c are used to determine the objects allocated size and the object specific
@c initialization routine. Similarly to the class initialization, all the
@c object initialization routines from the root on down to the particular
@c type being created are invoked.
@end deftypefun
@deftypefun void gtk_type_describe_heritage (guint @var{type})
@deftypefun void gtk_type_describe_heritage (GtkType @var{type})
Prints the type heritage for @var{type}. The heritage for a type
includes the type and all its parent types up the type tree.
@end deftypefun
@deftypefun void gtk_type_describe_tree (guint @var{type}, gint @var{show_size})
@deftypefun void gtk_type_describe_tree (GtkType @var{type}, gboolean @var{show_size})
Prints the type tree which starts at @var{type}. @var{show_size} is a
boolean which determines whether type sizes are printed.
@end deftypefun
@deftypefun gint gtk_type_is_a (guint @var{type}, guint @var{is_a_type})
@deftypefun gboolean gtk_type_is_a (GtkType @var{type}, GtkType @var{is_a_type})
A predicate function which determines whether the relation @var{type}
is_a @var{is_a_type} is true.
@end deftypefun
@deftypefun void gtk_type_get_arg (GtkObject *@var{object}, GtkType @var{type}, GtkArg *@var{arg}, guint @var{arg_id})
@end deftypefun
@c @deftypefun void gtk_type_get_arg (GtkObject *@var{object}, GtkType @var{type}, GtkArg *@var{arg}, guint @var{arg_id})
@c @end deftypefun
@c @deftypefun void gtk_type_set_arg (GtkObject *@var{object}, GtkType @var{type}, GtkArg *@var{arg}, guint @var{arg_id})
@c @end deftypefun
Values of all types can be handled uniformly by storing them into a
@code{GtkArg} structure. The @code{GtkArg} has the following fields:
@table @code
@item gchar *name
This can be used to give the value represented by this @code{GtkArg}
structure a name. It is not used much.
@item GtkType type
The type of this value.
@item union d
A big union that has (at least conceptually) one member for each
fundamental type. You should not access these members directly.
Rather, use the @code{GTK_VALUE_*} macros. There is one macro for each
fundamental type, and its name is derived from the name of the
GtkFundamentalType enumeration members simply by replacing ``Gtk_TYPE''
with ``GTK_VALUE''. All @code{GTK_VALUE_*} macros take a @code{GtkArg}
structure as their only parameter (@emph{not} a pointer) and evaluate to
a lvalue.
@end table
For example, the accessor for the fundamental type GTK_TYPE_INT is
called GTK_VALUE_INT and you could use it like this:
@example
GtkArg value;
value.name = NULL;
value.type = GTK_TYPE_INT;
GTK_VALUE_INT(value) = 7;
@end example
@node Simple types, Enumerations and flags, Basics, Types
@section Simple Types
The Gtk type system has a full set of the usual simple types: integers,
floating point numbers, but also boolean and character. You can not
derive new types from these.
@multitable {GTK_TYPE_POINTER} {"gpointer"} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
@item Enum @tab Name @tab Description
@item GTK_TYPE_NONE @tab "void"
@tab A type without value.
@item GTK_TYPE_CHAR @tab "char"
@tab A 8-bit unsigned number representing a character. Numbers
between 0 and 127 are ASCII, the rest is undefined.
@item GTK_TYPE_BOOL @tab "gboolean"
@tab The boolean type. It is some small integer where the number 0
represents false and 1 is true. No other values are allowed.
@item GTK_TYPE_INT @tab "gint"
@tab A signed integer with at least 32 bits.
@item GTK_TYPE_UINT @tab "guint"
@tab A unsigned integer with at least 32 bits.
@item GTK_TYPE_LONG @tab "glong"
@tab A signed integer with at least 32 bits.
@item GTK_TYPE_ULONG @tab "gulong"
@tab A unsigned integer with at least 32 bits. This is large enough to
hold a coerced pointer.
@item GTK_TYPE_FLOAT @tab "gfloat"
@tab A single precision floating point number.
@item GTK_TYPE_DOUBLE @tab "gfloat"
@tab A souble precision floating point number.
@item GTK_TYPE_POINTER @tab "gpointer"
@tab A untyped pointer. Do not use this if you can avoid it.
@end multitable
The values of these types are all represented `directly' with the C
types that are indicated in the `name' column above. @pxref{Boxed
types} for a discussion of this.
@node Enumerations and flags, Strings, Simple types, Types
@section Enumerations and Flags
@node Strings, Boxed types, Enumerations and flags, Types
@section Strings
@node Boxed types, Callbacks, Strings, Types
@section Boxed Types
@node Callbacks, Composite types, Boxed types, Types
@section Callbacks
@node Composite types, , Callbacks, Types
@section Composite Types
@node Objects, Signals, Types, Top
@chapter Objects
@deftypefun void gtk_type_set_arg (GtkObject *@var{object}, GtkType @var{type}, GtkArg *@var{arg}, guint @var{arg_id})
@end deftypefun
@section Object functions
The GtkObject type is the root of the type hierarchy used by GTK. It
provides a minimal set of fields used to implement the actual
object, class and signal mechanisms, as well as several utility routines
which make dealing with objects easier.
provides a minimal set of fields used to implement the actual object,
class and signal mechanisms, as well as several utility routines which
make dealing with objects easier.
For the adventurous, see @ref{Object Implementation}.
@@ -738,7 +1109,7 @@ opaque.
All widget creation routines in GTK return pointers to GtkWidget
structures. In reality, all widget creation routines create structures
that can be viewed as equivalent to the GtkWidget structure, but often
have contain additional information. @xref{Object Implementation}
have contain additional information. @xref{Object Implementation}.
The widgets available for use are implemented in a hierarchy. Several
widgets exist solely as common bases for more specific widgets. For
@@ -751,37 +1122,37 @@ The available widgets (in alphabetical order):
@menu
* GtkAlignment:: The alignment widget.
* GtkArrow:: The arrow widget.
* GtkAspectFrame:: The aspect frame widget.
* GtkAspectFrame:: The aspect frame widget.
* GtkBin:: The bin widget.
* GtkBox:: The box widget.
* GtkButtonBox:: The button box widget.
* GtkButtonBox:: The button box widget.
* GtkButton:: The button widget.
* GtkCheckButton:: The check button widget.
* GtkCheckMenuItem:: The check menu item widget.
* GtkCList:: The compound list widget.
* GtkColorSelection:: The color selector widget.
* GtkCombo:: The combo box widget.
* GtkCList:: The compound list widget.
* GtkColorSelection:: The color selector widget.
* GtkCombo:: The combo box widget.
* GtkContainer:: The container widget.
* GtkCTree:: The multi-column tree widget.
* GtkCurve:: The curve widget.
* GtkGammaCurve:: The gamma curve widget.
* GtkCurve:: The curve widget.
* GtkGammaCurve:: The gamma curve widget.
* GtkDialog:: The dialog widget.
* GtkDrawingArea:: The drawing area widget.
* GtkEntry:: The entry widget.
* GtkEventBox:: The event box widget.
* GtkEventBox:: The event box widget.
* GtkFileSelection:: The file selection dialog widget.
* GtkFixed:: The fixed widget.
* GtkFixed:: The fixed widget.
* GtkFrame:: The frame widget.
* GtkGamma:: The gamma widget.
* GtkGamma:: The gamma widget.
* GtkHBox:: The horizontal box widget.
* GtkHButtonBox:: The horizontal button box widget.
* GtkHPaned:: The horizontal paned widget.
* GtkHButtonBox:: The horizontal button box widget.
* GtkHPaned:: The horizontal paned widget.
* GtkHRuler:: The horizontal ruler widget.
* GtkHScale:: The horizontal scale widget.
* GtkHScrollbar:: The horizontal scrollbar widget.
* GtkHSeparator:: The horizontal separator widget.
* GtkImage:: The image widget.
* GtkInputDialog:: The input dialog widget.
* GtkInputDialog:: The input dialog widget.
* GtkItem:: The item widget.
* GtkLabel:: The label widget.
* GtkList:: The list widget.
@@ -793,7 +1164,7 @@ The available widgets (in alphabetical order):
* GtkMisc:: The misc widget.
* GtkNotebook:: The notebook widget.
* GtkOptionMenu:: The option menu widget.
* GtkPaned:: The paned widget.
* GtkPaned:: The paned widget.
* GtkPixmap:: The pixmap widget.
* GtkPreview:: The preview widget.
* GtkProgressBar:: The progress bar widget.
@@ -805,18 +1176,18 @@ The available widgets (in alphabetical order):
* GtkScrollbar:: The scrollbar widget.
* GtkScrolledWindow:: The scrolled window widget.
* GtkSeparator:: The separator widget.
* GtkStatusbar:: The statusbar widget.
* GtkStatusbar:: The statusbar widget.
* GtkTable:: The table widget.
* GtkText:: The text widget.
* GtkToggleButton:: The toggle button widget.
* GtkToolbar:: The tool bar widget.
* GtkTooltips:: The tool tips widget.
* GtkToolbar:: The tool bar widget.
* GtkTooltips:: The tool tips widget.
* GtkTree:: The tree widget.
* GtkTreeItem:: The tree item widget.
* GtkVBox:: The vertical box widget.
* GtkVButtonBox:: The vertical button box widget.
* GtkVButtonBox:: The vertical button box widget.
* GtkViewport:: The viewport widget.
* GtkVPaned:: The vertical paned widget.
* GtkVPaned:: The vertical paned widget.
* GtkVRuler:: The vertical ruler widget.
* GtkVScale:: The vertical scale widget.
* GtkVScrollbar:: The vertical scrollbar widget.
@@ -1434,7 +1805,7 @@ values @var{label}. The new widget is returned as a pointer to a
@gtkstdmacros{CheckButton, CHECK_BUTTON}
@page
@node GtkCheckMenuItem, GtkCList, GtkCheckButton, Widgets,
@node GtkCheckMenuItem, GtkCList, GtkCheckButton, Widgets
@comment node-name, next, previous, up
@section The check menu item widget
@@ -4528,7 +4899,7 @@ Returns the @code{GtkWidget} type identifier.
@page
@node GtkWindow, , GtkWidget, Widgets
@node GtkWindow, , GtkWidget, Widgets
@comment node-name, next, previous, up
@section The window widget
@@ -4677,11 +5048,11 @@ above.
@menu
* GtkAcceleratorTable:: The accelerator table object.
* GtkAcceleratorTable:: The accelerator table object.
* GtkAdjustment:: The adjustment object.
* GtkGC:: The GC object.
* GtkGC:: The GC object.
* GtkData:: The data object.
* GtkStyle:: The style object.
* GtkStyle:: The style object.
@end menu
@@ -4764,7 +5135,7 @@ Returns the @code{GtkData} type identifier.
@gtkstdmacros{Data, DATA}
@page
@node GtkStyle, ,GtkData, Other Objects
@node GtkStyle, , GtkData, Other Objects
@section The style object
@subsection Description
@@ -4779,7 +5150,7 @@ Returns the @code{GtkData} type identifier.
@menu
* Initialization and exit:: Initializing and exiting GTK.
* Customization:: Customizing the library.
* Customization:: Customizing the library.
* Menu Factories:: Simplified menu creation.
* Tree Factories:: Simplified tree creation.
* Tool Tips:: Pop up help mechanism.
@@ -4889,7 +5260,7 @@ you.
@section Resource Files
@page
@node Standard Macros, , Resource Files, Miscellaneous
@node Standard Macros, , Resource Files, Miscellaneous
@comment node-name, next, previous, up
@section Macros defined by all objects
@@ -4919,7 +5290,7 @@ Cast a generic pointer to @code{Gtk<ObjectType>Class*}. Like
@deftypefun gint GTK_IS_<ObjectType> (gpointer @var{obj})
Determine if a generic pointer refers to a @code{Gtk<ObjectType>}
object. This function is, in reality, a macro wrapper around the
@code{gtk_type_is_a} function (@pxref{Objects}).
@code{gtk_type_is_a} function (@pxref{Types}).
@end deftypefun
@@ -5075,7 +5446,7 @@ main (int argc, char *argv[])
@end example
@node Hello World III, , Hello World II, Examples
@node Hello World III, , Hello World II, Examples
@comment node-name, next, previous, up
@section Making Hello World II robust
@@ -5263,7 +5634,7 @@ array instead of a linked list. This would shrink the overhead of the
@printindex fn
@node Concept Index, , Function Index, Top
@node Concept Index, , Function Index, Top
@comment node-name, next, previous, up
@unnumbered Concept Index
@@ -5273,3 +5644,5 @@ array instead of a linked list. This would shrink the overhead of the
@summarycontents
@contents
@bye
@c LocalWords: Gtk API formalistic

File diff suppressed because it is too large Load Diff

8600
docs/gtk_tut_fr.sgml Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

242
docs/man/gtk_button.pod Normal file
View File

@@ -0,0 +1,242 @@
=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.

99
docs/package_tutorial.sh Executable file
View File

@@ -0,0 +1,99 @@
#! /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

@@ -240,7 +240,7 @@ Taking care of proper referencing
---------------------------------
There are some cases where referencing of widgets from outside the toolkit
(on the application side is needed).
(on the application side) is needed.
Once the application performes an operation on a widget that will cause
its reference count to drop, if it wants to take further actions on the
widget, it needs to hold a reference to it.

7
docs/reference/AUTHORS Normal file
View File

@@ -0,0 +1,7 @@
Damon Chaplin <damon@karuna.freeserve.co.uk> and others.
See:
http://www.gtk.org/rdp/status.html
for a complete list.

30
docs/reference/COPYING Normal file
View File

@@ -0,0 +1,30 @@
This work may be reproduced and distributed in whole or in part, in
any medium, physical or electronic, so as long as this copyright
notice remains intact and unchanged on all copies. Commercial
redistribution is permitted and encouraged, but you may not
redistribute, in whole or in part, under terms more restrictive than
those under which you received it. If you redistribute a modified or
translated version of this work, you must also make the source code to
the modified or translated version available in electronic form
without charge. However, mere aggregation as part of a larger work
shall not count as a modification for this purpose.
All code examples in this work are placed into the public domain,
and may be used, modified and redistributed without restriction.
BECAUSE THIS WORK IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE WORK, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE WORK "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. SHOULD THE WORK PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE WORK AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
WORK, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

110
docs/reference/ChangeLog Normal file
View File

@@ -0,0 +1,110 @@
Tue Oct 26 16:50:15 1999 Owen Taylor <otaylor@redhat.com>
* gtk/tmpl/gtkrc.sgml: Added information about widget
paths and pattern matching.
1999-09-22 Damon Chaplin <damon@karuna.freeserve.co.uk>
* gtk/tmpl/*.sgml: ran make templates, to fix problems with structs.
* gtk/gtk-sections.txt: rearranged GtkCombo section.
* gtk/tmpl/gtkvseparator.sgml:
* gtk/tmpl/gtkhseparator.sgml:
* gtk/tmpl/gtkgc.sgml:
* gtk/tmpl/gtkfeatures.sgml:
* gtk/tmpl/gtktipsquery.sgml:
* gtk/tmpl/gtkitem.sgml:
* gtk/tmpl/gtkinvisible.sgml:
* gtk/tmpl/gtkgamma.sgml:
* gtk/tmpl/gtkdata.sgml:
* gtk/tmpl/gtkcurve.sgml:
* gtk/tmpl/gtkcombo.sgml:
* gtk/tmpl/gtkaccellabel.sgml: documented.
1999-09-20 Damon Chaplin <damon@karuna.freeserve.co.uk>
* gtk/gtk-docs.sgml: added role="no-toc" to the GTK+ Widgets & Objects
chapter since we've created our own special contents page.
1999-09-19 Damon Chaplin <damon@karuna.freeserve.co.uk>
* gtk/tmpl/gtkmarshal.sgml:
* gtk/tmpl/gtksignal.sgml: new sections from
David Benson <daveb@idealab.com>.
* gtk/gtk-sections.txt: rearranged signal sections, and made most
marshallers private. Moved GtkSignalRunType to signals section.
* gtk/tmpl/gtkradiobutton.sgml: new section from Lee Mallabone.
1999-09-17 Damon Chaplin <damon@karuna.freeserve.co.uk>
* gtk/gtk-docs.sgml: removed menu factory and debugging sections.
* gtk/gtk-sections.txt: made menu factory stuff private since it is
deprecated. Also made debugging stuff private since it is only useful
within GTK+.
1999-09-14 Damon Chaplin <damon@karuna.freeserve.co.uk>
* gtk/tmpl/gtkfilesel.sgml: fixed mismatched parentheses.
1999-09-02 Damon Chaplin <damon@karuna.freeserve.co.uk>
* gdk/tmpl/event_structs.sgml:
* gdk/tmpl/drawing.sgml: minor fixes.
1999-09-20 David C. Mason <dcm@redhat.com>
* gtk/tmpl/gtkimage.sgml: first pass at gtkimage... not complete
1999-08-28 Damon Chaplin <damon@karuna.freeserve.co.uk>
* gtk/tmpl/gtkbbox.sgml: new section from Lee Mallabone.
* gdk/gdk-sections.txt: rearranged rgb, regions, and drawing sections.
* gdk/tmpl/rgb.sgml: new section from Raph Levien, with a few changes
by me, including a little example app.
* gdk/tmpl/regions.sgml:
* gdk/tmpl/event_structs.sgml:
* gdk/tmpl/drawing.sgml: my first attempt.
* gdk/tmpl/cursors.sgml: tiny changes.
Tue Aug 17 09:14:01 1999 Owen Taylor <otaylor@redhat.com>
* gtk/tmpl/gtktypeutils.sgml: Fix corrupted end tag.
* gtk/tmpl/gtkselection.sgml gtk/tmpl/gtkrc.sgml
gtk/tmpl/gtkdnd.sgml gtk/tmpl/gtkarrow.sgml
gtk/tmpl/gtkpaned.sgml gtk/tmpl/gtkmisc.sgml
gtk/tmpl/gtkhandlebox.sgml gtk/tmpl/gtkctree.sgml:
Added missing close tags.
Thu Aug 19 14:43:08 1999 Owen Taylor <otaylor@redhat.com>
* gdk/tmpl/gcs.sgml gdk/gdk-sections.txt: Added section.
(Written a while ago but fell through the cracks)
* gtk/gtk-docs.sgml: Add a &hash; entity here as a
temporary hack. (There is no standard entity
for '#', and no way of escaping '#' in gtk-doc)
* gtk/tmpl/gtkrc.sgml: Use the above to fix up #rrggbb
string literals.
* gtk/tmpl/gtkdrawingarea.sgml: Fixed a couple
of errors in the example. (pointed out by
Nick Lamb)
Mon Aug 16 6:60:53 1999 Owen Taylor <otaylor@redhat.com>
* gdk/tmpl/properties.sgml
gdk/tmpl/selections.sgml
gdk/tmpl/input_devices.sgml: Documented
* gdk/gdk-sections.txt: Moved around types for
input devices properties and selections, marked
a few functions as private.

62
docs/reference/README Normal file
View File

@@ -0,0 +1,62 @@
This package contains the reference documentation
for GTK+. For more information about GTK+
see:
http://www.gtk.org
For information about contributing to the
GLib/GTK+ reference documentation project, see:
http://www.gtk.org/rdp/
The GTK+ reference documentation is freely redistributable,
see the file COPYING for details.
REQUIREMENTS
============
To build the documentation, you must have the gtk-doc
package installed. To rebuild the template files,
you must have the current version of the GTK+
header files installed.
BUILD
=====
First, run configure to generate the makefiles for this
module. There is one option specific to this package
--with-html-dir=DIR top of installed HTML documentation tree
The Makefiles in the gdk/ and gtk/ subdirs each define three targets:
templates:
Scan the headers and merge the results with the current
template files
sgml:
Generate SGML files using the DocBook DTD from
the template files
html:
Generate HTML from the SGML files.
To build the documentation, do:
make sgml
make html
You should only run the 'make templates' step if you
need to regenerate the templates for a more recent
version of the GTK+ sources.
INSTALLATION
============
make install

View File

@@ -0,0 +1,39 @@
Before making any changes to this module, please
contact:
Damon Chaplin <damon@karuna.freeserve.co.uk>
This will ensure that duplicate work does not occur,
and also make sure we know who has written what
parts of the documentation. See
http://www.gtk.org/rdp/
for more information.
By contributing work to the Reference Documentation
Project, you agree that it will be covered under the
license terms described in the file COPYING
included in this directory.
Other notes:
- Do not run 'make templates' unless you have
the latest cvs version of the gtk-1-2
branch of GTK+ and the latest CVS version
of gtk-doc.
(This is very important. Otherwise, the template
files may be come corrupted.)
Make sure that gtk-config --prefix points
to the correct version of GTK+.
- As always, ChangeLog entries should be made for
each commit. These can be really brief
"documented GHashTable"; but if you are editing
something someone else wrote, please be specific.
(Or better, send the changes to them for their
approval, first)

View File

@@ -0,0 +1,4 @@
Makefile
Makefile.in
html
sgml

View File

@@ -0,0 +1,100 @@
## Process this file with automake to produce Makefile.in
# The name of the module.
DOC_MODULE=gdk-pixbuf
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gdk-pixbuf.sgml
# The directory containing the source code (if it contains documentation).
DOC_SOURCE_DIR=$(GDK_PIXBUF_DIR)/src
CFLAGS=`gnome-config --cflags gnomeui gdk_pixbuf`
LDFLAGS=`gnome-config --libs gnomeui gdk_pixbuf`
HTML_DIR=$(datadir)/gnome/html
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
tmpl_sources = \
tmpl/creating.sgml \
tmpl/file-loading.sgml \
tmpl/gdk-pixbuf-loader.sgml \
tmpl/gdk-pixbuf-unused.sgml \
tmpl/gdk-pixbuf.sgml \
tmpl/gnome-canvas-pixbuf.sgml \
tmpl/refcounting.sgml \
tmpl/rendering.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_DIST = $(gdk_pixbuf_doc_DATA)
if ENABLE_GTK_DOC
gdk-pixbuf.html: html/book1.html
-cd $(srcdir) && cp html/book1.html gdk-pixbuf.html
else
gdk-pixbuf.html:
endif
html/book1.html: sgml/gdk-pixbuf-doc.bottom
$(MAKE) html
sgml/gdk-pixbuf-doc.bottom: $(tmpl_sources)
$(MAKE) sgml
scan:
-(cd $(srcdir) \
&& env CFLAGS=$(CFLAGS) LDFLAGS=$(LDFLAGS) \
gtkdoc-scanobj --module=$(DOC_MODULE) \
&& gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) )
templates: scan
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
sgml:
cd $(srcdir) \
&& gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
html:
test -d $(srcdir)/html || mkdir $(srcdir)/html
-cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
clean-local:
rm -f *~ *.bak *.signals *-unused.txt
maintainer-clean-local: clean
cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
(installfiles=`echo $(srcdir)/html/*.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); \
echo '-- Fixing Crossreferences' ; \
gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)|| true; \
fi)
dist-hook:
mkdir $(distdir)/html
mkdir $(distdir)/sgml
mkdir $(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

View File

@@ -0,0 +1,293 @@
<TYPEDEF>
<NAME>GdkPixbufCache</NAME>
typedef struct {
int dummy;
} GdkPixbufCache;
</TYPEDEF>
<FUNCTION>
<NAME>gdk_pixbuf_cache_new</NAME>
<RETURNS>GdkPixbufCache *</RETURNS>
long image_cache_limit,long pixmap_bitmap_cache_limit
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_cache_destroy</NAME>
<RETURNS>void </RETURNS>
GdkPixbufCache *cache
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_cache_load_image</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkPixbufCache *cache,const char *file
</FUNCTION>
<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, gpointer user_data, guint x, guint y, guint width, guint height
</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 gchar **data);
/* Incremental loading */
gpointer (* begin_load) (ModulePreparedNotifyFunc prepare_func, ModuleUpdatedNotifyFunc update_func, gpointer user_data);
void (* stop_load) (gpointer context);
gboolean (* load_increment)(gpointer context, const gchar *buf, guint size);
};
</STRUCT>
<FUNCTION>
<NAME>gdk_pixbuf_get_module</NAME>
<RETURNS>GdkPixbufModule *</RETURNS>
gchar *buffer, gint size
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_load_module</NAME>
<RETURNS>void </RETURNS>
GdkPixbufModule *image_module
</FUNCTION>
<STRUCT>
<NAME>GdkPixbuf</NAME>
</STRUCT>
<STRUCT>
<NAME>GdkPixbuf</NAME>
struct GdkPixbuf {
/* Reference count */
int ref_count;
/* Libart pixbuf */
ArtPixBuf *art_pixbuf;
};
</STRUCT>
<FUNCTION>
<NAME>gdk_pixbuf_get_format</NAME>
<RETURNS>ArtPixFormat </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_n_channels</NAME>
<RETURNS>int </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_has_alpha</NAME>
<RETURNS>int </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_bits_per_sample</NAME>
<RETURNS>int </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_pixels</NAME>
<RETURNS>guchar *</RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_width</NAME>
<RETURNS>int </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_height</NAME>
<RETURNS>int </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_get_rowstride</NAME>
<RETURNS>int </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_ref</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_unref</NAME>
<RETURNS>void </RETURNS>
GdkPixbuf *pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_new_from_art_pixbuf</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
ArtPixBuf *art_pixbuf
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_new</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
ArtPixFormat format, gboolean has_alpha, int bits_per_sample,int width, int height
</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>
guchar *data, ArtPixFormat format, gboolean has_alpha,int width, int height, int rowstride,ArtDestroyNotify dfunc, gpointer dfunc_data
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_new_from_xpm_data</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const gchar **data
</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_scale</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
const GdkPixbuf *pixbuf, gint w, gint h
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_rotate</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkPixbuf *pixbuf, gdouble angle
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_rgb_from_drawable</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkWindow *window, gint x, gint y, gint width, gint height
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_rgba_from_drawable</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkWindow *window, gint x, gint y, gint width, gint height
</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_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 gchar *buf, size_t count
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_loader_get_pixbuf</NAME>
<RETURNS>GdkPixbuf *</RETURNS>
GdkPixbufLoader *loader
</FUNCTION>
<FUNCTION>
<NAME>gdk_pixbuf_loader_close</NAME>
<RETURNS>void </RETURNS>
GdkPixbufLoader *loader
</FUNCTION>

View File

@@ -0,0 +1,73 @@
<INCLUDE>gdk-pixbuf/gdk-pixbuf.h</INCLUDE>
<SECTION>
<FILE>gdk-pixbuf</FILE>
GdkPixbuf
gdk_pixbuf_get_format
gdk_pixbuf_get_n_channels
gdk_pixbuf_get_has_alpha
gdk_pixbuf_get_bits_per_sample
gdk_pixbuf_get_pixels
gdk_pixbuf_get_width
gdk_pixbuf_get_height
gdk_pixbuf_get_rowstride
</SECTION>
<SECTION>
<FILE>refcounting</FILE>
gdk_pixbuf_ref
gdk_pixbuf_unref
</SECTION>
<SECTION>
<FILE>file-loading</FILE>
gdk_pixbuf_new_from_file
</SECTION>
<SECTION>
<FILE>creating</FILE>
gdk_pixbuf_new_from_art_pixbuf
gdk_pixbuf_new
gdk_pixbuf_new_from_data
gdk_pixbuf_new_from_xpm_data
</SECTION>
<SECTION>
<FILE>rendering</FILE>
GdkPixbufAlphaMode
gdk_pixbuf_render_to_drawable_alpha
gdk_pixbuf_render_to_drawable
gdk_pixbuf_render_threshold_alpha
</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>
<SECTION>
<FILE>gdk-pixbuf-loader</FILE>
GDK_PIXBUF_LOADER
<TITLE>GdkPixbufLoader</TITLE>
gdk_pixbuf_loader_new
gdk_pixbuf_loader_write
gdk_pixbuf_loader_get_pixbuf
gdk_pixbuf_loader_close
<SUBSECTION Standard>
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
</SECTION>

View File

@@ -0,0 +1,78 @@
<ARG>
<NAME>GnomeCanvasPixbuf::pixbuf</NAME>
<TYPE>gpointer</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::width</NAME>
<TYPE>gdouble</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::width_set</NAME>
<TYPE>gboolean</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::width_in_pixels</NAME>
<TYPE>gboolean</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::height</NAME>
<TYPE>gdouble</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::height_set</NAME>
<TYPE>gboolean</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::height_in_pixels</NAME>
<TYPE>gboolean</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::x</NAME>
<TYPE>gdouble</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::x_set</NAME>
<TYPE>gboolean</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::x_in_pixels</NAME>
<TYPE>gboolean</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::y</NAME>
<TYPE>gdouble</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::y_set</NAME>
<TYPE>gboolean</TYPE>
<FLAGS>rw</FLAGS>
</ARG>
<ARG>
<NAME>GnomeCanvasPixbuf::y_in_pixels</NAME>
<TYPE>gboolean</TYPE>
<FLAGS>rw</FLAGS>
</ARG>

View File

@@ -0,0 +1,4 @@
GtkObject
GdkPixbufLoader
GnomeCanvasItem
GnomeCanvasPixbuf

View File

@@ -0,0 +1,52 @@
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!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">
<!entity gdk-pixbuf-creating SYSTEM "sgml/creating.sgml">
<!entity gdk-pixbuf-rendering SYSTEM "sgml/rendering.sgml">
<!entity GnomeCanvasPixbuf SYSTEM "sgml/gnome-canvas-pixbuf.sgml">
<!entity GdkPixbufLoader SYSTEM "sgml/gdk-pixbuf-loader.sgml">
]>
<book>
<bookinfo>
<title>The GdkPixbuf Library</title>
<authorgroup>
<author>
<firstname>Federico</firstname>
<surname>Mena Quintero</surname>
<affiliation>
<address>
<email>federico@gimp.org</email>
</address>
</affiliation>
</author>
</authorgroup>
<copyright>
<year>1999</year>
<holder>The Free Software Foundation</holder>
</copyright>
</bookinfo>
<reference>
<title>API Reference</title>
<partintro>
<para>
This part presents the class and function reference for the
GdkPixbuf library. Classes are described together with their
methods; individual functions are grouped by functional group.
</para>
</partintro>
&gdk-pixbuf-gdk-pixbuf;
&gdk-pixbuf-refcounting;
&gdk-pixbuf-file-loading;
&gdk-pixbuf-creating;
&gdk-pixbuf-rendering;
&GnomeCanvasPixbuf;
&GdkPixbufLoader;
</reference>
</book>

View File

@@ -0,0 +1,22 @@
<SIGNAL>
<NAME>GdkPixbufLoader::area-updated</NAME>
<RETURNS>void</RETURNS>
GdkPixbufLoader *gdkpixbufloader
gint arg1
gint arg2
gint arg3
gint arg4
</SIGNAL>
<SIGNAL>
<NAME>GdkPixbufLoader::area-prepared</NAME>
<RETURNS>void</RETURNS>
GdkPixbufLoader *gdkpixbufloader
</SIGNAL>
<SIGNAL>
<NAME>GdkPixbufLoader::closed</NAME>
<RETURNS>void</RETURNS>
GdkPixbufLoader *gdkpixbufloader
</SIGNAL>

View File

@@ -0,0 +1,7 @@
#include <gnome.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
#include <gdk-pixbuf/gnome-canvas-pixbuf.h>
gdk_pixbuf_loader_get_type
gnome_canvas_pixbuf_get_type

View File

@@ -0,0 +1,97 @@
<!-- ##### SECTION Title ##### -->
Image Data in Memory
<!-- ##### SECTION Short_Description ##### -->
Creating a pixbuf from image data that is already in memory.
<!-- ##### SECTION Long_Description ##### -->
<para>
The most basic way to create a pixbuf is to wrap an existing
#ArtPixBuf structure with a #GdkPixbuf to add reference counting
capabilities to it. The gdk_pixbuf_new_from_art_pixbuf() performs
this operation.
</para>
<para>
As a convenience, you can use the gdk_pixbuf_new_from_data()
function to wrap an existing data buffer with a #GdkPixbuf. You
need to specify the destroy notification function that will be
called when the data buffer needs to be freed; this will happen
when the pixbuf's reference count drops to zero and thus the
#ArtPixBuf needs to be destroyed. If you have a chunk of static
data compiled into your application, you can pass in #NULL as the
destroy notification function so that the data will not be freed.
</para>
<para>
The gdk_pixbuf_new() function can be used as a convenience to
create a pixbuf with an empty buffer. This is equivalent to
allocating a data buffer using malloc() and then wrapping it with
gdk_pixbuf_new_from_data(). The gdk_pixbuf_new() function will
compute an optimal rowstride so that rendering can be performed
with an efficient algorithm.
</para>
<para>
As a special case, you can use the gdk_pixbuf_new_from_xpm_data()
function to create a pixbuf from inline XPM image data.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#ArtPixBuf
</para>
<!-- ##### FUNCTION gdk_pixbuf_new_from_art_pixbuf ##### -->
<para>
</para>
@art_pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new ##### -->
<para>
</para>
@format:
@has_alpha:
@bits_per_sample:
@width:
@height:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_from_data ##### -->
<para>
</para>
@data:
@format:
@has_alpha:
@width:
@height:
@rowstride:
@dfunc:
@dfunc_data:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_new_from_xpm_data ##### -->
<para>
</para>
@data:
@Returns:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -0,0 +1,42 @@
<!-- ##### SECTION Title ##### -->
File Loading
<!-- ##### SECTION Short_Description ##### -->
Loading a pixbuf from a file.
<!-- ##### SECTION Long_Description ##### -->
<para>
The GdkPixbuf library provides a simple mechanism for loading an
image from a file in synchronous fashion. This means that the
library takes control of the application while the file is being
loaded; from the user's point of view, the application will block
until the image is done loading.
</para>
<para>
This interface can be used by applications in which blocking is
acceptable while an image is being loaded. It can also be used to
load small images in general. Applications that need progressive
loading can use the #GdkPixbufLoader functionality instead.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GdkPixbufLoader
</para>
<!-- ##### FUNCTION gdk_pixbuf_new_from_file ##### -->
<para>
</para>
@filename:
@Returns:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -0,0 +1,70 @@
<!-- ##### SECTION Title ##### -->
gdk-pixbuf-io
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### USER_FUNCTION ModulePreparedNotifyFunc ##### -->
<para>
</para>
@pixbuf:
@user_data:
<!-- ##### USER_FUNCTION ModuleUpdatedNotifyFunc ##### -->
<para>
</para>
@pixbuf:
@user_data:
@x:
@y:
@width:
@height:
<!-- ##### STRUCT GdkPixbufModule ##### -->
<para>
</para>
@module_name:
@format_check:
@module:
@load:
@load_xpm_data:
@begin_load:
@stop_load:
@load_increment:
<!-- ##### FUNCTION gdk_pixbuf_get_module ##### -->
<para>
</para>
@buffer:
@size:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_load_module ##### -->
<para>
</para>
@image_module:

View File

@@ -0,0 +1,92 @@
<!-- ##### SECTION Title ##### -->
GdkPixbufLoader
<!-- ##### SECTION Short_Description ##### -->
Application-driven image loading.
<!-- ##### SECTION Long_Description ##### -->
<para>
#GdkPIxbufLoader provides a way for applications to drive the
process of loading an image.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### MACRO GDK_PIXBUF_LOADER ##### -->
<para>
</para>
@obj:
<!-- ##### FUNCTION gdk_pixbuf_loader_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_write ##### -->
<para>
</para>
@loader:
@buf:
@count:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_get_pixbuf ##### -->
<para>
</para>
@loader:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_loader_close ##### -->
<para>
</para>
@loader:
<!-- ##### SIGNAL GdkPixbufLoader::area-updated ##### -->
<para>
</para>
@gdkpixbufloader: the object which received the signal.
@arg1:
@arg2:
@arg3:
@arg4:
<!-- ##### SIGNAL GdkPixbufLoader::area-prepared ##### -->
<para>
</para>
@gdkpixbufloader: the object which received the signal.
<!-- ##### SIGNAL GdkPixbufLoader::closed ##### -->
<para>
</para>
@gdkpixbufloader: the object which received the signal.
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -0,0 +1,70 @@
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_pixbuf_load_module ##### -->
<para>
</para>
@image_module:
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:Short_Description ##### -->
<!-- ##### STRUCT GdkPixbufModule ##### -->
<para>
</para>
@module_name:
@format_check:
@module:
@load:
@load_xpm_data:
@begin_load:
@stop_load:
@load_increment:
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:Long_Description ##### -->
<para>
</para>
<!-- ##### USER_FUNCTION ModuleUpdatedNotifyFunc ##### -->
<para>
</para>
@pixbuf:
@user_data:
@x:
@y:
@width:
@height:
<!-- ##### SECTION ./tmpl/gdk-pixbuf-io.sgml:Title ##### -->
gdk-pixbuf-io
<!-- ##### USER_FUNCTION ModulePreparedNotifyFunc ##### -->
<para>
</para>
@pixbuf:
@user_data:
<!-- ##### FUNCTION gdk_pixbuf_get_module ##### -->
<para>
</para>
@buffer:
@size:
@Returns:

View File

@@ -0,0 +1,109 @@
<!-- ##### SECTION Title ##### -->
The GdkPixbuf Structure
<!-- ##### SECTION Short_Description ##### -->
Information that describes an image.
<!-- ##### SECTION Long_Description ##### -->
<para>
The <structname>GdkPixbuf</structname> structure contains
information that describes an image in memory. It is actually a
simple wrapper that adds reference counting capabilities to an
#ArtPixBuf structure.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#ArtPixBuf
</para>
<!-- ##### STRUCT GdkPixbuf ##### -->
<para>
This is the main structure in the GdkPixbuf library. This
structure adds reference counting capabilities to an #ArtPixBuf
structure.
</para>
@ref_count: Reference count.
@art_pixbuf: An #ArtPixBuf that actually contains the description of
the image data.
<!-- ##### FUNCTION gdk_pixbuf_get_format ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_n_channels ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_has_alpha ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_bits_per_sample ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_pixels ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_width ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_height ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!-- ##### FUNCTION gdk_pixbuf_get_rowstride ##### -->
<para>
</para>
@pixbuf:
@Returns:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -0,0 +1,280 @@
<!-- ##### 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 values are analogously controlled by the
<link linkend="GnomeCanvasPixbuf--x-set">x_set</link>, <link
linkend="GnomeCanvasPixbuf--y-set">y_set</link>, <link
linkend="GnomeCanvasPixbuf--x">x</link>, and <link
linkend="GnomeCanvasPixbuf--y">y</link> arguments. The former
two control whether the custom translation offsets are used and
they are %FALSE by default, and the latter two control the
offsets themselves. If a custom translation offset is not used,
it is taken to be 0.0 by default. Otherwise, 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-pixels">width_pixels</link>,
<link
linkend="GnomeCanvasPixbuf--height-pixels">height_pixels</link>,
<link linkend="GnomeCanvasPixbuf--x-pixels">x_pixels</link>, and
<link linkend="GnomeCanvasPixbuf--y-pixels">y_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-pixels">width_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)<footnote>
<para>
This of course assumes that the <link
linkend="GnomeCanvasPixbuf--x-set">x_set</link> and <link
linkend="GnomeCanvasPixbuf--y-set">y_set</link> arguments
are set to %TRUE for the translation offsets to take effect.
</para>
</footnote>. If the item is then modified by the same scaling
transformation of (0.5, 2.0) but the <link
linkend="GnomeCanvasPixbuf--y-pixels">y_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>
<!-- ##### 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. 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_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's #ArtPixBuf will be
used instead. This argument is %FALSE by default.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:width_pixels ##### -->
<para>
If this argument is %TRUE, then the width of the pixbuf will be
considered to be in pixels, that is, it will not be visually
scaled even if the item's affine transformation changes. If this
is %FALSE, then the width of the pixbuf will be considered to be
in canvas units, and so will be scaled normally by affine
transformations. The default is %FALSE.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:width ##### -->
<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-pixels">width_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_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: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_pixels ##### -->
<para>
Works in the same way as the <link
linkend="GnomeCanvasPixbuf--width-pixels">width_pixels</link>
argument. 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:x_set ##### -->
<para>
Determines whether the <link
linkend="GnomeCanvasPixbuf--x">x</link> argument is used to
translate the pixbuf from its logical origin in item-relative
coordinates.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:x_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.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:x ##### -->
<para>
Indicates the horizontal translation offset of the pixbuf item's
image. This argument will only be used if the <link
linkend="GnomeCanvasPixbuf--x-set">x_set</link> argument is %TRUE.
This offset may not actually appear horizontal, since it will be
affected by the item's affine transformation.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:y_set ##### -->
<para>
Determines whether the <link
linkend="GnomeCanvasPixbuf--y">y</link> argument is used to
translate the pixbuf from its logical origin in item-relative
coordinates. Works in the same way as the <link
linkend="GnomeCanvasPixbuf--x-set">x_set</link> argument. The
default is %FALSE.
</para>
<!-- ##### ARG GnomeCanvasPixbuf:y_pixels ##### -->
<para>
Works in the same way as the <link
linkend="GnomeCanvasPixbuf--x-pixels">x_pixels</link> argument.
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.
</para>
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -0,0 +1,44 @@
<!-- ##### SECTION Title ##### -->
Reference Counting
<!-- ##### SECTION Short_Description ##### -->
Functions to perform reference counting on a #GdkPixbuf.
<!-- ##### SECTION Long_Description ##### -->
<para>
#GdkPixbuf structures are reference counted. This means that
an application can share a single pixbuf among many parts of the
code. When a piece of the program needs to keep a pointer to a
pixbuf, it should add a reference to it. When it no longer needs
the pixbuf, it should subtract a reference. The pixbuf will be
destroyed when its reference count drops to zero. Newly-created
#GdkPixbuf structures start with a reference count of one.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
#GdkPixbuf, #ArtPixBuf
</para>
<!-- ##### FUNCTION gdk_pixbuf_ref ##### -->
<para>
</para>
@pixbuf:
<!-- ##### FUNCTION gdk_pixbuf_unref ##### -->
<para>
</para>
@pixbuf:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -0,0 +1,107 @@
<!-- ##### SECTION Title ##### -->
Rendering
<!-- ##### SECTION Short_Description ##### -->
Rendering a Pixbuf to a GDK Drawable.
<!-- ##### SECTION Long_Description ##### -->
<para>
The GdkPixbuf 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
GdkPixbuf 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>
<!-- ##### 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:
<!--
Local variables:
mode: sgml
sgml-parent-document: ("../gdk-pixbuf.sgml" "book" "refsect2" "")
End:
-->

View File

@@ -0,0 +1,6 @@
Makefile
Makefile.in
sgml
html
gdk-decl-list.txt
gdk-unused.txt

View File

@@ -0,0 +1,50 @@
## Process this file with automake to produce Makefile.in
# The name of the module.
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
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
scan:
gtkdoc-scan --module=$(DOC_MODULE) $(INCLUDE_DIR)/gdk.h $(INCLUDE_DIR)/gdktypes.h $(INCLUDE_DIR)/gdkrgb.h
templates: scan
gtkdoc-mktmpl --module=$(DOC_MODULE)
sgml:
gtkdoc-mkdb --module=$(DOC_MODULE)
html:
if ! test -d html ; then mkdir html ; fi
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
clean-local:
rm -f *~ *.bak *.hierarchy *.signals *.args *-unused.txt
maintainer-clean-local: clean
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)
EXTRA_DIST = \
$(DOC_MAIN_SGML_FILE) \
$(DOC_MODULE)-sections.txt \
gdk-overrides.txt \
gdk-decl.txt
dist-hook:
mkdir $(distdir)/tmpl
cp -p tmpl/*.sgml $(distdir)/tmpl
.PHONY : html sgml templates scan

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,59 @@
<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
<!entity gdk-General SYSTEM "sgml/general.sgml">
<!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-Colormaps-and-Colors SYSTEM "sgml/colors.sgml">
<!entity gdk-Fonts SYSTEM "sgml/fonts.sgml">
<!entity gdk-Drawing-Primitives SYSTEM "sgml/drawing.sgml">
<!entity gdk-Graphics-Contexts SYSTEM "sgml/gcs.sgml">
<!entity gdk-Visuals SYSTEM "sgml/visuals.sgml">
<!entity gdk-Windows SYSTEM "sgml/windows.sgml">
<!entity gdk-Selections SYSTEM "sgml/selections.sgml">
<!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-Color-Contexts SYSTEM "sgml/color_contexts.sgml">
<!entity gdk-Points-Rectangles-and-Regions SYSTEM "sgml/regions.sgml">
<!entity gdk-Threads SYSTEM "sgml/threads.sgml">
<!entity gdk-Key-Values SYSTEM "sgml/keys.sgml">
<!entity gdk-Input-Devices SYSTEM "sgml/input_devices.sgml">
<!entity gdk-Events SYSTEM "sgml/events.sgml">
<!entity gdk-Event-Structures SYSTEM "sgml/event_structs.sgml">
<!entity gdk-Cursors SYSTEM "sgml/cursors.sgml">
<!entity gdk-Input SYSTEM "sgml/input.sgml">
<!entity gdk-Drag-and-Drop SYSTEM "sgml/dnd.sgml">
]>
<book id="index">
<bookinfo>
<title>GDK Reference Manual</title>
</bookinfo>
<chapter id="gdk">
<title>GDK</title>
&gdk-General;
&gdk-Bitmaps-and-Pixmaps;
&gdk-Images;
&gdk-GdkRGB;
&gdk-Colormaps-and-Colors;
&gdk-Fonts;
&gdk-Drawing-Primitives;
&gdk-Graphics-Contexts;
&gdk-Visuals;
&gdk-Windows;
&gdk-Selections;
&gdk-Properties-and-Atoms;
&gdk-Input-Methods;
&gdk-Input-Contexts;
&gdk-Color-Contexts;
&gdk-Points-Rectangles-and-Regions;
&gdk-Threads;
&gdk-Key-Values;
&gdk-Input-Devices;
&gdk-Events;
&gdk-Event-Structures;
&gdk-Cursors;
&gdk-Input;
&gdk-Drag-and-Drop;
</chapter>
</book>

View File

@@ -0,0 +1,23 @@
# GdkPixmap, GdkBitmap and GdkDrawable are the same as GdkWindow.
<STRUCT>
<NAME>GdkPixmap</NAME>
struct GdkPixmap
{
gpointer user_data;
};
</STRUCT>
<STRUCT>
<NAME>GdkBitmap</NAME>
struct GdkBitmap
{
gpointer user_data;
};
</STRUCT>
<STRUCT>
<NAME>GdkDrawable</NAME>
struct GdkDrawable
{
gpointer user_data;
};
</STRUCT>

View File

@@ -0,0 +1,588 @@
<INCLUDE>gdk/gdk.h</INCLUDE>
<SECTION>
<TITLE>General</TITLE>
<FILE>general</FILE>
gdk_init
gdk_init_check
gdk_exit
GdkStatus
GDK_NONE
GDK_CURRENT_TIME
GDK_PRIORITY_EVENTS
gdk_set_locale
gdk_get_show_events
gdk_set_show_events
gdk_add_client_message_filter
gdk_set_sm_client_id
gdk_get_use_xshm
gdk_set_use_xshm
gdk_get_display
gdk_screen_width
gdk_screen_height
gdk_screen_width_mm
gdk_screen_height_mm
gdk_pointer_grab
gdk_pointer_ungrab
gdk_keyboard_grab
gdk_keyboard_ungrab
gdk_pointer_is_grabbed
gdk_flush
gdk_beep
gdk_key_repeat_disable
gdk_key_repeat_restore
gdk_error_trap_push
gdk_error_trap_pop
<SUBSECTION Private>
gdk_time_get
gdk_timer_get
gdk_timer_set
gdk_timer_enable
gdk_timer_disable
</SECTION>
<SECTION>
<TITLE>Bitmaps and Pixmaps</TITLE>
<FILE>pixmaps</FILE>
GdkPixmap
gdk_pixmap_new
gdk_bitmap_create_from_data
gdk_pixmap_create_from_data
gdk_pixmap_create_from_xpm
gdk_pixmap_colormap_create_from_xpm
gdk_pixmap_create_from_xpm_d
gdk_pixmap_colormap_create_from_xpm_d
gdk_pixmap_ref
gdk_pixmap_unref
GdkBitmap
gdk_bitmap_ref
gdk_bitmap_unref
</SECTION>
<SECTION>
<TITLE>Images</TITLE>
<FILE>images</FILE>
GdkImage
GdkImageType
gdk_image_new_bitmap
gdk_image_new
gdk_image_get
gdk_image_put_pixel
gdk_image_get_pixel
gdk_image_destroy
</SECTION>
<SECTION>
<TITLE>GdkRGB</TITLE>
<FILE>rgb</FILE>
gdk_rgb_init
<SUBSECTION>
gdk_draw_rgb_image
gdk_draw_rgb_image_dithalign
gdk_draw_indexed_image
gdk_draw_gray_image
gdk_draw_rgb_32_image
GdkRgbDither
<SUBSECTION>
gdk_rgb_cmap_new
gdk_rgb_cmap_free
GdkRgbCmap
<SUBSECTION>
gdk_rgb_gc_set_foreground
gdk_rgb_gc_set_background
gdk_rgb_xpixel_from_rgb
<SUBSECTION>
gdk_rgb_set_install
gdk_rgb_set_min_colors
gdk_rgb_get_visual
gdk_rgb_get_cmap
gdk_rgb_ditherable
gdk_rgb_set_verbose
</SECTION>
<SECTION>
<TITLE>Colormaps and Colors</TITLE>
<FILE>colors</FILE>
GdkColor
GdkColormap
gdk_colormap_new
gdk_colormap_ref
gdk_colormap_unref
gdk_colormap_get_system
gdk_colormap_get_system_size
gdk_colormap_change
gdk_colormap_alloc_colors
gdk_colormap_alloc_color
gdk_colormap_free_colors
gdk_colormap_get_visual
gdk_colors_store
gdk_color_copy
gdk_color_free
gdk_colors_alloc
gdk_colors_free
gdk_color_white
gdk_color_black
gdk_color_parse
gdk_color_alloc
gdk_color_change
gdk_color_equal
gdk_color_hash
</SECTION>
<SECTION>
<TITLE>Fonts</TITLE>
<FILE>fonts</FILE>
GdkFont
GdkFontType
gdk_font_load
gdk_fontset_load
gdk_font_ref
gdk_font_unref
gdk_font_id
gdk_font_equal
<SUBSECTION>
gdk_string_extents
gdk_text_extents
gdk_text_extents_wc
gdk_string_width
gdk_text_width
gdk_text_width_wc
gdk_char_width
gdk_char_width_wc
gdk_string_measure
gdk_text_measure
gdk_char_measure
gdk_string_height
gdk_text_height
gdk_char_height
</SECTION>
<SECTION>
<TITLE>Drawing Primitives</TITLE>
<FILE>drawing</FILE>
GdkFill
GdkLineStyle
GdkCapStyle
GdkJoinStyle
gdk_draw_point
gdk_draw_points
gdk_draw_line
gdk_draw_lines
gdk_draw_segments
GdkSegment
gdk_draw_rectangle
gdk_draw_arc
gdk_draw_polygon
<SUBSECTION>
gdk_draw_string
gdk_draw_text
gdk_draw_text_wc
<SUBSECTION>
gdk_draw_pixmap
gdk_draw_bitmap
gdk_draw_image
</SECTION>
<SECTION>
<TITLE>Graphics Contexts</TITLE>
<FILE>gcs</FILE>
GdkGC
GdkGCValues
GdkGCValuesMask
GdkFunction
gdk_gc_new
gdk_gc_new_with_values
gdk_gc_ref
gdk_gc_unref
gdk_gc_destroy
gdk_gc_get_values
gdk_gc_set_foreground
gdk_gc_set_background
gdk_gc_set_font
gdk_gc_set_function
gdk_gc_set_fill
gdk_gc_set_tile
gdk_gc_set_stipple
gdk_gc_set_ts_origin
gdk_gc_set_clip_origin
gdk_gc_set_clip_mask
gdk_gc_set_clip_rectangle
gdk_gc_set_clip_region
gdk_gc_set_subwindow
GdkSubwindowMode
gdk_gc_set_exposures
gdk_gc_set_line_attributes
gdk_gc_set_dashes
gdk_gc_copy
</SECTION>
<SECTION>
<TITLE>Visuals</TITLE>
<FILE>visuals</FILE>
GdkVisual
GdkVisualType
GdkByteOrder
gdk_query_depths
gdk_query_visual_types
gdk_list_visuals
gdk_visual_get_best_depth
gdk_visual_get_best_type
gdk_visual_get_system
gdk_visual_get_best
gdk_visual_get_best_with_depth
gdk_visual_get_best_with_type
gdk_visual_get_best_with_both
gdk_visual_ref
gdk_visual_unref
</SECTION>
<SECTION>
<TITLE>Windows</TITLE>
<FILE>windows</FILE>
GdkWindowAttr
GdkWindow
GdkWindowType
GdkWindowClass
GdkWindowAttributesType
GdkWindowHints
GdkGeometry
gdk_window_new
gdk_window_destroy
gdk_window_ref
gdk_window_unref
gdk_window_at_pointer
gdk_window_show
gdk_window_hide
gdk_window_is_visible
gdk_window_is_viewable
gdk_window_withdraw
gdk_window_move
gdk_window_resize
gdk_window_move_resize
gdk_window_reparent
gdk_window_clear
gdk_window_clear_area
gdk_window_clear_area_e
gdk_window_copy_area
gdk_window_raise
gdk_window_lower
gdk_window_register_dnd
gdk_window_set_user_data
gdk_window_set_override_redirect
gdk_window_add_filter
gdk_window_remove_filter
GdkFilterFunc
GdkFilterReturn
gdk_window_shape_combine_mask
gdk_window_set_child_shapes
gdk_window_merge_child_shapes
gdk_window_set_static_gravities
gdk_window_set_hints
gdk_window_set_title
gdk_window_set_background
gdk_window_set_back_pixmap
GDK_PARENT_RELATIVE
gdk_window_set_cursor
gdk_window_set_colormap
gdk_window_get_user_data
gdk_window_get_geometry
gdk_window_set_geometry_hints
gdk_window_get_position
gdk_window_get_root_origin
gdk_window_get_size
gdk_window_get_visual
gdk_window_get_colormap
gdk_window_get_type
gdk_window_get_origin
gdk_window_get_deskrelative_origin
gdk_window_get_pointer
GdkModifierType
gdk_window_get_parent
gdk_window_get_toplevel
gdk_window_get_children
gdk_window_get_events
gdk_window_set_events
gdk_window_set_icon
gdk_window_set_icon_name
gdk_window_set_transient_for
gdk_window_set_role
gdk_window_set_group
gdk_window_set_decorations
GdkWMDecoration
gdk_window_set_functions
GdkWMFunction
gdk_window_get_toplevels
GdkDrawable
gdk_drawable_set_data
</SECTION>
<SECTION>
<TITLE>Selections</TITLE>
<FILE>selections</FILE>
GdkSelection
GdkSelectionType
GdkTarget
gdk_selection_owner_set
gdk_selection_owner_get
gdk_selection_convert
gdk_selection_property_get
gdk_selection_send_notify
</SECTION>
<SECTION>
<TITLE>Properties and Atoms</TITLE>
<FILE>properties</FILE>
GdkAtom
gdk_text_property_to_text_list
gdk_free_text_list
gdk_string_to_compound_text
gdk_free_compound_text
gdk_atom_intern
gdk_atom_name
gdk_property_get
gdk_property_change
GdkPropMode
gdk_property_delete
</SECTION>
<SECTION>
<TITLE>Input Methods</TITLE>
<FILE>input_methods</FILE>
GdkIMStyle
GdkWChar
gdk_im_ready
gdk_im_begin
gdk_im_end
gdk_im_decide_style
gdk_im_set_best_style
gdk_wcstombs
gdk_mbstowcs
</SECTION>
<SECTION>
<TITLE>Input Contexts</TITLE>
<FILE>input_contexts</FILE>
GdkIC
GdkICAttr
GdkICAttributesType
gdk_ic_new
gdk_ic_destroy
gdk_ic_get_style
gdk_ic_set_attr
gdk_ic_get_attr
gdk_ic_get_events
gdk_ic_attr_new
gdk_ic_attr_destroy
</SECTION>
<SECTION>
<TITLE>Color Contexts</TITLE>
<FILE>color_contexts</FILE>
GdkColorContext
GdkColorContextDither
GdkColorContextMode
gdk_color_context_new
gdk_color_context_new_mono
gdk_color_context_free
gdk_color_context_get_pixel
gdk_color_context_get_pixels
gdk_color_context_get_pixels_incremental
gdk_color_context_query_color
gdk_color_context_query_colors
gdk_color_context_add_palette
gdk_color_context_init_dither
gdk_color_context_free_dither
gdk_color_context_get_pixel_from_palette
gdk_color_context_get_index_from_palette
</SECTION>
<SECTION>
<TITLE>Points, Rectangles and Regions</TITLE>
<FILE>regions</FILE>
GdkPoint
<SUBSECTION>
GdkRectangle
gdk_rectangle_intersect
gdk_rectangle_union
<SUBSECTION>
GdkRegion
gdk_region_new
gdk_region_polygon
GdkFillRule
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_empty
gdk_region_equal
gdk_region_point_in
gdk_region_rect_in
GdkOverlapType
gdk_region_get_clipbox
</SECTION>
<SECTION>
<TITLE>Threads</TITLE>
<FILE>threads</FILE>
gdk_threads_mutex
GDK_THREADS_ENTER
GDK_THREADS_LEAVE
gdk_threads_enter
gdk_threads_leave
</SECTION>
<SECTION>
<TITLE>Key Values</TITLE>
<FILE>keys</FILE>
gdk_keyval_name
gdk_keyval_from_name
<SUBSECTION>
gdk_keyval_is_upper
gdk_keyval_is_lower
<SUBSECTION>
gdk_keyval_to_upper
gdk_keyval_to_lower
</SECTION>
<SECTION>
<TITLE>Input Devices</TITLE>
<FILE>input_devices</FILE>
GDK_CORE_POINTER
gdk_input_list_devices
GdkDeviceInfo
GdkDeviceKey
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
</SECTION>
<SECTION>
<TITLE>Events</TITLE>
<FILE>events</FILE>
GdkEventType
GdkEventMask
gdk_events_pending
gdk_event_peek
gdk_event_get
gdk_event_get_graphics_expose
gdk_event_put
gdk_event_copy
gdk_event_free
gdk_event_get_time
gdk_event_handler_set
gdk_event_send_client_message
GdkEventFunc
gdk_event_send_clientmessage_toall
</SECTION>
<SECTION>
<TITLE>Event Structures</TITLE>
<FILE>event_structs</FILE>
GdkEventAny
GdkEventExpose
GdkEventNoExpose
GdkEventVisibility
GdkVisibilityState
GdkEventMotion
GdkEventButton
GdkEventKey
GdkEventCrossing
GdkCrossingMode
GdkNotifyType
GdkEventFocus
GdkEventConfigure
GdkEventProperty
GdkPropertyState
GdkEventSelection
GdkEventProximity
GdkEventClient
GdkEventDND
GdkEvent
GdkXEvent
</SECTION>
<SECTION>
<TITLE>Cursors</TITLE>
<FILE>cursors</FILE>
GdkCursor
GdkCursorType
gdk_cursor_new
gdk_cursor_new_from_pixmap
gdk_cursor_destroy
</SECTION>
<SECTION>
<TITLE>Input</TITLE>
<FILE>input</FILE>
gdk_input_add_full
GdkInputCondition
GdkInputFunction
GdkDestroyNotify
gdk_input_add
gdk_input_remove
</SECTION>
<SECTION>
<TITLE>Drag and Drop</TITLE>
<FILE>dnd</FILE>
gdk_drag_get_selection
gdk_drag_abort
gdk_drop_reply
gdk_drag_context_new
gdk_drag_drop
gdk_drag_find_window
gdk_drag_context_ref
gdk_drag_begin
gdk_drag_motion
gdk_drop_finish
gdk_drag_get_protocol
GdkDragProtocol
gdk_drag_context_unref
GdkDragContext
GdkDragAction
gdk_drag_status
</SECTION>

View File

@@ -0,0 +1,202 @@
<!-- ##### SECTION Title ##### -->
Color Contexts
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkColorContext ##### -->
<para>
</para>
@visual:
@colormap:
@num_colors:
@max_colors:
@num_allocated:
@mode:
@need_to_free_colormap:
@std_cmap_atom:
@clut:
@cmap:
@color_hash:
@palette:
@num_palette:
@fast_dither:
<!-- ##### STRUCT GdkColorContextDither ##### -->
<para>
</para>
@fast_rgb:
@fast_err:
@fast_erg:
@fast_erb:
<!-- ##### ENUM GdkColorContextMode ##### -->
<para>
</para>
@GDK_CC_MODE_UNDEFINED:
@GDK_CC_MODE_BW:
@GDK_CC_MODE_STD_CMAP:
@GDK_CC_MODE_TRUE:
@GDK_CC_MODE_MY_GRAY:
@GDK_CC_MODE_PALETTE:
<!-- ##### FUNCTION gdk_color_context_new ##### -->
<para>
</para>
@visual:
@colormap:
@Returns:
<!-- ##### FUNCTION gdk_color_context_new_mono ##### -->
<para>
</para>
@visual:
@colormap:
@Returns:
<!-- ##### FUNCTION gdk_color_context_free ##### -->
<para>
</para>
@cc:
<!-- ##### FUNCTION gdk_color_context_get_pixel ##### -->
<para>
</para>
@cc:
@red:
@green:
@blue:
@failed:
@Returns:
<!-- ##### FUNCTION gdk_color_context_get_pixels ##### -->
<para>
</para>
@cc:
@reds:
@greens:
@blues:
@ncolors:
@colors:
@nallocated:
<!-- ##### FUNCTION gdk_color_context_get_pixels_incremental ##### -->
<para>
</para>
@cc:
@reds:
@greens:
@blues:
@ncolors:
@used:
@colors:
@nallocated:
<!-- ##### FUNCTION gdk_color_context_query_color ##### -->
<para>
</para>
@cc:
@color:
@Returns:
<!-- ##### FUNCTION gdk_color_context_query_colors ##### -->
<para>
</para>
@cc:
@colors:
@num_colors:
@Returns:
<!-- ##### FUNCTION gdk_color_context_add_palette ##### -->
<para>
</para>
@cc:
@palette:
@num_palette:
@Returns:
<!-- ##### FUNCTION gdk_color_context_init_dither ##### -->
<para>
</para>
@cc:
<!-- ##### FUNCTION gdk_color_context_free_dither ##### -->
<para>
</para>
@cc:
<!-- ##### FUNCTION gdk_color_context_get_pixel_from_palette ##### -->
<para>
</para>
@cc:
@red:
@green:
@blue:
@failed:
@Returns:
<!-- ##### FUNCTION gdk_color_context_get_index_from_palette ##### -->
<para>
</para>
@cc:
@red:
@green:
@blue:
@failed:
@Returns:

View File

@@ -0,0 +1,390 @@
<!-- ##### SECTION Title ##### -->
Colormaps and Colors
<!-- ##### SECTION Short_Description ##### -->
manipulation of colors and colormaps.
<!-- ##### SECTION Long_Description ##### -->
<para>
These functions are used to modify colormaps.
A colormap is an object that contains the mapping
between the color values stored in memory and
the RGB values that are used to display color
values. In general, colormaps only contain
significant information for pseudo-color visuals,
but even for other visual types, a colormap object
is required in some circumstances.
</para>
<para>
There are a couple of special colormaps that can
be retrieved. The system colormap (retrieved
with gdk_colormap_get_system()) is the default
colormap of the system. If you are using GdkRGB,
there is another colormap that is important - the
colormap in which GdkRGB works, retrieved with
gdk_rgb_get_cmap(). However, when using GdkRGB,
it is not generally necessary to allocate colors
directly.
</para>
<para>
In previous revisions of this interface, a number
of functions that take a #GdkColormap parameter
were replaced with functions whose names began
with "gdk_colormap_". This process will probably
be extended somewhat in the future -
gdk_color_white(), gdk_color_black(), and
gdk_color_change() will probably become aliases.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkColor ##### -->
<para>
The #GdkColor structure is used to describe an
allocated or unallocated color.
<informaltable pgwide=1 frame="none" role="struct">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry><structfield>pixel</structfield></entry>
<entry>For allocated colors, the value used to
draw this color on the screen.</entry>
</row>
<row>
<entry><structfield>red</structfield></entry>
<entry>The red component of the color. This is
a value between 0 and 65535, with 65535 indicating
full intensitiy.</entry>
</row>
<row>
<entry><structfield>green</structfield></entry>
<entry>the blue component of the color.</entry>
</row>
<row>
<entry><structfield>blue</structfield></entry>
<entry>the green component of the color..</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@pixel:
@red:
@green:
@blue:
<!-- ##### STRUCT GdkColormap ##### -->
<para>
The colormap structure contains the following public
fields.
<informaltable pgwide=1 frame="none" role="struct">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry><structfield>size</structfield></entry>
<entry>For pseudo-color colormaps, the number of colors
in the colormap..</entry>
</row>
<row>
<entry><structfield>colors</structfield></entry>
<entry>An array containing the current values in the
colormap. This can be used to map from pixel values
back to RGB values. This is only meaningful for
pseudo-color colormaps.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@size:
@colors:
<!-- ##### FUNCTION gdk_colormap_new ##### -->
<para>
Create a new colormap for the given visual.
</para>
@visual: a #GdkVisual.
@allocate: if %TRUE, the newly created colormap will be
a private colormap, and all colors in it will be
allocated for the applications use.
@Returns: the new #GdkColormap.
<!-- ##### FUNCTION gdk_colormap_ref ##### -->
<para>
Increase the reference count of a colormap.
</para>
@cmap: a #GdkColormap.
@Returns: @cmap
<!-- ##### FUNCTION gdk_colormap_unref ##### -->
<para>
Decrease the reference count of a colormap. If the
resulting reference count is zero, destroys the colormap.
</para>
@cmap: a #GdkColormap.
<!-- ##### FUNCTION gdk_colormap_get_system ##### -->
<para>
Returns the system's default colormap.
</para>
@Returns: the default colormap.
<!-- ##### FUNCTION gdk_colormap_get_system_size ##### -->
<para>
Returns the size of the system's default colormap.
(See the description of struct #GdkColormap for an
explanation of the size of a colormap.)
</para>
@Returns: the size of the system's default colormap.
<!-- ##### FUNCTION gdk_colormap_change ##### -->
<para>
Change the value of the first @ncolors in a private colormap
to match the values in the <structfield>colors</structfield>
array in the color map. This function is obsolete and
should not be used. See gdk_color_change().
</para>
@colormap: a #GdkColormap.
@ncolors: the number of colors to change.
<!-- ##### FUNCTION gdk_colormap_alloc_colors ##### -->
<para>
Allocates colors from a colormap.
</para>
@colormap: a #GdkColormap.
@colors: The color values to allocate. On return, the pixel
values for allocated colors will be filled in.
@ncolors: The number of colors in @colors.
@writeable: If %TRUE, the colors are allocated writeable
(their values can later be changed using gdk_color_change()).
Writeable colors cannot be shared between applications.
@best_match: If %TRUE, GDK will attempt to do matching against
existing colors if the colors cannot be allocated as
requested.
@success: An array of length @ncolors. On return, this
indicates whether the corresponding color in @colors was
sucessfully allocated or not.
@Returns: The number of colors that were not sucessfully
allocated.
<!-- ##### FUNCTION gdk_colormap_alloc_color ##### -->
<para>
Allocate a single color from a colormap.
</para>
@colormap: a #GdkColormap.
@color: the color to allocate. On return the
<structfield>pixel</structfield> field will be
filled in if allocation succeeds.
@writeable: If %TRUE, the color is allocated writeable
(their values can later be changed using gdk_color_change()).
Writeable colors cannot be shared between applications.
@best_match: If %TRUE, GDK will attempt to do matching against
existing colors if the color cannot be allocated as
requested.
@Returns: %TRUE if the allocation succeeded.
<!-- ##### FUNCTION gdk_colormap_free_colors ##### -->
<para>
Free previously allocated colors.
</para>
@colormap: a #GdkColormap.
@colors: the colors to free.
@ncolors: the number of colors in @colors.
<!-- ##### FUNCTION gdk_colormap_get_visual ##### -->
<para>
Return the visual for which a given colormap was created.
</para>
@colormap: a #GdkColormap.
@Returns: the visual of the colormap.
<!-- ##### FUNCTION gdk_colors_store ##### -->
<para>
Change the value of the first @ncolors colors in
a private colormap. This function is obsolete and
should not be used. See gdk_color_change().
</para>
@colormap: a #GdkColormap.
@colors: the new color values.
@ncolors: the number of colors to change.
<!-- ##### FUNCTION gdk_color_copy ##### -->
<para>
Make a copy of a color structure. The result
must be freed using gdk_color_free().
</para>
@color: a #GdkColor.
@Returns: a copy of @color.
<!-- ##### FUNCTION gdk_color_free ##### -->
<para>
Free a color structure created with
gdk_color_copy().
</para>
@color: a #GdkColor.
<!-- ##### FUNCTION gdk_colors_alloc ##### -->
<para>
Allocate colors from a colormap. This function
is obsolete. See gdk_colormap_alloc_colors().
For full documentation of the fields, see
the Xlib documentation for XAllocColorCells.
</para>
@colormap: a #GdkColormap.
@contiguous: if %TRUE, the colors should be allocated
in contiguous color cells.
@planes: an array in which to store the plane masks.
@nplanes: the number of planes to allocate. (Or zero,
to indicate that the color allocation should not be
planar.)
@pixels: an array into which to store allocated pixel
values.
@npixels: the number of pixels in each plane to allocate.
@Returns:
<!-- ##### FUNCTION gdk_colors_free ##### -->
<para>
Free colors allocated with gdk_colors_alloc(). This
function is obsolete. See gdk_colormap_free_colors().
</para>
@colormap: a #GdkColormap.
@pixels: the pixel values of the colors to free.
@npixels: the number of values in @pixels.
@planes: the plane masks for all planes to free, OR'd
together.
<!-- ##### FUNCTION gdk_color_white ##### -->
<para>
Return the white color for a given colormap. The resulting
value has already allocated been allocated.
</para>
@colormap: a #GdkColormap.
@color: the location to store the color.
@Returns: %TRUE if the allocation succeeded.
<!-- ##### FUNCTION gdk_color_black ##### -->
<para>
Return the black color for a given colormap. The resulting
value has already benn allocated.
</para>
@colormap: a #GdkColormap.
@color: the location to store the color.
@Returns: %TRUE if the allocation succeeded.
<!-- ##### FUNCTION gdk_color_parse ##### -->
<para>
Parse a textual specification of a color and fill in
the <structfield>red</structfield>,
<structfield>green</structfield>, and
<structfield>blue</structfield> fields of a
#GdkColor structure. The color is <emphasis>not</emphasis>
allocated, you must call gdk_colormap_alloc_color() yourself.
The text string can be in any of the forms accepted
by <function>XParseColor</function>; these include
name for a color from <filename>rgb.txt</filename>, such as
<literal>DarkSlateGray</literal>, or a hex specification
such as <literal>305050</literal>.
</para>
@spec: the string specifying the color.
@color: the #GdkColor to fill in
@Returns:
<!-- ##### FUNCTION gdk_color_alloc ##### -->
<para>
Allocate a single color from a colormap.
This function is obsolete. See gdk_colormap_alloc_color().
</para>
@colormap: a #GdkColormap.
@color: The color to allocate. On return, the
<structfield>pixel</structfield> field will be
filled in.
@Returns: %TRUE if the allocation succeeded.
<!-- ##### FUNCTION gdk_color_change ##### -->
<para>
Change the value of a color that has already
been allocated. If @colormap is not a private
colormap, then the color must have been allocated
using gdk_colormap_alloc_colors() with the
@writeable set to %TRUE.
</para>
@colormap: a #GdkColormap.
@color: a #GdkColor, with the color to change
in the <structfield>pixel</structfield> field,
and the new value in the remaining fields.
@Returns:
<!-- ##### FUNCTION gdk_color_equal ##### -->
<para>
Compare two colors.
</para>
@colora: a #GdkColor.
@colorb: another #GdkColor.
@Returns: %TRUE if the two colors compare equal
<!-- ##### FUNCTION gdk_color_hash ##### -->
<para>
A hash function suitable for using for a hash
table that stores #GdkColor's.
</para>
@colora: a #GdkColor.
@colorb: NOT USED.
@Returns: The hash function appled to @colora

View File

@@ -0,0 +1,99 @@
<!-- ##### SECTION Title ##### -->
Cursors
<!-- ##### SECTION Short_Description ##### -->
standard and pixmap cursors.
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkCursor ##### -->
<para>
</para>
@type:
<!-- ##### ENUM GdkCursorType ##### -->
<para>
The standard cursors available.
</para>
<!-- ##### FUNCTION gdk_cursor_new ##### -->
<para>
Creates a new standard cursor.
</para>
@cursor_type: the type of the cursor.
@Returns: a new #GdkCursor.
<!-- ##### FUNCTION gdk_cursor_new_from_pixmap ##### -->
<para>
Creates a new cursor from a given pixmap and mask. Both the pixmap and mask
must have a depth of 1 (i.e. each pixel has only 2 values - on or off).
The standard cursor size is 16 by 16 pixels.
</para>
<example><title>Creating a custom cursor.</title>
<programlisting>
/* This data is in X bitmap format, and can be created with the 'bitmap'
utility. */
#define cursor1_width 16
#define cursor1_height 16
static unsigned char cursor1_bits[] = {
0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x10, 0x08, 0x08, 0x10, 0x04, 0x20,
0x82, 0x41, 0x41, 0x82, 0x41, 0x82, 0x82, 0x41, 0x04, 0x20, 0x08, 0x10,
0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01};
static unsigned char cursor1mask_bits[] = {
0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x18, 0x18, 0x8c, 0x31,
0xc6, 0x63, 0x63, 0xc6, 0x63, 0xc6, 0xc6, 0x63, 0x8c, 0x31, 0x18, 0x18,
0x30, 0x0c, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01};
GdkCursor *cursor;
GdkPixmap *source, *mask;
GdkColor fg = { 0, 65535, 0, 0 }; /* Red. */
GdkColor bg = { 0, 0, 0, 65535 }; /* Blue. */
source = gdk_bitmap_create_from_data (NULL, cursor1_bits,
cursor1_width, cursor1_height);
mask = gdk_bitmap_create_from_data (NULL, cursor1mask_bits,
cursor1_width, cursor1_height);
cursor = gdk_cursor_new_from_pixmap (source, mask, &amp;fg, &amp;bg, 8, 8);
gdk_pixmap_unref (source);
gdk_pixmap_unref (mask);
gdk_window_set_cursor (widget->window, cursor);
</programlisting>
</example>
@source: the pixmap specifying the cursor.
@mask: the pixmap specifying the mask, which must be the same size as @source.
@fg: the foreground color, used for the bits in the source which are 1.
The color does not have to be allocated first.
@bg: the background color, used for the bits in the source which are 0.
The color does not have to be allocated first.
@x: the horizontal offset of the 'hotspot' of the cursor.
@y: the vertical offset of the 'hotspot' of the cursor.
@Returns: a new #GdkCursor.
<!-- ##### FUNCTION gdk_cursor_destroy ##### -->
<para>
Destroys a cursor, freeing any resources allocated for it.
</para>
@cursor: a #GdkCursor.

View File

@@ -0,0 +1,187 @@
<!-- ##### SECTION Title ##### -->
Drag and Drop
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
<para>
</para>
@context:
@Returns:
<!-- ##### FUNCTION gdk_drag_abort ##### -->
<para>
</para>
@context:
@time:
<!-- ##### FUNCTION gdk_drop_reply ##### -->
<para>
</para>
@context:
@ok:
@time:
<!-- ##### FUNCTION gdk_drag_context_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_drag_drop ##### -->
<para>
</para>
@context:
@time:
<!-- ##### FUNCTION gdk_drag_find_window ##### -->
<para>
</para>
@context:
@drag_window:
@x_root:
@y_root:
@dest_window:
@protocol:
<!-- ##### FUNCTION gdk_drag_context_ref ##### -->
<para>
</para>
@context:
<!-- ##### FUNCTION gdk_drag_begin ##### -->
<para>
</para>
@window:
@targets:
@Returns:
<!-- # Unused Parameters # -->
@actions:
<!-- ##### FUNCTION gdk_drag_motion ##### -->
<para>
</para>
@context:
@dest_window:
@protocol:
@x_root:
@y_root:
@suggested_action:
@possible_actions:
@time:
@Returns:
<!-- # Unused Parameters # -->
@action:
<!-- ##### FUNCTION gdk_drop_finish ##### -->
<para>
</para>
@context:
@success:
@time:
<!-- ##### FUNCTION gdk_drag_get_protocol ##### -->
<para>
</para>
@xid:
@protocol:
@Returns:
<!-- ##### ENUM GdkDragProtocol ##### -->
<para>
</para>
@GDK_DRAG_PROTO_MOTIF:
@GDK_DRAG_PROTO_XDND:
@GDK_DRAG_PROTO_ROOTWIN:
@GDK_DRAG_PROTO_NONE:
<!-- ##### FUNCTION gdk_drag_context_unref ##### -->
<para>
</para>
@context:
<!-- ##### STRUCT GdkDragContext ##### -->
<para>
</para>
@protocol:
@is_source:
@source_window:
@dest_window:
@targets:
@actions:
@suggested_action:
@action:
@start_time:
<!-- ##### ENUM GdkDragAction ##### -->
<para>
</para>
@GDK_ACTION_DEFAULT:
@GDK_ACTION_COPY:
@GDK_ACTION_MOVE:
@GDK_ACTION_LINK:
@GDK_ACTION_PRIVATE:
@GDK_ACTION_ASK:
<!-- ##### FUNCTION gdk_drag_status ##### -->
<para>
</para>
@context:
@action:
@time:

View File

@@ -0,0 +1,320 @@
<!-- ##### SECTION Title ##### -->
Drawing Primitives
<!-- ##### SECTION Short_Description ##### -->
functions for drawing points, lines, arcs, and text.
<!-- ##### SECTION Long_Description ##### -->
<para>
These functions provide support for drawing points, lines, arcs and text
onto what are called 'drawables'. Drawables, as the name suggests, are things
which support drawing onto them, and are either #GdkWindow or #GdkPixmap
objects.
</para>
<para>
Many of the drawing operations take a #GdkGC argument, which represents a
graphics context. This #GdkGC contains a number of drawing attributes such
as foreground color, background color and line width, and is used to reduce
the number of arguments needed for each drawing operation. See the
<link linkend="gdk-Graphics-Contexts">Graphics Contexts</link> section for
more information.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### ENUM GdkFill ##### -->
<para>
Used to specify the way in which drawing operations are performed.
See gdk_gc_set_fill().
</para>
@GDK_SOLID: graphics are drawn in a solid color, usually the foreground color
of the #GdkGC.
@GDK_TILED: graphics are drawn using a tile pixmap. See gdk_gc_set_tile().
@GDK_STIPPLED: graphics are drawn with a stipple (a pixmap with a depth of 1).
Bits set in the stipple are drawn in the foreground color. Bits not set in the
stipple are left as they are. See gdk_gc_set_stipple().
@GDK_OPAQUE_STIPPLED: graphics are drawn with a stipple, as in @GDK_STIPPLED,
except that the bits not set in the stipple are drawn in the background color
instead of being left as they are. See gdk_gc_set_stipple().
<!-- ##### ENUM GdkFillRule ##### -->
<para>
The method for determining which pixels are included in a region, when
creating a #GdkRegion from a polygon.
The fill rule is only relevant for polygons which overlap themselves.
</para>
@GDK_EVEN_ODD_RULE: areas which are overlapped an odd number of times are
included in the region, while areas overlapped an even number of times are not.
@GDK_WINDING_RULE: overlapping areas are always included.
<!-- ##### ENUM GdkLineStyle ##### -->
<para>
Used to specify how lines are drawn. See gdk_gc_set_line_attributes().
</para>
@GDK_LINE_SOLID: lines are drawn in a solid color, the foreground color.
@GDK_LINE_ON_OFF_DASH: dashed lines are drawn, with the pixels between the
dashes left as they are. The #GdkCapStyle is applied to each end of the dashes.
@GDK_LINE_DOUBLE_DASH: dashed lines are drawn, alternating between the
foreground and background colors. The %GDK_CAP_BUTT style is used where
dashes and gaps meet.
<!-- ##### ENUM GdkCapStyle ##### -->
<para>
Used to specify how the ends of lines and dashes are drawn.
See gdk_gc_set_line_attributes().
</para>
@GDK_CAP_NOT_LAST: this is equivalent to %GDK_CAP_BUTT, except that for a line
width of 0 the final endpoint is not drawn.
@GDK_CAP_BUTT: the ends of the line are square with no projection beyond the
endpoint.
@GDK_CAP_ROUND: the ends of the line are rounded using a circular arc centered
on the endpoint. This is equivalent to %GDK_CAP_BUTT when the line width is 0.
@GDK_CAP_PROJECTING: the ends of the line are square, but project beyond the
endpoint to a distance of half the line width.
This is equivalent to %GDK_CAP_BUTT when the line width is 0.
<!-- ##### ENUM GdkJoinStyle ##### -->
<para>
Used to specify how the the joins between lines are drawn.
See gdk_gc_set_line_attributes().
</para>
@GDK_JOIN_MITER: the ends of the lines are extended to meet at a point.
If the angle between the lines is less than 11 degrees, %GDK_JOIN_BEVEL is
used instead.
@GDK_JOIN_ROUND: the ends of the lines are rounded with a circular arc
centered on the joinpoint, with a diameter equal to the line width.
@GDK_JOIN_BEVEL: the lines have %GDK_CAP_BUTT cap styles, with the triangular
notch filled.
<!-- ##### FUNCTION gdk_draw_point ##### -->
<para>
Draws a point, using the foreground color and other attributes of the #GdkGC.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@x: the x coordinate of the point.
@y: the y coordinate of the point.
<!-- ##### FUNCTION gdk_draw_line ##### -->
<para>
Draws a line, using the foreground color and other attributes of the #GdkGC.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@x1: the x coordinate of the start point.
@y1: the y coordinate of the start point.
@x2: the x coordinate of the end point.
@y2: the y coordinate of the end point.
<!-- ##### FUNCTION gdk_draw_rectangle ##### -->
<para>
Draws a rectangular outline or filled rectangle, using the foreground color
and other attributes of the #GdkGC.
</para>
<note>
<para>
A rectangle drawn filled is 1 pixel smaller in both dimensions than a rectangle
outlined. Calling gdk_draw_rectangle (window, gc, TRUE, 0, 0, 20, 20) results
in a filled rectangle 20 pixels wide and 20 pixels high. Calling
gdk_draw_rectangle (window, gc, FALSE, 0, 0, 20, 20) results in an outlined
rectangle with corners at (0, 0), (0, 20), (20, 20), and (20, 0), which
makes it 21 pixels wide and 21 pixels high.
</para>
</note>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@filled: TRUE if the rectangle should be filled.
@x: the x coordinate of the left edge of the rectangle.
@y: the y coordinate of the top edge of the rectangle.
@width: the width of the rectangle.
@height: the height of the rectangle.
<!-- ##### FUNCTION gdk_draw_arc ##### -->
<para>
Draws an arc or a filled 'pie slice'. The arc is defined by the bounding
rectangle of the entire ellipse, and the start and end angles of the part of
the ellipse to be drawn.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@filled: TRUE if the arc should be filled, producing a 'pie slice'.
@x: the x coordinate of the left edge of the bounding rectangle.
@y: the y coordinate of the top edge of the bounding rectangle.
@width: the width of the bounding rectangle.
@height: the height of the bounding rectangle.
@angle1: the start angle of the arc, relative to the 3 o'clock position,
counter-clockwise, in 1/64ths of a degree.
@angle2: the end angle of the arc, in the same units as @angle1.
<!-- ##### FUNCTION gdk_draw_polygon ##### -->
<para>
Draws an outlined or filled polygon.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@filled: TRUE if the polygon should be filled. The polygon is closed
automatically, connecting the last point to the first point if necessary.
@points: an array of #GdkPoint structures specifying the points making up the
polygon.
@npoints: the number of points.
<!-- ##### FUNCTION gdk_draw_string ##### -->
<para>
Draws a string of characters in the given font or fontset.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@font: a #GdkFont.
@gc: a #GdkGC.
@x: the x coordinate of the left edge of the text.
@y: the y coordinate of the baseline of the text.
@string: the string of characters to draw.
<!-- ##### FUNCTION gdk_draw_text ##### -->
<para>
Draws a number of characters in the given font or fontset.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@font: a #GdkFont.
@gc: a #GdkGC.
@x: the x coordinate of the left edge of the text.
@y: the y coordinate of the baseline of the text.
@text: the characters to draw.
@text_length: the number of characters of @text to draw.
<!-- ##### FUNCTION gdk_draw_text_wc ##### -->
<para>
Draws a number of wide characters using the given font of fontset.
If the font is a 1-byte font, the string is converted into 1-byte characters
(discarding the high bytes) before output.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@font: a #GdkFont.
@gc: a #GdkGC.
@x: the x coordinate of the left edge of the text.
@y: the y coordinate of the baseline of the text.
@text: the wide characters to draw.
@text_length: the number of characters to draw.
<!-- ##### FUNCTION gdk_draw_pixmap ##### -->
<para>
Draws a pixmap, or a part of a pixmap, onto another drawable.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@src: the source #GdkPixmap to draw.
@xsrc: the left edge of the source rectangle within @src.
@ysrc: the top of the source rectangle within @src.
@xdest: the x coordinate of the destination within @drawable.
@ydest: the y coordinate of the destination within @drawable.
@width: the width of the area to be copied, or -1 to make the area extend to
the right edge of the source pixmap.
@height: the height of the area to be copied, or -1 to make the area extend
to the bottom edge of the source pixmap.
<!-- ##### FUNCTION gdk_draw_bitmap ##### -->
<para>
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc:
@src:
@xsrc:
@ysrc:
@xdest:
@ydest:
@width:
@height:
<!-- ##### FUNCTION gdk_draw_image ##### -->
<para>
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc:
@image:
@xsrc:
@ysrc:
@xdest:
@ydest:
@width:
@height:
<!-- ##### FUNCTION gdk_draw_points ##### -->
<para>
Draws a number of points, using the foreground color and other attributes of
the #GdkGC.
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@points: an array of #GdkPoint structures.
@npoints: the number of points to be drawn.
<!-- ##### FUNCTION gdk_draw_segments ##### -->
<para>
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc:
@segs:
@nsegs:
<!-- ##### STRUCT GdkSegment ##### -->
<para>
</para>
@x1:
@y1:
@x2:
@y2:
<!-- ##### FUNCTION gdk_draw_lines ##### -->
<para>
Draws a series of lines connecting the given points.
The way in which joins between lines are draw is determined by the
#GdkCapStyle value in the #GdkGC. This can be set with
gdk_gc_set_line_attributes().
</para>
@drawable: a #GdkDrawable (a #GdkWindow or a #GdkPixmap).
@gc: a #GdkGC.
@points: an array of #GdkPoint structures specifying the endpoints of the
lines.
@npoints: the number of endpoints.

View File

@@ -0,0 +1,296 @@
<!-- ##### SECTION Title ##### -->
Event Structures
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<note>
<para>
A common mistake is to forget to set the event mask of a widget so that the
required events are received. See gtk_widget_set_events().
</para>
</note>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkEventAny ##### -->
<para>
Contains the fields which are common to all event structs.
Any event can safely be cast to a #GdkEventAny to access these fields.
</para>
@type: the type of the event.
@window: the window which received the event.
@send_event: TRUE if the event was sent explicitly (e.g. using XSendEvent).
<!-- ##### STRUCT GdkEventExpose ##### -->
<para>
</para>
@type:
@window:
@send_event:
@area:
@count:
<!-- ##### STRUCT GdkEventNoExpose ##### -->
<para>
</para>
@type:
@window:
@send_event:
<!-- ##### STRUCT GdkEventVisibility ##### -->
<para>
</para>
@type:
@window:
@send_event:
@state:
<!-- ##### ENUM GdkVisibilityState ##### -->
<para>
</para>
@GDK_VISIBILITY_UNOBSCURED:
@GDK_VISIBILITY_PARTIAL:
@GDK_VISIBILITY_FULLY_OBSCURED:
<!-- ##### STRUCT GdkEventMotion ##### -->
<para>
</para>
@type:
@window:
@send_event:
@time:
@x:
@y:
@pressure:
@xtilt:
@ytilt:
@state:
@is_hint:
@source:
@deviceid:
@x_root:
@y_root:
<!-- ##### STRUCT GdkEventButton ##### -->
<para>
Used for button press and button release events. The
<structfield>type</structfield> field will be one of %GDK_BUTTON_PRESS,
%GDK_2BUTTON_PRESS, %GDK_3BUTTON_PRESS, and %GDK_BUTTON_RELEASE.
</para>
<para>
Double and treble-clicks result in a sequence of events being received.
For double-clicks the order of events will be:
<orderedlist>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_2BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
</orderedlist>
Note that the first click is received just like a normal
button press, while the second click results in a %GDK_2BUTTON_PRESS being
received just after the %GDK_BUTTON_PRESS.
</para>
<para>
Treble-clicks are very similar to double-clicks, except that %GDK_3BUTTON_PRESS
is inserted after the third click. The order of the events is:
<orderedlist>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_2BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
<listitem><para>%GDK_BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_3BUTTON_PRESS</para></listitem>
<listitem><para>%GDK_BUTTON_RELEASE</para></listitem>
</orderedlist>
</para>
@type: the type of the event.
@window: the window which received the event.
@send_event: TRUE if the event was sent explicitly (e.g. using XSendEvent).
@time: the time of the event in milliseconds. This wraps around roughly every
50 days.
@x: the x coordinate of the mouse relative to the window.
@y: the y coordinate of the mouse relative to the window.
@pressure: the pressure of the button press, intended for input devices such
as graphics tablets. It defaults to 0.5.
@xtilt:
@ytilt:
@state:
@button:
@source:
@deviceid:
@x_root: the x coordinate of the mouse relative to the root of the screen.
@y_root: the y coordinate of the mouse relative to the root of the screen.
<!-- ##### STRUCT GdkEventKey ##### -->
<para>
</para>
@type:
@window:
@send_event:
@time:
@state:
@keyval:
@length:
@string:
<!-- ##### STRUCT GdkEventCrossing ##### -->
<para>
</para>
@type:
@window:
@send_event:
@subwindow:
@time:
@x:
@y:
@x_root:
@y_root:
@mode:
@detail:
@focus:
@state:
<!-- ##### ENUM GdkCrossingMode ##### -->
<para>
</para>
@GDK_CROSSING_NORMAL:
@GDK_CROSSING_GRAB:
@GDK_CROSSING_UNGRAB:
<!-- ##### ENUM GdkNotifyType ##### -->
<para>
</para>
@GDK_NOTIFY_ANCESTOR:
@GDK_NOTIFY_VIRTUAL:
@GDK_NOTIFY_INFERIOR:
@GDK_NOTIFY_NONLINEAR:
@GDK_NOTIFY_NONLINEAR_VIRTUAL:
@GDK_NOTIFY_UNKNOWN:
<!-- ##### STRUCT GdkEventFocus ##### -->
<para>
</para>
@type:
@window:
@send_event:
@in:
<!-- ##### STRUCT GdkEventConfigure ##### -->
<para>
</para>
@type:
@window:
@send_event:
@x:
@y:
@width:
@height:
<!-- ##### STRUCT GdkEventProperty ##### -->
<para>
</para>
@type:
@window:
@send_event:
@atom:
@time:
@state:
<!-- ##### STRUCT GdkEventSelection ##### -->
<para>
</para>
@type:
@window:
@send_event:
@selection:
@target:
@property:
@requestor:
@time:
<!-- ##### STRUCT GdkEventProximity ##### -->
<para>
</para>
@type:
@window:
@send_event:
@time:
@source:
@deviceid:
<!-- ##### STRUCT GdkEventClient ##### -->
<para>
</para>
@type:
@window:
@send_event:
@message_type:
@data_format:
<!-- ##### STRUCT GdkEventDND ##### -->
<para>
</para>
@type:
@window:
@send_event:
@context:
@time:
@x_root:
@y_root:
<!-- ##### UNION GdkEvent ##### -->
<para>
</para>
<!-- ##### TYPEDEF GdkXEvent ##### -->
<para>
</para>

View File

@@ -0,0 +1,185 @@
<!-- ##### SECTION Title ##### -->
Events
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### ENUM GdkEventType ##### -->
<para>
</para>
@GDK_NOTHING:
@GDK_DELETE:
@GDK_DESTROY:
@GDK_EXPOSE:
@GDK_MOTION_NOTIFY:
@GDK_BUTTON_PRESS:
@GDK_2BUTTON_PRESS:
@GDK_3BUTTON_PRESS:
@GDK_BUTTON_RELEASE:
@GDK_KEY_PRESS:
@GDK_KEY_RELEASE:
@GDK_ENTER_NOTIFY:
@GDK_LEAVE_NOTIFY:
@GDK_FOCUS_CHANGE:
@GDK_CONFIGURE:
@GDK_MAP:
@GDK_UNMAP:
@GDK_PROPERTY_NOTIFY:
@GDK_SELECTION_CLEAR:
@GDK_SELECTION_REQUEST:
@GDK_SELECTION_NOTIFY:
@GDK_PROXIMITY_IN:
@GDK_PROXIMITY_OUT:
@GDK_DRAG_ENTER:
@GDK_DRAG_LEAVE:
@GDK_DRAG_MOTION:
@GDK_DRAG_STATUS:
@GDK_DROP_START:
@GDK_DROP_FINISHED:
@GDK_CLIENT_EVENT:
@GDK_VISIBILITY_NOTIFY:
@GDK_NO_EXPOSE:
<!-- ##### ENUM GdkEventMask ##### -->
<para>
</para>
@GDK_EXPOSURE_MASK:
@GDK_POINTER_MOTION_MASK:
@GDK_POINTER_MOTION_HINT_MASK:
@GDK_BUTTON_MOTION_MASK:
@GDK_BUTTON1_MOTION_MASK:
@GDK_BUTTON2_MOTION_MASK:
@GDK_BUTTON3_MOTION_MASK:
@GDK_BUTTON_PRESS_MASK:
@GDK_BUTTON_RELEASE_MASK:
@GDK_KEY_PRESS_MASK:
@GDK_KEY_RELEASE_MASK:
@GDK_ENTER_NOTIFY_MASK:
@GDK_LEAVE_NOTIFY_MASK:
@GDK_FOCUS_CHANGE_MASK:
@GDK_STRUCTURE_MASK:
@GDK_PROPERTY_CHANGE_MASK:
@GDK_VISIBILITY_NOTIFY_MASK:
@GDK_PROXIMITY_IN_MASK:
@GDK_PROXIMITY_OUT_MASK:
@GDK_SUBSTRUCTURE_MASK:
@GDK_ALL_EVENTS_MASK:
<!-- ##### FUNCTION gdk_events_pending ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_event_peek ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_event_get ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_event_get_graphics_expose ##### -->
<para>
</para>
@window:
@Returns:
<!-- ##### FUNCTION gdk_event_put ##### -->
<para>
</para>
@event:
<!-- ##### FUNCTION gdk_event_copy ##### -->
<para>
</para>
@event:
@Returns:
<!-- ##### FUNCTION gdk_event_free ##### -->
<para>
</para>
@event:
<!-- ##### FUNCTION gdk_event_get_time ##### -->
<para>
</para>
@event:
@Returns:
<!-- ##### FUNCTION gdk_event_handler_set ##### -->
<para>
</para>
@func:
@data:
@notify:
<!-- ##### FUNCTION gdk_event_send_client_message ##### -->
<para>
</para>
@event:
@xid:
@Returns:
<!-- ##### USER_FUNCTION GdkEventFunc ##### -->
<para>
</para>
@event:
@data:
<!-- ##### FUNCTION gdk_event_send_clientmessage_toall ##### -->
<para>
</para>
@event:

View File

@@ -0,0 +1,581 @@
<!-- ##### SECTION Title ##### -->
Fonts
<!-- ##### SECTION Short_Description ##### -->
loading and manipulating fonts
<!-- ##### SECTION Long_Description ##### -->
<para>
The GdkFont data type represents a font for drawing on
the screen. These functions provide support for
loading fonts, and also for determining the dimensions
of characters and strings when drawn with a particular
font.
</para>
<para>
Fonts in X are specified by a
<firstterm>X Logical Font Description</firstterm>.
The following description is considerably simplified.
For definitive information about XLFD's see the
X reference documentation. A X Logical Font Description (XLFD)
consists of a sequence of fields separated (and surrounded by) '-'
characters. For example, Adobe Helvetica Bold 12 pt, has the
full description:
<programlisting>
"-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1"
</programlisting>
</para>
<para>
The fields in the XLFD are:
<informaltable pgwide=1 frame="none">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>Foundry</entry>
<entry>the company or organization where the font originated.</entry>
</row>
<row>
<entry>Family</entry>
<entry>the font family (a group of related font designs).</entry>
</row>
<row>
<entry>Weight</entry>
<entry>A name for the font's typographic weight
For example, 'bold' or 'medium').</entry>
</row>
<row>
<entry>Slant</entry>
<entry>The slant of the font. Common values are 'R' for Roman,
'I' for italoc, and 'O' for oblique.</entry>
</row>
<row>
<entry>Set Width</entry>
<entry>A name for the width of the font. For example,
'normal' or 'condensed'.</entry>
</row>
<row>
<entry>Add Style</entry>
<entry>Additional information to distinguish a font from
other fonts of the same family.</entry>
</row>
<row>
<entry>Pixel Size</entry>
<entry>The body size of the font in pixels.</entry>
</row>
<row>
<entry>Point Size</entry>
<entry>The body size of the font in 10ths of a point.
(A <firstterm>point</firstterm> is 1/72.27 inch) </entry>
</row>
<row>
<entry>Resolution X</entry>
<entry>The horizontal resolution that the font was designed for.</entry>
</row>
<row>
<entry>Resolution Y</entry>
<entry>The vertical resolution that the font was designed for .</entry>
</row>
<row>
<entry>Spacing</entry>
<entry>The type of spacing for the font - can be 'p' for proportional,
'm' for monospaced or 'c' for charcell.</entry>
</row>
<row>
<entry>Average Width</entry>
<entry>The average width of a glyph in the font. For monospaced
and charcell fonts, all glyphs in the font have this width</entry>
</row>
<row>
<entry>Charset Registry</entry>
<entry>The registration authority that owns the encoding for
the font. Together with the Charset Encoding field, this
defines the character set for the font.</entry>
</row>
<row>
<entry>Charset Encoding</entry>
<entry>An identifier for the particular character set encoding.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
<para>
When specifying a font via a X logical Font Description,
'*' can be used as a wildcard to match any portion of
the XLFD. For instance, the above example could
also be specified as
<programlisting>
"-*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1"
</programlisting>
It is generally a good idea to use wildcards for any
portion of the XLFD that your program does not care
about specifically, since that will improve the
chances of finding a matching font.
</para>
<para>
A <firstterm>fontset</firstterm> is a list of fonts
that is used for drawing international text that may
contain characters from a number of different character
sets. It is represented by a list of XLFD's.
</para>
<para>
The font for a given character set is determined by going
through the list of XLFD's in order. For each one, if
the registry and and encoding fields match the desired
character set, then that font is used, otherwise if
the XLFD contains wild-cards for the registry and encoding
fields, the registry and encoding for the desired character
set are subsituted in and a lookup is done. If a match is found
that font is used. Otherwise, processing continues
on to the next font in the list.
</para>
<para>
The functions for determining the metrics of a string
come in several varieties that can take a number
of forms of string input:
<variablelist>
<varlistentry>
<term>8-bit string</term>
<listitem><para>
When using functions like gdk_string_width() that
take a <type>gchar *</type>, if the font is of type
%GDK_FONT_FONT and is an 8-bit font, then each
<type>gchar</type> indexes the glyphs in the font directly.
</para></listitem>
</varlistentry>
<varlistentry>
<term>16-bit string</term>
<listitem><para>
For functions taking a <type>gchar *</type>, if the
font is of type %GDK_FONT_FONT, and is a 16-bit
font, then the <type>gchar *</type> argument is
interpreted as a <type>guint16 *</type> cast to
a <type>gchar *</type> and each <type>guint16</type>
indexes the glyphs in the font directly.
</para></listitem>
</varlistentry>
<varlistentry>
<term>Multibyte string</term>
<listitem><para>
For functions taking a <type>gchar *</type>, if the
font is of type %GDK_FONT_FONTSET, then the input
string is interpreted as a <firstterm>multibyte</firstterm>
encoded according to the current locale. (A multibyte
string is one in which each character may consist
of one or more bytes, with different lengths for different
characters in the string). They can be converted to and
from wide character strings (see below) using
gdk_wcstombs() and gdk_mbstowcs().) The string will
be rendered using one or more different fonts from
the fontset.
</para></listitem>
</varlistentry>
<varlistentry>
<term>Wide character string</term>
<listitem><para>
For a number of the text-measuring functions, GTK+
provides a variant (such as gdk_text_width_wc()) which
takes a <type>GdkWChar *</type> instead of a
<type>gchar *</type>. The input is then taken to
be a wide character string in the encoding of the
current locale. (A wide character string is a string
in which each character consists of several bytes,
and the width of each character in the string is
constant.)
</para></listitem>
</varlistentry>
</variablelist>
</para>
<para>
GDK provides functions to determine a number of different
measurements (metrics) for a given string. (Need diagram
here).
<variablelist>
<varlistentry>
<term>ascent</term>
<listitem><para>
The vertical distance from the origin of the drawing
opereration to the top of the drawn character.
</para></listitem>
</varlistentry>
<varlistentry>
<term>descent</term>
<listitem><para>
The vertical distance from the origin of the drawing
opereration to the bottom of the drawn character.
</para></listitem>
</varlistentry>
<varlistentry>
<term>left bearing</term>
<listitem><para>
The horizontal distance from the origin of the drawing
operation to the left-most part of the drawn character.
</para></listitem>
</varlistentry>
<varlistentry>
<term>right bearing</term>
<listitem><para>
The horizontal distance from the origin of the drawing
operation to the right-most part of the drawn character.
</para></listitem>
</varlistentry>
<varlistentry>
<term>width bearing</term>
<listitem><para>
The horizontal distance from the origin of the drawing
operation to the correct origin for drawing another
string to follow the current one. Depending on the
font, this could be greater than or less than the
right bearing.
</para></listitem>
</varlistentry>
</variablelist>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkFont ##### -->
<para>
The GdkFont structure represents a font or fontset. It
contains the following public fields. A new GdkFont
structure is returned by gdk_font_load() or gdk_fontset_load(),
and is reference counted with gdk_font_ref() and gdk_font_unref()
<informaltable pgwide=1 frame="none" role="struct">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry><structfield>type</structfield></entry>
<entry>a value of type #GdkFontType which indicates
whether this font is a single font or a fontset.</entry>
</row>
<row>
<entry><structfield>ascent</structfield></entry>
<entry>the maximum distance that the font, when drawn,
ascends above the baseline.</entry>
</row>
<row>
<entry><structfield>descent</structfield></entry>
<entry>the maximum distance that the font, when drawn,
descends below the baseline.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@type:
@ascent:
@descent:
<!-- ##### ENUM GdkFontType ##### -->
<para>
Indicates the type of a font. The possible values
are currently:
<informaltable pgwide=1 frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>GDK_FONT_FONT</entry>
<entry>the font is a single font.</entry>
</row>
<row>
<entry>GDK_FONT_FONT</entry>
<entry>the font is a fontset.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@GDK_FONT_FONT:
@GDK_FONT_FONTSET:
<!-- ##### FUNCTION gdk_font_load ##### -->
<para>
Loads a font.
</para>
<para>
Currently, this function will always return a new
font, however, in the future, it may be changed to
look up the font in a cache. You should make no
assumptions about the initial reference count.
</para>
@font_name: a XLFD describing the font to load.
@Returns: a #GdkFont, or NULL if the font could not be loaded.
<!-- ##### FUNCTION gdk_fontset_load ##### -->
<para>
Loads a fontset.
</para>
<para>
Currently this function will always return a new
font, however, in the future, it may be changed to
look up the font in a cache. You should make no
assumptions about the initial reference count.
</para>
@fontset_name: a comma-separated list of XLFDs describing
the component fonts of the fontset to load.
@Returns: a #GdkFont, or NULL if the fontset could not be loaded.
<!-- ##### FUNCTION gdk_font_ref ##### -->
<para>
Increase the reference count of a count by one.
</para>
@font: a #GdkFont
@Returns: @font
<!-- ##### FUNCTION gdk_font_unref ##### -->
<para>
Decrease the reference count of a count by one.
If the result is zero, destroys the font.
</para>
@font: a #GdkFont
<!-- ##### FUNCTION gdk_font_id ##### -->
<para>
Returns the X Font ID for the given font.
</para>
@font: a #GdkFont.
@Returns: the numeric X Font ID
<!-- ##### FUNCTION gdk_font_equal ##### -->
<para>
Compares two fonts for equality. Single fonts compare equal
if they have the same X font ID. This operation does
not currently work correctly for fontsets.
</para>
@fonta: a #GdkFont.
@fontb: another #GdkFont.
@Returns: %TRUE if the fonts are equal.
<!-- ##### FUNCTION gdk_string_extents ##### -->
<para>
Returns the metrics of a NULL-terminated string.
</para>
@font: a #GdkFont.
@string: the NULL-terminated string to measure.
@lbearing: the left bearing of the string.
@rbearing: the right bearing of the string.
@width: the width of the string.
@ascent: the ascent of the string.
@descent: the descent of the string.
<!-- ##### FUNCTION gdk_text_extents ##### -->
<para>
Returns the metrics of a string.
</para>
@font: a #GdkFont
@text: the text to measure
@text_length: the length of the text in bytes. (If the
font is a 16-bit font, this is twice the length
of the text in characters.)
@lbearing: the left bearing of the string.
@rbearing: the right bearing of the string.
@width: the width of the string.
@ascent: the ascent of the string.
@descent: the descent of the string.
<!-- ##### FUNCTION gdk_text_extents_wc ##### -->
<para>
Returns the metrics of a string of wide characters.
</para>
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in character.
@lbearing: the left bearing of the string.
@rbearing: the right bearing of the string.
@width: the width of the string.
@ascent: the ascent of the string.
@descent: the descent of the string.
<!-- ##### FUNCTION gdk_string_width ##### -->
<para>
Determine the width of a NULL-terminated string.
(The distance from the origin of the string to the
point where the next string in a sequence of strings
should be drawn)
</para>
@font: a #GdkFont
@string: the NULL-terminated string to measure
@Returns: the width of the string in pixels.
<!-- ##### FUNCTION gdk_text_width ##### -->
<para>
Determine the width of a given string.
</para>
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in bytes.
@Returns: the width of the string in pixels.
<!-- ##### FUNCTION gdk_text_width_wc ##### -->
<para>
Determine the width of a given wide-character string.
</para>
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in characters.
@Returns: the width of the string in pixels.
<!-- ##### FUNCTION gdk_char_width ##### -->
<para>
Determine the width of a given character.
</para>
@font: a #GdkFont
@character: the character to measure.
@Returns: the width of the character in pixels.
<!-- ##### FUNCTION gdk_char_width_wc ##### -->
<para>
Determine the width of a given wide character. (Encoded
in the wide-character encoding of the current locale).
</para>
@font: a #GdkFont
@character: the character to measure.
@Returns: the width of the character in pixels.
<!-- ##### FUNCTION gdk_string_measure ##### -->
<para>
Determines the distance from the origin to the rightmost
portion of a NULL-terminated string when drawn. This is not the
correct value for determining the origin of the next
portion when drawing text in multiple pieces.
See gdk_string_width().
</para>
@font: a #GdkFont
@string: the NULL-terminated string to measure.
@Returns: the right bearing of the string in pixels.
<!-- ##### FUNCTION gdk_text_measure ##### -->
<para>
Determines the distance from the origin to the rightmost
portion of a string when drawn. This is not the
correct value for determining the origin of the next
portion when drawing text in multiple pieces.
See gdk_text_width().
</para>
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in bytes.
@Returns: the right bearing of the string in pixels.
<!-- ##### FUNCTION gdk_char_measure ##### -->
<para>
Determines the distance from the origin to the rightmost
portion of a character when drawn. This is not the
correct value for determining the origin of the next
portion when drawing text in multiple pieces.
</para>
@font: a #GdkFont
@character: the character to measure.
@Returns: the right bearing of the character in pixels.
<!-- ##### FUNCTION gdk_string_height ##### -->
<para>
Determines the total height of a given NULL-terminated
string. This value is not generally useful, because you
cannot determine how this total height will be drawn in
relation to the baseline. See gdk_string_extents().
</para>
@font: a #GdkFont
@string: the NULL-terminated string to measure.
@Returns: the height of the string in pixels.
<!-- ##### FUNCTION gdk_text_height ##### -->
<para>
Determines the total height of a given string.
This value is not generally useful, because you cannot
determine how this total height will be drawn in
relation to the baseline. See gdk_text_extents().
</para>
@font: a #GdkFont
@text: the text to measure.
@text_length: the length of the text in bytes.
@Returns: the height of the string in pixels.
<!-- ##### FUNCTION gdk_char_height ##### -->
<para>
Determines the total height of a given character.
This value is not generally useful, because you cannot
determine how this total height will be drawn in
relation to the baseline. See gdk_text_extents().
</para>
@font: a #GdkFont
@character: the character to measure.
@Returns: the height of the character in pixels.

View File

@@ -0,0 +1,637 @@
<!-- ##### SECTION Title ##### -->
Graphics Contexts
<!-- ##### SECTION Short_Description ##### -->
objects to encapsulate drawing properties.
<!-- ##### SECTION Long_Description ##### -->
<para>
All drawing operations in GDK take a
<firstterm>graphics context</firstterm> (GC) argument.
A graphics context encapsulates information about
the way things are drawn, such as the foreground
color or line width. By using graphics contexts,
the number of arguments to each drawing call is
greatly reduced, and communication overhead is
minimized, since identical arguments do not need
to be passed repeatedly.
</para>
<para>
Most values of a graphics context can be set at
creation time by using gdk_gc_new_with_values(),
or can be set one-by-one using functions such
as gdk_gc_set_foreground(). A few of the values
in the GC, such as the dash pattern, can only
be set by the latter method.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkGC ##### -->
<para>
The #GdkGC structure represents a graphics context.
It is an opaque structure with no user-visible
elements.
</para>
@dummy_var:
<!-- ##### STRUCT GdkGCValues ##### -->
<para>
The #GdkGCValues structure holds a set of values used
to create or modify a graphics context.
<informaltable pgwide=1 frame="none" role="struct">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>#GdkColor foreground;</entry>
<entry>the foreground color.</entry>
</row>
<row>
<entry>#GdkColor background;</entry>
<entry>the background color.</entry>
</row>
<row>
<entry>#GdkFont *font;</entry>
<entry>the default font..</entry>
</row>
<row>
<entry>#GdkFunction function;</entry>
<entry>the bitwise operation used when drawing.</entry>
</row>
<row>
<entry>#GdkFill fill;</entry>
<entry>the fill style.</entry>
</row>
<row>
<entry>#GdkPixmap *tile;</entry>
<entry>the tile pixmap.</entry>
</row>
<row>
<entry>#GdkPixmap *stipple;</entry>
<entry>the stipple bitmap.</entry>
</row>
<row>
<entry>#GdkPixmap *clip_mask;</entry>
<entry>the clip mask bitmap.</entry>
</row>
<row>
<entry>#GdkSubwindowMode subwindow_mode;</entry>
<entry>the subwindow mode.</entry>
</row>
<row>
<entry>#gint ts_x_origin;</entry>
<entry>the x origin of the tile or stipple.</entry>
</row>
<row>
<entry>#gint ts_y_origin;</entry>
<entry>the y origin of the tile or stipple.</entry>
</row>
<row>
<entry>#gint clip_x_origin;</entry>
<entry>the x origin of the clip mask.</entry>
</row>
<row>
<entry>#gint clip_y_origin;</entry>
<entry>the y origin of the clip mask.</entry>
</row>
<row>
<entry>#gint graphics_exposures;</entry>
<entry>whether graphics exposures are enabled.</entry>
</row>
<row>
<entry>#gint line_width;</entry>
<entry>the line width</entry>
</row>
<row>
<entry>#GdkLineStyle line_style;</entry>
<entry>the way dashed lines are drawn</entry>
</row>
<row>
<entry>#GdkCapStyle cap_style;</entry>
<entry>the way the ends of lines are drawn</entry>
</row>
<row>
<entry>#GdkJoinStyle join_style;</entry>
<entry>the way joins between lines are drawn</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@foreground:
@background:
@font:
@function:
@fill:
@tile:
@stipple:
@clip_mask:
@subwindow_mode:
@ts_x_origin:
@ts_y_origin:
@clip_x_origin:
@clip_y_origin:
@graphics_exposures:
@line_width:
@line_style:
@cap_style:
@join_style:
<!-- ##### ENUM GdkGCValuesMask ##### -->
<para>
A set of bit flags used to indicate which fields
#GdkGCValues structure are set.
</para>
@GDK_GC_FOREGROUND:
@GDK_GC_BACKGROUND:
@GDK_GC_FONT:
@GDK_GC_FUNCTION:
@GDK_GC_FILL:
@GDK_GC_TILE:
@GDK_GC_STIPPLE:
@GDK_GC_CLIP_MASK:
@GDK_GC_SUBWINDOW:
@GDK_GC_TS_X_ORIGIN:
@GDK_GC_TS_Y_ORIGIN:
@GDK_GC_CLIP_X_ORIGIN:
@GDK_GC_CLIP_Y_ORIGIN:
@GDK_GC_EXPOSURES:
@GDK_GC_LINE_WIDTH:
@GDK_GC_LINE_STYLE:
@GDK_GC_CAP_STYLE:
@GDK_GC_JOIN_STYLE:
<!-- ##### ENUM GdkFill ##### -->
<para>
Determines how primitives are drawn.
<informaltable pgwide=1 frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>GDK_SOLID</entry>
<entry>draw with the foreground color.</entry>
</row>
<row>
<entry>GDK_TILED</entry>
<entry>draw with a tiled pixmap.</entry>
</row>
<row>
<entry>GDK_STIPPLED</entry>
<entry>draw using the stipple bitmap. Pixels corresponding
to bits in the stipple bitmap that are set will be drawn in the
foreground color; pixels corresponding to bits that are
not set will be left untouched.</entry>
</row>
<row>
<entry>GDK_OPAQUE_STIPPLED</entry>
<entry>draw using the stipple bitmap. Pixels corresponding
to bits in the stipple bitmap that are set will be drawn in the
foreground color; pixels corresponding to bits that are
not set will be drawn with the background color.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@GDK_SOLID:
@GDK_TILED:
@GDK_STIPPLED:
@GDK_OPAQUE_STIPPLED:
<!-- ##### ENUM GdkFunction ##### -->
<para>
Determines how the bit values for the source pixels are combined with
the bit values for destination pixels to produce the final result. The
sixteen values here correspond to the 16 different possible 2x2 truth
tables. Only a couple of these values are usually useful; for colored
images, only %GDK_COPY, %GDK_XOR and %GDK_INVERT are generally
useful. For bitmaps, %GDK_AND and %GDK_OR are also useful.
</para>
@GDK_COPY:
@GDK_INVERT:
@GDK_XOR:
@GDK_CLEAR:
@GDK_AND:
@GDK_AND_REVERSE:
@GDK_AND_INVERT:
@GDK_NOOP:
@GDK_OR:
@GDK_EQUIV:
@GDK_OR_REVERSE:
@GDK_COPY_INVERT:
@GDK_OR_INVERT:
@GDK_NAND:
@GDK_SET:
<!-- ##### ENUM GdkLineStyle ##### -->
<para>
Determines how lines are drawn.
<informaltable pgwide=1 frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>GDK_LINE_SOLID</entry>
<entry>lines are drawn solid.</entry>
</row>
<row>
<entry>GDK_LINE_ON_OFF_DASH</entry>
<entry>even segments are drawn; odd segments are not drawn.</entry>
</row>
<row>
<entry>GDK_LINE_DOUBLE_DASH</entry>
<entry>even segments are normally. Odd segments are drawn
in the background color if the fill style is %GDK_SOLID,
or in the background color masked by the stipple if the
fill style is %GDK_STIPPLED.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@GDK_LINE_SOLID:
@GDK_LINE_ON_OFF_DASH:
@GDK_LINE_DOUBLE_DASH:
<!-- ##### ENUM GdkCapStyle ##### -->
<para>
Determines how the end of lines are drawn.
<informaltable pgwide=1 frame="none" role="struct">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>GDK_CAP_NOT_LAST</entry>
<entry>the same as %GDK_CAP_BUTT for lines of non-zero width.
for zero width lines, the final point on the line
will not be drawn.</entry>
</row>
<row>
<entry>GDK_CAP_BUTT</entry>
<entry>the ends of the lines are drawn squared off and extending
to the coordinates of the end point.</entry>
</row>
<row>
<entry>GDK_CAP_ROUND</entry>
<entry>the ends of the lines are drawn as semicircles with the
diameter equal to the line width and centered at the
end point.</entry>
</row>
<row>
<entry>GDK_CAP_PROJECTING</entry>
<entry>the ends of the lines are drawn squared off and extending
half the width of the line beyond the end point.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@GDK_CAP_NOT_LAST:
@GDK_CAP_BUTT:
@GDK_CAP_ROUND:
@GDK_CAP_PROJECTING:
<!-- ##### ENUM GdkJoinStyle ##### -->
<para>
Determines how the joins between segments of a polygon are drawn.
<informaltable pgwide=1 frame="none" role="struct">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>GDK_JOIN_MITER</entry>
<entry>the sides of each line are extended to meet at an angle.</entry>
</row>
<row>
<entry>GDK_JOIN_ROUND</entry>
<entry>the sides of the two lines are joined by a circular arc.</entry>
</row>
<row>
<entry>GDK_JOIN_BEVEL</entry>
<entry>the sides of the two lines are joined by a straight line which
makes an equal angle with each line.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@GDK_JOIN_MITER:
@GDK_JOIN_ROUND:
@GDK_JOIN_BEVEL:
<!-- ##### FUNCTION gdk_gc_new ##### -->
<para>
Create a new graphics context with default values.
</para>
@window: a #GdkDrawable. The created GC must always be used
with drawables of the same depth as this one.
@Returns: the new graphics context.
<!-- ##### FUNCTION gdk_gc_new_with_values ##### -->
<para>
Create a new GC with the given initial values.
</para>
@window: a #GdkDrawable. The created GC must always be used
with drawables of the same depth as this one.
@values: a structure containing initial values for the GC.
@values_mask: a bit mask indicating which fields in @values
are set.
@Returns: the new graphics context.
<!-- ##### FUNCTION gdk_gc_ref ##### -->
<para>
Increase the reference count on a graphics context.
</para>
@gc: a #GdkGC.
@Returns: @gc.
<!-- ##### FUNCTION gdk_gc_unref ##### -->
<para>
Decrease the reference count on a graphics context. If
the resulting reference count is zero, the graphics
context will be destroyed.
</para>
@gc: a #GdkGC.
<!-- ##### FUNCTION gdk_gc_destroy ##### -->
<para>
Identical to gdk_gc_unref(). This function is obsolete
and should not be used.
</para>
@gc: a #GdkGC.
<!-- ##### FUNCTION gdk_gc_get_values ##### -->
<para>
Retrieves the current values from a graphics context.
</para>
@gc: a #GdkGC.
@values: the #GdkGCValues structure in which to store the results.
<!-- ##### FUNCTION gdk_gc_set_foreground ##### -->
<para>
Sets the foreground color for a graphics context.
</para>
@gc: a #GdkGC.
@color: the new foreground color.
<!-- ##### FUNCTION gdk_gc_set_background ##### -->
<para>
Sets the background color for a graphics context.
</para>
@gc: a #GdkGC.
@color: the new background color.
<!-- ##### FUNCTION gdk_gc_set_font ##### -->
<para>
Sets the font for a graphics context. (Note that
all text-drawing functions in GDK take a @font
argument; the value set here is used when that
argument is %NULL.)
</para>
@gc: a #GdkGC.
@font: the new font.
<!-- ##### FUNCTION gdk_gc_set_function ##### -->
<para>
Determines how the current pixel values and the
pixel values being drawn are combined to produce
the final pixel values.
</para>
@gc: a #GdkGC.
@function:
<!-- ##### FUNCTION gdk_gc_set_fill ##### -->
<para>
Set the fill mode for a graphics context.
</para>
@gc: a #GdkGC.
@fill: the new fill mode.
<!-- ##### FUNCTION gdk_gc_set_tile ##### -->
<para>
Set a tile pixmap for a graphics context.
This will only be used if the fill mode
is %GDK_TILED.
</para>
@gc: a #GdkGC.
@tile: the new tile pixmap.
<!-- ##### FUNCTION gdk_gc_set_stipple ##### -->
<para>
Set the stipple bitmap for a graphics context. The
stipple will only be used if the fill mode is
%GDK_STIPPLED or %GDK_OPAQUE_STIPPLED.
</para>
@gc: a #GdkGC.
@stipple: the new stipple bitmap.
<!-- ##### FUNCTION gdk_gc_set_ts_origin ##### -->
<para>
Set the origin when using tiles or stipples with
the GC. The tile or stipple will be aligned such
that the upper left corner of the tile or stipple
will coincide with this point.
</para>
@gc: a #GdkGC.
@x: the x-coordinate of the origin.
@y: the y-coordinate of the origin.
<!-- ##### FUNCTION gdk_gc_set_clip_origin ##### -->
<para>
Sets the origin of the clip mask. The coordinates are
interpreted relative to the upper-left corner of
the destination drawable of the current operation.
</para>
@gc: a #GdkGC.
@x: the x-coordinate of the origin.
@y: the y-coordinate of the origin.
<!-- ##### FUNCTION gdk_gc_set_clip_mask ##### -->
<para>
Sets the clip mask for a graphics context from a bitmap.
The clip mask is interpreted relative to the clip
origin. (See gdk_gc_set_clip_origin()).
</para>
@gc: the #GdkGC.
@mask: a bitmap.
<!-- ##### FUNCTION gdk_gc_set_clip_rectangle ##### -->
<para>
Sets the clip mask for a graphics context from a
rectangle. The clip mask is interpreted relative to the clip
origin. (See gdk_gc_set_clip_origin()).
</para>
@gc: a #GdkGC.
@rectangle: the rectangle to clip to.
<!-- ##### FUNCTION gdk_gc_set_clip_region ##### -->
<para>
Sets the clip mask for a graphics context from a region structure.
The clip mask is interpreted relative to the clip origin. (See
gdk_gc_set_clip_origin()).
</para>
@gc: a #GdkGC.
@region: the #GdkRegion.
<!-- ##### FUNCTION gdk_gc_set_subwindow ##### -->
<para>
Sets how drawing with this GC on a window will affect child
windows of that window.
</para>
@gc: a #GdkGC.
@mode: the subwindow mode.
<!-- ##### ENUM GdkSubwindowMode ##### -->
<para>
Determines how drawing onto a window will affect child
windows of that window.
<informaltable pgwide=1 frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="3*"><colspec colwidth="7*">
<tbody>
<row>
<entry>GDK_CLIP_BY_CHILDREN</entry>
<entry>only draw onto the window itself.</entry>
</row>
<row>
<entry>GDK_INCLUDE_INFERIORS</entry>
<entry>Draw onto the window and child windows.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@GDK_CLIP_BY_CHILDREN:
@GDK_INCLUDE_INFERIORS:
<!-- ##### FUNCTION gdk_gc_set_exposures ##### -->
<para>
Sets whether copying non-visible portions of a drawable
using this graphics context generate exposure events
for the corresponding regions of the destination
drawable. (See gdk_draw_pixmap()).
</para>
@gc: a #GdkGC.
@exposures: if %TRUE, exposure events will be generated.
<!-- ##### FUNCTION gdk_gc_set_line_attributes ##### -->
<para>
Sets various attributes of how lines are drawn. See
the corresponding members of GdkGCValues for full
explanations of the arguments.
</para>
@gc: a #GdkGC.
@line_width: the width of lines.
@line_style: the dash-style for lines.
@cap_style: the manner in which the ends of lines are drawn.
@join_style: the in which lines are joined together.
<!-- ##### FUNCTION gdk_gc_set_dashes ##### -->
<para>
Sets the way dashed-lines are drawn. Lines will be
drawn with alternating on and off segments of the
lengths specified in @dash_list. The manner in
which the on and off segments are drawn is determined
by the @line_style value of the GC. (This can
be changed with gdk_gc_set_line_attributes)
</para>
@gc: a #GdkGC.
@dash_offset: the
@dash_list: an array of dash lengths.
@n: the number of elements in @dash_list.
<!-- ##### FUNCTION gdk_gc_copy ##### -->
<para>
Copy the set of values from one graphics context
onto another graphics context.
</para>
@dst_gc: the destination graphics context.
@src_gc: the source graphics context.

View File

View File

@@ -0,0 +1,265 @@
<!-- ##### SECTION Title ##### -->
General
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_init ##### -->
<para>
</para>
@argc:
@argv:
<!-- ##### FUNCTION gdk_init_check ##### -->
<para>
</para>
@argc:
@argv:
@Returns:
<!-- ##### FUNCTION gdk_exit ##### -->
<para>
</para>
@error_code:
<!-- ##### ENUM GdkStatus ##### -->
<para>
</para>
@GDK_OK:
@GDK_ERROR:
@GDK_ERROR_PARAM:
@GDK_ERROR_FILE:
@GDK_ERROR_MEM:
<!-- ##### MACRO GDK_NONE ##### -->
<para>
</para>
<!-- ##### MACRO GDK_CURRENT_TIME ##### -->
<para>
</para>
<!-- ##### MACRO GDK_PRIORITY_EVENTS ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_set_locale ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_get_show_events ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_set_show_events ##### -->
<para>
</para>
@show_events:
<!-- ##### FUNCTION gdk_add_client_message_filter ##### -->
<para>
</para>
@message_type:
@func:
@data:
<!-- ##### FUNCTION gdk_set_sm_client_id ##### -->
<para>
</para>
@sm_client_id:
<!-- ##### FUNCTION gdk_get_use_xshm ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_set_use_xshm ##### -->
<para>
</para>
@use_xshm:
<!-- ##### FUNCTION gdk_get_display ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_screen_width ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_screen_height ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_screen_width_mm ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_screen_height_mm ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_pointer_grab ##### -->
<para>
</para>
@window:
@owner_events:
@event_mask:
@confine_to:
@cursor:
@time:
@Returns:
<!-- ##### FUNCTION gdk_pointer_ungrab ##### -->
<para>
</para>
@time:
<!-- ##### FUNCTION gdk_keyboard_grab ##### -->
<para>
</para>
@window:
@owner_events:
@time:
@Returns:
<!-- ##### FUNCTION gdk_keyboard_ungrab ##### -->
<para>
</para>
@time:
<!-- ##### FUNCTION gdk_pointer_is_grabbed ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gdk_flush ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_beep ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_key_repeat_disable ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_key_repeat_restore ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_error_trap_push ##### -->
<para>
</para>
<!-- ##### FUNCTION gdk_error_trap_pop ##### -->
<para>
</para>
@Returns:

View File

@@ -0,0 +1,107 @@
<!-- ##### SECTION Title ##### -->
Images
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GdkImage ##### -->
<para>
</para>
@type:
@visual:
@byte_order:
@width:
@height:
@depth:
@bpp:
@bpl:
@mem:
<!-- ##### ENUM GdkImageType ##### -->
<para>
</para>
@GDK_IMAGE_NORMAL:
@GDK_IMAGE_SHARED:
@GDK_IMAGE_FASTEST:
<!-- ##### FUNCTION gdk_image_new_bitmap ##### -->
<para>
</para>
@visual:
@data:
@width:
@height:
@Returns:
<!-- ##### FUNCTION gdk_image_new ##### -->
<para>
</para>
@type:
@visual:
@width:
@height:
@Returns:
<!-- ##### FUNCTION gdk_image_get ##### -->
<para>
</para>
@window:
@x:
@y:
@width:
@height:
@Returns:
<!-- ##### FUNCTION gdk_image_put_pixel ##### -->
<para>
</para>
@image:
@x:
@y:
@pixel:
<!-- ##### FUNCTION gdk_image_get_pixel ##### -->
<para>
</para>
@image:
@x:
@y:
@Returns:
<!-- ##### FUNCTION gdk_image_destroy ##### -->
<para>
</para>
@image:

View File

@@ -0,0 +1,130 @@
<!-- ##### SECTION Title ##### -->
Input
<!-- ##### SECTION Short_Description ##### -->
Callbacks on file descriptors.
<!-- ##### SECTION Long_Description ##### -->
<para>
The functions in this section are used to establish
callbacks when some condition becomes true for
a file descriptor. They are currently just wrappers around
the <link linkend="glib-IO-Channels">IO Channel</link>
facility.
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term><link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link></term>
<listitem><para>The main loop in which input callbacks run.</para></listitem>
</varlistentry>
<varlistentry>
<term><link linkend="glib-IO-Channels">IO Channels</link></term>
<listitem><para>A newer and more flexible way of doing IO
callbacks.</para></listitem>
</varlistentry>
</variablelist>
</para>
<!-- ##### FUNCTION gdk_input_add_full ##### -->
<para>
Establish a callback when a condition becomes true on
a file descriptor.
</para>
@source: a file descriptor.
@condition: the condition.
@function: the callback function.
@data: callback data passed to @function.
@destroy: callback function to call with @data when the input
handler is removed.
@Returns: a tag that can later be used as an argument to
gdk_input_remove().
<!-- ##### ENUM GdkInputCondition ##### -->
<para>
A set of bit flags used to specify conditions for which
an input callback will be triggered. The three members
of this enumeration correspond to the @readfds,
@writefds, and @exceptfds arguments to the
<function>select</function> system call.
<informaltable pgwide=1 frame="none" role="enum">
<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
<tbody>
<row>
<entry>GDK_INPUT_READ</entry>
<entry>the file descriptor has become available for reading.
(Or, as is standard in Unix, a socket or pipe was closed
at the other end; this is the case if a subsequent read
on the file descriptor returns a count of zero.)</entry>
</row>
<row>
<entry>GDK_INPUT_WRITE</entry>
<entry>the file descriptor has become available for writing.</entry>
</row>
<row>
<entry>GDK_INPUT_EXCEPTION</entry>
<entry>an exception was raised on the file descriptor.</entry>
</row>
</tbody></tgroup></informaltable>
</para>
@GDK_INPUT_READ:
@GDK_INPUT_WRITE:
@GDK_INPUT_EXCEPTION:
<!-- ##### USER_FUNCTION GdkInputFunction ##### -->
<para>
A callback function that will be called when some condition
occurs.
</para>
@data: the user data passed to gdk_input_add() or gdk_input_add_full().
@source: the source where the condition occurred.
@condition: the triggering condition.
<!-- ##### USER_FUNCTION GdkDestroyNotify ##### -->
<para>
A callback function called when a piece of user data is
no longer being stored by GDK. Will typically free the
structure or object that @data points to.
</para>
@data: the user data.
<!-- ##### FUNCTION gdk_input_add ##### -->
<para>
Establish a callback when a condition becomes true on
a file descriptor.
</para>
@source: a file descriptor.
@condition: the condition.
@function: the callback function.
@data: callback data passed to @function.
@Returns: a tag that can later be used as an argument to
gdk_input_remove().
<!-- ##### FUNCTION gdk_input_remove ##### -->
<para>
Remove a callback added with gdk_input_add() or
gdk_input_add_full().
</para>
@tag: the tag returned when the callback was set up.

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