diff --git a/modules/juce_graphics/native/juce_DirectX_windows.cpp b/modules/juce_graphics/native/juce_DirectX_windows.cpp index 2b0f1868c2..83d75fffca 100644 --- a/modules/juce_graphics/native/juce_DirectX_windows.cpp +++ b/modules/juce_graphics/native/juce_DirectX_windows.cpp @@ -884,30 +884,40 @@ HRESULT WINAPI MemoryFontFileLoader::CreateStreamFromKey (const void* fontFileRe } //============================================================================== -FontFileEnumerator::FontFileEnumerator (IDWriteFactory& factoryIn, - ComSmartPtr loaderIn) - : factory (factoryIn), loader (loaderIn) {} - -HRESULT WINAPI FontFileEnumerator::GetCurrentFontFile (IDWriteFontFile** fontFile) noexcept +class FontFileEnumerator final : public ComBaseClassHelper { - *fontFile = nullptr; +public: + FontFileEnumerator (IDWriteFactory& factoryIn, ComSmartPtr loaderIn) + : factory (factoryIn), loader (loaderIn) {} - if (! isPositiveAndBelow (rawDataIndex, 1)) - return E_FAIL; + HRESULT WINAPI GetCurrentFontFile (IDWriteFontFile** fontFile) noexcept override + { + *fontFile = nullptr; - const auto uuid = loader->getUuid(); - return factory.CreateCustomFontFileReference (uuid.getRawData(), - (UINT32) uuid.size(), - loader, - fontFile); -} + if (! isPositiveAndBelow (rawDataIndex, 1)) + return E_FAIL; -HRESULT WINAPI FontFileEnumerator::MoveNext (BOOL* hasCurrentFile) noexcept -{ - ++rawDataIndex; - *hasCurrentFile = rawDataIndex < 1 ? TRUE : FALSE; - return S_OK; -} + const auto uuid = loader->getUuid(); + return factory.CreateCustomFontFileReference (uuid.getRawData(), + (UINT32) uuid.size(), + loader, + fontFile); + } + + HRESULT WINAPI MoveNext (BOOL* hasCurrentFile) noexcept override + { + ++rawDataIndex; + *hasCurrentFile = rawDataIndex < 1 ? TRUE : FALSE; + return S_OK; + } + +private: + IDWriteFactory& factory; + ComSmartPtr loader; + size_t rawDataIndex = std::numeric_limits::max(); + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FontFileEnumerator) +}; //============================================================================== DirectWriteCustomFontCollectionLoader::DirectWriteCustomFontCollectionLoader (IDWriteFactory& factoryIn) diff --git a/modules/juce_graphics/native/juce_DirectX_windows.h b/modules/juce_graphics/native/juce_DirectX_windows.h index 92550cce64..2d6a5e1805 100644 --- a/modules/juce_graphics/native/juce_DirectX_windows.h +++ b/modules/juce_graphics/native/juce_DirectX_windows.h @@ -506,22 +506,6 @@ private: JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MemoryFontFileLoader) }; -class FontFileEnumerator final : public ComBaseClassHelper -{ -public: - FontFileEnumerator (IDWriteFactory& factoryIn, ComSmartPtr loaderIn); - - HRESULT WINAPI GetCurrentFontFile (IDWriteFontFile** fontFile) noexcept override; - HRESULT WINAPI MoveNext (BOOL* hasCurrentFile) noexcept override; - -private: - IDWriteFactory& factory; - ComSmartPtr loader; - size_t rawDataIndex = std::numeric_limits::max(); - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FontFileEnumerator) -}; - class DirectWriteCustomFontCollectionLoader final : public ComBaseClassHelper { public: