Commit graph

25 commits

Author SHA1 Message Date
Jehan
bbb0be8413 Revert "libgimpwidgets: #pragma once, and formatting and ordering"
This reverts commit c71661bf24.

See https://gitlab.gnome.org/GNOME/gimp/-/issues/14668
2025-08-14 00:54:52 +02:00
Michael Natterer
c71661bf24 libgimpwidgets: #pragma once, and formatting and ordering 2025-07-13 12:23:24 +02:00
Jehan
5f4464445f libgimp*: keep 10 reserved spots for future virtual functions in every derivable class.
Hopefully this should be enough to add new features in the future
without breaking ABI, at least until GIMP 4!
2024-11-01 17:22:07 +01:00
Alx Sa
438bc4f229 libgimp, libgimpmodule, libgimpwidgets: Port more widgets to derivable type 2024-08-03 02:48:07 +00: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
1f0d296eb6 libgimpwidgets: remove most deprecated cruft 2018-05-20 21:06:29 +02:00
Michael Natterer
79dd44fb18 libgimpwidgets: move all GimpColorDisplay members to a private struct 2018-05-20 21:06:28 +02:00
Michael Natterer
4b629e984b libgimpwidgets: add GimpColorDisplayClass::icon_name
and deprecate its stock_id.
2014-05-10 11:53:07 +02:00
Michael Natterer
50d4fe3496 libgimpwidgets: add GimpColorDisplay::convert_buffer()
which takes a GeglBuffer and a GeglRectangle.
2013-11-01 22:34:09 +01:00
Michael Natterer
012457e81d libgimpwidgets: port more deprecations to GIMP_DEPRECATED 2012-05-06 00:30:54 +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
Omari Stephens
5cae0bf65c Bug 630748 - display filters do not work
Create and use Cairo-compatible API for display filters. Also
includes logic changes to the display filters to deal with cairo's
ARGB32 pre-multiplied buffer format.
2011-01-25 20:24:42 +01: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
a737408eeb added GimpColorConfig and GimpColorManaged as construct-only properties.
2007-08-06  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpcolordisplay.[ch]: added GimpColorConfig 
and
	GimpColorManaged as construct-only properties.
	Deprecated gimp_color_display_new().

	* libgimpwidgets/gimpwidgets.def: updated for new symbols.

	* app/widgets/gimpcolordisplayeditor.c: use g_object_new() 
instead
	of gimp_color_display_new().

	* modules/cdisplay_lcms.c: use the image's embedded color 
profile
	for the display filter. Assume sRGB if no monitor profile is
	configured.

	* app/display/gimpdisplayshell.c: 
	* app/display/gimpdisplayshell-filter.[ch]: pass the display as
	color-managed object to the display filter.


svn path=/trunk/; revision=23127
2007-08-06 22:10:09 +00:00
Michael Natterer
c567149f8e libgimpwidgets/gimpcolordisplay.[ch] added "const gchar *stock_id" members
2006-10-01  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolordisplay.[ch]
	* libgimpwidgets/gimpcontroller.[ch]: added "const gchar *stock_id"
	members to the class structs.

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-controller-16.png
	* themes/Default/images/stock-controller-24.png
	* themes/Default/images/stock-controller-keyboard-16.png
	* themes/Default/images/stock-controller-keyboard-24.png
	* themes/Default/images/stock-controller-linux-input-16.png
	* themes/Default/images/stock-controller-linux-input-24.png
	* themes/Default/images/stock-controller-midi-16.png
	* themes/Default/images/stock-controller-midi-24.png
	* themes/Default/images/stock-controller-wheel-16.png
	* themes/Default/images/stock-controller-wheel-24.png
	* themes/Default/images/stock-display-filter-colorblind-16.png
	* themes/Default/images/stock-display-filter-colorblind-24.png
	* themes/Default/images/stock-display-filter-contrast-16.png
	* themes/Default/images/stock-display-filter-contrast-24.png
	* themes/Default/images/stock-display-filter-gamma-16.png
	* themes/Default/images/stock-display-filter-gamma-24.png
	* themes/Default/images/stock-display-filter-lcms-16.png
	* themes/Default/images/stock-display-filter-lcms-24.png
	* themes/Default/images/stock-display-filter-proof-16.png
	* themes/Default/images/stock-display-filter-proof-24.png: added
	icons for the various display filters and controllers. Made them
	as ugly as sin to trigger some replacement pain in the relevant
	people ;)

	* modules/cdisplay_colorblind.c
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/cdisplay_lcms.c
	* modules/cdisplay_proof.c
	* modules/controller_linux_input.c
	* modules/controller_midi.c
	* app/widgets/gimpcontrollerkeyboard.c
	* app/widgets/gimpcontrollerwheel.c: set icons.

	* app/widgets/gimpcolordisplayeditor.c
	* app/widgets/gimpcontrollerinfo.c
	* app/widgets/gimpcontrollerlist.c: show them in the display filter
	and controller GUIs.
2006-10-01 17:31:42 +00:00
Sven Neumann
5b70c77fe9 deprecate the implementation of the class methods clone, load_state,
2005-02-05  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpcolordisplay.[ch]: deprecate the
	implementation of the class methods clone, load_state, save_state
	and configure_reset and implement them in the base class using the
	GimpConfigInterface.

	* modules/cdisplay_colorblind.c
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/cdisplay_proof.c: removed deprecated implementations here.
2005-02-05 21:51:47 +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
c7f6f8c8a1 made "enabled" an object property and removed the "enabled_changed"
2003-11-23  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpcolordisplay.[ch]: made "enabled" an object
	property and removed the "enabled_changed" signal.

	* libgimpwidgets/gimpcolordisplaystack.c
	* app/widgets/gimpcolordisplayeditor.c: connect to "notify::enabled"
	instead.

	* libgimpwidgets/gimpwidgets.def: added new symbols.
2003-11-23 13:08:56 +00:00
Michael Natterer
cea0108806 added new signal "enabled_changed"...
2003-11-23  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolordisplay.[ch]: added new signal
	"enabled_changed"...

	* libgimpwidgets/gimpcolordisplaystack.c: ...which enables optimizing
	away "changed" signals of disabled filters.

	* app/widgets/gimpcolordisplayeditor.c: connect to "enabled_changed"
	instead of "changed" to update the toggle column.
2003-11-23 12:08:21 +00:00
Michael Natterer
ed3f0eb6e4 added API to enable/disable a filter. A disabled filter has no effect.
2003-11-23  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpcolordisplay.[ch]: added API to
	enable/disable a filter. A disabled filter has no effect.

	* libgimpmodule/gimpmodule.h: incremented GIMP_MODULE_ABI_VERSION.

	* app/widgets/gimpcolordisplayeditor.c: added a check column to
	the "Active Filters" tree view so the effect of all filters can
	quickly be toggled. Cleanup.

	* modules/cdisplay_colorblind.c: removed "none" from the enum and
	from the GUI because disabling a filter is implemented generically
	now.

	* modules/cdisplay_colorblind.c
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* modules/cdisplay_proof.c: added mnemonics, cleanup.
2003-11-22 23:53:48 +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
c7ac6aff52 Moved generic datafile loading to LibGimpBase:
2002-10-23  Michael Natterer  <mitch@gimp.org>

	Moved generic datafile loading to LibGimpBase:

	* app/core/gimpdatafiles.[ch]: removed...

	* libgimpbase/gimpdatafiles.[ch]: ...and add here with a changed
	API which requires no more global variables.

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimpbasetypes.h
	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpdatafactory.c
	* app/gui/gui.c
	* app/plug-in/plug-in.c
	* app/plug-in/plug-ins.c
	* app/tools/tools.c: changed accordingly.

	Moved module loading to LibGimpModule:

	* app/core/gimpmodules.c: removed lots of code...

	* libgimpmodule/gimpmoduledb.[ch]: ...and added it here as
	GimpModuleDB object.

	* libgimpmodule/Makefile.am
	* libgimpmodule/gimpmoduletypes.h: changed accordingly.

	* app/core/gimp.[ch]: replaced gimp->modules by gimp->module_db.

	* libgimpmodule/gimpmodule.[ch]: added
	gimp_module_query(). Internal cleanup. Stuff...

	* app/gui/module-browser.c: changed accordingly. Unfinished...

	* app/core/gimpcontainer.c
	* app/core/gimplist.c: reverted the HACKS introduced recently.

	* app/core/gimpobject.[ch]: added gimp_g_object_get_memsize()
	utility function.

	* libgimpproxy/gimpobject.[ch]: regenerated.

	Changed display filter configuration stuff:

	* libgimpwidgets/gimpcolordisplay.[ch]: made the virtual
	configure() function return a GtkWidget instead of opening a
	dialog. Changed configure_cancel() to configure_reset(). Added
	"changed" signal.

	* app/display/gimpdisplayshell-filter-dialog.c: embed the filters'
	config GUI in the dialog. Connect to "changed" and added a "Reset"
	button which resets the filter.

	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c: changed accordingly.

	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: minor fixes.

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

	* libgimpbase/libgimpbase-docs.sgml
	* libgimpbase/libgimpbase-sections.txt
	* libgimpbase/tmpl/gimpbasetypes.sgml
	* libgimpbase/tmpl/gimpdatafiles.sgml: added GimpDatafiles

	* libgimpmodule/libgimpmodule-docs.sgml
	* libgimpmodule/libgimpmodule-sections.txt
	* libgimpmodule/tmpl/gimpmoduledb.sgml: added GimpModuleDB.

	* libgimpwidgets/libgimpwidgets.types: added gimp_dialog_get_type

	* libgimpmodule/tmpl/gimpmodule.sgml
	* libgimpwidgets/tmpl/gimpcolordisplay.sgml
	* libgimpwidgets/tmpl/gimpdialog.sgml: updated.
2002-10-23 14:55:07 +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