Commit Graph

54 Commits

Author SHA1 Message Date
Michael Natterer 262d312dfc app: make GimpCurveView's cursor label look pretty for 0..100 ranges
and generally clean up the cursor label code a bit.
2013-12-26 16:33:59 +01:00
Michael Natterer edca08e1c2 app: fix rendering glitches on changing the axis ranges in GimpCurveView
and honor the x-axis range when displaying the set "xpos".
2013-06-13 00:22:20 +02:00
Michael Natterer 3e119c5af7 libgimpcolor: add gimp_rgb[a]_set,get_pixel()
which converts from/to any pixel format using Babl. Added tons of
includes and CFLAGS now that libgimpcolor publically uses Babl.
2012-05-02 17:50:43 +02:00
Michael Natterer f593175924 app: GimpCurveView: clean up code and better axis label positioning 2012-01-15 22:54:57 +01:00
Alexia Death 8d0016023b app: fix get/set mixup in curve view 2012-01-15 21:37:30 +02:00
Alexia Death 3f7ee00469 app: Add axis lables to dynamics curves and curveview 2012-01-15 02:56:35 +02:00
Michael Natterer cc47b2a600 libgimpwidgets/color: move the cairo color utility functions to libgimpcolor
Add CAIRO_CFLAGS to a lot of Makefiles to make this possible, and
because they pull in cairo via the libgimp headers.
2011-04-28 15:50:39 +02:00
Michael Natterer 5562f840b6 Bug 646718 - gimp_curve_set_curve: assertion `y >= 0 && y <= 1.0' failed
CLAMP(value, 0.0, 1.0) in one more place. The calculation does
look correct, but we are probably running into floating point
inaccuracies.
2011-04-08 20:53:17 +02:00
Michael Natterer 1cdaa2846f app: some forgotten s/GDK_foo/GDK_KEY_foo/ 2011-03-29 18:53:02 +02:00
Michael Natterer 7c60bb5181 app: use more of the new GDK_KEY_foo key names
and move the compat defines from display-enums.h to widgets-enums.h
2011-03-29 17:24:08 +02:00
Michael Natterer ec196a8ac4 app: allow to set a color for GimpCurveView's primary curve
and redo how the curves tool sets its curves in order to support this
without code duplication. Also change the color of the yellow curve in
the dynamics output editor to orange because yellow is hardly visible.
2011-02-10 20:05:50 +01:00
Michael Natterer 5a28791cfb app: connect to the background curves' "dirty" signal in GimpCurveView
and make sure curves are not added twice to the background list.
Also warn when trying to remove a non-existent background curve.
2011-02-09 00:24:43 +01:00
Michael Natterer 229007106e app: don't pass the GtkStyle to gimp_curve_view_draw_grid()
Instead, set the cairo color in expose() before calling
draw_grid(). Also move a few lines of code around to make
the GTK3 port simpler.
2011-01-11 15:38:23 +01:00
Michael Natterer 4466b3a35b app: remove code duplication in the histogram and curve views
by letting the histogram view always draw the background and the outer
borders. Also fix a lot of off-by-one problems in the curve view which
occur due to the 0.5,0.5 offset of cairo line drawing.
2010-07-30 12:51:03 +02:00
Michael Natterer 06488d03fe app: draw the curve view's background with cairo
and fix focus line drawing by one pixel.
2010-07-28 16:15:54 +02:00
Sven Neumann 8cf801c8e0 app: allow to delete curve points
Pressing Delete in the Curve view now deletes the selected point
on the curve.
2010-07-26 01:08:44 +02:00
Michael Natterer 3f816cbc29 app: fix gimp_curve_view_remove_all_backgrounds() 2010-02-28 18:37:08 +01:00
Alexia Death 45c835aaa2 app: Add API to remove all background curves from the curve view
Also, use this change in cuves tool.
2010-02-27 19:22:48 +02:00
Michael Natterer 088368079c app: make the coordinates display in the curve view configurable
Add API for X and Y ranges, default to 0.0..1.0 and configure the view
for 0..255 in the curves tool.
2010-02-23 11:39:35 +01:00
Michael Natterer 86d417c6f7 app: fix curve focus drawing 2010-02-22 10:50:04 +01:00
Michael Natterer 2352037dbd app: allow to show an arbitrary number of "background curves"
which are drawn with a configurable color at 50% opacity.
2010-02-20 20:31:22 +01:00
Michael Natterer 88e2b1aab3 app: add a focus rectangle to GimpCurveView 2010-02-16 20:08:03 +01:00
Michael Natterer fdde593fc5 app: enable copy and paste for curves
Add GimpCurve support to the clipboard and handle ctrl-x, ctrl-c and
ctrl-v in GimpCurveView.
2010-02-16 19:58:51 +01:00
Michael Natterer a023665a5d app: if there is no histogram set in the parent class, draw BG and borders here 2010-02-15 19:27:19 +01:00
Michael Natterer 7175f3e883 Some more changes to build with GSEAL_ENABLE
- use more GTK+ accessors instead of struct members
- remove quite some #undef GSEAL_ENABLE from completely ported files
2010-01-15 15:35:03 +01:00
Michael Natterer 1a23b9ecf2 Build with GSEAL_ENABLE and #undef it where accessors are missing 2009-10-17 20:20:39 +02:00
Michael Natterer d85fb156b5 app/widgets/gimpblobeditor.c app/widgets/gimpbrushselect.c
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpblobeditor.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimpcolordialog.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcontrollereditor.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpcursor.c
	* app/widgets/gimpcurveview.c
	* app/widgets/gimpdasheditor.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimperrordialog.c
	* app/widgets/gimpfgbgeditor.c
	* app/widgets/gimpfgbgview.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpfontselect.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpgradientselect.c
	* app/widgets/gimphandlebar.c
	* app/widgets/gimphistogrambox.c
	* app/widgets/gimphistogramview.c
	* app/widgets/gimpmessagedialog.c
	* app/widgets/gimpnavigationview.c
	* app/widgets/gimppaletteselect.c
	* app/widgets/gimppaletteview.c
	* app/widgets/gimppatternselect.c
	* app/widgets/gimpprogressbox.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpscalebutton.c
	* app/widgets/gimpselectiondata.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimpsettingsbox.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpview-popup.c
	* app/widgets/gimpview.c
	* app/widgets/gimpviewabledialog.c
	* app/widgets/gimpwidgets-utils.c: use accessors for various
	members of GTK+ structures that don't exist any longer when
	GSEAL_ENABLE is defined.


svn path=/trunk/; revision=28193
2009-03-22 16:35:53 +00:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Michael Natterer f53ed53cdb app/widgets/gimpactionview.c app/widgets/gimpblobeditor.c
2008-06-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactionview.c
	* app/widgets/gimpblobeditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpcellrendererdashes.c
	* app/widgets/gimpcellrendererviewable.c
	* app/widgets/gimpcolorbar.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerbox.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcurveview.c
	* app/widgets/gimpdasheditor.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockseparator.c
	* app/widgets/gimpfgbgeditor.c
	* app/widgets/gimpfgbgview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphandlebar.c
	* app/widgets/gimphistogrambox.c
	* app/widgets/gimphistogramview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimpmenudock.c
	* app/widgets/gimpmessagebox.c
	* app/widgets/gimppaletteview.c
	* app/widgets/gimpscalebutton.c
	* app/widgets/gimpsessioninfo-book.c
	* app/widgets/gimpsessioninfo-dock.c
	* app/widgets/gimpsettingseditor.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimpthumbbox.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimptoolview.c
	* app/widgets/gimpuimanager.c
	* app/widgets/gimpviewabledialog.c
	* app/widgets/gimpviewrenderervectors.c
	* app/widgets/gimpwidgets-utils.c: use accessors instead of
	accessing members of GTK+ widgets directly.


svn path=/trunk/; revision=26008
2008-06-28 15:50:27 +00:00
Sven Neumann c1c17203a4 fixed use of uninitialized value.
2008-05-14  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcurveview.c (gimp_curve_view_motion_notify):
	fixed use of uninitialized value.

svn path=/trunk/; revision=25668
2008-05-14 15:38:43 +00:00
Sven Neumann 6e6a0355aa app/core/Makefile.am
2008-05-11  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpcurve.[ch]:
	* app/core/gimpcurve-map.[ch]: split curve map functions into
	seperate files.

	* app/gegl/gimpoperationcurves.c
	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c: changed accordingly.

	* app/Makefile.am (AM_LDFLAGS): make it link.


svn path=/trunk/; revision=25642
2008-05-11 14:56:57 +00:00
Sven Neumann a392a231d3 renamed gimp_curve_map() to gimp_curve_map_value(). Added new function
2008-05-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcurve.[ch]: renamed gimp_curve_map() to
	gimp_curve_map_value(). Added new function 
gimp_curve_map_pixels()
	which will allow for better optimization.

	* app/gegl/gimpoperationcurves.c 
(gimp_operation_curves_process):
	use gimp_curve_map_pixels().

	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c: follow API change.


svn path=/trunk/; revision=25641
2008-05-11 14:48:22 +00:00
Michael Natterer 8088b64c72 app/display/gimpcanvas.c app/widgets/gimpcoloreditor.c
2008-03-30  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpcursorview.c
	* app/widgets/gimpcurveview.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimpdockseparator.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpmenudock.c
	* app/widgets/gimpsamplepointeditor.c
	* app/widgets/gimptoolbox.c: chain up unconditionally in
	GtkWidget::style_set() because there is has a default
	implementation.


svn path=/trunk/; revision=25307
2008-03-29 23:43:39 +00:00
Michael Natterer f4378d6237 get rid of fixed-size arrays and allocate the points and curve arrays
2008-02-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: get rid of fixed-size arrays and
	allocate the points and curve arrays dynamically. Added "n-points"
	and "n-samples" CONSTRUCT_ONLY properties. Renamed member "curve"
	to "samples". Lots of code changes to work with dynamic limits
	rather than 17 and 256.

	* app/core/gimpdrawable-curves.c
	* app/gegl/gimpcurvesconfig.c
	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c: changed accordingly.


svn path=/trunk/; revision=24995
2008-02-28 12:34:46 +00:00
Michael Natterer 168566ad3e add gimp_curve_get_point().
2008-02-11  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: add gimp_curve_get_point().

	* app/gegl/gimpcurvesconfig.c
	* app/widgets/gimpcurveview.c: use it instead of accessing the
	points array directly.


svn path=/trunk/; revision=24857
2008-02-11 10:22:59 +00:00
Michael Natterer 797309b220 keep the anchor points as an array of GimpVector2 instead of plain
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: keep the anchor points as an array of
	GimpVector2 instead of plain doubles.

	* app/gegl/gimpcurvesconfig.c
	* app/widgets/gimpcurveview.c: changed accordingly.


svn path=/trunk/; revision=24842
2008-02-09 17:40:57 +00:00
Michael Natterer 437becc44a cleanup.
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcurveview.c (gimp_curve_view_draw_point): cleanup.


svn path=/trunk/; revision=24841
2008-02-09 17:24:04 +00:00
Michael Natterer 58c0ba65fc port internal cursor stuff to gdouble, fix off-by-one in curve drawing,
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcurveview.[ch]: port internal cursor stuff to
	gdouble, fix off-by-one in curve drawing, fix drawing artefact in
	handle drawing by starting drawing on the handle's outline and not
	its center.


svn path=/trunk/; revision=24839
2008-02-09 11:14:40 +00:00
Michael Natterer e831300587 port the "xpos" API to [0.0..1.0] doubles too.
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcurveview.[ch]: port the "xpos" API
	to [0.0..1.0] doubles too.

	* app/tools/gimpcurvestool.[ch]: rename "col_value" member to
	"picked_color" and use gdouble instead of gint. Also use GimpCurve
	API to map the values instead of accessing the curve directly.
	Fixes setting curve anchor points by color picking.


svn path=/trunk/; revision=24838
2008-02-09 10:56:25 +00:00
Michael Natterer 044359f93d changed all values to be [0.0..1.0] doubles instead of [0..255] integers.
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: changed all values to be [0.0..1.0]
	doubles instead of [0..255] integers. Also changed the API to use
	doubles instead of ints. Still have the fixed-size arrays though.

	(gimp_curve_map): new function to map values.

	* app/gegl/gimpoperationcurves.c: remove private map() function
	and use the one from GimpCurve.

	* app/gegl/gimpcurvesconfig.c
	* app/core/gimpdrawable-curves.c: port to the new gdouble API.

	* app/tools/gimpcurvestool.c: use gimp_curve_get_uchar() to get
	the arrays for the color bars.

	* app/widgets/gimpcurveview.[ch]: port to gdouble and some cleanup.


svn path=/trunk/; revision=24837
2008-02-09 10:01:51 +00:00
Sven Neumann cb7b0d1ff5 draw a base-line with the grid. Not sure if this should stay enabled for
2007-11-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcurveview.[ch]: draw a base-line with the 
grid.
	Not sure if this should stay enabled for the Curves tool...


svn path=/trunk/; revision=24196
2007-11-19 20:06:30 +00:00
Michael Natterer 2ff7c79caf add read-only property "frozen" and new API
2007-11-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.[ch]: add read-only property "frozen" and
	new API gimp_viewable_preview_is_fozen(). Emit property notifications.

	* app/widgets/gimphistogramview.[ch]: add API to show a second
	histogram in the background. Remove member "light_histogram" from
	the GimpHistogramViewClass struct.

	* app/widgets/gimpcurveview.c: don't set "light_histogram".

	* app/tools/gimpcurvestool.c: set the background histogram instead.

	* app/widgets/gimphistogrameditor.[ch]: connect to "notify::frozen"
	of the drawable and show its histogram at the freezing point in
	the background. This way the original histogram is visible while
	we are doing color corrections.


svn path=/trunk/; revision=24158
2007-11-15 10:26:25 +00:00
Michael Natterer 10ccddfb93 app/display/gimpcanvas.c free the cached PangoLayouts in
2007-11-14  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.c
	* app/widgets/gimpcurveview.c: free the cached PangoLayouts in
	GtkWidget::style_set().

	* app/widgets/gimppaletteview.c: draw the focus rectangle in
	hardcoded black/white since we also hardcode the grid color to
	black.

	* app/display/gimpstatusbar.c
	* app/widgets/gimpdockable.c: small cleanups while reviewing
	layout code.


svn path=/trunk/; revision=24156
2007-11-14 14:42:05 +00:00
Sven Neumann e9bb7af53a corrected offset
svn path=/trunk/; revision=24105
2007-11-09 16:08:04 +00:00
Sven Neumann 9559d388fd align the overlay with the pixel grid.
2007-11-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcurveview.c (gimp_curve_view_expose): align 
the
	overlay with the pixel grid.


svn path=/trunk/; revision=24104
2007-11-09 15:53:47 +00:00
Sven Neumann 8d1725525f draw the selected point filled and outlines for the unselected points.
2007-11-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcurveview.c: draw the selected point filled 
and
	outlines for the unselected points.


svn path=/trunk/; revision=24103
2007-11-09 15:23:10 +00:00
Sven Neumann 2954518846 draw the center grid lines slightly stronger than the other grid lines.
2007-11-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcurveview.c (gimp_curve_view_expose): draw the
	center grid lines slightly stronger than the other grid lines.


svn path=/trunk/; revision=24102
2007-11-09 14:49:34 +00:00
Sven Neumann ad6be0c138 draw the cursor position using a translucent overlay.
2007-11-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcurveview.c (gimp_curve_view_expose): draw the
	cursor position using a translucent overlay.


svn path=/trunk/; revision=24101
2007-11-09 14:30:51 +00:00
Sven Neumann fdbf34cc8c added construct-only properties to control the number of grid rows and
2007-11-09  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcurveview.[ch]: added construct-only 
properties
	to control the number of grid rows and columns. Increased the
	default values to 8.


svn path=/trunk/; revision=24099
2007-11-09 13:45:01 +00:00
Michael Natterer 36e1fa8d29 translate by 0.5,0.5 instead of adding 0.5 to all coordinates (we always
2007-11-05  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcurveview.c (gimp_curve_view_expose): translate
	by 0.5,0.5 instead of adding 0.5 to all coordinates (we always
	want to draw on pixel centers here). Some cleanup.


svn path=/trunk/; revision=24072
2007-11-05 21:41:01 +00:00