Commit Graph

489 Commits

Author SHA1 Message Date
Luca Bacci f7be0cf68e Use LoadLibraryW () 2023-01-24 14:48:44 +00:00
Jehan 3852f164d2 modules: fix typo in meson build.
This explains such WARNING over a previous installation on Windows:

> (gimp-2.99.exe:11524): GLib-GObject-WARNING **: 21:36:36.664: Two different plugins tried to register 'ControllerDXDInput'.

The previous install was autotools-built, so it didn't have the typo.
2022-11-13 22:21:14 +01:00
Nikc 1c81c426ae Modules: Convert CMYK color selector to babl 2022-08-15 21:14:14 +00:00
Alx Sa 0587a10543 core: Add simulation intent and BPC to GimpImage
Adds a simulation_bpc and simulation_intent to GimpImage to allow 
plug-ins to access it
for CMYK import/export.
Four pdb functions were added to enable this access:
image_get_simulation_bpc (), image_set_simulation_bpc (), 
image_get_simulation_intent (), and image_set_simulation_intent ().
Next, it updates menu options and code to support GimpImage's
internal simulation intent and bpc.
New 'simulation-intent-changed' and 'simulation-bpc-changed signal 
are emitted via
GimpColorManagedInterface so that relevant tools 
(such as the
CYMK color picker, GimpColorFrame, and future pop-overs)
 are aware of these changes.
2022-08-13 19:39:47 +00:00
Alx Sa 0d7fed93ae core: Add softproof profile to GimpImage
Adds a simulation_profile to GimpImage to allow plug-ins to access it
for CMYK import/export.
Two pdb functions were added to enable this access:
image_get_simulation_profile () and image_set_simulation_profile()
Next, it updates menu options and code to support GimpImage's
internal simulation profile. Menu items are moved from View to Image's
Color Management section.
New 'simulation-profile-changed' signal is emitted via
GimpColorManagedInterface so that relevant tools (such as the
CYMK color picker, GimpColorFrame, and future dockable
dialogue) are aware of these changes.
2022-07-02 15:26:19 +02:00
Niels De Graef 75e42eda31 modules: Make sure we restore cursor in ColorWheel
We set the crosshair cursor when the user starts dragging, but we never
restored it when dragging ended. This commit fixes that.
2022-05-20 17:39:24 +02:00
Jehan 5703b89735 modules: fix one more broken meson rule for directx on Windows.
Fixes:

> ../modules/meson.build:87:2: ERROR: '-lrpcrt4' is not a target.
2022-04-01 17:33:38 +02:00
Niels De Graef b2f875e889 modules: Use GtkGestureDrag in ColorWheel
This allows us to simplify some of the logic, and get rid of a
`gdk_seat_grab()` which might trigger unwanted popups. It's also a bit
more future-proof, as it uses the same mechanism to what is used in
GTK4 for event handling.

While we're at it, stop storing a separate `priv` pointer, which would
allow us to use `G_DECLARE_FINAL_TYPE()` in the future.
2021-12-12 22:28:46 +01:00
Jehan d95f417719 app, libgimpwidgets, modules, plug-ins: code changes after GimpScaleEntry…
… reclassing as GimpLabelSpin subclass.
2020-11-05 18:06:52 +01:00
Jehan b3c0ba061b app, libgimpwidgets, modules, plug-ins: finishing GimpScaleEntry port.
Renaming the temporary function gimp_scale_entry_new2() into
gimp_scale_entry_new() now that the original code is entirely gone. This
is now a fully-fledged widget with a nice and proper introspectable API.
2020-11-01 02:46:20 +01:00
Jehan 7ebd19636c plug-ins, modules: more port to GimpScaleEntry. 2020-10-31 02:07:35 +01: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
Niels De Graef 878804fb01 Cleanup GObject signal marshallers
* Don't generate our own marshallers if they are available in GLib
  already
* Don't set the c_marshaller parameter in `g_signal_new()` if it's a
  default marshaller provided by GLib. See commit message of commit
  39e4aa3c57 on why this is the case.
2020-04-01 21:20:01 +00:00
Félix Piédallu 65eff6f150 Meson port. 2019-09-11 16:42:04 +02:00
Michael Natterer 1afb7a8b32 libgimpwidgets: add GDestroyNotify to gimp_widget_track_monitor() 2019-08-07 23:44:18 +02:00
Niels De Graef 1dda60154c Use "Returns:" to annotate return values
To be able to annotate return values through GObject-introspection, you
need to make sure it is tagged with `Returns:` and not something else.
2019-08-03 07:53:47 +00:00
Michael Natterer 63695b4b21 libgimbase: merge gimpparam.h into gimpparamspecs.h
which means that it's now included normally via gimpbase.h
and not any longer via gimpbasetypes.h which we only did out
of lazyness. A *lot* of files in libgimp* and app/ now need to
2019-07-31 10:16:21 +02:00
Ell 053e5edc93 libgimpcolor, app, modules, plug-ins: remove GEGL_ITERATOR2 define
... it's no longer needed, since GEGL commit
gegl@9dcd2cde63f95a080bf16a58c10e9ffbdd99aace.

Partially reverts commits:

6fca9959c7
cc10af72cc
49c53568d7
8edbc0d491
29f63616d2
3a2014984d
ee48ec6877
4165a315d5
764085278f
b7633c722e
6ab12061b7
754a3c5b18
22b4b647bd
55b3438328
c6d23add65
f03a84d607
822f9f0d2b
95358ca1fa
cdda37f4ee
41e8035635
6761da42b2
fb5d7832a8
97ed7817d8
46e9036578
ea9c5e6a49
24fbdfb591
beb4ecb238
4b77831e03
fcf113a39c
567ffe94ff
2018-12-02 11:15:37 -05:00
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
Øyvind Kolås 41e8035635 modules: migrate display filters to new iterator api 2018-09-11 01:37:11 +02:00
Øyvind Kolås 6761da42b2 modules: migrate aces-rrt filter to new iterator api 2018-09-11 01:36:50 +02:00
Piotr Drąg 255e5a52a4 modules: fix typos in ACES RRT’s translatable strings 2018-07-22 18:58:46 +02:00
Øyvind Kolås 768a4d439d modules: rename filmic display filter to ACES RRT
Even though the ACES RRT is a filmic mapping, and the current code is only an
approximation of the luminance aspects (ignoring saturation and hue sweeteners)
the intent of this display filter will be to implement a non-LUT based close to
standard conformant parametric ACES RRT in C for use in ACES workflows.
2018-07-22 15:04:36 +02:00
Øyvind Kolås fe14feaaff modules: add a filmic proof display filter
Add a display filter that can be used in scene-referred imaging workflows,
this is using a luminance-only approximation of the ACES filmic HDR to SDR
proofing mapping - see link in source comment for details.
2018-07-17 16:04:04 +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 80997a8646 Remove most GTK_ADJUSTMENT() and (GtkAdjutment *) casts
they are obsolete in GTK+ 3.x because GtkAdjustment cannot be passed
around as GtkObject any longer, GtkObject is gone.
2018-06-24 18:15:16 +02:00
Michael Natterer acd3a6f169 Clean up color selector styling
- remove redundant frames, 3d-frames are gone anyway, so no need to
  keep double out/in frames around
- give all color selector classes CSS names
- add/fix some theme CSS styles
2018-06-24 15:41:04 +02:00
Jehan 5e25cdc713 Issue #1708: g_free() called instead of gdk_device_free_history().
As spotted by Massimo!
2018-06-23 19:54:19 +02:00
Michael Natterer 0a4fa44528 Isse #1595 - Windows gdk_win32_drawable_get_handle is not exported
Use gdk_win32_window_get_handle() instead. Patch by Partha Bagchi.
2018-06-08 09:10:03 +02:00
Michael Natterer 1b7d63cce9 Use g_set_object() in a lot of places, and splrinkle some g_clear_object() 2018-06-01 12:59:52 +02:00
Michael Natterer 29fbed1654 modules: undeprecate GimpColorWheel 2018-05-30 12:47:55 +02:00
Simon Budig 7d64cf62c6 libgimpwidgets: rename the _grid()-Variants of gimp_scale_entry_*
Adjust all plugins to follow accordingly.

This concludes the GtkTable'ocide.
2018-05-20 21:06:35 +02:00
Simon Budig 4e2b9eb89c color-selector-cmyk: kill GtkTable 2018-05-20 21:06:35 +02:00
Michael Natterer fc12d5bf7f modules: port GimpColorWheel to GTK+ 3.x 2018-05-20 21:06:29 +02:00
Michael Natterer b9f269bbfb modules: remove call to gtk_widget_set_extension_events() 2018-05-20 21:06:28 +02:00
Michael Natterer 58802a7109 modules: port to GtkWidget::draw() 2018-05-20 21:06:27 +02:00
Michael Natterer 898ce055f6 modules: s/GtkObject/GtkAdjustment/ 2018-05-20 21:06:26 +02:00
Ell fa25b476be icons, modules, libgimpwidgets: add clip-warning display filter icon
... and use it instead of gimp-warning.
2017-11-23 13:34:49 -05:00
Ell 1e6f82d9f0 modules: in colorblind, change "deficiency" prop to "type"
With the new propgui UI, the property nick is used as the combo's
label; since the descriptions of the corresponding enum values are
quite long, using "deficiency" as a label for the prop is
problematics, especially for some translations.

Change the property name and nick to "type", and align the code
with the change.

Also, change the property's blurb from "color deficiency type" to
"color vision deficiency type".
2017-11-12 18:27:13 -05:00
Ell e2fb7a41c6 modules: various changes in clip-warning
Replace "Show NaN" option with "Show bogus".  Bogus values include
infinities, in addition to NaN.

Don't blend the bogus warning color with other warning colors, when
a pixel has both a bogus component, and a shadow/highlight
component.  The bogus warning always takes precedence.

Rename "Include alpha" option to "Include alpha component".

Remove "Opaque" option.  Warnings are now always opaue, even for
non-opaque pixels.

Add "Include transparent pixels" option, which controls whether
fully-transparent pixels are included in the warning.  A fully
transparent pixel is a pixel whose alpha component is less-than or
equal-to zero (note that this doesn't include a NaN alpha
component.)
2017-11-07 09:28:33 -05:00
Ell bf659a9979 modules: stylistic code and ui text cleanup in display filters
The labels used in the old display filters ui were more descriptive
than the corresponding property nicks; modify the nicks/blurbs with
similar text.

... Plus random cleanup in clip-warning.
2017-11-05 08:45:35 -05:00
Ell 2520e0455c modules: remove custom display filter gui
Remove the configure() function from all our display filters, so
that they use a propgui.
2017-11-02 16:48:52 -04:00
Ell 7ec271bd0c modules: small cleanup in display-filter-clip-warning.c
Remove debug g_printerr(), and rearrange class_init() to match the
other display filters.
2017-11-02 16:48:52 -04:00
Ell 5b118a260b modules: add clip-warning display filter
The clip-warning display filter highlights pixels with at least one
componet whose value is outside the [0,1] range, or is NaN.
2017-11-02 16:12:33 -04:00
Michael Natterer 5b624e00ed Bug 782840 - CMYK color selector broken when a CMYK profile is configured
When converting from CMYK to RGB, it's perhaps better to use the
CMYK->RGB transform, rather than the RGB->CMYK transform...
2017-05-19 23:37:13 +02:00
Michael Natterer 3e2429fe6f modules: remove the "lcms" and "proof" display filters 2017-05-10 12:53:51 +02:00
Michael Natterer dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
Michael Natterer 91e861adcc libgimpwidgets, *: deprecating stock IDs for good, part one...
Remove all stock items added since 2.8, restore accidentially removed
ones, and rename the newly added GIMP_STOCK_* defines to GIMP_ICON_*.

(will move to having GIMP_ICON_* defines instead of magic hardcoded
strings for all icons).
2017-02-28 19:31:27 +01:00
Michael Natterer f5ecc53f3e Fix a lot of warnings all over the place
Deprecated stuff, unused variables. Includes parts of a patch from
Shlomi Fish from bug #768855.
2016-10-31 01:36:35 +01:00
Michael Natterer 0524b60228 app: consistently treat GimpColorConfig profile paths as config paths
and use gimp_file_new_for_config_path() and _get_config_path() when
dealing with them. We used a weird mix of config paths and plain
(filesystem encoded) paths, waiting to to break on umlauts or
whatever. The code in gimpcolorconfig.c was particularly bad.
2016-10-01 00:29:44 +02:00