Commit graph

69 commits

Author SHA1 Message Date
Peter Kokot
dcc529aff4 Remove HAVE_SYS_VARARGS_H
Outdated systems used to provide the `<varargs.h>` and in case of PHP
`<sys/varargs.h>`. [1]

Current systems have `<stdarg.h>` which is also a C89 standard header
and systems have it always present. [2]

[1] https://en.wikipedia.org/wiki/Stdarg.h#varargs.h
[2] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
2018-09-16 20:50:20 +02:00
Christoph M. Becker
c8ba185cf9 Remove unused function 2018-02-09 17:39:24 +01:00
Christoph M. Becker
68a0639c8f Fix #74744: gd.h: stdarg.h include missing for va_list use in gdErrorMethod 2017-06-11 17:17:01 +02:00
Christoph M. Becker
703c0043a0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73893: A hidden danger of death cycle in a function of gd

# Conflicts:
#	ext/gd/libgd/gd_rotate.c
2017-01-10 20:15:05 +01:00
Christoph M. Becker
15837bab8c Fix #73893: A hidden danger of death cycle in a function of gd
We remove the unused, but potentially dangerous functions.
2017-01-10 19:52:06 +01:00
Christoph M. Becker
500b496f8e Implement #69606: Support BMPs (added in GD 2.1.0)
We add PHP bindings for libgd's features to read and write BMP files, which
are available as of libgd 2.1.0.

As PHP's bundled libgd doesn't yet include the respective features of the
external libgd, we add these.
2017-01-04 14:55:02 +01:00
Christoph M. Becker
0f49aa3287 Merge branch 'pull-request/2151' 2016-10-17 10:37:38 +02:00
Christoph M. Becker
432e16cb58 Unify error handling of bundled and external libgd
There's no need anymore to call an own error handler directly. Instead we
register our error handler and call libgd's error functions (which will
forward). We do this regardless of compiling with the bundled or an external
libgd.
2016-10-07 01:13:49 +02:00
Christoph M. Becker
ec591b555f Change gdImageTrueColorToPalette() to return success/failure
We're porting the relevant changes from
<34a00a40>.

We also check the return value in the PHP binding, and throw E_WARNING if
the conversion failed.
2016-10-03 12:02:31 +02:00
Christoph M. Becker
2a305b38b7 Implement request #33066: Add GD Image Function gdImageOpenPolygon()
gdImageOpenPolygon() has been introduced with líbgd 2.0.29, so we finally
add a PHP binding for it, and port the respective libgd functionality to
PHP's bundled libgd.
2016-10-02 20:27:58 +02:00
Christoph M. Becker
82a8e57f37 Add support for gdEffectMultiply
gdLayerMultiply() has been introduced in libgd 2.1.1, and as such would have
been already available for imagelayereffect() with a system libgd. We port
the respective code to the bundled libgd, and also make IMG_EFFECT_MULTIPLY
available to userland.
2016-10-02 19:10:13 +02:00
Christoph M. Becker
d0f14a4429 Switch to libgd anti-aliased drawing API
Instead of rolling our own in the bundled libgd, we use libgd's anti-aliased
drawing API. This way imageantialias() is also available, when built against
a system libgd.
2016-10-02 13:16:40 +02:00
Christoph M. Becker
e3b889700b Remove further remains of the old antialiasing support
Curiously, while the external GD claims "just a few vestiges after switching
to the fast, memory-cheap implementation from PHP-gd", that stuff was still
in the bundled GD.
2016-09-30 17:04:37 +02:00
Christoph M. Becker
932c20fb8d Port variable image resolution support from libgd 2.1.0
The PHP binding for this feature will be submitted as a separate PR.
2016-09-19 19:00:58 +02:00
Stanislav Malyshev
b7a7b1a624 trailing whitespace removal 2015-01-10 15:07:38 -08:00
Veres Lajos
06fdf359e3 typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-23 14:52:47 -08:00
Scott MacVicar
796bfb0bd0 imagettftext() uses the last charactermap it found and not the one you want
Summary:
This caused issues when you picked a font with multiple maps, it wouldn't
pick the unicode version but instead pick the last one it saw. Change so
we cache on a per encoding level. There was even a todo list item in the code.

In an ideal world we can probably iterate through at font write time.

Test Plan:
See said unit test, it's Apache Licensed font included
2014-02-16 22:49:31 -08:00
Remi Collet
b0cf340eef Merge branch 'PHP-5.5'
* PHP-5.5:
  Fixed bug #64707 missing declaration after dd0399f
2013-04-25 06:41:01 +02:00
Remi Collet
182fef46a9 Fixed bug #64707 missing declaration after dd0399f 2013-04-25 06:40:55 +02:00
Remi Collet
5897696a02 Merge branch 'PHP-5.5'
* PHP-5.5:
  We need both gdImageCreateFromJpeg* and gdImageCreateFromJpeg*Ex
  gd: fix proto comment
2013-04-24 16:11:34 +02:00
Remi Collet
dd0399f5c6 We need both gdImageCreateFromJpeg* and gdImageCreateFromJpeg*Ex
The new (Ex) functions are used with the new ignore_warning parameter

The standard functions are used in _php_image_create_from_string,
sent as a function pointer, and call without this optional parameter.
2013-04-24 16:07:50 +02:00
Pierre Joye
111123af4f conflict 2013-03-26 11:24:00 +01:00
Pierre Joye
5ae6f582fb fix regression, take #2 (merge issue due to git 1.8 default setting changes) 2013-03-26 11:23:15 +01:00
Pierre Joye
f05972ddbf - fix regression bug24155.phpt and bug39366.phpt 2013-03-22 09:21:11 +01:00
Pierre Joye
780c6e0a9c - add affine matrix helper for translate, scale, rotate and shear 2013-03-20 11:01:37 +01:00
Pierre Joye
22159fb7b7 - add new interpolation method
. imagescale
  . imageaffine
  . replace imagerotate with new generic and optimized new implementations
  . imagesetinterpolationmethod, to set the default interpolation to be
    used with the new functions
  . add imagepalettetotruecolor
2013-03-20 07:46:59 +01:00
Pierre Joye
0c32a18d4c - clean and enable threshold 2013-02-28 19:22:06 +01:00
Pierre Joye
a991360344 - add image crop support 2013-02-28 17:24:23 +01:00
Pierre Joye
af5bf879aa - add image flip API support 2013-02-27 10:39:09 +01:00
Pierre Joye
cccc349aa5 - initial webp support, rely on libpx, final version will be either w/o dep or using libwebp (to be released by g) 2010-10-04 22:30:35 +00:00
Pierre Joye
6b3e2b1910 - expose gdImageGetTrueColorPixel in bundled lib
- fix bundled lib build
2009-05-26 13:08:59 +00:00
Pierre Joye
24225b88bd - silent warning or possible linker error on win 2009-04-07 13:01:27 +00:00
Takeshi Abe
40d3b2f7f3 MFH: added pixelate filter. 2009-01-14 19:06:12 +00:00
Pierre Joye
789eb9cc9a - fix build on linux (static)
- add gd[Format]Version[Int|String] first methods to work around the png
  header issues
2008-11-06 10:14:37 +00:00
Ilia Alshanetsky
79325e3c55 MFH: Fixed function definition 2007-09-11 23:34:25 +00:00
Pierre Joye
256de924c7 - MFH: @DOC add constants GD_MAJOR_VERSION, GD_MINOR_VERSION, GD_RELEASE_VERSION
GD_EXTRA_VERSION and GD_VERSION_STRING
2007-06-03 17:46:18 +00:00
Scott MacVicar
65408b1520 MFH: Fixed bug #40130 (TTF usage doesn't work properly under Netware). 2007-04-23 15:17:47 +00:00
Pierre Joye
6ef9642b16 - MFH:
- remove double lock (tween colors cache is created in each thread, the
   cache mutex is already locked earlier)
 - #40858, other TS improvements for gd freetype cache management
   cache initialization and shutdown is now done in MINIT and MSHUTDOWN.
2007-04-04 00:47:55 +00:00
Nuno Lopes
d43c9c11f4 fix compiler warnings introduced in my previous commit 2006-09-16 19:07:46 +00:00
Nuno Lopes
fe9d3b16c5 mark some huge arrays as read-only 2006-09-15 15:11:54 +00:00
Pierre Joye
6f632a77c3 - MFH: add a weak/tolerant mode to the jpeg loader 2006-02-05 15:53:58 +00:00
Pierre Joye
1b546b9f77 - MFH: add filter option to imagepng
- add constants
  PS: If someone can check why #include "png.h" fails, it will be cleaner
2006-01-27 13:36:30 +00:00
Pierre Joye
5dd9ad8f53 -fix build as shared or separate from main build (bfrance) 2005-10-09 12:06:27 +00:00
Pierre Joye
c8ce18c155 - allow to keep or ignore the transparent color in imagerotate (thx
Ken Coar to report this "bug")
- be sure to restore alphablending in imagefill
- use zend_parse_parameter in imagerotate
2005-03-27 23:43:52 +00:00
Joe Orton
0d3884fed1 Move global symbols defined by bundled copy of libgd into private
php_gd_* namespace, to avoid symbol conflicts with, for instance,
another Apache module which loads a different copy of libgd.
2004-08-31 16:41:29 +00:00
Stefan Esser
e58e6efd4d Merge changes from GD 2.0.28 2004-07-22 22:38:59 +00:00
Ilia Alshanetsky
9a50bd2de1 Missing part of the upgrade patch. 2004-05-10 02:18:49 +00:00
Derick Rethans
2c259a7979 - Add fontpath for win98/XP (Patch by Friedhelm Betz) 2004-04-12 21:42:42 +00:00
Ilia Alshanetsky
8b079070a3 Synchronized bundled GD library with GD 2.0.22. 2004-03-29 18:20:33 +00:00
Ilia Alshanetsky
36db28c8db CS fixes. 2003-12-28 20:11:08 +00:00