Commit Graph

7149 Commits

Author SHA1 Message Date
Ed J b42cedd383 No tabs please, we're British. 2014-05-16 17:46:18 +01:00
Ed J a3be308aea file-gif-save2 takes 3 more params. 2014-05-16 17:37:06 +01:00
Mukund Sivaraman 8ef1f20c22 file-jpeg: Reduce use of #ifdefs 2014-05-15 13:41:21 +05:30
Mukund Sivaraman c760829161 file-jpeg: Append to parasite fields 2014-05-15 01:38:58 +05:30
Mukund Sivaraman 080fd93d90 file-jpeg: Use state of toggle button with the event 2014-05-15 01:37:16 +05:30
Mukund Sivaraman 7a6b8f0e69 file-jpeg: Add support for arithmetic coding
Arithmetic coding is a feature of the JPEG standard. Although libjpeg
had always implemented arithmetic coding, it was compiled out by default
due to patents.

Those patents have now expired.

libjpeg 8 now enables arithmetic coding by default. Distributions which
use libjpeg < 8 can also support arithmetic coding by using the
appropriate CFLAGS to enable it. libjpeg-turbo 1.3.1 also has support
for arithmetic coding and is in popular shipping distributions.

Software such as jpegtran can losslessly convert Huffman compressed
images to arithmetic coding and vice versa. The lossy behavior of JPEG
does not happen at this (bit coding) layer of the format.

This initial patch provides a checkbox (disabled by default) to create
files which use arithmetic coding. It also has a tooltip warning that
such files may not be compatible with older decoders.
2014-05-15 00:57:42 +05:30
Michael Natterer 102a236265 plug-ins: some more stock-id -> icon-name porting 2014-05-12 00:37:42 +02:00
Michael Natterer 4bd5c185cc plug-ins: gtk_image_new_from_stock() -> from_icon_name() 2014-05-12 00:20:48 +02:00
Michael Natterer a54b1ca12c plug-ins: port help-browser to icon names 2014-05-12 00:17:57 +02:00
Michael Natterer de08267f06 libgimpbase, *: add enum value GIMP_ICON_TYPE_ICON_NAME
and keep GIMP_ICON_TYPE_STOCK_ID as a deprecated alias. Change all
plug-ins accordingly and increase the pluginrc file version number so
it gets regenerated with "icon-name" instead of "stock-id".
2014-05-11 23:56:30 +02:00
Massimo Valentini 07ff7c7d6d Bug 728226: Blending mode of layers in ORA changed upon opening 2014-05-10 18:46:31 +02:00
Massimo Valentini 7e80e2e3bc Bug 707239 - Gimp destroys image file when exporting...
as .tif with jpeg compression

make unsensitive the JPEG radio button when the image
is indexed, similarly to Fax Group 3/4 compression
enabled only for monochrome images

move the file creation/truncation after checking for
invalid requests and return a GError in case of error
2014-05-07 18:10:26 +02:00
Michael Natterer 64290145a2 pdb. plug-ins: remove the noise-rgb plug-in and add PDB compat wrappers 2014-05-04 23:43:02 +02:00
Michael Natterer ff59aebbe8 pdb, plug-ins: remove the blur-gauss plug-in and add compat procedures
Add a utility function to wrap PDB compat nodes in gimp:cast-format
ops, so we can use ops that are now implemented in linear RGB for
plug-in compat procedures, which are all supposed to work on gamma
corrected RGB.
2014-05-04 22:53:29 +02:00
Daniel Sabo 41f9cd7ba0 Fix stray semicolon causing early return
_wrap_gimp_color_scale_new will always fail because "return -1"
falls outside of the if statement.
2014-05-03 00:24:35 -07:00
Massimo Valentini ccb735d216 Bug 725553: TIFF compression broken
remove the radio button box from the ui file because
it hides the radio_group created in file-tiff-save.c that
also properly connects signals
2014-05-02 18:44:44 +02:00
Michael Natterer d0c67f84c8 plug-ins: file-pdf-save needs two return values now for the error message 2014-05-01 20:27:10 +02:00
Piotr Drąg cdd78c9b16 Fix typo 2014-05-01 14:59:28 +02:00
Michael Natterer a4223766f2 all,libgimp*: move GimpConvolveType and GimpInkBlobType to libgimpbase
and make GimpConvolveType's values sane.
2014-04-29 22:44:58 +02:00
Michael Natterer 22c222291d libgimpbase,*: clean up enum values in gimpbaseenums.h
GIMP_ADD_foo_MASK -> GIMP_ADD_MASK_foo
GIMP_foo_MODE -> GIMP_BLEND_foo
GIMP_foo_CLONE -> GIMP_CLONE_foo
GIMP_foo -> GIMP_DODGE_BURN_TYPE_foo
GIMP_foo -> GIMP_TRANSFER_foo

Add compat values for the old names and compat code to script-fu
and pygimp.
2014-04-29 20:58:30 +02:00
Hartmut Kuhse f6328244a2 Bug 725577 - file-pdf-save fails to export images larger than 32768 pixels
Due to a restriction in libcairo, creating surfaces larger than 32768 pixels
fails, so saving a larger file in gimp  as PDF, is rejected.
2014-04-29 17:37:25 +02:00
Michael Natterer b883aec224 plug-ins: pass "RAW" to gimp_export_image() in file-raw-data.c
So the export logic GUI becomes debuggable.
2014-04-27 19:15:17 +02:00
Michael Natterer a4773a5599 plug-ins: include libgimp/gimp.h and gimpui.h in openexr-wrapper.cc
The file does not need the includes, but including libgimp from a C++
file makes sure the build fails if something forbidden gets added to
any public libgimp header, such as a struct member named "private".
2014-04-27 14:33:16 +02:00
Christian Lehmann 3b72ad8939 Bug 708098 - Further mitigation for CVE-2012-4245 (script-fu-server)
Reorder server_start()'s arguments so they match the PDB signature.
2014-04-23 21:30:17 +02:00
Christian Lehmann 83741044fc Bug 708098 - Further mitigation for CVE-2012-4245 (script-fu-server)
Add an "ip" parameter as *first* argument to the
plug-in-script-fu-server procedure. This is an incompatible change
with the intent to make any old-style calls to the procedure
fail. Also reorder the GUI to have the IP in the first line.
2014-04-23 11:04:09 +02:00
Christian Lehmann 3705f54300 Bug 708098 - Further mitigation for CVE-2012-4245 (script-fu-server)
Added a warning message informing about the danger of running a
script-fu server on any PI but 127.0.0.1.
2014-04-23 11:04:09 +02:00
Christian Lehmann f98592afa3 Bug 708098 - Further mitigation for CVE-2012-4245 (script-fu-server)
added listen-to-ip field to the script-fu start server dialog
2014-04-23 11:04:09 +02:00
Michael Natterer 740d83c70a plug-ins: fix the build in file-raw-data.c 2014-04-22 22:59:07 +02:00
Björn Kautler c3f2a5a116 Bug 728633 - Improvements to the file-raw plugin
Export the image before saving as raw image data.
2014-04-22 22:10:09 +02:00
Björn Kautler 3e96b96640 Bug 728633 - Improvements to the file-raw plugin
Register 'data' as save extension.
2014-04-22 22:02:29 +02:00
Hartmut Kuhse 7b078a6e57 Bug 727832 - file-psd-load infinite loop
If a layer mask is completely outside the layer boundaries,
the layer mask is omitted
2014-04-21 19:25:18 +02:00
Michael Natterer 1093a82e79 Bug 724444 - Printing ignores dpi ratio / image proportions, always prints 1:1
Enable the resolution chain button only if xres == yres.
2014-04-18 19:46:41 +02:00
Piotr Drąg 128377b406 Fix typo 2014-04-17 01:04:54 +02:00
Michael Natterer cf5bc57e20 plug-ins: remove some accidential whitespace from the last commit 2014-04-16 22:36:23 +02:00
Hartmut Kuhse 0bc827cb69 Bug 725576 - GIMP crashes on printing large TIFF files
Cairo surface creating is limited to 32768.
Printing is refused for images bigger than 32768 either width,
height or both.
2014-04-16 11:15:35 +02:00
Michael Natterer 260a4a51b1 plug-ins, pdb: remove the lens-apply plug-in and add a compat procedure 2014-04-13 21:18:35 +02:00
Michael Natterer a5b92424b3 Bug 726761 - Alias PIX image encoding broken
save_image(): remove bogus "- 1" from the calculation of the height of
the row of tiles to save. Fixes garbage saved to the last line of all
PIX files.
2014-04-11 15:25:22 +02:00
Michael Natterer b9d587c7d2 Bug 726761 - Alias PIX image encoding broken
save_image(): use the chosen export format's bpp, not the drawable's.
Fixed exporting of > 8 bit images.

Also make the plug-in export indexed images directly (without
requiring export conversion).
2014-04-11 15:08:49 +02:00
Michael Natterer 614c61a3dd Don't #include <glib.h> before <lcms.h>
The include claimed to be because of "inline" in the lcms header, but
that was probably lcms1, since there is no trace of inline in the
lcms2 header.
2014-04-10 20:48:22 +02:00
Michael Natterer 661317f74c libgimpwidgets: make using GimpColorProfileComboBox easier
If the passed dialog is a GimpColorProfileChooserDialog, handle its
"response" signal automatically and also destroy it when the combo box
is destroyed (before we leaked all dialogs). Remove the same callback
from all places using GimpColorProfileComboBox.
2014-04-04 17:09:54 +02:00
Michael Natterer 3f826d02fa libgimpwidgets: make GimpColorProfileComboBox use lcms
and improve gimp_color_profile_combo_box_set_active() to get the
profile's label from the ICC file if no label was provided. Simplifies
all its callers and removes code duplication.
2014-04-02 13:03:52 +02:00
Michael Natterer 59f59726e3 plug-ins: simplify the lcms format fallback code
Instead of adding multiple #else ... #endif branches for missing lcms
types, do the fallback at the end if no lcms type could be determined
for the layer's pixel format.
2014-04-02 00:14:24 +02:00
Michael Natterer eb5bf3c2ba plug-ins: add fallbacks for all pixel formats not supported my lcms
- fall back to float for missing half float
- implement double and fallback to RGBA float for missing RGBA double
- fall back to float for everything else potentially missing
2014-03-31 17:40:15 +02:00
Michael Natterer d7037650df libgimpcolor: add gimp_lcms_profile_get_label()
which returns a string meant to label the profile in the GUI, it's
either the profile's description, its model, or "(unnamed profile)" as
a fallback. Use the function instead of duplicating that logic
inconsistently and imcompletely all over the place.
2014-03-30 03:12:42 +02:00
Michael Natterer 67391f6d9e plug-ins: don't create bogus combo entries in lcms_icc_combo_box_new()
- verify that GimpColorConfig.rgb_profile actually is an RGB profile.
- on failure, don't assoociate the rgb_profile filename with the
  built-in sRGB profile.
2014-03-30 01:34:34 +01:00
Michael Natterer 18c0ab0a19 plug-ins: remove undo_group parameter from lcms_image_set_profile()
and simply always push an undo group, there is no harm or overhead in
nested undo groups.
2014-03-29 14:54:41 +01:00
Michael Natterer 32e47cf70d libgimpcolor: add gimp_lcms_profile_is_equal()
and remove all of our own MD5 digest code and API. is_equal() uses
lcms' own MD5 API which I missed before. Thanks Elle for pointing that
out :)
2014-03-29 10:40:47 +01:00
Michael Natterer b3395d989e libgimpcolor: return an optional MD5 digest from gimp_lcms_create_srgb_profile()
pass NULL in most places, use the feature in the lcms.c plu-gin.
2014-03-23 23:34:47 +01:00
Michael Natterer a0e8913a43 plug-ins: verify that GimpColorConfig.rgb_profile is actually for RGB
and remove the RGB check from all callers of lcms_image_get_profile(),
the function now returns an RGB profile or NULL. This implicitly stop
checking that 'icc-profile' actually contains an RGB profile.
2014-03-23 21:24:08 +01:00
Michael Natterer 0bdc6fbe3c plug-ins: use gimp_lcms_profile_open_*() in the lcms plug-in
And clean up stuff to pass error messages further up.
2014-03-16 15:57:14 +01:00