Commit Graph

133 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen 97720a1fb8
Minor doc improvements (#3236)
* doc: regenerate docbook after commit 5056f59

* cplusplus: update doc comments

Incorporates the improvements of commit ac4c2d2 and 6bb0b4d.
2022-12-23 12:33:26 +00:00
Kleis Auke Wolthuizen 489ed5c0e8
Update C++ binding and function list (#3204) 2022-11-30 00:06:06 +00:00
Daniel Löbl 2d9c50735f
webpsave: switch to sink_disc (#3018)
* webpsave: switch to sink_disc

* fix some warnings

* distinguish between animated and single image write

* fix some formatting issues

* add missing comments

* fix webpsave_mime

* don't use sink_disc for single image webp write

* fix potential segv/double free

* update changelog

* remove leftover function declaration

* Revert "don't use sink_disc for single image webp write"

This reverts commit a75922ca93ee8987fa5e1ffc52b68e22bd6fb1fb.

* implement review feedback

* adjust to a column size of 80

* get contiguous RGB(A) buffer directly from VipsRegion

* Revert "get contiguous RGB(A) buffer directly from VipsRegion"

This reverts commit 84fc10e52fb223f0208c605dde92d3f821ceee0e.

* accumulate image data directly in frame_bytes buffer

* switch WebP back to Webp naming scheme

* rename page_index to page_number

* revise formatting
2022-09-08 14:32:13 +01:00
John Cupitt 538aa2a841
remove autotools (#2941)
* remove autotools

It seems to all work. I tested with gtk-doc enabled. I probably missed a
few things argh.

* oop, forgot m4/
2022-07-24 11:14:52 +01:00
John Cupitt d9f31be67d configure should add meson files to make dist
add meson.build etc. to EXTRA_DIST

see https://github.com/libvips/libvips/issues/2876
2022-06-20 15:04:33 +01:00
Kleis Auke Wolthuizen bae0342d95
Update C++ binding and function list (#2851)
* Update C++ binding and function list

Also, start with a capital letter in descriptions whenever possible.

* Ensure `dzsave_target` is generated
2022-06-10 14:43:44 +01:00
Lovell Fuller f9ace1724e
Fix a couple of typos in help messages (#2814) 2022-05-21 09:47:51 +01:00
Kleis Auke Wolthuizen 07edfe37b1
Improve symbol visibility (#2688)
* Improve symbol visibility

* Decorate required internal symbols with VIPS_API

* Remove a couple of stray header decls

* Incorporate review comment

- Ensure symbol visibility is also set on static libraries.
- Prefer to use `cc.has_function_attribute('visibility:hidden')`.

* Don't export internal deprecated symbols

* Move deprecated symbols to vips7compat.h

* `IM_FORMAT_H` -> `VIPS_FORMAT_H`

* Move `vips_window_ref` compat stub to `vips7compat.c`

* Disable deprecation warnings internally

* `vips_image_get_kill` -> `vips_image_iskilled`

* Ensure API compatibility

* Add missing include directives

* Move `vips__init` decl to vips7compat

* Move `vips__get_sizeof_vipsobject` to vips7compat

* Fix introspection build

* Fix 2 introspection warnings

* Ensure compatibility with vipsdisp

/usr/bin/ld: tilesource.o: in function `tile_source_new_from_source':
vipsdisp/tilesource.c:1627: undefined reference to `vips__region_no_ownership'
2022-04-16 10:58:55 +01:00
John Cupitt a77519f7c3 try to improve docs
see https://github.com/libvips/libvips/discussions/2733#discussioncomment-2412590
2022-03-22 09:10:34 +00:00
Kleis Auke Wolthuizen 330ebf3cd7
Mosaicing fixes and improvements (#2705)
* Fix segv in `vips_mosaic1`

* Fix ref handling in `rotjoin_search`

* Pass `oarea` to `vips_affine` as `VipsArrayInt` instead

* Flip X/Y positions in `vips__coeff`

* Fix `-Wunused-but-set-variable` warning

* Deprecate unused mosaicing arguments

* Remove a couple of stray header decls
2022-03-03 20:10:20 +00:00
shado23 c02b69eaba
Address review feedback on VRegion (#2684) (#2696)
* Add VRegion8.h to Makefile.am, meson.build, Doxyfile.in.

* Fix inaccurate function documentation.

* Add stride method to VRegion.
2022-02-28 16:17:40 +00:00
shado23 3a45d6e842 Add support for regions in the C++ API 2022-02-25 16:19:44 +01:00
Corentin Noël 02901436d4
Add meson build system (#2637)
Allows to use the Meson build system to build the project.
2022-02-08 15:19:36 +00:00
Heshy Roskes d8c04011ea
Add hyperbolic functions (#2508)
* add hyperbolic functions
* add hyperbolic function tests
* changelog
* add inverse hyperbolic functions for old compilers
2021-11-02 15:05:37 +00:00
Kleis Auke Wolthuizen 31b54056db
cplusplus: only generate doc comments for non-deprecated args (#2505) 2021-11-01 15:21:06 +00:00
John Cupitt 13285c7cfc Merge branch 'master' of https://github.com/indus/libvips into indus-master 2021-10-20 18:41:39 +01:00
Joshua Sager 608a7cee9b
Introduce unlimited flag, enabling unlimited text chunks in PNGs (#2419)
* Introduce unlimited flag, enabling unlimited text chunks

* remove extraneous optional flag causing GLib-GObject-CRITICAL **: 17:10:34.095: validate_and_install_class_property

* Address feedback from @jcupitt

* various compilation error fixes

* Interlace detection uses unlimited=false

* attempt to fix tests

* documentation changes, introduced MAX_PNG_TEXT_CHUNKS and bumped max to 20 (was 10)
2021-08-29 18:06:33 +01:00
Lovell Fuller 1f5d6f6bc9
Add gifsave operation, depends on cgif and libimagequant (#2381) 2021-08-22 18:11:41 +01:00
Keim, Stefan f75f698ab4 Add atan2 to math2 2021-06-18 11:14:02 +02:00
Kleis Auke Wolthuizen b78812f200 Update C++ binding and function list 2021-05-12 11:36:24 +02:00
John Cupitt 74471ba258
Merge pull request #2212 from kleisauke/cpp-function-list-2
Update C++ binding and function list
2021-04-21 20:15:55 +01:00
Kleis Auke Wolthuizen 526cf4ec37 C++: add set/get for an array of doubles 2021-04-21 18:49:56 +02:00
Kleis Auke Wolthuizen c294835200 Update C++ binding and function list 2021-04-21 18:09:34 +02:00
John Cupitt 9cbb4c2cd1
Merge pull request #1709 from libvips/add-libnsgif
Add libnsgif support
2021-03-27 15:10:30 +00:00
Philipp Trulson 13a4d9f7ea
Set correct description for heifsave argument 2021-03-24 22:57:06 +01:00
John Cupitt 003a444158 oop, we no longer need vips-operators.h 2021-03-07 15:03:13 +00:00
John Cupitt b51f4dab28 fix make dist 2021-03-07 14:59:31 +00:00
Lovell Fuller 3ad7363104 heifsave: add option to control subsample_mode
Defaults to no subsampling when Q>90 for consistency with jpegsave.

Deprecate VipsForeignJpegSubsample enum, replace with more generic
VipsForeignSubsample.
2021-01-13 10:01:34 +00:00
John Cupitt fd0a0905ff note VImage::new_from_memory_steal() in ChangeLog
plus doxy commnets etc., see https://github.com/libvips/libvips/pull/1758/
2020-09-24 10:44:49 +01:00
John Cupitt 25bd6cce6f
Merge branch 'master' into master 2020-09-24 10:31:01 +01:00
John Cupitt 875c0fdf3c finish C++ doc comments 2020-09-09 11:13:22 +01:00
John Cupitt 6357fd5651 more C++ docs 2020-09-07 19:26:51 +01:00
John Cupitt 3fcaf1ea06 add some more C++ docs 2020-09-07 18:02:50 +01:00
John Cupitt fa84d297dd note how to list interpolators 2020-08-20 07:05:13 +01:00
John Cupitt 409301a200 improve C++ API
Make VObject inheritance public, so we can have a single set() for all
VObject-derived types.
2020-08-19 15:08:28 +01:00
John Cupitt 99313edb68 fix some unknown types
We were missing VipsInterpolate and guint64. Add guint64 set() as well.

see 636e265477 (commitcomment-41589463)
2020-08-19 14:36:50 +01:00
John Cupitt d4c20e6d1c a few more doc comments 2020-08-18 01:28:40 +01:00
John Cupitt 5e985ad187 add doc comments for VError and VInterpolate 2020-08-17 19:16:03 +01:00
John Cupitt 636e265477 revise cpp codegen again
use f'' strings, polish formatting
2020-08-17 18:07:11 +01:00
John Cupitt c7bab32109 add optional params to doc strings 2020-08-17 14:11:17 +01:00
John Cupitt 0d9dce4326 move vips-operators.h into the header
doxy hates #include inside classes
2020-08-17 10:58:49 +01:00
Kyle Schwarz 557bc5f6b4 Don't check g_signal_connect()'s return 2020-08-02 10:16:55 -04:00
Kyle Schwarz fe815ff587 Add C++ bindings for new_from_memory_steal()
new_from_memory_steal() will create a new image with the input
buffer and will "move" the data into the image. The buffer is then
managed by the image, and will be freed when it goes out of scope.
2020-08-01 21:58:14 -04:00
John Cupitt 105e56939a update cplusplus API for 8.10 2020-07-05 22:38:08 +01:00
Kleis Auke Wolthuizen e5323b070b Update C++ binding and function list 2020-06-18 14:45:14 +02:00
John Cupitt 78f927e606 revide comments in cpp binding 2020-03-27 11:42:58 +00:00
jaubourg 28b4c918b6 allow null image as source for assignment and copy constructor: fixes #1595 2020-03-27 02:46:57 +01:00
Kleis Auke Wolthuizen 31bf0e3cb7 Update function list for stream -> source rename 2020-01-01 12:28:18 +01:00
John Cupitt 95444d0849 rename stuff in the C++ API for stream -> source 2019-12-30 17:49:41 +00:00
John Cupitt 4c5873809f experiment with renaming stream
rename as VipsConnection, VipsSource, VipsTarget etc.

see https://github.com/libvips/libvips/issues/1494#issuecomment-569498619

renamed with this script:

```

set -e

edit() {
        sed -i -E "$1" rename
}

for i in $*; do
        cp $i rename

        edit s/VIPS_STREAMOU/VIPS_TARGET_CUSTOM/g
        edit s/VIPS_STREAMO/VIPS_TARGET/g
        edit s/VIPS_STREAMIU/VIPS_SOURCE_CUSTOM/g
        edit s/VIPS_STREAMI/VIPS_SOURCE/g
        edit s/VIPS_STREAM/VIPS_CONNECTION/g

        edit s/vips_streamou/vips_target_custom/g
        edit s/vips_streamo/vips_target/g
        edit s/vips_streamiu/vips_source_custom/g
        edit s/vips_streami/vips_source/g
        edit s/vips_stream/vips_connection/g

        edit s/VipsStreamou/VipsTargetCustom/g
        edit s/VipsStreamo/VipsTarget/g
        edit s/VipsStreamiu/VipsSourceCustom/g
        edit s/VipsStreami/VipsSource/g
        edit s/VipsStream/VipsConnection/g

        # eg. VIPS_TYPE_STREAM or VIPS_IS_STREAM
        edit "s/VIPS_([A-Z]+)_STREAMOU/VIPS_\1_TARGET_CUSTOM/g"
        edit "s/VIPS_([A-Z]+)_STREAMO/VIPS_\1_TARGET/g"
        edit "s/VIPS_([A-Z]+)_STREAMIU/VIPS_\1_SOURCE_CUSTOM/g"
        edit "s/VIPS_([A-Z]+)_STREAMI/VIPS_\1_SOURCE/g"
        edit "s/VIPS_([A-Z]+)_STREAM/VIPS_\1_CONNECTION/g"

        edit s/streamou/target_custom/g
        edit s/streamo/target/g
        edit s/streamiu/source_custom/g
        edit s/streami/source/g

        # various identifiers which also change
        edit s/is_a_stream/is_a_source/g
        edit s/find_load_stream/find_load_source/g
        edit s/find_save_stream/find_save_target/g
        edit s/new_from_stream/new_from_source/g
        edit s/write_to_stream/write_to_target/g
        edit s/vips_thumbnail_stream/vips_thumbnail_source/g

        # eg. vips_webpload_stream
        edit "s/vips_([a-z]+)load_stream/vips_\1load_source/g"

        # eg. vips_webpsave_stream
        edit "s/vips_([a-z]+)save_stream/vips_\1save_target/g"

        mv rename $i
done
```
2019-12-29 21:40:21 +00:00