Commit Graph

21 Commits

Author SHA1 Message Date
Jehan ebb93a07a5 modules: the color wheel selector now displays and select in the active…
… image's space!
2024-02-11 23:28:03 +01:00
Jehan 9833ebd0ee app, libgimpwidgets, modules: color selectors are now partly space-invaded.
What this commit does is keep the same code logic while moving to
GeglColor. Yet it's not **really** space-invaded yet. What we need to do
now:

1. Take into account the image space, and this is what we must navigate
   through, in particular for various representations of RGB or HSV.
   I.e. that if the active image is in anyRGB, the RGB values shown must
   be within anyRGB. Right now, everything is still shown/used as sRGB
   (even though it's properly retrieved and transformed to the target
   space thanks to GeglColor).
2. Show space info to make things clear and explicit, by adding some
   label somewhere.
3. Allow to switch between image and softproof spaces, regarding
   out-of-gamut display. I.e. that while RGB/HSV must be shown within
   the image space (assuming it's anyRGB), we may want to show
   out-of-gamut area (pink areas) within the softproof space. This may
   mean adding a checkbox. Or maybe simply taking into account whether
   we are in softproof mode or not?
4. We can likely move off gimp_widget_get_color_transform() into using
   gimp_widget_get_render_space() for display drawing. We don't need any
   soft-proofing or black point compensation for any of these widgets so
   pure babl is fine. Indeed we want to show any in-gamut color
   correctly (and not transformed according to specific intents or
   through soft-proofing). We will take care of the proofing case with
   out-of-gamut area showing only.
5. In the various drawing functions, we should move to
   CAIRO_FORMAT_RGBA128F. The color selection area might be wide enough
   that it makes sense to be more accurate, especially as we are
   essentially showing color gradients in 1 or 2 directions in these
   various widgets.
2024-02-11 23:28:03 +01:00
Michael Natterer 9b388f873b modules: remove "static" from all modules' get_type() functions
Their implementations are defined by G_DEFINE_DYNAMIC_TYPE(), so
the compiler complained about the unused static prototype.
2023-05-22 03:51:36 +02:00
Niels De Graef cf41d1fdf8 colorselector: Rename signal emitters
The GIR parser is giving warnings because both e.g. a signal, a
corresponding vfunc and a method emitting it are named
"channel_changed", which can and will give issues in some bindings.

The easiest option is to follow the general convention of starting the
signal emitters with `emit_`, which also makes clear the intention of
the method.
2020-05-03 23:23:44 +02:00
Michael Natterer 5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Michael Natterer acd3a6f169 Clean up color selector styling
- remove redundant frames, 3d-frames are gone anyway, so no need to
  keep double out/in frames around
- give all color selector classes CSS names
- add/fix some theme CSS styles
2018-06-24 15:41:04 +02:00
Michael Natterer dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
Michael Natterer 0d8b8c2f99 Bug 467930 - color selectors are not color managed
Color manage the wheel/triangle color selector.
2016-05-27 01:12:35 +02:00
Michael Natterer 1ec64abb8b libgimpwidgets: add GimpColorSelectorClass::icon_name
and deprecate its stock_id.
2014-05-10 08:34:42 +02:00
Michael Natterer 2cd25ec863 modules: turn GimpColorWheel into a proper dynamically loaded type
So it works with all GObject versions, until we determine how useful
it is generally, and what API it should get for possible
libgimpwidgets inclusion.
2013-07-14 13:41:29 +02:00
Michael Natterer 3c006d0a4f modules: make all get_type() functions static 2013-01-17 20:57:50 +01:00
Michael Natterer 632c577f18 Bug 689371 - GIMP uses deprecated GtkHSV widget
Swallow GtkHSV back into GIMP and call it GimpColorWheel. Keep it in
modules/ for the time being. Clean up and undeprecate it. Replace
set_metrics() API by set_ring_fraction() and make it follow the size
of its parent container, making its use straightforward. Kept it clean
of GIMP color types so it can be easily adapted by e.g. Inkscape.
2013-01-06 02:56:59 +01:00
Michael Natterer 3ad73b3658 libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
and update tons of includes in libgimp and app.
2012-05-03 03:37: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 1f398549e2 modules: add size-request workaround that is not needed any longer 2010-10-31 16:15:33 +01:00
Michael Natterer 5b024cf3ed remove GTK+ version check and related evilness because we depend on a
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* modules/color-selector-wheel.c: remove GTK+ version check and
	related evilness because we depend on a proper GKT+ version now.


svn path=/trunk/; revision=28195
2009-03-22 18:18:30 +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 e29f73f2a3 Bug 553530 – fatal error: Segmentation fault - when attempting to bring
2008-09-25  Michael Natterer  <mitch@gimp.org>

	Bug 553530 – fatal error: Segmentation fault - when attempting to
	bring up color-picker:

	* modules/color-selector-wheel.c: declare gtk_hsv_get_type() if
	not already done by GTK+. Fixes confusion about its return value
	being 32 or 64 bit on 64 bit machines.


svn path=/trunk/; revision=27054
2008-09-25 12:50:33 +00:00
Michael Natterer 78479cd418 Bug 549195 – Color Wheel not working (GtkHSV):
2008-09-25  Michael Natterer  <mitch@gimp.org>

	Bug 549195 – Color Wheel not working (GtkHSV):

	* modules/color-selector-wheel.c: change packing and size requests
	of the GtkHSV and its optional GtkAligmnent depending on the GTK+
	version used to make it work with both the old and the new version
	of the widget. Evil hacks, better don't look :)


svn path=/trunk/; revision=27053
2008-09-25 12:11:02 +00:00
Michael Natterer 076a1651c7 override the wheel's size-allocate and return a small requisition that
2008-08-12  Michael Natterer  <mitch@gimp.org>

	* modules/color-selector-wheel.c: override the wheel's
	size-allocate and return a small requisition that allows to be
	resized smaller again.


svn path=/trunk/; revision=26511
2008-08-12 12:48:02 +00:00
Michael Natterer a2f6108bc6 modules/Makefile.am renamed all modules to color-selector-foo.c,
2008-08-11  Michael Natterer  <mitch@gimp.org>

	* modules/Makefile.am
	* modules/*.c: renamed all modules to color-selector-foo.c,
	display-filter-foo.c and controller-foo.c


svn path=/trunk/; revision=26506
2008-08-11 18:28:01 +00:00