Tor Lillqvist edf8e89542 A batch of changes mainly with improvements to 256-color mode. Add
2002-02-06  Tor Lillqvist  <tml@iki.fi>

	A batch of changes mainly with improvements to 256-color mode. Add
	possibility for the user to override size of palette used with
	either the GDK_WIN32_MAX_COLORS environment variable, or a
	-max-colors command line option. Plug some memory leaks.

	* gdk/gdkrgb.c: More debugging output added here and there, some
	very verbose. I tried hard to also come up with a color cube and a
	GdkRgbConvFunc that would use all the 16 static VGA colors if the
	visual is such, but no. Will have to make do with the 2x2x2 color
	cube in that case.

	(gdk_rgb_cmap_fail): Drop the message argument, instead use
	explicit GDK_NOTE calls before calling this function.

	(gdk_rgb_do_colormaps): Use G_N_ELEMENTS().

	(gdk_rgb_init): Use the 2x2x2 color cube only for depths 3 and 4.
	Check return value from gdk_rgb_do_colormaps(), call g_error() if
	fails.

	(gdk_rgb_convert_4_pack): New GdkRgbConvFunc, for 4 bits-per-pixel
	static color visuals.

	(gdk_rgb_select_conv): Use correct bpp for 4 < depth < 8. Choose
	gdk_rgb_convert_8() also for depth < 8. Choose
	gdk_rgb_convert_4_pack() when bpp == depth == 4. Call g_error() if
	no suitable conv function was found.

	* gdk/win32/gdkcolor-win32.c: Minor debugging output
	changes. Remove #if 0 code.

	(create_colormap): If the visual indicates the static 16 VGA
	colors only, use only those in the palette (and not the four
	colors in the middle of the default palette).

	* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap):
	Debugging output improvements.

	* gdk/win32/gdkdrawable-win32.c (gdk_win32_blit): New function,
	bulk of code from the old gdk_win32_draw_drawable(), with one
	extra parameter use_fg_bg to indicate whether to use the fg and bg
	pixel values (indexes) from the GC when blitting from bitmaps, or
	0 and 1. The values from the GC are used only when being called
	from gdk_image_put(). (Compare to XCopyArea(), XGetImage() and
	XPutImage().)

	Plug memory leak: always delete the outside_rgn HRGN.

	(gdk_win32_draw_drawable): Just call gdk_win32_blit().

	(blit_from_pixmap, blit_inside_window, blit_from_window): New
	functions, containing code sections moved out from (what is now)
	gdk_win32_blit().

	(blit_from_pixmap): Gets passed the use_fg_bg parameter of
	gdk_win32_blit(). Call gdk_win32_clear_hdc_cache_for_hwnd() for
	the source bitmap to make sure it isn't selected into a DC in the
	DC cache. Combine the branches for 1-bit and 8-bit bitmaps: Set
	the source DIB section's color table appropriately before calling
	BitBlt(), restore afterwards.

	* gdk/win32/gdkgc-win32.c: Only cosmetics and debugging output changes.

	* gdk/win32/gdkglobals-win32.c: New global variable: gdk_max_colors.

	* gdk/win32/gdkimage-win32.c (gdk_image_get): Call
	gdk_win32_blit() with use_fg_bg FALSE.

	(gdk_image_get_pixel, gdk_image_put_pixel): Handle depth == 4 case
	(two packed pixels per byte).

	* gdk/win32/gdkmain-win32.c: New command-line option -max-colors.

	* gdk/win32/gdkpixmap-win32.c (setup_pixmap_image): Handle also
	depths 4, 5, 6 and 7, with depth 4 meaning two pixels per byte,
	and 5, 6 and 7 meaning one pixel per byte, but restricting pixel
	values to said number of bits.

	(gdk_win32_pixmap_new, showpixmap): Ditto.

	* gdk/win32/gdkprivate-win32.h: Declate gdk_win32_blit() and
	gdk_max_colors.

	* gdk/win32/gdkselection-win32.c (gdk_text_property_to_text_list): Fix lint.

	* gdk/win32/gdkvisual-win32.c (gdk_visual_init): Look for a
	GDK_WIN32_MAX_COLORS environment variable, and check the
	gdk_max_colors variable possibly set by the command-line
	option. They can be used to override the number of colormap
	entries for 256-color "pseudocolor" mode. Set depth of visual
	accordingly. If restricted to 16-color, say it's "static
	color". Call gdk_rgb_min_colors() with an appropriate value for
	the restricted colormaps.

	* gdk/win32/gdkwindow-win32.c (gdk_window_shape_combine_mask):
	Plug memory leak: Delete temporary HRGN after use.
2002-02-06 00:44:30 +00:00
2002-01-24 01:40:41 +00:00
2001-10-22 23:27:22 +00:00
2002-01-24 01:40:41 +00:00
2000-03-14 19:57:25 +00:00
2000-03-14 19:57:25 +00:00
2002-01-24 01:40:41 +00:00
2001-10-28 02:11:08 +00:00
2001-11-08 23:10:13 +00:00
1999-09-28 20:19:13 +00:00

General Information
===================

This is GTK+ version 1.3.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.

The official ftp site is:
  ftp://ftp.gtk.org/pub/gtk

The official web site is:
  http://www.gtk.org/

A mailing list is located at:
  gtk-list@redhat.com

To subscribe: mail -s subscribe gtk-list-request@redhat.com < /dev/null
(Send mail to gtk-list-request@redhat.com with the subject "subscribe")

Installation
============

This is the gtk-1-3-win32-production branch, intended only for
Windows. See README.win32.

How to report bugs
==================

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.

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.

 Package: gtk+
 Version: 1.3.0

[ Please substitute 1.3.0 with the version of GTK+ that
  you have installed ]

Then describe the bug. Include:

* Information about your system. For instance:

   - What operating system and version
   - What version of X
   - For Linux, what version of the C library

  And anything else you think is relevant.

* How to reproduce the bug. 

  If you can reproduce it with the testgtk program that is built 
  in the gtk/ subdirectory, that will be most convenient.  Otherwise, 
  please include a short test program that exhibits the behavior. 
  As a last resort, you can also provide a pointer to a larger piece 
  of software that can be downloaded.

  (Bugs that can be reproduced within the  GIMP are almost as good 
  as bugs that can be reproduced in testgtk. If you are reporting a 
  bug found with the GIMP, please include the version number of the GIMP 
  you are using)

* If the bug was a crash, the exact text that was printed out
  when the crash occured.

* Further information such as stack traces may be useful, but
  is not necessary. If you do send a stack trace, and the error
  is an X error, it will be more useful if the stacktrace
  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.3.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
=======

Patches can be uploaded to the incoming/ directory on
ftp.gtk.org.  Please follow the instructions there, and include
your name and email address in the README file.

If the patch fixes a bug, it is usually a good idea to include
all the information described in "How to Report Bugs".
Description
GTK is a multi-platform toolkit for creating graphical user interfaces.
Readme 570 MiB
Languages
C 90.8%
CSS 7.3%
Meson 0.5%
SCSS 0.4%
GLSL 0.3%
Other 0.5%