145 Commits

Author SHA1 Message Date
gingerBill
8610acb48f Fix typo 2025-12-10 12:56:34 +00:00
gingerBill
b18b0fdcb3 Remove fallthrough to prefer a single case 2025-12-10 12:54:17 +00:00
James Liljenquist
f58ef12d59 Removed redundant build tags 2025-12-05 09:15:05 -07:00
James Liljenquist
6ac4bc43e2 Adding missing build flags to avoid load proc collision 2025-12-04 13:00:50 -07:00
gingerBill
842cfee0f3 Change Odin's LICENSE to zlib from BSD 3-clause
This change was made in order to allow things produced with Odin and using Odin's core library, to not require the LICENSE to also be distributed alongside the binary form.
2025-10-28 14:38:25 +00:00
Jeroen van Rijn
ece213afca Render examples. 2025-10-10 12:24:28 +02:00
Jeroen van Rijn
7a9ea3ee6d Further overhaul of package line comments. 2025-10-09 23:05:29 +02:00
Jeroen van Rijn
8a35acd506 More package lines. 2025-10-09 20:11:06 +02:00
Jeroen van Rijn
673358f8b9 Package lines for core:image. 2025-10-09 17:18:51 +02:00
Jeroen van Rijn
cd3069b16b Small updates to JPEG loader
- Remove some unnecessary nesting
- Add frame type (SOF0, et al) to metadata if `.return_metadata` is used
2025-09-09 18:34:19 +02:00
Jeroen van Rijn
572b26a846 Expand grayscale JPEGs to RGB(A)
And handle grayscale jpeg example file in test suite.
2025-09-09 17:13:21 +02:00
Jeroen van Rijn
7b3ca701e0 Implement .alpha_add_if_missing for JPEG 2025-09-09 14:51:16 +02:00
Jeroen van Rijn
dd9fceaae1 Make progressive JPEGs return a proper error
Add progressive JPEG file to test suite and test that loading it returns the expected `Unsupported_Frame_Type` error.

This JPEG variant will hopefully be supported in the future, but we should at least return an error rather than use `unsupported()`.
2025-09-09 13:53:43 +02:00
Jeroen van Rijn
2f59e0175e Address some naming issues 2025-09-08 17:44:58 +02:00
Jeroen van Rijn
14bf730a2c Make _register contextless 2025-09-08 17:17:14 +02:00
IllusionMan1212
cb820eea4d jpeg: extract Exif data 2025-09-08 17:13:03 +02:00
IllusionMan1212
57a92b14cc jpeg: support images that encode zero-based component ids 2025-09-08 17:13:03 +02:00
Hisham Aburaqibah
694593c5f2 image/jpeg: more bounds checking and skip malformed APP0
Also increase the maximum huffman symbols to 176
2025-09-08 17:13:03 +02:00
Hisham Aburaqibah
8644f3beba image/jpeg: better pack APP0 structs 2025-09-08 17:13:03 +02:00
Hisham Aburaqibah
a6f18c3367 image/jpeg: implement jpeg decoding for baseline and extended sequential jpegs 2025-09-08 17:12:58 +02:00
Hisham Aburaqibah
d704c45c24 core/image: some jpegs have APP13 or COM markers after SOI 2025-09-08 17:12:04 +02:00
Michael Lee
cfde843778 [core:image/png] use .Image_Dimensions_Too_Large 2025-09-08 09:08:07 -05:00
gingerBill
7642e0a0e0 Require @(init) and @(fini) to be proc "contextless" () 2025-08-08 12:10:01 +01:00
Jeroen van Rijn
db5c45602d Remove outdated optimization attributes. 2025-05-27 17:57:06 +02:00
Hisham Aburaqibah
247384574a fix(core/image): off-by-one index when detecting certain JPEG images 2025-01-05 13:05:11 +02:00
Jeroen van Rijn
ad99d20d29 Remove outdated PNG save helpers 2024-12-23 16:33:23 +01:00
Jeroen van Rijn
28a3a68dc9 Fix image.which_bytes
Invert test in `which_bytes` to fix Softimage PIC detection. Fixes #4429.
2024-10-29 09:55:27 +01:00
Laytan Laats
c8ed499293 image: add panic when load is called without any registered loaders 2024-10-20 18:41:10 +02:00
Karl Zylinski
19f0127e55 Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax. 2024-09-14 18:27:49 +02:00
Laytan Laats
288312a812 core: improve package doc comments for the documentation generator 2024-09-03 19:59:04 +02:00
gordonshamway23
426367c522 Added missing slice advancing. 2024-08-23 21:28:59 +02:00
Karl Zylinski
b63657d293 Fix for blend_pixel.odin in core/image/common.odin not compiling 2024-08-05 17:23:58 +02:00
Karl Zylinski
2d32b819dc common.odin compile fix
Fix for "Error: Prefer to separate 'where' clauses with a comma rather than '&&'"
2024-08-05 16:32:34 +02:00
gingerBill
acb1ebddf6 Fix err != 0 uses 2024-08-04 15:01:04 +01:00
gingerBill
93fabf8628 Replace err != 0 with err != nil where possible 2024-08-04 14:57:25 +01:00
Jeroen van Rijn
90e573c54a Add image.premultiply_alpha helper. 2024-08-03 12:58:43 +02:00
Jeroen van Rijn
1a16585b10 Add image.pixels_to_image helper. 2024-08-02 14:54:52 +02:00
Laytan Laats
2d8d0dd851 fix @(optimization_mode) usage in builtin collections 2024-07-08 21:07:53 +02:00
gingerBill
e296d6fb90 Fix loads of indentation issues with mixing spaces and tabs 2024-06-29 19:50:51 +01:00
gingerBill
5413a8b744 Even more style fixes 2024-06-29 19:11:36 +01:00
gingerBill
930c929294 Indentation fixes 2024-06-29 18:49:57 +01:00
gingerBill
4b71c47fd5 Check for unneeded transmute with -vet-cast 2024-06-29 12:02:31 +01:00
Jeroen van Rijn
5be7d8e32d Clean up PNG code. 2024-06-09 17:59:59 +02:00
Jeroen van Rijn
6b88d0a820 Use new blend helper 2024-06-09 16:37:27 +02:00
Jeroen van Rijn
d2a2c1e74e Image: Add improved blending method and test it. 2024-06-09 16:10:06 +02:00
Jeroen van Rijn
566119ff83 Add saving of 24 and 32-bit images to BMP format. 2024-06-06 23:53:15 +02:00
Jeroen van Rijn
678fdae966 Rebased. 2024-06-06 16:32:18 +02:00
Jeroen van Rijn
58a1bb32e5 Apply fix to QOI decoder as well. 2024-05-18 19:41:07 +02:00
Jeroen van Rijn
7955f4ddf1 Fix qoi encode bug. 2024-05-18 13:59:50 +02:00
Maurizio M. Gavioli
a0cff82320 Fix the format of some doc.odin files of the core library which did not made into the documentation.
`c/frontend/tokenizer`:
   add proper "Example:" header to demo example code,
   removed empty lines.
`container/bit_array`:
   moved comment before package;
   aligned narrative lines to left margin;
   converted case lines into bulleted lines ("- ");
   converted individual examples to single-tab-indented preformatted text.
`dynlib`:
   removed "//+build ignore" line;
   added newline at EOF.
`image/netpmb`:
   converted indented lines of "Reading", "Wrting" and "Some syntax..." into bulleted lists;
   "Formats" indented lines kept as they are as the preformatted text seems relevant to keep the alignments;
   doubly indented lines kept as single-indented to keep them different (as the format does not allow for two-level bulleted lists);
   removed empy lines.
`os/os2`:	WIP, not modified
`sys/info`:
   removed "//+build ignore" line;
   converted tab-indented initial description into regular left-margin comment;
   moved uncommented sample code within the doc comment as an "Example:";
   moved simple- and double-tabbed separate comments with sample Windows and macOS outputs within the doc comment as bulleted headlines with preformatted output listings;
   removed now empty comments and blank lines after the package line.
`text/i18n`:
   removed "//+build ignore" line;
   moved the pacakge line at the end;
   de-indented the tab-indented introductory narrative;
   moved sample code comments into the doc comment as tab-indented code with a proper "Example:" heading;
   removed "```" MD attempts at code formatting.
`text/table`:
   unindented the comment lines of a descriptive kind;
   headlines of major subdivisions are marked as bold;
   kept code samples as tab-indented preformatted text (as there are several of them, the standard "Example:" and "Output:" headings cannot be used) removing the "```" MD attempts at code formatting;
   removed in-between blank lines.
2024-04-14 17:18:08 +02:00