Commit Graph

16 Commits

Author SHA1 Message Date
Michael Natterer 1ff739a28c draw the selection in GTK_STATE_SELECTED's colors, not inverted. Fixed
2003-12-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphistogramview.[ch]: draw the selection in
	GTK_STATE_SELECTED's colors, not inverted. Fixed selection
	rendering to snap to value boundaries.
2003-12-15 17:40:31 +00:00
Michael Natterer a1c3265e09 added a hack that allows to render the histogram in a brighter color.
2003-12-12  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphistogramview.[ch]: added a hack that allows to
	render the histogram in a brighter color. Fixed initial range for
	views that are not selectable.

	* app/tools/gimpcurvestool.[ch]: replaced the GtkDrawingArea by a
	bright GimpHistogramView and render the curves tool controls on
	top of the histogram. Fixes bug #71633.
2003-12-11 23:35:17 +00:00
Michael Natterer 73cf6a00bc added properties "border-width" and "subdivisions". Fixed rendering (it
2003-12-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphistogramview.[ch]: added properties "border-width"
	and "subdivisions". Fixed rendering (it off-by-one worked just
	accidentially because border-width was hardcoded to 1).

	* app/widgets/gimphistogrambox.c: use the histogram view's border
	width for the color area below the histogram. Conect to the right
	signal to update the area. Added (#ifdef DEBUG_VIEW) debugging
	spinbuttons to change the histogram view's new properties on the
	fly.
2003-12-11 17:24:18 +00:00
Michael Natterer e72b406a5f applied (modified) patch from Ed Halley which adds "quintile marks". Fixes
2003-12-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphistogramview.[ch]: applied (modified) patch
	from Ed Halley which adds "quintile marks". Fixes bug #129050.
	Render the histogram on a base_gc background and use text_gc and
	text_aa_gc for rendering the histogram and the helper lines.
	Fixed rendering of the 1px border around the histogram. Removed
	separate drawing of baseline, left and right helper lines and draw
	a rectangle which marks the entire area of possible values. Fixed
	size_request calculation. Added missing getters. Cleanup.

	* app/tools/gimpcurvestool.c: use the same color scheme as the
	histogram.

	* app/tools/gimpcurvestool.c (curves_load,save_callback)
	* app/tools/gimplevelstool.c (levels_load,save_callback):
	gtk_window_present() the file dialog if it is already visible.
2003-12-11 13:57:03 +00:00
Sven Neumann fb6bd70031 removed width and height from the API. It can be set using
2003-11-01  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphistogramview.[ch]: removed width and height
	from the API. It can be set using gtk_widget_size_request(). Set a
	mimimum height of 80 pixels.

	* app/widgets/gimphistogrambox.c: changed accordinly. Reduced size
	of color gradient.

	* app/tools/gimpcurvestool.c: reduced gradient sizes.

	* app/tools/gimplevelstool.c: allow the histogram to expand
	vertically.
2003-11-01 17:39:09 +00:00
Sven Neumann dcf50dc2a9 Replaced the histogram tool by a histogram dialog:
2003-11-01  Sven Neumann  <sven@gimp.org>

	Replaced the histogram tool by a histogram dialog:

	* themes/Default/images/Makefile.am
	* themes/Default/images/tools/stock-tool-histogram-[16|22].png:
	removed here ...

	* themes/Default/images/stock-histogram-[16|22].png: ,,, and added
	under these new names.

	* libgimpwidgets/gimpstock.[ch]: register the icons as
	GIMP_STOCK_HISTOGRAM and removed the histogram tool stock icons.

	* app/base/gimphistogram.c: don't crash when uncalculated values
	are requested from a GimpHistogram. Allow to reset the histogram
	by calling gimp_histogram_calculate() with a NULL region.

	* app/widgets/gimphistogrambox.[ch]: renamed the GimpHistogramView
	struct member to "view".

	* app/tools/gimpthresholdtool.c: changed accordingly.

	* app/widgets/gimphistogramview.[ch] (gimp_histogram_view_events):
	return TRUE when events were handled.

	* app/tools/Makefile.am
	* app/tools/gimp-tools.c
	* app/tools/gimphistogramtool.[ch]: removed the histogram tool.

	* app/widgets/Makefile.am
	* app/widgets/gimphelp-ids.h
	* app/widgets/widgets-types.h
	* app/widgets/gimphistogrameditor.[ch]: added GimpHistogramEditor.
	Has some rough edges still...

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/image-menu.c: register the new dialog instead of the
	histogram tool.
2003-11-01 02:39:34 +00:00
Sven Neumann 04d29efd74 added a new enum to specify how to display histograms.
2003-01-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/widgets-enums.h: added a new enum to specify how to
	display histograms.

	* app/widgets/widgets-enums.c: regenerated.

	* app/widgets/gimphistogramview.[ch]: added a scale property and
	made channel a property. Added support for linear histograms based
	on a patch from Akkana (see bug #72951).

	* app/widgets/gimphistogrambox.c: redraw the gradient when the
	histogram view notifies it that the displayed channel has changed.

	* app/tools/gimphistogramtool.c: added a menu to configure the
	histogram scale.
2003-01-25 18:58:45 +00:00
Sven Neumann 9a9009bad9 app/tools/gimphistogramtool.c app/tools/gimplevelstool.[ch]
2002-10-15  Sven Neumann  <sven@gimp.org>

	* app/tools/gimphistogramtool.c
	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpthresholdtool.c
	* app/widgets/gimphistogrambox.[ch]
	* app/widgets/gimphistogramview.[ch]: started to clean up histogram
	code. Moved the gradient into the GimpHistogramBox. Draw only in the
	expose event handler.
2002-10-15 01:15:43 +00:00
Michael Natterer f54912e108 Histogram cleanup:
2002-09-07  Michael Natterer  <mitch@gimp.org>

	Histogram cleanup:

	* app/base/gimphistogram.c: Added g_return_if_fail() to all public
	functions, reordered stuff, cleanup (no logic changed).

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimphistogrambox.[ch]: new widget containing a
	GimpHistogramView and two range spinbuttons (as known from the
	threshold tool). Users only need to connect to the histogram
	view's "range_changed" signal. The spinbuttons are handled
	internally.

	* app/widgets/gimphistogramview.[ch]: define it's default size in
	the header. Make sure "start" is always smaller than "end". Emit
	"range_changed" in gimp_histogram_view_set_range().

	* app/tools/gimplevelstool.c: changed accordingly.

	* app/tools/gimpthresholdtool.[ch]: removed the code which
	did the same and use the new widget.

	* app/tools/gimphistogramtool.[ch]: ditto. Removed the "intensity"
	info label. Cleanup.
2002-09-07 17:27:32 +00:00
Sven Neumann 757017a8e2 bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22.
2001-11-23  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version number to 1.3.1.
	Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
	and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
	exist any longer.

	* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
	be frozen now.

	* HACKING: removed reference to RELEASE-TO-CVS.patch

	* app/gui/menus.c
	* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
	to the new GTK+/Pango API.

	* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.

	* app/core/gimpmarshal.list: added all marshallers we use.

	* app/core/gimpmarshal.[ch]: regenerated.

	* app/[lots of .c files]: use gimp_marshal_* for all marshallers.

	* data/images/
	* app/app_procs.c
	* app/gui/splash.c:

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimputils.[ch]: removed since they are no longer needed.

	* app/gimprc.c
	* plug-ins/common/ps.c
	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/gdyntext/gdyntextcompat.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
	of gimp_strescape() and gimpstrcompress().

	* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
	all _get_type function as G_GNUC_CONST.

	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/lib.pl: make them generate header files using
	G_BEGIN_DECLS/G_END_DECLS.

	* pixmaps/Makefile.am
	* pixmaps/wilber3.xpm: removed ...
	* data/images/tips_wilber.png: ... and added here as PNG

	* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.

	* data/images/gimp_splash.ppm: removed ...
	* data/images/gimp_splash.png: ... and added as PNG

	* app/app_procs.c
	* app/gui/splash.[ch]: load the splash image using GdkPixbuf.

	* app/gui/about-dialog.c: sink the GtkPreview.
2001-11-22 23:46:13 +00:00
Michael Natterer 18dd072836 app/gimpprogress.[ch] s/GDisplay/GimpDisplay/
2001-10-16  Michael Natterer  <mitch@gimp.org>

	* app/gimpprogress.[ch]
	* app/undo.c: s/GDisplay/GimpDisplay/

	* app/plug_in.[ch]: removed unused boolean "destroy" field of
	the PlugIn struct.

	* app/core/gimpedit.c: don't include "app_procs.h"

	* app/display/gimpdisplay-callbacks.c: moved the "grab_abd_scroll"
	stuff from gimpdisplay-scroll.* here (less complicated and easier
	to cleanup...)

	* app/display/gimpdisplay-scroll.[ch]: removed here.

	* app/display/gimpdisplay-render.[ch]
	* app/display/gimpdisplay-selection.[ch]
	* app/display/gimpdisplayshell.c: s/GDisplay/GimpDisplay/g

	* app/display/gimpdisplay.[ch]: ditto, removed gdisplay_active()
	which was just a wrapper around
	"gimp_context_get_display (gimp_get_user_context (the_gimp))"
	(which is more to type but makes the use of the global
	"the_gimp" variable more obvious).

	* app/gui/color-area.h
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/image-commands.c
	* app/gui/info-window.h
	* app/gui/paths-dialog.h
	* app/gui/select-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/tools-commands.c
	* app/gui/view-commands.c: s/GDisplay/GimpDisplay/, gdisplay_active()
	removal, include "app_procs.h" for "the_gimp".

	* app/tools/gimpbezierselecttool.h
	* app/tools/gimpbrightnesscontrasttool.[ch]
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.[ch]
	* app/tools/gimpcurvestool.[ch]
	* app/tools/gimpeditselectiontool.h
	* app/tools/gimphistogramtool.[ch]
	* app/tools/gimphuesaturationtool.[ch]
	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpmovetool.h
	* app/tools/gimpperspectivetool.h
	* app/tools/gimpposterizetool.[ch]
	* app/tools/gimprotatetool.h
	* app/tools/gimpscaletool.h
	* app/tools/gimpsheartool.h
	* app/tools/gimptexttool.h
	* app/tools/gimpthresholdtool.[ch]
	* app/tools/gimptool.[ch]
	* app/tools/gimptransformtool.h
	* app/tools/tool_manager.[ch]: lots of s/GDisplay/GimpDisplay/, made
	all *_dialog_hide() functions private, cleanup.

	* app/widgets/*: removed GtkType and gtk_type_* stuff entirely and
	use GObject functions, removed lots of empty "destroy" methods and
	use more type checking class cast macros instead of casting
	directly.

	* app/widgets/gimpcontainermenu.c: fixed item insert order.

	* app/widgets/gimphistogramview.[ch]: cleaned up and renamed all
	functions.

	* app/widgets/gimpwidgets-utils.[ch]: removed gimp_dialog_hide() as
	Gtk+ does the right thing (TM) now.

	* tools/pdbgen/pdb/color.pdb: implemented "histogram" without
	digging into tools/ and widgets/ (needs to be done for all
	color PDB functions).

	* tools/pdbgen/pdb/gimprc.pdb: no need to use "the_gimp" in a PDB
	function as a "Gimp" pointer is passed to them all.

	* tools/pdbgen/pdb/image.pdb: don't include "app_procs.h"

	* app/pdb/color_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/image_cmds.c: regenerated.

	* app/pdb/procedural_db.c: don't include "app_procs.h"
2001-10-17 11:33:43 +00:00
Michael Natterer 06b16890ba Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
2001-07-24  Michael Natterer  <mitch@gimp.org>

	Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)

	* configure.in: require glib/gtk+ >= 1.3.7, commented out the
	gtkxmhtml stuff.

	From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
	to hack or use GIMP HEAD.

	Beware, it crashes randomly :)

	* app/core/Makefile.am
	* app/core/gimpmarshal.list: new file plus rules to generate
	gimpmarshal.[ch] from it.

	* app/core/*
	* app/tools/*
	* app/widgets/*
	* libgimpwidgets/*: started to use the glib object system. All
	core/ objects are still gtk objects however. All signals are
	created using g_signal_new(). There are many gtk+ artefacts left.
	Finally, we will _not_ use the gtk_signal_foo() wrappers and
	friends any more.

	* app/colormaps.c
	* app/devices.[ch]
	* app/disp_callbacks.c
	* app/errorconsole.c
	* app/file-save.[ch]
	* app/interface.c
	* app/module_db.c
	* app/nav_window.c
	* app/ops_buttons.c
	* app/scroll.c
	* app/user_install.c
	* app/gui/about-dialog.c
	* app/gui/brush-editor.c
	* app/gui/brushes-commands.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradients-commands.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/layer-select.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/offset-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmenu.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimpui.c
	* libgimpbase/gimpenv.c: tons and tons of changes like "const
	gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
	and currently disables), lots of s/gtk_signal/g_signal/,
	removal/replacement of deprecated stuff,
	s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
	while I was on it, zillions of warnings left...

	* modules/Makefile.am: disabled the water color selector
	temporarily (XInput issues).

	* plug-ins/Makefile.am
	* plug-ins/common/.cvsignore
	* plug-ins/common/Makefile.am
	* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
	which did not build (including Script-Fu). They are trivial to
	fix.
2001-07-24 21:27:11 +00:00
Michael Natterer df0bbb26fb removed channel_update() because channel.c should not call
2001-01-29  Michael Natterer  <mitch@gimp.org>

	* app/channel.[ch]: removed channel_update() because channel.c
	should not call gdisplays_update(). Use drawable_update() and
	a subsequent gdisplays_update() instead.

	* app/qmask.c: do as described above.

	* app/channel_ops.c
	* app/channels_dialog.c
	* app/commands.c
	* app/convert.c
	* app/disp_callbacks.c
	* app/equalize.c
	* app/fileops.c
	* app/floating_sel.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gimage_mask.c
	* app/gimpdnd.c
	* app/gimpdrawablepreview.c
	* app/gimphistogram.c
	* app/gimplayermask.c
	* app/global_edit.c
	* app/histogramwidget.c
	* app/histogramwidget.h
	* app/image_map.c
	* app/image_new.c
	* app/invert.c
	* app/layer.c
	* app/layer_select.c
	* app/paths_dialog.c
	* app/plug_in.c
	* app/scan_convert.c
	* app/undo_history.c
	* app/xcf.c: include gimpdrawable.h instead of drawable.h where
	possible, removed useless includes, minor other cleanups.
2001-01-29 17:54:02 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_pvt.h
	* app/drawable_pvt.h
	* app/gdisplayF.h
	* app/gimpdrawableP.h
	* app/gimpimageP.h
	* app/layer_pvt.h
	* app/toolsF.h: removed these files.

	* app/apptypes.h
	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb
	* app/*: chainsaw #include cleanup:

	- Never (never!!) include stuff in header files except where we
	  need access to structures' contents (like derived objects).
	- Added prototypes and proper formating in many files.
	- The #include order in *all* *.c files is as follows:

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

	By following this scheme we can easily see a file's dependencies
	from it's #include's and can grep for the inclusion to find out
	where a file is used.

	* tools/pdbgen/app.pl: changed to follow the include scheme above.

	* libgimp/Makefile.am
	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
	and from app/apptypes.h.

	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpprotocol.c
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpunit.h
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Michael Natterer 3c85607e6a app/Makefile.am removed.
2000-12-19  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphistogramP.h: removed.

	* app/gimphistogram.[ch]
	* app/histogramwidget.[ch]: Histogram cleanup: replaced the
	channel #define's by a properly named enum and use this enum
	type as parameter in functions instead of "int".

	* app/curves.c
	* app/histogram_tool.c
	* app/levels.c: changed accordingly.
2000-12-19 14:43:54 +00:00
jaycox 6ae2a9bc9f added gimphistogram*, histogramwidget*, removed histogram.[ch]
* app/Makefile.am: added gimphistogram*, histogramwidget*,
	removed histogram.[ch]

	* app/histogram.[ch]: removed.  replaced with histogramwidget.[ch].

	* app/{gimphistogramP.h, gimphistogram.h, gimphistogram.c}: new
 	functions that calculate histograms in parallel and perform
 	calculations on them.

	* app/histogramwidget.[ch]: Same as old histogram.[ch], only it is
 	now a real widget, and it uses GimpHistograms instead of arrays of
 	values.

	* app/curves.c: #include gimphistogram.h instead of histogram.h.

	* app/equalize.c: use GimpHistogram and GimpLut.

	* app/gimpbrush.c, app/gimpimage.c, app/gimpset.c: use
	GTK_RUN_FIRST in calls to gimp_signal_new.

	* app/histogram_tool.c, app/levels.c, app/threshold.c: modified to
 	use the new HistogramWidget.

	* app/paint_funcs.c: removed some unused variables.

	* app/preferences_dialog.c: only display the num-processor field
 	if we are configured --with-mp

	* plug-ins/gee/gee.c: removed a couple of c++ style comments.
1999-03-01 05:11:19 +00:00