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.
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.
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.
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
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.
...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.
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
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
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-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
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.
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-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-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.
* 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 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.
* 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-08 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppreviewarea.c: factored out common code.
Reduced indentation level by closing a switch earlier.
* 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-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 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 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppreviewarea.c (CHECK_COLOR): swapped light
and gray checks to get a checkerboard that matches the image window.