Commit Graph

22 Commits

Author SHA1 Message Date
Nikc 1c81c426ae Modules: Convert CMYK color selector to babl 2022-08-15 21:14:14 +00: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 f4f106ad26 libimp*: add private pointers to all instance structs
even if we don't have private members (yet). Also make class padding 8
pointers in all headers. This commit moves nothing to private, it just
makes all headers consistent and adjusts .c files accordigly.
2018-05-20 21:06:33 +02:00
Michael Natterer 9c15020c41 libgimpwidgets: add padding 2018-05-20 21:06:28 +02:00
Michael Natterer 8447e775ab Bug 783680 - Allow to hide color models in GimpColorScales
Redo the entire thing again:

- Rename the values of enum GimpColorSelectorModel to include "MODEL"
- Change GimpColorSelector API from set_model() to set_model_visible()
  so visibility of each model can be toggled individually and is not
  exclusive any longer
- The GUI is back to what it was before, except that the "GIMP" page
  now honors the model visibility and has a resonable minimum height
2018-03-19 23:11:27 +01:00
Michael Natterer 13b640f84c libgimpwidgets: restore ABI of GimpColorSelectorClass
Public structs must not change, that's why we have padding at the
end for extension.
2018-01-22 13:04:54 +01:00
Jehan 37e9be3a4f libgimpwidgets: arrange color models in tabs in GimpColorScales.
This allows to have a smaller and cleaner color dock instead of just
listing all possible channels (which may only grow up as we may add more
color spaces).
The API gimp_color_scales_(set|get)_show_hsv() are removed in favor of
more generic gimp_color_selector_(set|get)_model(). I assume this is
ok since they have only been available in the dev version (commit
6258d525ae, a month ago).
2018-01-21 18:37:18 +01:00
Michael Natterer dd06ebafa2 libgimpwidgets: add a getter for every setter of GimpColorSelector
Also add API docs, pretty basic ones.
2017-12-31 16:02:21 +01:00
Michael Natterer 1ec64abb8b libgimpwidgets: add GimpColorSelectorClass::icon_name
and deprecate its stock_id.
2014-05-10 08:34:42 +02:00
Michael Natterer 9c6338900e libgimp*: don't derive from GtkHBox and GtkVBox in libgimp either
I know this is not 100% compatible, but is in fact absolutely safe to
change unless somebody is using the headers in ways that are totally
wrong.
2011-07-27 19:53:34 +02:00
Michael Natterer 844df2b4df libgimp*: add guards that #error out if individual files are included
This only helps to maintain proper includes in app/ and shouldn't
affect plug-ins at all, because these are supposed to only include the
main headers from libgimp/ since the beginning of time.

The gimpfootypes.h files do not have these guards, so we can continue
to maintain app/'s include policy that is very likely to error out if
wrong things are included.
2011-04-28 14:30:41 +02:00
Michael Natterer 1f7ff98c45 libgimpwidgets: move docs from template files to inline comments
but leave the template file for gimpstock there because its contents
would be too much for gimpstock.h.
2010-07-05 18:01:28 +02: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
Sven Neumann ba9efb3433 modules/Makefile.am new CMYK color-selector that uses littleCMS for the
2006-09-26  Sven Neumann  <sven@gimp.org>

	* modules/Makefile.am
	* modules/colorsel_cmyk_lcms.c: new CMYK color-selector that
uses
	littleCMS for the RGB <-> CMYK conversion. This is built instead
	of the standard CMYK color-selector if lcms is available.

	* libgimpwidgets/gimpcolornotebook.c
	* libgimpwidgets/gimpcolorselection.[ch]
	* libgimpwidgets/gimpcolorselector.[ch]
	* libgimpwidgets/gimpwidgets.def: added API to set the color
	management configuration on color selectors.

	* libgimpwidgets/gimpwidgetstypes.h: include
	libgimpconfig/gimpconfigtypes.h.

	* app/dialogs/grid-dialog.c
	* app/dialogs/preferences-dialog.c
	* app/widgets/gimpcolordialog.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpgrideditor.[ch]
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimptoolbox-color-area.c: set the color management
	configuration on (hopefully) all color selectors.

	* modules/cdisplay_lcms.c: use a GimpHintBox widget.
2006-09-26 08:55:41 +00:00
Michael Natterer e8843a2372 reset binary age because of struct changes below. require GIMP 1.3.26.
2004-01-29  Michael Natterer  <mitch@gimp.org>

	* configure.in: reset binary age because of struct changes below.
	* m4macros/gimp-2.0.m4: require GIMP 1.3.26.

	* libgimpmodule/gimpmodule.h
	* libgimpmodule/gimpmoduledb.h
	* libgimpthumb/gimpthumbnail.h
	* libgimpwidgets/gimpbutton.h
	* libgimpwidgets/gimpchainbutton.h
	* libgimpwidgets/gimpcolorarea.h
	* libgimpwidgets/gimpcolorbutton.h
	* libgimpwidgets/gimpcolordisplay.h
	* libgimpwidgets/gimpcolordisplaystack.h
	* libgimpwidgets/gimpcolornotebook.h
	* libgimpwidgets/gimpcolorscale.h
	* libgimpwidgets/gimpcolorselection.h
	* libgimpwidgets/gimpcolorselector.h
	* libgimpwidgets/gimpdialog.h
	* libgimpwidgets/gimpfileentry.h
	* libgimpwidgets/gimpmemsizeentry.h
	* libgimpwidgets/gimpoffsetarea.h
	* libgimpwidgets/gimppickbutton.h
	* libgimpwidgets/gimppixmap.h
	* libgimpwidgets/gimpsizeentry.h
	* libgimpwidgets/gimpunitmenu.h: added 4 function pointers padding
	to all class structures.
2004-01-29 00:21:33 +00:00
Sven Neumann 66c6e4004b libgimpwidgets/gimpcolordisplay.[ch]
2003-11-23  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpcolordisplay.[ch]
	* libgimpwidgets/gimpcolordisplaystack.[ch]
	* libgimpwidgets/gimpcolorselection.[ch]
	* libgimpwidgets/gimpcolorselector.[ch]: use proper LibGIMP headers.
2003-11-23 13:28:15 +00:00
Sven Neumann 4f82e87d62 don't do lazy binding on GIMP modules. We can't recover from missing
2003-11-18  Sven Neumann  <sven@gimp.org>

	* libgimpmodule/gimpmodule.c (gimp_module_open): don't do lazy
	binding on GIMP modules. We can't recover from missing symbols
	later.

	* libgimpwidgets/gimpquerybox.[ch]: renamed "help_page" parameter
	to "help_id" and changed the docs accordingly.

	* libgimpwidgets/gimpcolordisplay.[ch]
	* libgimpwidgets/gimpcolorselector.[ch]: renamed the "help_page"
	struct members of GimpColorDisplay and GimpColorSelector to
	"help_id".

	* app/gui/color-notebook.c
	* app/widgets/gimpcoloreditor.c
	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimpcolornotebook.c
	* libgimpwidgets/gimpcolorscales.c
	* libgimpwidgets/gimpcolorselect.c
	* modules/*.c: changed accordingly. Specify a help id instead of
	a HTML page.
2003-11-18 23:44:35 +00:00
Michael Natterer 2743f9fae1 added virtual functions set_toggles_visible() and set_toggles_sensitive().
2002-11-05  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolorselector.[ch]: added virtual functions
	set_toggles_visible() and set_toggles_sensitive(). Added a
	stock_id. Emit "color_changed" and "channel_changed" on
	set_color() and set_channel() resp.

	* libgimpwidgets/gimpcolornotebook.[ch]: implement the new
	methods.  Added gimp_color_notebook_set_has_page() to control
	which selectors a notebook contains.

	* libgimpwidgets/gimpcolorscales.[ch]: removed the toggle
	API and implement the new methods.

	* libgimpwidgets/gimpcolorselect.c: added toggle buttons for the
	channels so the widget doesn't need external ones.

	* app/gui/color-notebook.c: changed accordingly.

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-color-triangle-16.png: added a
	(bad) icon for the triangle color selector.

	* modules/colorsel_triangle.c: use the new icon.
	* modules/colorsel_water.c: use the "Paintbrush" icon for now.

	* app/widgets/gimpcoloreditor.[ch]: new widget for editing the
	FG/BG color featuring a color notebook, stock buttons for
	selecting the pages and a GimpPickButton.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: changed accordingly.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: added a dockable wrapper for GimpColorEditor.

	* app/gui/menus.c: added it to the menus. Also added separate
	Layers, Channels and Paths entries. Bind <ctrl>L to the new
	callback so it doesn't always create a new layers dialog.
2002-11-05 00:02:56 +00:00
Michael Natterer 8945226142 the color scales from the main color selection as GimpColorSelector
2002-10-28  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolorscales.[ch]: the color scales from
	the main color selection as GimpColorSelector subclass.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetsmarshal.list
	* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.

	* libgimpwidgets/gimpcolornotebook.c: skip it when iterating the
	GimpColorSelector subclasses.

	* libgimpwidgets/gimpcolorselector.[ch]: added virtual function
	set_has_alpha() amd signal "channel_changed". Put RGB, HSV and
	channel values into to the GimpColorSelector struct where they are
	available for subclasses.

	* libgimpwidgets/gimpcolorselect.[ch]
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: changed accordingly, cleanup.

	* app/gui/color-notebook.[ch]: use the new GimpColorScales widget,
	lots of cleanup.

2002-10-28  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/tmpl/gimpcolorscales.sgml: added GimpColorScales.

	* libgimpwidgets/libgimpwidgets-docs.sgml
	* libgimpwidgets/libgimpwidgets-sections.txt
	* libgimpwidgets/libgimpwidgets.types
	* libgimpwidgets/tmpl/gimpcolorselect.sgml
	* libgimpwidgets/tmpl/gimpcolorselector.sgml; updated.
2002-10-28 20:13:17 +00:00
Michael Natterer 5f750eae3c the notebook as known from the main color selection as new widget.
2002-10-28  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolornotebook.[ch]: the notebook as known
	from the main color selection as new widget.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpcolorselector.h
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.

	* app/gui/color-notebook.c: use the new widget.

2002-10-28  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/tmpl/gimpcolornotebook.sgml: added GimpColorNotebook.

	* libgimpwidgets/libgimpwidgets-docs.sgml
	* libgimpwidgets/libgimpwidgets-sections.txt
	* libgimpwidgets/libgimpwidgets.types
	* libgimpwidgets/tmpl/gimpcolordisplay.sgml: updated.
2002-10-28 13:19:02 +00:00
Michael Natterer d7055a3351 Ported module loading to GTypeModule, getting rid of all own module
2002-10-20  Michael Natterer  <mitch@gimp.org>

	Ported module loading to GTypeModule, getting rid of all own
	module registering/bookkeeping stuff for color selectors and
	display filters. The modules now simply register GimpColorSelector
	and GimpColorDisplay subclasses, the list of registered subclasses
	can then be obtained calling g_type_children() on the abstract
	base classes.

	This is work in progress and just the first working state after I
	started breaking everything...

	* app/gui/color-select.[ch]
	* libgimp/gimpcolordisplay.h
	* libgimp/gimpcolorselector.h: removed.

	* app/gui/Makefile.am
	* libgimp/Makefile.am: changed accordingly.

	* libgimp/gimpmodule.h: massively simplified. All voodoo is gone.

	* libgimpwidgets/gimpcolordisplay.[ch]
	* libgimpwidgets/gimpcolorselector.[ch]: new abstract base classes
	which need to be subclassed by modules.

	* libgimpwidgets/gimpcolorselect.[ch]: the built-in color selector
	from app/gui/color-select.* ported to be a GimpColorSelector
	subclass.

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetsmarshal.list
	* libgimpwidgets/gimpwidgetstypes.h: changed accordingly.

	* app/core/gimpmoduleinfo.[ch]: made it a GTypeModule subclass

	* app/core/gimpmodules.c: changed accordingly.

	* app/core/gimpcontainer.c
	* app/core/gimplist.c: HACKED around to allow GimpLists of
	GObjects (not GimpObjects). This is EEKy, so I will either make
	gimp->modules a simple GList and revert this bit of change, or
	allow GObjects all over the place in GimpContainer land...

	* app/display/gimpdisplayshell-filter.[ch]
	* app/gui/color-notebook.c: removed all module stuff and use
	g_type_children() to get the list of available color_selectors
	and display_filters.

	* app/display/gimpdisplayshell-filter-dialog.c
	* app/display/gimpdisplayshell-render.c
	* app/gui/module-browser.c: changed accordingly.

	* app/gui/gui.c: ref the built-in color selector's class before
	the modules are queried so it appears first in the list of
	GimpColorSelector's children.

	* modules/Makefile.am: build the water color selector again.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: ported them all to the new API.

	* modules/gimpmodregister.[ch]: removed the old EMX module hack.
2002-10-20 10:14:17 +00:00