Anthony Nicholls
36d07a6ce3
Docs: Replace doxygen preprocessor conditionals with @cond and @endconds
2025-07-21 18:11:43 +02:00
reuk
86732069c7
Image: Respect pixelStride when converting between image formats
...
Previously, this code assumed that a single channel image would always
have a pixel stride of 1. For image types where this assumption did not
hold, such as OpenGL, this function would produce incorrect results.
2025-05-19 13:32:52 +01:00
reuk
9f4aef4053
Image::BitmapData: Update getters to allow for negative lineStride
2025-05-19 13:30:27 +01:00
Oli
2324e34e1b
Graphics: Move Image::moveImageSection into ImagePixelData
...
Co-authored-by: Matt Gonzalez <matt@echoaudio.com>
2025-04-24 13:58:23 +01:00
reuk
c167c6dfde
Direct2D: Move ImagePixelDataNativeExtensions into separate header
2025-04-24 13:58:23 +01:00
reuk
56ea531298
CoreGraphics: Fix bug where subsection images were rendered incorrectly
2025-02-03 13:56:31 +00:00
reuk
c3e8b6bff3
CoreGraphics: Use Image NativeExtensions to avoid dynamic casts in graphics context
2025-01-23 12:21:33 +00:00
reuk
d3ca5961e7
Direct2D: Use Image NativeExtensions to avoid dynamic casts in graphics context
2025-01-23 12:21:33 +00:00
reuk
9b08c8fd51
Image: Add NativeExtensions type to help with inspecting images from graphics context implementations
...
This type isn't used anywhere in this commit, but this change lays the
foundation for the following commits.
2025-01-23 12:21:33 +00:00
reuk
55e5e2082c
Image: Add new backup-extensions interface to support images with no main-memory backup
2025-01-23 12:21:33 +00:00
reuk
ada2c88b03
ImagePixelData: Update signatures of functions providing whole-image effects
2025-01-23 12:21:33 +00:00
reuk
8cb8c5e572
Image: Add new BitmapData constructor accepting a Rectangle
2025-01-23 12:20:27 +00:00
tpoole
df14e83838
Image: Remove an unused function
2024-12-18 13:04:27 +00:00
reuk
52beda1396
ImagePixelData: Speed up format conversions by hoisting switch statements out of tight loops
2024-12-13 14:49:46 +00:00
reuk
f05031a898
Image: Convert structs to lambdas in implementation
2024-12-13 14:42:26 +00:00
reuk
dcca72484f
Image: Update return type of getPixelData to avoid dangling pointers
2024-12-13 14:42:26 +00:00
Anthony Nicholls
5e803ded5f
Deprecations: Add ignore deprecation warning macros
2024-11-27 11:07:04 +00:00
reuk
80ac9a78a0
Singleton: Add new macros to simplify singleton creation
...
The INLINE macros allow singletons to be declared and defined in one
line, without requiring a separate JUCE_IMPLEMENT_SINGLETON statement.
2024-10-16 10:36:52 +01:00
reuk
589d9940ed
Direct2D: Add support for bitmaps spanning multiple texture pages
2024-09-18 15:44:04 +01:00
reuk
590e22f320
D2D: Add faster two-pass blur implementation
2024-04-29 16:08:24 +01:00
reuk
427fec6433
Image: Add slightly faster alternative to gaussian blur for drop shadows
2024-04-29 16:08:24 +01:00
reuk
248a400b88
D2D: Use currently-selected colour when replace-clearing NativeImage
2024-04-29 16:08:23 +01:00
reuk
19061e6d17
Direct2D: Add initial support
2024-04-18 14:16:02 +01:00
reuk
fae3e2c010
ImageConvolutionKernel: Refactor and fix bugs in single-channel convolution
2024-04-18 14:16:01 +01:00
Tom Poole
94d98a2b10
Update licensing information
2024-04-16 11:39:35 +01:00
Tom Poole
6bf9bb9a2e
Add final specifiers in implementation files
2023-10-10 16:12:38 +01:00
Tom Poole
4153d59e39
Formatting
2023-10-02 15:42:20 +01:00
Tom Poole
ff835be2ac
Doxygen: Fix some Doxygen issues
2023-07-17 18:24:01 +01:00
reuk
1ad3430e14
ImageCache: Avoid assertion in destructor
2023-05-31 15:15:25 +01:00
Tom Poole
2ec861d99e
Update licensing banners to JUCE 7
2022-05-16 17:55:48 +01:00
Tom Poole
dea3fe60e4
Update copyright banners
2022-04-04 12:36:32 +01:00
reuk
0223e44ae7
Image: Keep track of contiguous buffer size to avoid heap buffer overflows
...
In CoreGraphicsPixelData::createImage, image data was copied from a
BitmapData created from the Image passed into the function.
The BitmapData instance didn't keep track of the size of the buffer it
pointed to, so the buffer size was computed by multiplying the
BitmapData height by its line stride. However, if the BitmapData pointed
to a subsection of an image, the `data` pointer might be offset from
the allocated region, and `data + lineStride * height` would point past
the end of the allocated region. Trying to read/copy this range would
cause a heap buffer overflow at the end of the range.
This change adjusts BitmapData so that it keeps track of the size of the
allocated region. Taking a subsection of an image should subtract the
data pointer offset from the size of the allocated region.
2022-02-23 10:56:09 +00:00
Tom Poole
c072b1bc8e
Fix some typos
2022-01-25 11:48:46 +00:00
reuk
34fdea0708
DragAndDropContainer: Allow custom scaling
2021-12-01 15:35:54 +00:00
reuk
752a676fa6
ImageCache: Avoid data race on impl when accessing cache from a background thread
2021-10-06 16:59:07 +01:00
ed
b9542ccc4c
Update code to use C++14 [[deprecated]] attribute
...
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +01:00
Tom Poole
79fbde7099
Added preliminary support for FreeBSD
2021-03-29 14:16:46 +01:00
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
2020-07-01 10:00:43 +01:00
ed
009d685179
Updated all license headers
2020-06-29 08:30:22 +01:00
Tom Poole
894e7d2bd2
Updated all license headers
2020-04-23 17:30:39 +01:00
reuk
327f817b9b
Copyrights: Update commercial/gpl headers to be gpl-only
2020-04-09 15:22:56 +01:00
Tom Poole
034ca9347e
Fixed a potential overflow when dealing with large images
2020-03-27 08:51:52 +00:00
ed
59a058fdc6
Fixed some warnings flagged up when enabling -Wswitch-enum, -Wswitch-default, -Wredundant-decls, and -Wimplicit-fallthrough
2020-03-09 17:39:28 +00:00
ed
a54da0b832
Fixed some more typos
2020-01-07 08:53:23 +00:00
ed
383d69c421
Prevent integer overflow in BitmapData::getLinePointer() and BitmapData::getPixelPointer()
2019-08-28 15:19:41 +01:00
jules
f58eacc135
Added more unique_ptr use, for functions that create LowLevelGraphicsContext or ImageType objects.
2019-05-15 12:08:38 +01:00
ed
a234721110
Added various clang-tidy modernize-* fixes
2019-01-31 15:15:31 +00:00
jules
cadac817c6
Enabled some more warning flags in Xcode, and fixed the problems they caused
2019-01-11 09:52:10 +00:00
ed
eaf0f990d4
Replaced all uses of static_cast<Type&&> with std::move
2018-11-28 17:29:20 +00:00
Tom Poole
b66f78bacf
Fixed some CoreGraphics image issues in the latest iOS and MacOS SDKs
2018-10-03 15:22:22 +01:00