Commit Graph

157 Commits

Author SHA1 Message Date
Lovell Fuller 1f5d6f6bc9
Add gifsave operation, depends on cgif and libimagequant (#2381) 2021-08-22 18:11:41 +01:00
Rosen Penev 3f57c0a515 VImage: reserve vector before push_back loop
Avoids unnecessary resizes.

Found with clang-tidy's performance-inefficient-vector-operation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-07-11 00:58:56 -07:00
John Cupitt 5cc4e07af7 better c++ intro text 2021-06-04 20:59:59 +01:00
John Cupitt b55860cce8 fix build with doxy disabled 2021-06-03 23:35:56 +01:00
John Cupitt 34356d24cf speelingz 2021-06-03 15:00:05 +01:00
Kleis Auke Wolthuizen b78812f200 Update C++ binding and function list 2021-05-12 11:36:24 +02:00
John Cupitt 50c96a1e3b update doxyfile for new version 2021-05-03 15:13:41 +01:00
Kleis Auke Wolthuizen 1a821f0360 Fix make uninstall with Doxygen 2021-04-22 11:59:16 +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 69fcf1b9e9
Merge branch 'master' into add-openjpeg 2021-03-27 15:22:13 +00: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 5f0be5d3dc remove obsolete doxy tag 2021-03-20 14:02:12 +00: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 a12be84098 fix make clean
we had an error in the docy bits of c++
2021-01-02 15:04:42 +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 5faf9a6326 typo in recent cpp API improvements
We had G_VALUE_TYPE instead of G_OBJECT_TYPE, oops. Thanks @lovell.

see https://github.com/libvips/libvips/pull/1812
2020-09-14 13:10:00 +01:00
John Cupitt c501e024dc integrate new C++ docs in main docs 2020-09-09 12:49:48 +01:00
John Cupitt 875c0fdf3c finish C++ doc comments 2020-09-09 11:13:22 +01:00
John Cupitt a08eb1cc64 don't add generated latex to repo 2020-09-09 08:56:26 +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 b42f72cd56 add a README.md for cpp 2020-09-06 17:47:46 +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 6cabb3e301 add doxygen to the build system
configure tests for it, make runs it, make install copies the generated
html
2020-08-17 17:54:42 +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
John Cupitt dfaabfc951 experiment with doxygen for C++ docs 2020-08-17 09:35:51 +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 9ea91810bb revise docs for _inplace
We call vips_image_inplace() automatically now, so there's no need for
clients to use this.

see https://github.com/libvips/libvips/issues/1610
2020-04-16 12:09:07 +01: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
John Cupitt e236f19f97 add fallbacks to new_from_stream
If the stream-based loaders fail, vips_image_new_from_stream() now falls
back to the old file and buffer loaders.

The file and buffer loaders already try the stream loaders first.
2019-12-10 17:19:12 +00:00
Kleis Auke Wolthuizen 2499b38403 Update C++ binding and function list
The generators use the new Introspect class of pyvips.
2019-11-29 14:51:03 +01:00