#define DWRITE_CORE 1 #include "dwrite_3.h" /// /// Creates a factory object that is used for subsequent creation of individual DWriteCore objects. /// /// Identifies whether the factory object will be shared or isolated. /// Identifies the DirectWrite factory interface, such as UUIDOF(IDWriteFactory). /// Receives the DirectWrite factory object. /// /// Standard HRESULT error code. /// /// /// This is functionally the same as the DWriteCreateFactory function exported by the system version /// of DirectWrite. The DWriteCore function has a different name to avoid ambiguity. /// EXTERN_C HRESULT DWRITE_EXPORT DWriteCoreCreateFactory( _In_ DWRITE_FACTORY_TYPE factoryType, _In_ REFIID iid, _COM_Outptr_ IUnknown** factory ); /// /// Registers an object that receives internal DWriteCore events. /// /// Event sink object to register. /// Standard HRESULT error code. /// This method does NOT add a reference to the event sink object. /// The caller is expected to hold a reference to the event sink object until /// it later unregisters it by calling DWriteUnregisterEventSink. EXTERN_C HRESULT DWRITE_EXPORT DWriteCoreRegisterEventSink( IDWriteEventSink* eventSink ); /// /// Unregisters an event sink object that was previously registered /// using DWriteCoreRegisterEventSink. /// /// Event sink object to unregister. /// Since DWriteCore does not hold a reference to the event sink, this /// call can be made by the event sink object's destructor. EXTERN_C void DWRITE_EXPORT DWriteCoreUnregisterEventSink( IDWriteEventSink* eventSink );