Commit Graph

1536 Commits

Author SHA1 Message Date
Fabian Giesen
282576fbfb Merge branch 'rygorous-fix-issue-276' into dev 2017-07-22 19:42:23 -07:00
Fabian Giesen
9b6652fe3a Merge branch 'rygorous-sprintf_reformat' into dev 2017-07-22 19:41:40 -07:00
Fabian Giesen
b1d058e5c7 stb_truetype: Fix typo, as pointed out by oyvindjam.
Fixes #471.
2017-07-22 19:37:03 -07:00
Fabian Giesen
30c7c6b583 stb_truetype: Support reading OS/2 vertical metrics
...as present in MS TrueType files. Since this table is optional,
the new stbtt_GetFontVMetricsOS2 has a return value and can fail.
This is a replacement for pull request #463.

Fixes #463.
2017-07-22 19:24:41 -07:00
Fabian Giesen
49c7f1b397 stb_image: Optimise vertical flip.
This incorporates #462, but also factors everything into one
function that is shared between 8-bit integer, 16-bit integer, and
float pixels (vertical flip operates on rows of bytes and doesn't
really care), and finally always uses a 2k on-stack buffer without
dynamic memory allocation, doing multiple memcpys per row if
necessary. Not only does this remove an out-of-memory failure mode,
it is also preferable for large images, since it's more
L1-cache-firendly this way.

Fixes #462.
2017-07-22 18:43:36 -07:00
Fabian Giesen
501812f307 stb_leakcheck: Fix warnings.
1. const char* for __FILE__ (string literals are const)
2. Use %zd to print size_t where available; the only real problem
   here is Visual C++. Use long long on the VC++ vers that support
   64-bit targets but not %zd, int on the even older 32-bit-only
   VC++ vers that don't support "long long" either.

Fixes #459. I think. (It's hard to be sure since the issue doesn't
state the exact warning message.)
2017-07-22 18:03:52 -07:00
Fabian Giesen
931662ae6e stb_image_write: Warning fix. 2017-07-22 16:04:07 -07:00
Fabian Giesen
25a2596b2f stb_image: Fix rounding during unpremultiply.
This is the same method as in pull request #455, but using integer
arithmetic instead of converting to float.

Fixes #455.
2017-07-22 15:59:41 -07:00
Fabian Giesen
463dd85f1f Merge branch 'Reedbeta-fix-vs2015-warnings' into dev 2017-07-22 15:51:28 -07:00
Fabian Giesen
3ef1cb174e Merge branch 'fix-vs2015-warnings' of https://github.com/Reedbeta/stb into Reedbeta-fix-vs2015-warnings 2017-07-22 15:51:14 -07:00
Fabian Giesen
69ef103721 Merge branch 'poppolopoppo-load_16_variants' into dev 2017-07-22 15:42:58 -07:00
Fabian Giesen
4868b5283b stb_dxt: Update contributors list. 2017-07-22 15:40:27 -07:00
Fabian Giesen
316571b395 stb_image: 3-char indent and other minor formatting issues. 2017-07-22 15:38:56 -07:00
Fabian Giesen
b226e71ce6 Merge branch 'load_16_variants' of https://github.com/poppolopoppo/stb into poppolopoppo-load_16_variants 2017-07-22 15:35:32 -07:00
Fabian Giesen
31f8c2109b Merge branch 'ppiastucki-bc4' into dev 2017-07-22 15:29:50 -07:00
Fabian Giesen
e9b8f7ea35 Merge branch 'bc4' of https://github.com/ppiastucki/stb into ppiastucki-bc4 2017-07-22 15:28:27 -07:00
Fabian Giesen
14c2993310 Merge branch 'realitix-robustify' into dev 2017-07-22 15:23:14 -07:00
Fabian Giesen
b53457130d Merge branch 'robustify' of https://github.com/realitix/stb into realitix-robustify 2017-07-22 15:22:57 -07:00
Fabian Giesen
7a6251689f Merge branch 'h-s-c-stb_dxt_static' into dev 2017-07-22 15:13:13 -07:00
Fabian Giesen
99df133ae4 Merge branch 'stb_dxt_static' of https://github.com/h-s-c/stb into h-s-c-stb_dxt_static 2017-07-22 15:12:10 -07:00
Fabian Giesen
897e6e8314 Merge branch 'h-s-c-stbi_no_stdio-fix' into dev 2017-07-22 15:11:03 -07:00
Fabian Giesen
b119e6d1d2 Merge branch 'stbi_no_stdio-fix' of https://github.com/h-s-c/stb into h-s-c-stbi_no_stdio-fix 2017-07-22 15:10:44 -07:00
Fabian Giesen
24f2522e00 Merge branch 'h-s-c-stb_dxt-freestanding' into dev 2017-07-22 15:08:40 -07:00
Fabian Giesen
e1f17c3c6c Merge branch 'stb_dxt-freestanding' of https://github.com/h-s-c/stb into h-s-c-stb_dxt-freestanding 2017-07-22 15:08:33 -07:00
Fabian Giesen
aaa793350e Merge branch 'cdwfs-stbtt_const_fontdata' into dev 2017-07-22 15:06:09 -07:00
Fabian Giesen
530c05ee61 Merge branch 'stbtt_const_fontdata' of https://github.com/cdwfs/stb into cdwfs-stbtt_const_fontdata 2017-07-22 15:05:56 -07:00
Fabian Giesen
3870b2fe3b Merge branch 'DanielGibson-write-jpg' into dev 2017-07-22 15:04:22 -07:00
Fabian Giesen
526ed469e2 Merge branch 'write-jpg' of https://github.com/DanielGibson/stb into DanielGibson-write-jpg 2017-07-22 15:03:35 -07:00
Fabian Giesen
2da81a6433 stb_vorbis: MinGW has alloca defined in malloc.h.
Fixes issue #461.
2017-07-22 14:39:52 -07:00
Fabian Giesen
cc7f1d1e6d stb_image: Documentation fixes.
req_comp is now desired_channels and *comp is *channels_in_file.

Fixes issue #466.
2017-07-21 22:35:01 -07:00
Fabian Giesen
0674660451 stb_image: Relax raw_len validation for non-interlaced PNGs.
We used to require exact match between img_len and raw_len for
non-interlaced PNGs, but the PNG in issue #276 has extra bytes
(all zeros) at the end of the compressed DEFLATE stream.

The PNG spec doesn't have anything to say about it (that I
can tell), and if libpng accepts this, who are we to judge.

Fixes issue #276.
2017-07-21 21:55:37 -07:00
Fabian Giesen
481db7501c stb_sprintf: Remove some gratuitous gotos 2017-07-21 20:31:58 -07:00
Fabian Giesen
7b8955bfaa stb_sprintf: More whitespace cleanups post clang-format 2017-07-21 20:23:50 -07:00
Fabian Giesen
cccbc3f5a9 stb_sprintf: Clean up the mess with clang-format 2017-07-21 20:17:34 -07:00
Sean Barrett
423298e071 fix SDF documentation and add example code 2017-07-12 09:27:04 -07:00
Sean Barrett
38479bc58c stb_truetype version number 2017-07-12 07:25:20 -07:00
Sean Barrett
9a2e92e818 SDF documentation 2017-07-12 07:10:13 -07:00
Sean Barrett
fa98e4f6cf Merge branch 'master' into sdf
Conflicts:
	stb_truetype.h
2017-07-12 06:42:02 -07:00
Sean Barrett
5defc65c23 Initial SDF support 2017-07-12 06:34:52 -07:00
Sean Barrett
d74530cd10 fix stb_fclose to do a better job of preserving content 2017-07-05 18:01:53 -07:00
Daniel Gibson
be21113512 stb_image_write.h: Allow setting custom zlib compress function for PNG
The builtin stbi_zlib_compress does not compress as well as zlib or
miniz (which is not too surprising as it's <200 LOC), thus PNGs created
by stb_image_write are about 20-50% bigger than PNGs compressed with
libpng.
This change lets the user supply a custom deflate/zlib-style compress
function, which improves compression a lot. This was requested in #113.

Example for zlib:

#include <zlib.h>
unsigned char* compress_for_stbiw(unsigned char *data, int data_len,
                                  int *out_len, int quality)
{
  uLongf bufSize = compressBound(data_len);
  // note that buf will be free'd by stb_image_write.h
  // with STBIW_FREE() (plain free() by default)
  unsigned char* buf = malloc(bufSize);
  if(buf == NULL)  return NULL;
  if(compress2(buf, &bufSize, data, data_len, quality) != Z_OK)
  {
    free(buf);
    return NULL;
  }
  *out_len = bufSize;

  return buf;
}
#define STBIW_ZLIB_COMPRESS compress_for_stbiw
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image_write.h"
// ...
2017-07-04 19:34:31 +02:00
Daniel Gibson
e6bbecd3a9 stb_image_write.h: Set PNG compress lvl via stbi_write_png_level
This allows the user to change the deflate/zlib compress level used for
PNG compression by changing a global variable.
2017-07-04 18:07:33 +02:00
Daniel Gibson
f0baa0c287 stb_image_write.h: Fix compilation in C++11 mode
clang says:
error: non-constant-expression cannot be narrowed from type 'int'
      to 'unsigned char' in initializer list [-Wc++11-narrowing]

so I explicitly cast affected stuff to unsigned char.
2017-07-04 16:55:50 +02:00
Nathan Reed
cbca86de65 Add myself to contributors list 2017-05-11 22:59:43 -07:00
Nathan Reed
de080e6d0b Fix warning about unreachable code 2017-05-11 22:53:03 -07:00
Nathan Reed
fb524e6768 Fix warning about context parameter being unused when STBIR_MALLOC and STBIR_FREE have their default definitions. 2017-05-11 22:51:19 -07:00
Nathan Reed
76a1a1c408 Fix variable-shadowing warnings 2017-05-11 22:49:19 -07:00
Nathan Reed
7091cb6ed6 Fix integer conversion warning 2017-05-11 22:48:46 -07:00
PopPoLoPoPpo
9bcda8bb1c Add stbi_load_16() variants to load from memory or callbacks 2017-05-05 00:39:08 +02:00
Sean Barrett
84e42c2e8d fix stbi_shiftsigned to be shifting a value that's unsigned 2017-04-28 23:35:37 -07:00