1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-11 23:54:18 +00:00
Commit graph

943 commits

Author SHA1 Message Date
reuk
1ad3430e14
ImageCache: Avoid assertion in destructor 2023-05-31 15:15:25 +01:00
reuk
3894fdbe5f
CoreGraphics: Fix issue where AlertWindow borders were not rendered correctly 2023-05-31 15:15:25 +01:00
reuk
8ed3618e12
CoreGraphicsContext: Fix issue where clipping a gradient on a layer-backed view could cause rendering glitches 2023-05-04 18:42:41 +01:00
reuk
b56f386b6b
CoreGraphicsContext: Reduce repetition 2023-05-04 18:42:41 +01:00
reuk
e414f76cac
CoreGraphicsContext: Replace bool flag with std::optional 2023-05-04 18:42:41 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible 2023-04-04 19:55:11 +01:00
Anthony Nicholls
05d5c94990
Native: Rename all native files for improved consistency 2023-04-04 19:54:29 +01:00
reuk
a6638f8a6d
Path: Allow addPath to take a reference to self 2023-02-15 22:23:56 +00:00
reuk
cb14aa983d
Path: Allow addPath to take a reference to self 2023-02-09 17:54:19 +00:00
reuk
a59cba010b
ColourGradient: Create lookup tables using non-premultiplied colours
The OpenGL renderer uses ColourGradient::createLookupTable to generate
gradient textures. However, the tweening method used was different to
the tweening used by CoreGraphics gradients, and by the software
renderer.

Gradient tweening is now computed using non-premultiplied colours, to
ensure consistency between gradients rendered using OpenGL, and with
other renderers.
2023-02-09 17:54:19 +00:00
reuk
454bc7c63a CoreGraphicsContext: Avoid hanging when drawing transformed tiled images
CGContextGetClipBoundingBox sometimes returns a 'null' rect. When it
does, the following logic will get stuck in the while loop drawing
individual tiles over and over again.
2023-02-03 15:16:13 +01:00
Tom Poole
78f1baae08 Bump version number to 7.0.5 2023-01-25 11:37:31 +00:00
Tom Poole
715fa7e8dc Bump version number to 7.0.4 2023-01-05 14:36:45 +00:00
reuk
d7f3ae4fc1
RectangleList: Avoid entering a death spiral when subtracting very close rectangles 2022-12-14 11:12:31 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]] 2022-12-01 11:41:50 +00:00
Tom Poole
306ed633c6 Bump version number to 7.0.3 2022-11-29 11:04:54 +00:00
reuk
19175ff698
OpenGL: Ensure that macOS uses the same (sRGB) colour space everywhere 2022-09-27 15:18:21 +01:00
reuk
7c14c1fcd7
Use more concise stdlib type aliases 2022-09-26 18:03:47 +01:00
reuk
8b8ae10059
Build: Replace JUCE_NODISCARD with [[nodiscard]] 2022-09-12 16:14:57 +01:00
reuk
b3a4d54a72
Build: Update the minimum C++ standard to C++17 2022-09-12 16:14:57 +01:00
attila
c0f31aa12a CoreGraphics: fillAll() fills a larger area to avoid alpha blended edges
Alternatively we could disable antialiasing before the fill operation
but this could cause neighbouring Components to overlap on the screen
even if their coordinates don't.
2022-09-12 15:39:05 +02:00
reuk
5a6c8b1d0a
Linux Fonts: Improve default selection mechanism 2022-09-01 15:44:26 +01:00
reuk
c920eb95fd Fonts: Fix issue where default fonts were set to use non-existent styles 2022-08-23 13:43:03 +01:00
Tom Poole
7296b8e3f7 Bump version number to 7.0.2 2022-08-15 17:26:35 +01:00
reuk
41ef5b7fd5
macOS: Remove macOS 10.14 preprocessor checks
The current minimum-supported Xcode (10.1) includes the macOS 10.14.1
SDK, so APIs from macOS 10.14 will always be available.
2022-08-04 22:51:17 +01:00
attila
9acfeece43 Colours: Support grey/gray spelling for HTML and SVG compatibility 2022-07-18 18:55:10 +02:00
Tom Poole
fd8607302d Bump version number to 7.0.1 2022-07-04 15:07:43 +01:00
Tom Poole
8b399998b4 Bump version number to 7.0.0 2022-06-21 08:38:55 +01:00
attila
6f3fb5a29f Linux: Adjust natively reported border size by the current scale factor 2022-05-19 12:06:38 +02:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
reuk
67e3326ecf
Fonts: Avoid segfaulting on Linux when there are no installed fonts 2022-05-03 11:44:03 +01:00
reuk
3c08f8beda
Linux Fonts: Replace font style if it does not exist for the requested font 2022-04-28 11:05:40 +01:00
reuk
19ddbe2368
Warnings: Fix missing-prototypes warnings 2022-04-22 14:18:48 +01:00
reuk
3bf635e004
Warnings: Always supply all field initialisers
This also fixes an issue where the requested font style could be
incorrectly overwritten.
2022-04-22 14:18:48 +01:00
reuk
6de457f932
Linux Fonts: Add extra default font path 2022-04-22 14:07:46 +01:00
reuk
f9c0c626fe
Linux: Avoid picking a bold/oblique version of Bitstream Vera Sans by default 2022-04-22 13:55:47 +01:00
Tom Poole
68514d626c Graphics: Added a global GlyphArrangement cache 2022-04-04 12:36:33 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
reuk
ae646dde16
StandaloneFilterWindow: Account for native frame size in constrainer 2022-04-01 16:41:47 +01:00
reuk
93ba4d98cf
Fix clang warnings 2022-04-01 16:41:47 +01:00
Tom Poole
ed4f638ff7 Line: Add explicit methods for lengthening the start and end points 2022-03-24 14:01:34 +00:00
reuk
ebac835673
Fix some deprecation warnings 2022-03-22 17:27:54 +00:00
Tom Poole
0d82541728 Point: Fix a division by zero in getPointAlongLine 2022-03-17 11:34:32 +00:00
reuk
db3a0a1ae8
CoreGraphics: Avoid allocating over-large buffers for clipped image data 2022-03-09 17:06:28 +00:00
reuk
5186ac71e2
iOS: Fix no-matching-function error 2022-03-03 12:27:04 +00:00
Tom Poole
111bbc0979 Bump version number to 6.1.6 2022-02-28 12:53:10 +00:00
Tom Poole
04a8a44a85 Make Path::intersectsLine const 2022-02-24 14:20:08 +00:00
reuk
1d1d743b9f
Build: Add -Wdeprecated to recommended flags and fix new warnings 2022-02-23 10:56:10 +00:00
reuk
e27fb35996
Fonts: Adjust attribute ranges correctly when rendering AttributedStrings
CFAttributedString ranges must be given in terms of 16-bit word offsets,
rather than codepoints.
2022-02-23 10:56:09 +00: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