Commit Graph

189 Commits

Author SHA1 Message Date
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
John Cupitt d6a6d7ae71 set of overloads for new cpp API
all the usual ones .. compiles, but untested
2014-10-30 21:53:24 +00:00
John Cupitt 4173ddfa9c add make constant image 2014-10-29 12:39:25 +00:00
John Cupitt d012cef3b4 add some simple extras
.bandjoin(), .bandsplit(), .sin() etc etc
2014-10-29 09:47:02 +00:00
John Cupitt cabb4488be full cpp wrapper compiles 2014-10-28 10:12:06 +00:00
John Cupitt 63d4370043 split to a separate branch 2014-10-27 18:17:49 +00:00
John Cupitt 070a437f61 cleanups ready for proto gen 2014-10-27 14:17:33 +00:00
John Cupitt b5cd4ac144 oops 2014-10-27 13:49:09 +00:00
John Cupitt 4f588ce908 package up new vips8 C++ API 2014-10-27 13:41:44 +00:00
John Cupitt 266e120676 new C++ interface works!
phew
2014-10-27 12:57:28 +00:00
John Cupitt b1609e8006 cplusplus sort-of working
refs need fixing up
2014-10-27 08:44:10 +00:00
John Cupitt 66445c359d more cpp tinkering 2014-10-24 14:57:01 +01:00
John Cupitt ceb143a22a another stab at a C++ API design 2014-10-24 10:32:50 +01:00
John Cupitt 73cb17e925 more experimentation 2014-10-22 14:58:53 +01:00
John Cupitt 952241a426 more cplusplus hackery 2014-10-21 14:55:38 +01:00
John Cupitt 904803510d box/unbox hooks in C API
should help us pass C++ objects as args
2014-10-21 09:27:34 +01:00
John Cupitt f2898a8e3b more C++ hacking 2014-10-20 14:54:03 +01:00
John Cupitt 022150ceea start vips8++ 2014-10-20 11:50:34 +01:00