This would allow to enable, configure or disable drag ability of a
GimpColorArea ater its creation.
I tested that it works correctly in binding. For instance in Python:
> area.enable_drag(0)
> area.enable_drag(Gdk.ModifierType.BUTTON1_MASK |
> Gdk.ModifierType.BUTTON2_MASK)
… correctly disable then reanable the drag with buttons 1 and 2 (in
particular, I wanted to verify there was any reason why the property was
G_PARAM_CONSTRUCT_ONLY. Turns out there was no good reason).
I was interested by such API because having long list of parameters in
various APIs is very annoying. It is much nicer to have simple
constructors with decent defaults and proper API to modify a widget
afterwards in order to cater to special needs.
This allows to force a GimpColorArea to display as out-of-gamut color.
Current code was only considering the generic RGB case (outside of [0-1]
range), and in particular not grayscale or indexed images.
Ideally the GimpColorArea widget could be (optionally) made to follow a
context, so that for instance it could update its representation when
the context image changes, or when this image's type changes. Yet since
it is a libgimpwidgets widget, it cannot get such update. Instead I add
a new API function to display the color box with the out-of-gamut
triangle. The decision code for this will have to be done elsewhere.
Use this new API for GimpColorHistory to display non-gray colors in the
history as out-of-gamut on grayscale images, or colors absent of the
palette on indexed images.
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.
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.
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
2006-08-22 Sven Neumann <sven@gimp.org>
* libgimpbase/gimpwire.h
* libgimpbase/gimpreloc.h
* libgimp/gimpdrawablepreview.h
* libgimp/gimptile.h
* libgimp/gimpunitcache.h
* libgimpthumb/gimpthumb-utils.h
* libgimpwidgets/gimpcolorarea.h
* libgimpwidgets/gimphelpui.h: moved G_GNUC_INTERNAL before the
return value (bug #352268).
* tools/pdbgen/lib.pl : changed code generation rules to place
G_GNUC_INTERNAL before the return value.
* libgimp/*_pdb.h: regenerated.
2005-06-04 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolorarea.[ch]: invalidate the buffer when
the widget's sensitivity changes. Draw a stipple pattern on the
insensitive color area.
* libgimpwidgets/gimpcellrenderercolor.c: follow internal API change.
* libgimpwidgets/gimpcolorbutton.c: pass GDK_BUTTON1_MASK as
drag-mask. Doesn't work for whatever reason but it didn't work
with GDK_BUTTON2_MASK either.
2004-07-26 Sven Neumann <sven@gimp.org>
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.def
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpcellrenderercolor.[ch]: added a GimpRGB cell
renderer.
* libgimpwidgets/gimpcolorarea.[ch]: exported the function that
renders the color to a buffer for internal use in libgimpwidgets.
* libgimpwidgets/gimpcolorhexentry.c: use the new cell renderer
for the completion popup.
2003-03-14 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolorarea.[ch]: let GimpColorArea optionally
draw a thin border around itself.
* app/widgets/gimpitemfactory.c (gimp_item_factory_set_color): use
a GimpColorArea instead of a deprecated GtkPreview.
2002-11-02 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimpcolorarea.[ch]: simplified the code and
improved the performance by getting rid of the idle function.
Simply rerender the buffer on expose if necessary.
2002-01-30 Manish Singh <yosh@gimp.org>
* app/gui/file-open-dialog.c: ported to the new treeviewized file
selection widget. Unfortunately, multiple selections aren't supported
anymore so it's still broke. I'll make a patch to gtk to address this
after I get some sleep.
* app/widgets/gimppreview.h
* libgimpwidgets/gimpcolorarea.h
* plug-ins/FractalExplorer/Events.c
* plug-ins/common/film.c
* plug-ins/common/plugindetails.c
* plug-ins/fp/fp_misc.c
* plug-ins/rcm/rcm_callback.c
* plug-ins/rcm/rcm_misc.c: REALLY REALLY ugly hack to get things to
build under the latest enum deprecations. Of course, we'll remove
these when these files compile with deprecation turned on
* plug-ins/dbbrowser/dbbrowser_utils.c: warning cleanup
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpoffsetarea.c: need a custom marshaller for
our signal since the gtk marshaller we used went away.
2001-11-23 Sven Neumann <sven@gimp.org>
* configure.in: bumped version number to 1.3.1.
Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
exist any longer.
* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
be frozen now.
* HACKING: removed reference to RELEASE-TO-CVS.patch
* app/gui/menus.c
* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
to the new GTK+/Pango API.
* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.
* app/core/gimpmarshal.list: added all marshallers we use.
* app/core/gimpmarshal.[ch]: regenerated.
* app/[lots of .c files]: use gimp_marshal_* for all marshallers.
* data/images/
* app/app_procs.c
* app/gui/splash.c:
* libgimpbase/Makefile.am
* libgimpbase/gimpbase.h
* libgimpbase/gimputils.[ch]: removed since they are no longer needed.
* app/gimprc.c
* plug-ins/common/ps.c
* plug-ins/gdyntext/gdyntext.c
* plug-ins/gdyntext/gdyntextcompat.c
* plug-ins/gfig/gfig.c
* plug-ins/gflare/gflare.c
* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
of gimp_strescape() and gimpstrcompress().
* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
all _get_type function as G_GNUC_CONST.
* tools/pdbgen/enumcode.pl
* tools/pdbgen/lib.pl: make them generate header files using
G_BEGIN_DECLS/G_END_DECLS.
* pixmaps/Makefile.am
* pixmaps/wilber3.xpm: removed ...
* data/images/tips_wilber.png: ... and added here as PNG
* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.
* data/images/gimp_splash.ppm: removed ...
* data/images/gimp_splash.png: ... and added as PNG
* app/app_procs.c
* app/gui/splash.[ch]: load the splash image using GdkPixbuf.
* app/gui/about-dialog.c: sink the GtkPreview.
2001-09-20 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpdialog.[ch]: made a real object (GtkDialog
subclass) out of it. The API will change soon too.
* libgimpwidgets/gimpwidgetstypes.h: added GimpDialog typedef.
* libgimpwidgets/gimpbutton.[ch]
* libgimpwidgets/gimpchainbutton.[ch]
* libgimpwidgets/gimpcolorarea.[ch]
* libgimpwidgets/gimpcolorbutton.[ch]
* libgimpwidgets/gimpfileselection.[ch]
* libgimpwidgets/gimpoffsetarea.[ch]
* libgimpwidgets/gimppatheditor.[ch]
* libgimpwidgets/gimppixmap.c
* libgimpwidgets/gimpsizeentry.c
* libgimpwidgets/gimpunitmenu.c: removed GtkType stuff and use
GType in all get_type() functions. Some random GObject porting.
* app/gui/info-dialog.c
* app/gui/info-window.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimptransformtool.c: changed accordingly.
2001-07-24 Michael Natterer <mitch@gimp.org>
Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
* configure.in: require glib/gtk+ >= 1.3.7, commented out the
gtkxmhtml stuff.
From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
to hack or use GIMP HEAD.
Beware, it crashes randomly :)
* app/core/Makefile.am
* app/core/gimpmarshal.list: new file plus rules to generate
gimpmarshal.[ch] from it.
* app/core/*
* app/tools/*
* app/widgets/*
* libgimpwidgets/*: started to use the glib object system. All
core/ objects are still gtk objects however. All signals are
created using g_signal_new(). There are many gtk+ artefacts left.
Finally, we will _not_ use the gtk_signal_foo() wrappers and
friends any more.
* app/colormaps.c
* app/devices.[ch]
* app/disp_callbacks.c
* app/errorconsole.c
* app/file-save.[ch]
* app/interface.c
* app/module_db.c
* app/nav_window.c
* app/ops_buttons.c
* app/scroll.c
* app/user_install.c
* app/gui/about-dialog.c
* app/gui/brush-editor.c
* app/gui/brushes-commands.c
* app/gui/color-notebook.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/file-commands.c
* app/gui/file-dialog-utils.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradients-commands.c
* app/gui/image-commands.c
* app/gui/info-dialog.[ch]
* app/gui/layer-select.c
* app/gui/layers-commands.c
* app/gui/menus.c
* app/gui/offset-dialog.c
* app/gui/palette-editor.c
* app/gui/palettes-commands.c
* app/gui/patterns-commands.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.[ch]
* app/gui/splash.c
* app/gui/tips-dialog.c
* app/gui/tool-options-dialog.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* libgimp/gimpbrushmenu.c
* libgimp/gimpmenu.c
* libgimp/gimppatternmenu.c
* libgimp/gimpui.c
* libgimpbase/gimpenv.c: tons and tons of changes like "const
gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
and currently disables), lots of s/gtk_signal/g_signal/,
removal/replacement of deprecated stuff,
s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
while I was on it, zillions of warnings left...
* modules/Makefile.am: disabled the water color selector
temporarily (XInput issues).
* plug-ins/Makefile.am
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
which did not build (including Script-Fu). They are trivial to
fix.
2001-05-30 Michael Natterer <mitch@gimp.org>
* app/base/Makefile.am
* app/core/Makefile.am
* app/gui/Makefile.am
* app/paint-funcs/Makefile.am: added makefile.msc to EXTRA_DIST.
* app/core/gimpimage.c: don't try to create previews with width or
height < 1.
* app/gui/color-notebook.c: Major (??) dialog repacking. Don't
show an action_area for the main color selection (it's now about
half the size of the 1.2 one).
* libgimp/gimpcolorselector.h: define some gui size constants
here.
* app/gui/color-select.c
* modules/colorsel_triangle.c
* modules/colorsel_water.c: use the constants and removed the
spacing around the main container.
* libgimpwidgets/gimpcolorarea.[ch]: rendering in the idle loop
fixes a race condition when accessing widget->window during widget
resizing.
* modules/Makefile.am: disabled the "GTK" color notebook page (we
will put the GtkHSV widget of gtk+ 2.0 here).
2001-05-30 Michael Natterer <mitch@gimp.org>
* libgimpmath/libgimpmath-docs.sgml: s/libgimpcolor/libgimpmath/.
2001-01-10 Sven Neumann <sven@gimp.org>
* libgimp/gimpcolorarea.[ch]: finished new GimpColorArea widget which
uses GimpRGB and handles DND and alpha channel.
* libgimp/gimpcolorbutton.[ch]: use GimpColorArea. The API of the
GimpColorButton has changed!
* libgimp/gimpwidgets.[ch]: added temporary function
gimp_color_update_uchar() to ease migration of plug-ins to GimpRGB.
This function will go away.
* plug-ins/Lighting/lighting_main.h
* plug-ins/Lighting/lighting_ui.c
* plug-ins/MapObject/mapobject_main.h
* plug-ins/MapObject/mapobject_ui.c
* plug-ins/common/colorify.c
* plug-ins/common/colortoalpha.c
* plug-ins/common/exchange.c
* plug-ins/common/film.c
* plug-ins/common/grid.c
* plug-ins/common/mapcolor.c
* plug-ins/common/nova.c
* plug-ins/common/papertile.c
* plug-ins/common/sinus.c
* plug-ins/gdyntext/gdyntext_ui.c
* plug-ins/ifscompose/ifscompose.[ch]
* plug-ins/ifscompose/ifscompose_storage.c
* plug-ins/ifscompose/ifscompose_utils.c
* plug-ins/script-fu/script-fu-scripts.c: use new GimpColorArea and
GimpColorButton. Started to introduce GimpRGB color type. This change
might have broken some of these plug-ins. This is work in progress.
* libgimp/Makefile.am: added GimpColorArea and GimpColorButton to
libgimpi.
* app/gimpcontext.[ch]: added gimp_palette_get_[fore|back]ground()
functions so the app can link against libgimp/gimpcolorbutton.o.
These functions will go away.
* app/gimpdnd.c: use a GimpColorArea for DND
2001-01-09 Michael Natterer <mitch@gimp.org>
* app/color_notebook.c: Show the "Alpha" scale only when needed.
* libgimp/gimpcolorarea.[ch]: fixed typos.
2001-01-09 Sven Neumann <sven@gimp.org>
* libgimp/gimpcolorarea.[ch]: added a new simple widget which
provides a color preview area capable of DND. It will be used
in the GimpColorButton and in the color_selectors.
* libgimp/Makefile.am
* libgimp/gimpui.h
* libgimp/gimpuitypes.h: include the new files
* libgimp/gimpcolor.[ch]: use proper names instead of abbreviations
* app/asupsample.c
* plug-ins/Lighting/lighting_preview.c
* plug-ins/Lighting/lighting_shade.c
* plug-ins/MapObject/mapobject_preview.c
* plug-ins/MapObject/mapobject_shade.c
* plug-ins/libgck/gck/gckcolor.c: changed accordingly