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
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
John Cupitt
42b4474356
stray decl
2019-11-10 18:03:38 +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
John Cupitt
503e83e232
update resize C++ example
2019-08-04 17:43:35 +01:00
John Cupitt
01a82646a1
experiment with minimise in insert
...
try minimising sub after we've passed it
2019-07-27 13:40:18 +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
e179e3b11f
premultiply alpha (if necessary) in affine
2017-11-18 10:59:20 +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
John Cupitt
d601c5ee19
remmove extra null check
...
see https://github.com/jcupitt/libvips/issues/761
2017-10-01 19:08:51 +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
2be0b97dce
switch to g_warning()_/g_info()
...
we had vips_warn() and vips_info(), but they are a bit crappy ... switch
to g_warning() and g_info() instead
see https://github.com/jcupitt/libvips/issues/544
2017-01-03 15:52:27 +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
0c7053bae1
Merge branch 'master' of github.com:jcupitt/libvips
2016-08-04 12:38:04 +01:00
John Cupitt
ad046680f7
tiny polish to cpp
2016-08-04 12:37:48 +01:00
John Cupitt
d78f87702d
missing unref in cpp binding
...
operation was not unreffed if build failed
2016-07-29 15:09:53 +01:00
John Cupitt
bd9cc25278
tiny
2016-07-29 10:16: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
83b1c33441
add tests for C++ += etc
...
all seems to work!
2016-06-11 20:14:48 +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
John Cupitt
d1e7b78bbd
Merge branch 'master' of github.com:jcupitt/libvips
2016-04-17 10:24:18 +01:00
John Cupitt
567ea0c1c2
comment reformat
2016-04-17 10:22:20 +01:00
Lovell Fuller
baa175c4c0
Allow MSVC to link CPP overloads introduced in da43a40
2016-04-15 22:16:29 +01:00
John Cupitt
da43a4041f
move cpp overloads outside class
...
so they are true functions and we can take their address
see https://github.com/jcupitt/libvips/issues/409
2016-03-25 06:09:07 +00:00
John Cupitt
c2be771342
fix load from buffer, update APIs
2016-02-12 20:04:46 +00:00
John Cupitt
153886d2eb
add svgload
...
load from bubffer is not working though, strange ... it seems to be
generating a 16-biit image?
2016-02-09 11:01:12 +00:00
John Cupitt
9f566fa4a9
update cplusplus binding
2016-02-08 20:26:22 +00:00
John Cupitt
8cffd136e9
finish reduce
...
and fix up bicubic a bit, it works better on int32 images now
2016-02-07 17:41:39 +00:00
Lovell Fuller
20ae80397d
Enable compilation of vips8 C++ bindings with MSVC
...
Add VIPS_CPLUSPLUS_API macro to allow DLL creation
2016-01-11 17:56:02 +00:00
John Cupitt
50db131865
VImage::get_typeof() returns GType
...
it was int, causing some compiler warnings on some platforms.
see https://github.com/jcupitt/libvips/issues/362
2016-01-09 20:27:14 +00:00
John Cupitt
bf64fde872
regen C++ interface
2016-01-09 15:08:17 +00:00
John Cupitt
66373e9b41
remove exception specs from vips8 C++ interface
...
We had exception specs on the C++ interface, but C++11 does not support
them and some compilers have never honoured them. Remove all specs.
Thanks Lovell.
See https://github.com/jcupitt/libvips/issues/362
2016-01-09 14:52:05 +00:00
John Cupitt
ca51b46e9a
docs, c++, all done
2015-11-07 20:54:00 +00:00
John Cupitt
2b2bf30fbd
oops, update cpp binding
2015-10-06 22:45:37 +01:00
John Cupitt
01025328da
fix some cppcheck warnings
...
try:
$ cppcheck -f --enable=warning,performance,portability -j4 . 2> err.txt
there are still some left, see:
see https://github.com/jcupitt/libvips/issues/331
2015-09-28 22:01:15 +01:00
John Cupitt
f38c3956af
better test of C++ API
2015-05-05 09:10:08 +01:00
John Cupitt
db4ee8d6b6
fix a ref leak in the C++ API
...
see https://github.com/jcupitt/libvips/issues/290
thanks huskier
added a write-to-buffer example as well
2015-05-04 19:44:56 +01:00
John Cupitt
ad017dc56f
add more C++ convenience functions
...
flipver() etc.
2015-04-24 10:10:44 +01:00
John Cupitt
ded01df512
c++: add [], change ()
...
() used to return element zero, just return a vector
add [] overload
2015-03-01 10:43:02 +00:00
John Cupitt
367819b5cc
oops
2015-02-28 22:56:09 +00:00
John Cupitt
5d912fdbbb
add [] overload to python
...
index and slice image bands
2015-02-28 16:53:06 +00:00
Maurus Cuelenaere
dba1b1d81b
Add ImageMagick buffer support
...
This commits adds buffer support for the ImageMagick backend, using the Blob
API.
2015-02-15 21:45:17 +01:00
John Cupitt
ce557ba6de
add VInterpolate wrapper class
...
to cplusplus, see https://github.com/jcupitt/libvips/issues/230
2015-01-30 21:19:58 +00:00
John Cupitt
6f101ae86b
remove VImage::scale()
...
it clashed with the VipsScale operator, see
https://github.com/jcupitt/libvips/pull/213
2015-01-06 12:00:11 +00:00
John Cupitt
6440830315
required C++ output params were broken
...
see https://github.com/jcupitt/libvips/pull/213
this now works:
VImage rows;
VImage cols = in.profile( &rows );
2015-01-06 11:51:53 +00:00
John Cupitt
32625146db
cpp can set enums from strings
...
eg.
set("extend", "copy")->
2014-12-30 11:27:04 +00:00
John Cupitt
ba6f8044af
final doc fixups
...
and update cplusplus binding
2014-12-18 17:20:59 +00:00
John Cupitt
c120edde0d
get make dist going
2014-11-18 14:52:52 +00:00
John Cupitt
71c5069b42
revise cplusplus gen scripts
2014-11-16 12:19:04 +00:00
John Cupitt
7ae35c3edb
start pydocs again
2014-11-05 14:56:59 +00:00
John Cupitt
8267dd2621
naming improvements
...
and test_overloads.cpp has started working
2014-11-05 14:04:46 +00:00
John Cupitt
bbf49be063
cleanup and bump to 7.42
2014-11-03 12:01:53 +00:00
John Cupitt
ca6eb088f3
add () overload for read pixel
2014-10-31 20:24:40 +00:00
John Cupitt
5694bf6f4c
add all new() and write() methods
...
VImage::new_from_buffer() etc.
2014-10-31 19:15:29 +00:00
John Cupitt
2a992375fe
add more type conversions
...
so we automatically do int and double -> doublevec and intvec
2014-10-31 18:11:26 +00:00
John Cupitt
35bcd4eaa0
reformat
2014-10-30 22:11:43 +00:00