448 Commits

Author SHA1 Message Date
Amsakan Bavan b33cfe23d9 Switched from sprintf to snprintf 2026-01-05 13:56:27 +01:00
Processor228 8dc4f659a1 Fix cases when png reader ended up in an infinite loop. #774
Additionally, throw exceptions directly, instead of handling
errors by longjumps.

Longjumps lead to segfaults under compiler optimizations.

Besides, setjmp setups always ended up throwing
exceptions, so why not throwing them right away instead?
2025-12-03 22:36:21 +03:00
AnonymousPC 2956a0e9ef fix compile error on clang 2025-07-03 01:11:11 +08:00
ckormanyos dcce96467a Propose repair for issue 763 2025-04-18 19:41:10 +02:00
Samuel Debionne dc07bcadcd fix is_floating_point: symbol is not a class template 2025-04-04 16:33:23 +02:00
Samuel Debionne e5f5bce2b9 Fix dynamic transposed_view (#756)
Just a little typo
2024-09-18 20:57:06 +02:00
Dirk Stolle 32eabbc553 chore: fix more typos (#753) 2024-07-23 09:40:16 +02:00
Dirk Stolle 74ffdcb047 chore: fix some typos (#751) 2024-07-08 10:40:31 +02:00
Dirk Stolle 481b6e7c14 feat: add tell() and error() functions to istream + ostream devices (#747)
The class file_stream_device already has such functions, and now
both istream_device and ostream_device have them, too, making the
device classes more consistent.

Closes #724
2024-05-17 11:43:44 +02:00
Dirk Stolle abb561a226 fix: Wrong buffer size in path string conversion functions (#746)
Fixes #733
2024-05-13 09:58:59 +02:00
Christopher Kormanyos 2c3ee866b6 Portable minmax Win32-API workaround #744 (#745)
Co-authored-by: Christopher Kormanyos <ckormanyos@yahoo.com>
2024-04-18 10:21:09 +02:00
Samuel Debionne ecea33a905 fix: Make locator.hpp self contained (#729) 2023-02-22 11:59:12 +01:00
nicolacandussi 8f4cdcbcce fix: Fixed custom color converter in dynamic_factory and added corresponding (#726) 2023-02-21 14:38:03 +01:00
Christoph Gringmuth d6e67f38c5 fix: Normalize Gaussian 2D kernel. (#725) 2023-02-07 14:11:51 +01:00
Christoph Gringmuth 712b827edb fix: Convolution in convolve_2d (#723)
Fixes #722
2023-02-07 14:10:38 +01:00
Marco Langer 573ba132cd fix: broken build for midpoint_ellipse_rasterizer::draw_curve (#705)
* fix: ellipse_rasterizer draw_curve()
* moved ostream operator overload of point into test fixture file
2022-07-04 21:09:21 +02:00
Marco Langer 233dc53ff7 fix: Unused variable warning (#704) 2022-07-02 11:00:09 +02:00
Samuel Debionne 4dbf35a510 Add pmr image typedefs (#529)
* Add pmr image typedefs

* Swap allocators only if it propagate on container

* Do not call propagate_on_container_swap for C++14

Co-authored-by: Mateusz Łoskot <mateusz@loskot.net>
2022-06-28 07:35:27 +01:00
Marco Langer 8d7034c71c fix: Memory leak in image class for empty dimensions (#649) 2022-06-27 22:59:52 +02:00
Mateusz Łoskot fe63aa2a10 refactor: Switch to trailing return types (#599)
- Trailing return types everywhere
- Optionally, return type deduction where sensible (simple and short functions)

This is related to introduction of common .clang-format,
see https://github.com/boostorg/gil/pull/596#issuecomment-822681523
2022-06-27 18:01:49 +02:00
Marco Langer d5492e1ace feat: Added apply_rasterizer() free function (#695)
This PR implements the gil::apply_rasterizer()
free function mentioned in #680.
2022-06-27 09:54:58 +02:00
Marco Langer adddbec896 refactor: Ellipse rasterizer according to the comment at (#692)
https://github.com/boostorg/gil/pull/585#issuecomment-1144412220
2022-06-26 13:33:53 +02:00
Marco Langer bfed3de004 refactor: Deprecate apply_operation in favor of variant2::visit for any_image (#656)
build: Add /bigobj to MSVC flags

Avoid test\extension\dynamic_image\algorithm\copy_and_convert_pixels.cpp
compilation error:

fatal error C1128: number of sections exceeded object file format limit: compile with /bigobj

Co-authored-by: Mateusz Łoskot <mateusz@loskot.net>
2022-06-26 13:21:18 +02:00
Marco Langer 151fd9c8a3 refactor: Replace deprecated libtiff v4.3 typedefs with C99 fixed-size integers (#685) 2022-06-26 00:51:24 +02:00
Marco Langer b9e652dce8 fix: Automatic detection of <filesystem> header (#684) 2022-06-25 23:25:12 +02:00
Mateusz Łoskot c436ea3e67 fix: Add missing #include <array> 2022-06-24 17:21:52 +02:00
Eugene K 5273678bfc fix: Wrong RGB -> HSL convertion (#505)
Tests will follow as part of https://github.com/boostorg/gil/issues/690
2022-06-24 08:44:28 +02:00
Marco Langer 1c6c427f53 fix: Added missing include guard to line rasterizer (#687) 2022-06-12 15:05:31 +02:00
Marco Langer 9ecdb876b3 Fix deprecation warning bug for gcc 10.2 (#683)
Related to #660,
see https://github.com/boostorg/gil/pull/660#issuecomment-1147735559
2022-06-07 09:24:30 +02:00
Olzhas Zhumabek 48d7ebffe0 Move diffusion and Hough transform
Move anisotropic diffusion and
Hough transform into extension.
Adjust tests and cmakelists
2022-05-31 02:37:56 +06:00
Olzhas Zhumabek cc39f1a007 Change "" includes into <> 2022-05-31 02:37:56 +06:00
Olzhas Zhumabek bab2a370ff Fix Hough transform and move rasterization
Hough line transform had incorrect
rounding which lead to misleading message
2022-05-31 02:37:56 +06:00
Marco Langer 98f49711dd refactor: Make packed_pixel trivially copyable and assignable (#679) 2022-05-28 11:07:54 +02:00
Dirk Stolle 6d312af51a chore!: deprecate any_color_converted_view (#678)
color_converted_view has the same implementation and can be used
as a replacement, providing the same functionality.

This builds on #660 by @marco-langer (Thank you!)

Due to the fact that the switch to C++14 has been announced in #677,
we can now officially use the [[deprecated]] attribute which was standardized
in C++14.

This is initial part of deprecating the `any_color_converted_view` and
as @marco-langer pointed in
https://github.com/boostorg/gil/pull/660#issuecomment-1138183545
there are more changes to follow.
2022-05-26 08:58:19 +02:00
Dirk Stolle 1be8c87c10 chore: do not use deprecated header in test or elsewhere (#675) 2022-05-18 23:25:36 +02:00
Dirk Stolle 3090f866f2 fix: Re-allow devicen_t with two color components (#654)
devicen_t<2> was possible in Boost 1.71, but broke in Boost 1.72.

The static_assert was introduced in commit
5611bd5807
in PR #274

Now it's possible to use it again.

Fixes #519
2022-05-18 09:30:06 +02:00
Olzhas Zhumabek f839504f20 Fixed io extension build error (#671)
The error was due to missing dynamic.hpp (renamed in #653)
header that contained dynamic_io_fnobj.
Adding the header back in to write.hpp
headers of io extensions fixed the problem.
2022-05-13 14:13:00 +02:00
Dirk Stolle 9666a95bc5 chore: Remove unused variable in diffusion.hpp (#666)
The variable `dims` is not used and causes a compiler warning.
2022-05-12 14:23:49 +02:00
Marco Langer c063d1c185 feat: Added for_each_pixel overload for any_image (#648)
Take functor by value instead of reference.
Test cases to use the same fixture as the other any_image tests.
Fixes #579
2022-04-30 23:57:00 +02:00
Marco Langer 3289fe0bc4 refactor: Unified operation names for pixel and channel operations (#655)
Renamed
- gil::pixel_multiply_t to gil::pixel_multiplies_t
- gil::pixel_divide_t to gil::pixel_divides_t

Closes #368
2022-04-30 23:53:41 +02:00
Marco Langer 9d526ed706 refactor: Renamed io/dynamic_io_new.hpp to io/detail/dynamic.hpp (#653)
Closes #189
2022-04-27 13:27:12 +02:00
Dirk Stolle 791148660e fix: is_equal_to_sixteen in PNG I/O was less-than test (#650)
While is_equal_to_sixteen should (as the name suggests) check for
equality to 16, it actually checked whether the bit depth was
less than 16.
2022-04-26 21:27:22 +02:00
Dirk Stolle 4f83beb735 style: Remove trailing space characters (#651) 2022-04-26 20:52:56 +02:00
Nicolas Herry 63f5837bd3 Removed deprecated.hpp (#627)
Closes #625 too
2022-04-06 11:42:56 +02:00
Samuel Debionne da0655fb66 Merge pull request #621 from sdebionne/fix-620
Fix for_each_pixel for non 1d iterable views
2022-03-01 14:35:20 +01:00
Mateusz Łoskot f4c70a8606 Add support for <filesystem> to IO (#636)
If neither <filesystem> nor <experimental/filesystem> is detected,
then require <boost/filesystem.hpp>.

If user defines BOOST_GIL_IO_USE_BOOST_FILESYSTEM macro,
then <boost/filesystem.hpp> is pre-selected and required,
and search for any of the C++ standard implementation is skipped.

Remove end-user macro BOOST_GIL_IO_ADD_FS_PATH_SUPPORT
Require tests to always build with support of either
detected C++ filesystem or pre-selected Boost.Filesystem.

Closes ##222
2022-02-22 19:18:55 +01:00
Pranam Lashkari 9bd8642f69 numeric extension move into core part 5
moved numeric/kernel.hpp into core
2022-02-18 14:25:59 +05:30
Pranam Lashkari 87a3157c4b numeric extension move into core part 4
moved numeric/pixel_numeric_operations.hpp into core
2022-02-18 14:25:59 +05:30
Pranam Lashkari 483915cb20 numeric extension move into core part 3
moved numeric/convolve.hpp into core
2022-02-18 14:25:59 +05:30
Pranam Lashkari baf246a726 numeric extension move into core part 2
moved numeric/channel_numeric_operations.hpp into core
2022-02-18 14:25:59 +05:30