summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/font/font_dwrite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/modules/font/font_dwrite.cpp')
-rw-r--r--src/osd/modules/font/font_dwrite.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/osd/modules/font/font_dwrite.cpp b/src/osd/modules/font/font_dwrite.cpp
index 8f78badda3b..cfcc952ef0d 100644
--- a/src/osd/modules/font/font_dwrite.cpp
+++ b/src/osd/modules/font/font_dwrite.cpp
@@ -661,13 +661,31 @@ public:
{
}
+ virtual bool probe() override
+ {
+ // This module is available if it can load the expected API Functions
+ if (m_pfnD2D1CreateFactory.initialize() != 0
+ || m_pfnDWriteCreateFactory.initialize() != 0)
+ {
+ return false;
+ }
+
+ return true;
+ }
+
virtual int init(const osd_options &options) override
{
HRESULT result;
+ osd_printf_verbose("FontProvider: Initializing DirectWrite\n");
+
// Make sure we can initialize our api functions
- HR_RET1(m_pfnD2D1CreateFactory.initialize());
- HR_RET1(m_pfnDWriteCreateFactory.initialize());
+ if (m_pfnD2D1CreateFactory.initialize()
+ || m_pfnDWriteCreateFactory.initialize())
+ {
+ osd_printf_error("ERROR: FontProvider: Failed to load DirectWrite functions.\n");
+ return -1;
+ }
// Create a Direct2D factory.
HR_RET1(m_pfnD2D1CreateFactory(
@@ -692,6 +710,7 @@ public:
__uuidof(IWICImagingFactory),
(void**)&m_wicFactory));
+ osd_printf_verbose("FontProvider: DirectWrite initialized successfully.\n");
return 0;
}