Commit Graph

89 Commits

Author SHA1 Message Date
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
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
John Cupitt 562da3e5ab rename new_from_filename as new_from_file
So VipsStreami matches VipsImage. Same for new_to_filename.
2019-11-22 17:13:20 +00:00
John Cupitt 123c52be70 revert to call-by-value for c++ API 2019-11-13 08:44:59 +00:00
John Cupitt 92521c0dc6 add options back to VInterpolate
since we might use them in the future
2019-11-12 14:03:25 +00:00
John Cupitt b8ea3f8442 update cpp interface for stream variable rename 2019-11-11 09:24:45 +00:00
Kleis Auke Wolthuizen b49910d270 Add support for streaming in the C++ binding
See: libvips/libvips#1443.
2019-11-10 13:46:29 +01:00
Kleis Auke Wolthuizen 42bb8f51b9 Support std::vector within the image_get/set_array_int functions 2019-07-15 15:29:19 +02:00
Tomáš Szabo 1b54684650
Add set and get for an array of ints 2019-07-05 17:29:11 +02:00
Kleis Auke Wolthuizen 8ac6574560 Change 'char *' to 'const char *' in the C++ binding
+ some documentation improvements.
2019-04-24 16:02:52 +02:00
John Cupitt bae484ba2c remove old c++ and py interfaces
Instead, use the new(er) vips8 C++ interface, and the new(er) python
interface in pypi.

https://pypi.org/project/pyvips
2019-04-12 16:27:28 +01:00
John Cupitt 38bd4f1be4 break lines at 80 cols in gen-operators
plus tiny cleanups
2019-02-03 13:18:22 +00:00
kleisauke 241f52fb54 Fix compatibility with Makefile
+ all operations are now provided with a C++ style comment block.
2019-02-03 12:13:04 +01:00
kleisauke de27688eea Use pyvips to generate the C++ binding 2019-02-01 21:45:12 +01:00
John Cupitt 75ebb162f9 Merge branch 'master' into add-icc-fallbacks 2019-01-12 13:58:30 +00:00
Kleis Auke Wolthuizen c397543c8e Add a std::string overload function for new_from_buffer 2019-01-11 13:53:09 +01:00
Kleis Auke Wolthuizen bd5711ef8e Add remove function to the C++ binding
To remove an item of metadata.
2019-01-10 17:39:45 +01:00
Kleis Auke Wolthuizen cd340d0ace Add missing C++ functions
The functions has_alpha() and copy_memory() were missing from the C++ binding.
2019-01-10 14:56:04 +01:00
John Cupitt b8a158b69b seems to work
added some more consts as well
2019-01-03 13:34:13 +00:00
John Cupitt 26d0e312c6 add bandand/or/eor to the cpp binding
oops, they had been dropped

thanks clcaalu

see https://github.com/libvips/libvips/issues/1165
2018-11-16 13:10:22 +00:00
Fingolfin1196 c7f828e968
Update VImage8.h
Should fix the “nullptr undeclared” issue.
2018-10-10 15:57:50 +02:00
Fingolfin1196 b0f21d2727
Update VImage8.h
VObject now has an is_null check, which is then used in VImage.
2018-10-10 15:48:23 +02:00
John Cupitt 0e3cac1a72 make cpp overloads const
all overloads are declared const now, where possible

also revised cpp examples and ran them to check

see https://github.com/jcupitt/libvips/issues/983
2018-06-11 15:24:11 +01:00
John Cupitt ca6410e1a6 make members and getters "const" in cpp api
eg. VImage::width() is now

	int VImage::width() const;

ie. it does not alter the image objects. In factr we can mark almost all
members const.

see https://github.com/jcupitt/libvips/issues/983
2018-06-11 14:30:17 +01:00
Lovell Fuller cea15b2d8f Prevent compiler warning with size_t to int cast 2018-02-03 18:05:07 +00:00
John Cupitt 10eef89a7f update c++ bindings 2017-11-26 17:45:04 +00:00
John Cupitt e52d2c9f7f add composite shortcut to cpp
two composite just two images
2017-10-06 16:56:20 +01:00
John Cupitt f0aeed1c64 regenerate cpp binding for new methods 2017-10-06 16:39:52 +01:00
Lovell Fuller 8bd2208e5e cplusplus: offset coords are int rather than double 2017-09-14 10:25:15 +01:00
John Cupitt 1504fb0249 use bandjoin_const from cpp 2017-04-29 10:17:38 +01:00
John Cupitt 7882602dfe C/C++ done
python next
2017-04-26 14:52:28 +01:00
John Cupitt fd6006bacb Merge branch 'master' into add-smartcrop 2017-03-13 20:41:22 +00:00
John Cupitt 8062a4b1e6 update cpp API for arg order changes
hopefully user code won't see this
2017-03-13 13:28:37 +00:00
John Cupitt d40773515c add smartcrop 2017-03-01 15:41:26 +00:00
John Cupitt b140c18a37 various tweaks to calm coverity
passes cleanly now
2017-01-20 08:55:13 +00:00
John Cupitt 7d0c821a6e add tests for thumbnail 2016-11-02 13:51:09 +00:00
Lovell Fuller e1aef0445b MSVC requires __declspec first for return by reference
Ensure consistent modifier order across all exported functions
Move assignment operators to be "outside" definitions to aid export
2016-10-15 22:02:24 +01:00
John Cupitt 8503065faa regen cpp binding
need to update for the xshrink -> hshrink change
2016-08-18 16:03:33 +01:00
John Cupitt 2dc43198e4 final fixups 2016-07-24 14:47:22 +01:00
John Cupitt eb7768ff61 Merge branch 'master' into add-assignment-overloads 2016-06-11 20:15:42 +01:00
John Cupitt 28efdf1695 working! 2016-06-11 17:36:06 +01:00
John Cupitt 8667dd0d18 VImage::ifthenelse() fix
the prototype was missing =0 on options for scalar constant forms
2016-06-10 17:34:41 +01:00
John Cupitt 93951fd04a start adding 2016-06-10 14:57:46 +01:00
John Cupitt ad56c57830 add implementation for VImage::write()
oops, it was missing

also, change the return type from void to VImage. This makes chaining
possible, eg.:

   VImage memory = im.write( Viameg::new_memory() );
2016-06-10 14:22:08 +01:00
Henri Chain 5678f93257 Add buffer-write support for Radiance 2016-05-23 16:37:28 +02:00