Commit Graph

62 Commits

Author SHA1 Message Date
Ell
3b0040c043 app, libgimp*, modules: don't use g_type_class_add_private() ...
... and G_TYPE_INSTANCE_GET_PRIVATE()

g_type_class_add_private() and G_TYPE_INSTANCE_GET_PRIVATE() were
deprecated in GLib 2.58.  Instead, use
G_DEFINE_[ABSTRACT_]TYPE_WITH_PRIVATE(), and
G_ADD_PRIVATE[_DYNAMIC](), and the implictly-defined
foo_get_instance_private() functions, all of which are available in
the GLib versions we depend on.

This commit only covers types registered using one of the
G_DEFINE_FOO() macros (i.e., most types), but not types with a
custom registration function, of which we still have a few -- GLib
currently only provides a (non-deprecated) public API for adding a
private struct using the G_DEFINE_FOO() macros.

Note that this commit was 99% auto-generated (because I'm not
*that* crazy :), so if there are any style mismatches... we'll have
to live with them for now.
2018-09-18 14:39:56 -04:00
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
1b7d63cce9 Use g_set_object() in a lot of places, and splrinkle some g_clear_object() 2018-06-01 12:59:52 +02:00
a535e425ee libgimpwidgets: move all GimpPreviewArea members to private 2018-05-20 21:06:33 +02:00
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
6c8cf7876a Replace lots of deprecated gtk_menu_popup(), only GimpUIManager left 2018-05-20 21:06:30 +02:00
fa8c702229 libgimpwidgets: port to GtkWidget::draw() 2018-05-20 21:06:26 +02:00
582c6edd54 libgimp*: use some g_clear_object() and g_clear_pointer() 2017-09-03 15:14:51 +02:00
f9ee38ea33 libgimp: add blurbs to all object properties for the docs
and some minor doc fixes.
2017-06-06 21:19:17 +02:00
3ed305f6f5 libgimpwidgets, app: have all previews track the monitor they are on
and update their color transforms with the new monitor's color
profile. A widget is considered changing monitors when its toplevel
window's center crosses, in order to let widgets within one window
have consistent colors.
2016-06-01 22:42:00 +02:00
4ad2493283 libgimpwidgets, modules: improve set_color_config() functions a bit
Don't do anything if the config doesn't change.
2016-05-31 12:27:15 +02:00
0bfa402c1a Argh, this was meant to be squashed into the previous commit... 2016-05-26 22:18:50 +02:00
cc92887908 libgimpcolor: add new object GimpColorTransform
which encapsulates a cmsHTRANSFORM and does all the pixel format
conversion magic. It has API to create transforms and proofing
transforms, and to convert pixels arrays and GeglBuffers.

Before, each place which has a transform had to keep around the
transform and its input and output Babl formats, and had to implement
lots of stuff itself. Now all that lives in GimpColorTransform,
removing lots of logic from many places, and pretty much removing lcms
from the public API entirely.

This removes including <lcms2.h>, LCMS_LIBS and LCMS_CFLAGS from
almost all directories and potentially allows to replace lcms by
something else.
2016-05-26 22:15:54 +02:00
9c99d61feb libgimpwidgets: add gimp_preview_area_set_color_config()
If a config is set, apply its settings when drawing the preview's
pixels. This is preparation for fixing:

Bug 467930 - color selectors are not color managed
Bug 556608 - Monitor color profile is not applied to filter preview
2016-05-24 21:43:20 +02:00
8005eea835 Remove the "GIMP" from all "Since: GIMP 2.x" API doc comments
because it confuses gtk-doc and breaks some links. Also change the
"Index of new symbols in GIMP 2.x" sections to be what seems to be the
modern standard (looked at the GLib and GTK+ docs), and update some
other stuff.
2015-05-31 21:18:09 +02:00
36548fd1ad Bug 745126 - gimp_preview_area_blend() fails for RGBA image...
...if buf1 and buf2 have same alpha value

Fix a misplaced } that was causing the final write to the destination
buffer to be executed only for the case where the alphas are
different. Thanks to Jonathan Tait.
2015-02-27 09:50:34 +01:00
6b0d1038cc Bug 692641 - Various spelling fixes 2013-01-27 18:59:02 +01:00
fe19ad9706 Bug 683694 - Spelling errors
Reworded all places that used to say "allows to".
2012-11-11 15:50:25 +01:00
644a272f19 libgimpwidgets: port gimppreviewarea from deprecated gdk to cairo
Backported from the gtk3-port branch.
2010-12-17 22:59:46 +01:00
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
fcd346a227 Build with GSEAL_ENABLE with a few exceptions
Use the new accessors in GTK+ 2.18 and #undef GSEAL_ENABLE where
accessors are missing or where I'm not quite sure how to fix the
stuff yet.
2009-10-17 18:51:48 +02:00
3795f9b9c5 libgimpwidgets/gimpchainbutton.c libgimpwidgets/gimpcolorarea.c
2009-03-22  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpchainbutton.c
	* libgimpwidgets/gimpcolorarea.c
	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimpcolorscale.c
	* libgimpwidgets/gimpcolorselect.c
	* libgimpwidgets/gimpdialog.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpmemsizeentry.c
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimppickbutton.c
	* libgimpwidgets/gimppixmap.c
	* libgimpwidgets/gimppreview.c
	* libgimpwidgets/gimppreviewarea.c
	* libgimpwidgets/gimpruler.c
	* libgimpwidgets/gimpscrolledpreview.c
	* libgimpwidgets/gimpwidgets.c: use accessors for various members
	of GTK+ structures that don't exist any longer when GSEAL_ENABLE
	is defined.


svn path=/trunk/; revision=28190
2009-03-22 15:42:42 +00:00
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
b700d22606 remove g_return_val_if_fail(), this is not a public function.
2008-08-29  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimppreviewarea.c (gimp_preview_area_expose):
	remove g_return_val_if_fail(), this is not a public function.


svn path=/trunk/; revision=26816
2008-08-29 15:55:07 +00:00
58cfcd4f57 libgimp/gimpgradientselectbutton.c libgimp/gimpmenu.c
2008-06-28  Michael Natterer  <mitch@gimp.org>

	* libgimp/gimpgradientselectbutton.c
	* libgimp/gimpmenu.c
	* libgimpwidgets/gimpbrowser.c
	* libgimpwidgets/gimpcellrenderercolor.c
	* libgimpwidgets/gimpcellrenderertoggle.c
	* libgimpwidgets/gimpchainbutton.c
	* libgimpwidgets/gimpcolorarea.c
	* libgimpwidgets/gimpcolorscale.c
	* libgimpwidgets/gimpcolorscales.c
	* libgimpwidgets/gimpcolorselect.c
	* libgimpwidgets/gimpenumwidgets.c
	* libgimpwidgets/gimpframe.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpoffsetarea.c
	* libgimpwidgets/gimppreviewarea.c
	* libgimpwidgets/gimppropwidgets.c
	* libgimpwidgets/gimpscrolledpreview.c: use accessors instead of
	accessing members of GTK+ widgets directly.


svn path=/trunk/; revision=26005
2008-06-28 15:09:46 +00:00
7b19c74d10 minor layout tweak.
2007-07-06  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/channel_mixer.c: minor layout tweak.

	* libgimpwidgets/gimppreviewarea.c 
(gimp_preview_area_set_colormap):
	clear the colormap to all zeros before setting the new colors.


svn path=/trunk/; revision=22893
2007-07-06 20:47:44 +00:00
18d85d40b4 bail out early (before checking other parameters) if width or height are
zero

svn path=/trunk/; revision=22268
2007-04-17 19:09:58 +00:00
5dde91daab allow the draw, blend, mask and fill methods to be called with zero width
2007-04-17  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.c: allow the draw, blend, mask
	and fill methods to be called with zero width or height. Nothing
	will be drawn, but it's still a valid call.


svn path=/trunk/; revision=22267
2007-04-17 19:02:55 +00:00
e640ce4443 fixed clipping (bug #392692).
2007-01-04  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.c: fixed clipping (bug 
#392692).


svn path=/trunk/; revision=21642
2007-01-04 12:14:24 +00:00
6ebcf700d1 removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/*/*.c:
	* lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15 09:46:31 +00:00
7b24dd8e36 moved GIMP_PARAM defines from here ...
2006-01-30  Sven Neumann  <sven@gimp.org>

	* app/config/config-types.h: moved GIMP_PARAM defines from here ...

	* libgimpbase/gimpparam.h: ... to this new files.

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbasetypes.h: include the new header file.

	* libgimp/gimpfontselectbutton.c
	* libgimpconfig/gimpcolorconfig.c
	* libgimpthumb/gimpthumbnail.c
	* libgimpwidgets/gimpcellrenderercolor.c
	* libgimpwidgets/gimpcellrenderertoggle.c
	* libgimpwidgets/gimpcolorarea.c
	* libgimpwidgets/gimpcolorbutton.c
	* libgimpwidgets/gimpcolordisplay.c
	* libgimpwidgets/gimpcontroller.c
	* libgimpwidgets/gimpdialog.c
	* libgimpwidgets/gimpenumcombobox.c
	* libgimpwidgets/gimpintcombobox.c
	* libgimpwidgets/gimppageselector.c
	* libgimpwidgets/gimppreview.c
	* libgimpwidgets/gimppreviewarea.c
	* libgimpwidgets/gimpzoommodel.c
	* 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: use the GIMP_PARAM defines to avoid
	unnecessary string allocations.
2006-01-30 16:10:56 +00:00
33ae55f873 libgimp/*.c libgimpconfig/*.c libgimpmodule/*.c libgimpthumb/*.c port to
2005-12-20  Michael Natterer  <mitch@gimp.org>

	* libgimp/*.c
	* libgimpconfig/*.c
	* libgimpmodule/*.c
	* libgimpthumb/*.c
	* libgimpwidgets/*.c: port to G_DEFINE_TYPE() and friends. Some
	related cleanup.
2005-12-20 20:35:23 +00:00
48729e774c libgimpcolor/gimpbilinear.c fix some uninitialized stuff gcc 4.0 was
2005-07-08  Michael Natterer  <mitch@gimp.org>

	* libgimpcolor/gimpbilinear.c
	* libgimpwidgets/gimppreviewarea.c: fix some uninitialized stuff
	gcc 4.0 was choking about.
2005-07-08 18:18:00 +00:00
5c6dae19dc improved docs.
2005-01-21  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.c: improved docs.

2005-01-22  Sven Neumann  <sven@gimp.org>

	* app/app-docs.sgml
	* app/app-sections.txt
	* app/app.types
	* libgimpwidgets/libgimpwidgets-docs.sgml
	* libgimpwidgets/libgimpwidgets-sections.txt
	* libgimpwidgets/libgimpwidgets.types: GimpEnumStore and
	GimpEnumComboBox moved to libgimpwidgets.

	* libgimpwidgets/tmpl/gimpenumcombobox.sgml
	* libgimpwidgets/tmpl/gimpenumstore.sgml: new files.
2005-01-21 23:11:43 +00:00
59b87864f4 added some checks to avoid division by zero.
2004-12-27  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpregioniterator.c: added some checks to avoid
	division by zero.

	* libgimpwidgets/gimppreviewarea.[ch]: minor cleanups, improved
	API documentation.
2004-12-27 10:24:16 +00:00
998c895a67 More final API cleanup:
2004-11-02  Michael Natterer  <mitch@gimp.org>

	More final API cleanup:

	* tools/pdbgen/pdb/image.pdb: added gimp_image_set,get_colormap()
	and deprecated set,get_cmap().

	* libgimpwidgets/gimppreviewarea.[ch]: renamed
	gimp_preview_area_set_cmap() to set_colormap().

	* libgimp/gimp.def
	* libgimp/gimpdrawablepreview.c
	* libgimp/gimpexport.c
	* libgimp/gimpimage.[ch]
	* libgimpwidgets/gimpwidgets.def: changed accordingly.

	* app/pdb/image_cmds.c
	* app/pdb/internal_procs.c
	* libgimp/gimpimage_pdb.[ch]: regenerated.

	(undeprecation of plug-ins will follow...)
2004-11-02 11:30:49 +00:00
6711646648 Don't store human readable and translatable enum/flag strings in
2004-10-25  Michael Natterer  <mitch@gimp.org>

	Don't store human readable and translatable enum/flag strings in
	GEnumValue's and GTypeValue's fields but attach them to their
	GType using separate structs and utility functions:

	* tools/gimp-mkenums: added params and perl voodoo to support
	generating a second array of values, which is used by the
	Makefiles below to create and register arrays of value
	descriptions.

	* libgimpbase/gimpbasetypes.[ch]: added API to attach/retreive
	arrays of translatable strings to/from enum and flags types. Added
	structs GimpEnumDesc and GimpFlagsDesc for that purpose.

	* libgimpbase/gimputils.[ch]: changed existing enum utility
	functions, added new ones and added a symmetric API for flags.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am: changed *-enums.c generation rules
	accordingly.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c: regenerated.

	* app/widgets/gimpenumstore.c
	* app/widgets/gimpenumwidgets.c
	* app/widgets/gimptemplateeditor.c
	* libgimpwidgets/gimppreviewarea.c: follow the enum utility
	function API changes.
2004-10-25 17:55:25 +00:00
5f1373436c fixed code that handles drawing outside of the preview area.
2004-09-15  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.c
	(gimp_preview_area_[draw|blend|mask]): fixed code that handles
	drawing outside of the preview area.

	* plug-ins/common/unsharp.c (preview_update): draw the preview
	directly from the pixel region.
2004-09-15 20:51:00 +00:00
e9d5536720 libgimpwidgets/gimppreview.c documented new functions.
2004-09-10  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreview.c
	* libgimpwidgets/gimppreviewarea.c: documented new functions.
2004-09-09 22:36:15 +00:00
8a80b8e73e fixed coding style issues 2004-09-09 17:13:58 +00:00
3f099b0660 added a utility function gimp_preview_area_queue_draw(), which queue the
* libgimpwidgets/gimppreviewarea.c: added a utility function
  gimp_preview_area_queue_draw(), which queue the right part of the
  preview to be redrawn. And use it in all the drawing functions. This
  fix a problem where the preview wasn't updated correctly after a
  resize.
2004-09-09 17:11:16 +00:00
a514ce7db1 allow to set a maximum size and center the preview area if its allocation
2004-09-09  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.[ch]: allow to set a maximum size
	and center the preview area if its allocation extends the maximum.

	* libgimpwidgets/gimppreview.[ch]: derive from GtkVBox, moved the
	toggle button out of the table and put the table into an aspect
	frame. Added an API to set the preview boundaries. Set the maximum
	size of the GimpPreviewArea from that function.

	* libgimpwidgets/gimpwidgets.def: added new entries.

	* libgimp/gimpdrawablepreview.c: use gimp_preview_set_bounds().

	* plug-ins/common/gauss.c: pack the preview widget so that it
	resizes with the dialog.
2004-09-09 14:47:39 +00:00
824b5289db optimized the case where both buffers have the same alpha for a given
* libgimpwidgets/gimppreviewarea.c (gimp_preview_area_blend)
  (gimp_preview_area_mask): optimized the case where both buffers have
  the same alpha for a given pixel.
2004-09-09 13:22:27 +00:00
ee2e6eac86 fixed a stupid typo.
* libgimpwidgets/gimppreviewarea.c: fixed a stupid typo.
2004-09-08 14:51:02 +00:00
7f075c87d8 optimized solid color fills.
2004-09-08  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.c (gimp_preview_area_fill):
	optimized solid color fills.
2004-09-08 12:54:36 +00:00
1a9fdcda80 factored out common code. Reduced indentation level by closing a switch
2004-09-08  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.c: factored out common code.
	Reduced indentation level by closing a switch earlier.
2004-09-08 12:37:09 +00:00
c59a6de934 use gimp_preview_area_draw when the opacity is 0 or 255, instead of
*  libgimpwidgets/gimppreviewarea.c: (gimp_preview_area_blend)
  use gimp_preview_area_draw when the opacity is 0 or 255, instead of
  duplicating code.
2004-09-08 11:52:05 +00:00
e733ca0930 libgimpwidgets/gimppreviewarea.c added two functions:
* libgimpwidgets/gimppreviewarea.c
* libgimpwidgets/gimppreviewarea.h: added two functions:
  gimp_preview_area_blend() to draw the blending of two buffers with
  an opacity parameter, and gimp_preview_area_mask() to draw the
  blending of two buffers, with a mask buffer. The code still needs some
  polish, though.

* libgimp/gimpdrawablepreview.c
* libgimp/gimpdrawablepreview.h: use gimp_preview_area_mask() in
  gimp_drawable_preview_draw(), so the previews are now much more
  accurate (respecting the selection, if any).

Also made the buf parameter of gimp_drawable_preview_draw() a pointer
to constants.
2004-09-07 20:20:13 +00:00
6ece077f87 pass a GdkEventButton to gimp_preview_area_menu_popup().
2004-09-04  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.[ch]: pass a GdkEventButton to
	gimp_preview_area_menu_popup().

	* libgimpwidgets/gimppreview.c: implement GtkWidget::popup_menu().
2004-09-03 23:41:39 +00:00
ecca201aa9 added gimp_preview_area_menu_popup(). Not completely finished yet...
2004-09-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.[ch]: added
	gimp_preview_area_menu_popup(). Not completely finished yet...

	* libgimpwidgets/gimppreview.c: use the new function.
2004-09-03 19:34:59 +00:00