Commit Graph

1828 Commits

Author SHA1 Message Date
eb17d8a6dd Fixed grammar, spelling issues in comments 2018-01-01 18:56:36 -06:00
32a7d5ab68 Added STBI_MSC_SECURE_CRT to support newer MSVC compilers as optional
For issue #533
2018-01-01 18:54:26 -06:00
5e844ffe70 Using secure versions of CRT calls to avoid Microsoft Visual C/C++ compiler errors/warnings. 2018-01-01 18:08:30 -06:00
5c2c826df9 stb_truetype: Silence warnings of winding_lengths
Coverty scan shows potential warnings of winding_lengths. Forcing it to be a NULL fixes the issue.
2017-12-24 13:59:30 -05:00
3a969eb64c remove duplicated pr = 0
avoid warning:
Variable 'pr' is reassigned a value before the old one has been used
caused by:

    fw = pr = fl = 0;
    ...
    pr = 0;
2017-12-07 15:30:43 +00:00
de75509b1c Remove a nullptr 2017-11-27 23:42:13 -06:00
03b4bbc5d2 Fix a disposal flag mistype.
Only clear to background color if index is non-zero.
Fixed a the disposal test gif I was using - now renders properly (gif has no transparent set, but all renderers still considered it transparent.  Spec says 0 should be ignored if 0, but was confusing by saying it only in the context of the pal not existing.. but seems to be the case always.
2017-11-27 23:32:44 -06:00
28c28b0bd2 Per the contributor doc - added my name. Noticed urraka also did some work here, so hopefully didn't step on any toes.
- Fix an issue where the spec of the gif for restore to previous uses code 3, not 4.
- To get results that worked - made an assumption that "clear to background" meant "revert back to what was there before I drew", where mode 1 would revert back to the previous frame [slightly different].  If I clear to background color instead, I ended up with large opaque squares in gifs that changes their transparent colour each frame.
- Background color is supposed to be used only for pixels not rendered by the image, so took that to mean it only really affected the previous frame, or potentially any frame that used full disposal.  Since background color is allowed to be unspecified this is what lead me to believe I shouldn't use it for disposal.
- Oh, also upped the codes table to 8192 as 4096 ended up being too small for a few of my test cases.

Full disclaimer - I only read through the GIF format for this contribution, so competly could be misinterpreting the spec - but this gave me reuslts that matched Chrome.
2017-11-27 23:06:53 -06:00
87a3143fb4 GIF Loading - multiple frames;
- Allow loading a gif as multiple frames into a single buffer.  Each frame is a full image seperated by a (w * h * comp) stride.
- Optionally, can pass in a pointer to a int, which will be filled with an array layers long contain ms for each frame.
- Fix gif's not loading the initial transparent background
- I believe also fix disposal rules for subsequent frames (though being somewhat inefficient with memory to do so)
- Add a flip_vertical that takes into account slices as well.

Compiled using VS2017, but nothing else as I'm not really setup for it.  Apologies.
2017-11-27 22:41:51 -06:00
4bffebc5f0 Avoid warning about unused stbi__float_postprocess 2017-11-25 17:23:33 +08:00
fcf0b99601 add stbi_is_16 2017-11-24 14:36:37 +01:00
4c1a786455 Revert "return comp info in bytes (support for 16 bit images)"
This reverts commit 9dfa8c7f31.
2017-11-24 14:35:14 +01:00
9dfa8c7f31 return comp info in bytes (support for 16 bit images) 2017-11-24 13:44:39 +01:00
6e50ac7860 stb_truetype: Fix undefined function warning
This fixes the error in bug report #516. This should work as intended
since the function definitions line up.
2017-11-04 03:35:02 -05:00
5182622b14 tests: fix test_trutype.c on msvc 2015
This is 3 short fixes for the file test_truetype.c.

1. Fix the Visual Studio Secure CRT Errors by defining
 _CRT_SECURE_NO_WARNINGS

2. Fix signed/unsigned Character conversion warning/error.

3. Fix the Definitions for the Image packer.
This now works as intended generating usable png files.
2017-11-04 03:28:03 -05:00
a981af59c5 Fix tests compilation 2017-10-16 12:30:27 -05:00
1f2b4271e3 stb_truetype: Fix CFF GetGlyphBox optional params
Fixes #404
2017-10-14 11:59:09 +11:00
84fd09ea53 stb_truetype: Fix sign error in CFF push immediate 2017-10-14 11:58:03 +11:00
b6b43df186 Use stbi__mad4sizes_valid() only if STBI_NO_LINEAR or STBI_NO_HDR are defined 2017-09-04 14:01:43 +02:00
350173026a stb_image: support for 1-bit BMP 2017-09-01 02:06:06 +03:00
c06c9fe6bc place const tables to protected .rdata section 2017-08-31 19:33:28 +03:00
c8245bbf22 Remove arg from memset macro
My clang doesn't like the macro defined this way, choking at the callsite on line 195 with "too many arguments provided to function-like macro invocation"

This change matches what is done for STBTT_memset in stb_truetype.h
2017-08-28 23:13:39 -07:00
2545eee3ef Added myself as a contributor for the pull request 2017-08-25 08:24:58 -09:00
f57bc38ff6 Made some changes to make Clang Happy
Someone should double check that that I didn't change
the behavior of any of the code.  I'm not using most (if any)
of the code I touched, just wanted it to compile...
2017-08-25 08:02:35 -09:00
7d80a8b44d avoid GCC7 implicit-fallthrough warning
(GCC recognizes certain strings in comments)
2017-08-11 00:19:18 +01:00
2c7b00ac21 Add force_filter and compression_level parameters to (new) stbi_write_png_to_mem_ex
* `force_filter` being < 0 means the original behavior (i.e. figure out
  the best-performing filter per scanline); any other values 0 <= x <= 4 correspond
  to PNG filters (0 = none, 1 = sub, 2 = up, 3 = average, 4 = Paeth).
* `compression_level` being < 0 equals `compression_level` 8 (the previous value).
  The higher this is, the better the compression should be (though it will use
  more memory).

These new parameters are not (yet) exposed for the higher-level API functions.
2017-08-07 14:52:53 +03:00
923c9c3deb Correct function signature in stbi_write_jpg usage documentation. 2017-07-31 22:22:56 -07:00
747b8d8f71 stb_sprintf.h: Don't compare uninitialized value when using zero.
This prevents a "Conditional jump or move depends on uninitialised
value(s)" error from valgrind when using zero as an argument in line
1045.
2017-07-28 00:01:46 -05:00
9d9f75eb68 update readme 2017-07-24 03:32:32 -07:00
961923b5a3 fix documentation 2017-07-24 03:32:20 -07:00
dd039e8cc5 credits for mingw fixes in #444 2017-07-23 14:13:07 -07:00
3b232a3ff7 Merge branch 'master' of https://github.com/Infatum/stb into dev 2017-07-23 14:10:17 -07:00
555efbedfc Update version numbers 2017-07-23 14:09:39 -07:00
0fbbda56fa stb_image: Account for tRNS chunk in non-paletted images.
So we report channels_in_file correctly.

Fixes #329.
2017-07-23 01:41:12 -07:00
7725f8b9cd stb_leakcheck: Derp, I should free the right thing.
Fixes #307, this time for real.
2017-07-23 01:33:21 -07:00
5a5cf7f9ba stb_leakcheck: Make stb_leakcheck_free actually free.
Fixes issue #307.
2017-07-22 20:44:27 -07:00
5ebeb38edb stb_rect_pack: Remove unused rect_width_compare().
Fixes #416.
2017-07-22 20:25:57 -07:00
c59cb96874 Merge branch 'fix-issue-461' of https://github.com/rygorous/stb into dev 2017-07-22 19:44:05 -07:00
fedf03e774 Merge branch 'fix-issue-466' of https://github.com/rygorous/stb into dev 2017-07-22 19:42:52 -07:00
282576fbfb Merge branch 'rygorous-fix-issue-276' into dev 2017-07-22 19:42:23 -07:00
9b6652fe3a Merge branch 'rygorous-sprintf_reformat' into dev 2017-07-22 19:41:40 -07:00
b1d058e5c7 stb_truetype: Fix typo, as pointed out by oyvindjam.
Fixes #471.
2017-07-22 19:37:03 -07:00
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
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
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
931662ae6e stb_image_write: Warning fix. 2017-07-22 16:04:07 -07:00
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
463dd85f1f Merge branch 'Reedbeta-fix-vs2015-warnings' into dev 2017-07-22 15:51:28 -07:00
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
69ef103721 Merge branch 'poppolopoppo-load_16_variants' into dev 2017-07-22 15:42:58 -07:00