diff --git a/modules/juce_graphics/native/juce_DirectX_windows.cpp b/modules/juce_graphics/native/juce_DirectX_windows.cpp index 83d75fffca..3e6663a6d4 100644 --- a/modules/juce_graphics/native/juce_DirectX_windows.cpp +++ b/modules/juce_graphics/native/juce_DirectX_windows.cpp @@ -825,39 +825,48 @@ auto AggregateFontCollection::mapCharacters (IDWriteFontFallback* fallback, } //============================================================================== -MemoryFontFileStream::MemoryFontFileStream (std::shared_ptr blockIn) - : block (std::move (blockIn)) +class MemoryFontFileStream final : public ComBaseClassHelper { -} - -JUCE_COMRESULT MemoryFontFileStream::GetFileSize (UINT64* fileSize) noexcept -{ - *fileSize = block->getSize(); - return S_OK; -} - -JUCE_COMRESULT MemoryFontFileStream::GetLastWriteTime (UINT64* lastWriteTime) noexcept -{ - *lastWriteTime = 0; - return S_OK; -} - -JUCE_COMRESULT MemoryFontFileStream::ReadFileFragment (const void** fragmentStart, - UINT64 fileOffset, - UINT64 fragmentSize, - void** fragmentContext) noexcept -{ - if (fileOffset + fragmentSize > block->getSize()) +public: + explicit MemoryFontFileStream (std::shared_ptr blockIn) + : block (std::move (blockIn)) { - *fragmentStart = nullptr; - *fragmentContext = nullptr; - return E_INVALIDARG; } - *fragmentStart = addBytesToPointer (block->getData(), fileOffset); - *fragmentContext = this; - return S_OK; -} + JUCE_COMRESULT GetFileSize (UINT64* fileSize) noexcept override + { + *fileSize = block->getSize(); + return S_OK; + } + + JUCE_COMRESULT GetLastWriteTime (UINT64* lastWriteTime) noexcept override + { + *lastWriteTime = 0; + return S_OK; + } + + JUCE_COMRESULT ReadFileFragment (const void** fragmentStart, + UINT64 fileOffset, + UINT64 fragmentSize, + void** fragmentContext) noexcept override + { + if (fileOffset + fragmentSize > block->getSize()) + { + *fragmentStart = nullptr; + *fragmentContext = nullptr; + return E_INVALIDARG; + } + + *fragmentStart = addBytesToPointer (block->getData(), fileOffset); + *fragmentContext = this; + return S_OK; + } + + void WINAPI ReleaseFileFragment (void*) noexcept override {} + +private: + std::shared_ptr block; +}; //============================================================================== MemoryFontFileLoader::MemoryFontFileLoader (MemoryBlock blob) diff --git a/modules/juce_graphics/native/juce_DirectX_windows.h b/modules/juce_graphics/native/juce_DirectX_windows.h index 2d6a5e1805..ec4622e921 100644 --- a/modules/juce_graphics/native/juce_DirectX_windows.h +++ b/modules/juce_graphics/native/juce_DirectX_windows.h @@ -470,24 +470,6 @@ private: std::mutex mutex; }; -class MemoryFontFileStream final : public ComBaseClassHelper -{ -public: - explicit MemoryFontFileStream (std::shared_ptr blockIn); - - JUCE_COMRESULT GetFileSize (UINT64* fileSize) noexcept override; - JUCE_COMRESULT GetLastWriteTime (UINT64* lastWriteTime) noexcept override; - JUCE_COMRESULT ReadFileFragment (const void** fragmentStart, - UINT64 fileOffset, - UINT64 fragmentSize, - void** fragmentContext) noexcept override; - - void WINAPI ReleaseFileFragment (void*) noexcept override {} - -private: - std::shared_ptr block; -}; - class MemoryFontFileLoader final : public ComBaseClassHelper { public: