Tom Poole
2ec861d99e
Update licensing banners to JUCE 7
3 years ago
Tom Poole
dea3fe60e4
Update copyright banners
3 years ago
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.
3 years ago
ed
009d685179
Updated all license headers
4 years ago
Tom Poole
894e7d2bd2
Updated all license headers
5 years ago
Tom Poole
2d16374b14
Updated all license headers
5 years ago
reuk
327f817b9b
Copyrights: Update commercial/gpl headers to be gpl-only
5 years ago
Tom Poole
d8638fdd2a
OpenGL: Fixed an issue cloning OpenGLImageType images
5 years ago
Tom Poole
16dd26649a
Fixed some GCC compiler warnings and removed deprecated functions
6 years ago
jules
f58eacc135
Added more unique_ptr use, for functions that create LowLevelGraphicsContext or ImageType objects.
6 years ago
jules
1e6bbb8da9
Added some methods to allow ReferenceCountedObjectPtrs to be constructed or copied from references as well as pointers - as well as increasing safety, this actually makes things a bit more efficient as it skips a nullptr check. Updated lots of places in the code that could take advantage of this
6 years ago
Tom Poole
ab863a6dc2
Replaced all usage of ScopedPointer with std::unique_ptr
7 years ago
jules
1a60fa9765
More ScopedPointer/unique_ptr compatibility work
7 years ago
jules
369d59f656
Added a template to allow the HeapBlock class to be given signed ints or other types that are not size_t for its size parameters
7 years ago
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
7 years ago
jules
7c6f3d40b6
Tidied up some method calls involving HeapBlock
7 years ago
hogliux
b5afccc37c
Updated file headers and the README with the JUCE 5 license
8 years ago
jules
021209e216
Changed ImagePixelData::clone to return a smart pointer rather than a raw one, to avoid a reference-count leak
9 years ago
hogliux
c7b8e77031
Update copyright notice
9 years ago
jules
7a869d6528
Made the OpenGL graphics context keep a cache of textures it has recently used for Image rendering, to avoid repeatedly moving data to the GPU.
11 years ago
jules
bdceeeb9f0
Xcode 5 compiler fix.
11 years ago
jules
2786eadaf9
Removed a few pedantic warnings.
11 years ago
jules
da3838db8a
Minor clean-ups.
11 years ago
jules
ebc0b2b727
Removed some warning settings that weren't supported by older GCCs. Also added workarounds for some spurious GCC warnings.
11 years ago
jules
60a0087114
Some internal component peer work.
11 years ago
jules
03c2801f3f
Copyright header update in all module files. juce_core modules are now ISC licensed. All other modules are GPLv2/3/AGPLv3
12 years ago
jules
b2240146ad
OpenGLImage fix.
12 years ago
jules
0ceeb573d8
Minor changes to avoid pedantic compiler warnings.
12 years ago
jules
02c0cd009c
Cleaned up some compiler warnings.
12 years ago
jules
c6299a08dc
Changed the return type of ImageType::create().
12 years ago
jules
04c2d6cfc1
Added some GL error handling and tweaks to support older PC builds.
13 years ago
jules
b338698e34
OpenGL: removed the fixed-function rendering code, replacing it with a simple software renderer that blits its results to the GL context. Removed the public OpenGLGraphicsContext class, replacing it with a createOpenGLGraphicsContext() function which returns an appropriate shader-based or software-based renderer object.
13 years ago
jules
4870ea28dd
Refactored the dynamically-loaded OpenGL extension functions from being static to being members of a specific context object. This entails lots of OpenGLContext references being passed around all over the place, and has meant that a few static helper functions are no longer available.
13 years ago
jules
43d9a4eb16
New class: ThreadLocalValue.
13 years ago
jules
a56a285e58
OpenGL work: renamed OpenGLGraphicsContext class, and made it use shaders for rendering where available.
13 years ago
jules
bbac5a8790
New class: OpenGLShaderProgram, and GL clean-ups.
13 years ago
jules
0b1cdf6ab1
Refactoring of image storage: new classes ImageType, ImagePixelData, SoftwareImageType, NativeImageType, OpenGLImageType.
13 years ago
jules
2f3f3b9639
More OpenGL classes (do not use yet - work in progress!)
13 years ago
jules
0e478bf131
More OpenGL work.
13 years ago
jules
f31dca5f2f
More OpenGL work.
13 years ago
jules
61f5ca11ab
More OpenGL fixes and work.
13 years ago
jules
4afcdaaaba
Added some OpenGL framebuffer functionality.
13 years ago
jules
5a45b4f4c6
New class: OpenGLFrameBufferImage, which wraps a framebuffer inside a juce Image.
13 years ago