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

33 commits

Author SHA1 Message Date
reuk
83e5264c86
Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
reuk
19edd53842
EdgeTable: Fix issue where edges of paths could be anti-aliased incorrectly at edges of clip regions 2025-02-03 19:16:46 +00:00
reuk
5befcd43a9
EdgeTable: Use CopyableHeapBlock in implementation 2024-09-05 12:10:33 +01:00
attila
22ee31f3ff EdgeTable: Use HeapBlock instead of vector for better Android Debug drawing performance
This is reverting 417d97b36e.
2024-08-02 14:48:52 +00:00
reuk
ce0fe3dc1e
EdgeTable: Keep better track of buffer memory ranges
Occasionally, on Linux, Address Sanitizer can complain about a memory
region overlap in the arguments to memcpy, originating in
EdgeTable::intersectWithEdgeTableLine. I haven't been able to reproduce
this personally.

The final memcpy call in this function requires there to be
"srcNum1 * 2" valid entries after the current "src1" ptr, and none of
those entries may overlap with the area starting at "temp".

On inspection, I think that the memory region being read is too large.
At the point of the call, src1 will point to a LineItem::level, not
LineItem::x, so there will actually be (srcNum1 * 2 - 1) valid items
following it.

All this pointer arithmetic is very difficult to understand. In an
effort to make this function slightly more understandable, I've switched
to using Spans to delineate lines of the table, which makes it easier to
keep track of the size of each line.
2024-05-20 12:49:55 +01:00
reuk
417d97b36e
EdgeTable: Implement using vector to simplify special member functions 2024-05-20 12:49:54 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +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
1a4296e98b
EdgeTable: Avoid shifts of negative numbers 2021-09-28 14:04:10 +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
ed
cdbc28c18b Add documentation tags 2018-03-15 12:10:32 +00:00
jules
9d56e2990d Optimised the GL renderer to avoid splitting large rectangles into horizontal strips unnecessarily 2017-11-03 13:51:37 +00:00
jules
93a22599d1 Tweaked the rate at which EdgeTable grows its internal storage, to improve performance rendering large and complex paths 2017-10-09 14:53:56 +01:00
jules
27a6903cac Changed the way isPositiveAndBelow is written to avoid needing to cast the second parameter to an int 2017-09-27 12:24:02 +01:00
jules
eda613c6db Moved all "namespace juce" declarations from module headers to the individual .h and .cpp source files. This makes life a lot easier for Intellisense and other IDE autocompletion tools 2017-09-08 08:59:55 +01:00
hogliux
b5afccc37c Updated file headers and the README with the JUCE 5 license 2017-04-27 14:43:04 +01:00
hogliux
2da1bc5f41 Replace include guards with "#pragma once" 2017-02-01 17:18:07 +00:00
hogliux
c7b8e77031 Update copyright notice 2015-07-22 15:59:34 +01:00
jules
76c8400049 Really minor clean-ups. 2014-01-12 18:06:48 +00:00
jules
59d719cc26 Increased the gamma of software-rendered fonts. 2013-10-29 21:37:36 +00:00
jules
abd3babc02 Minor optimisations and clean-ups. 2013-09-21 13:41:16 +01:00
jules
59d8d8172d Replaced the crappy old juce sortArray function with std::sort, which seems to run twice as fast. This greatly speeds up edge table rendering. 2013-09-05 09:46:30 +01:00
jules
dbf7053861 New method Graphics::fillRectList(), which performs better (and looks better when scaled) than multiple calls to fillRect or drawVerticalLine. Also fixed DPI detection in Windows. 2013-08-30 18:20:51 +01:00
jules
d28ebfdb36 Stripped out some unnecessary boilerplate includes from juce_graphics. 2013-08-24 10:49:25 +01:00
jules
1b9a60e52c Added a templated type to the RectangleList class. If you've used this class and these changes cause syntax errors, all you need to do to your code is to replace "RectangleList" with "RectangleList<int>" and everything will work as it did before. 2013-07-28 18:08:28 +01:00
jules
5a1112ab94 Updated the format of the header include guard macros. 2013-07-17 16:26:35 +01:00
jules
03c2801f3f Copyright header update in all module files. juce_core modules are now ISC licensed. All other modules are GPLv2/3/AGPLv3 2013-06-13 13:17:12 +01:00
jules
0ceeb573d8 Minor changes to avoid pedantic compiler warnings. 2012-12-04 21:39:15 +00:00
jules
27d7185f34 OSX10.4 menu fix. Graphics::drawSingleLineText justification. 2011-10-20 22:22:40 +01:00
Julian Storer
b70e0a28d2 First check-in of the "jucequake": a major re-organisation of the library to break it up into modules. For more details about this, see the website forum.. 2011-08-12 10:04:52 +01:00
Renamed from src/gui/graphics/contexts/juce_EdgeTable.h (Browse further)