home *** CD-ROM | disk | FTP | other *** search
/ Windows Graphics Programming / Feng_Yuan_Win32_GDI_DirectX.iso / Samples / Chapt_15 / Text / PANMAP.H < prev    next >
C/C++ Source or Header  |  2000-03-04  |  3KB  |  100 lines

  1. /***************************************************************************
  2.  * PANMAP.H - Base definitions for ElseWare PANOSE(tm) 1.0 Font Mapper.
  3.  *            OLE 2.0 Implementation
  4.  *
  5.  *
  6.  * Copyright (C) 1991-94 ElseWare Corporation.  All rights reserved.
  7.  ***************************************************************************/
  8.  
  9. #ifndef __PANOLE2_H__
  10. #define __PANOLE2_H__
  11.  
  12. #ifdef INITGUID
  13. /* A Global Unique Identifier and an Interface ID for the PANOSE mapper.
  14.  */
  15. DEFINE_GUID(CLSID_PANOSEMapper, 0xBD84B381L, 0x8CA2, 0x1069, 0xAB, 0x1D, 0x08,
  16.         0x00, 0x09, 0x48, 0xF5, 0x34);
  17. DEFINE_GUID(IID_IPANOSEMapper, 0xBD84B382L, 0x8CA2, 0x1069, 0xAB, 0x1D, 0x08,
  18.         0x00, 0x09, 0x48, 0xF5, 0x34);
  19. #else
  20.  
  21. extern const CLSID CLSID_PANOSEMapper;
  22. extern const IID   IID_IPANOSEMapper;
  23.  
  24. #endif
  25.  
  26.  
  27.  
  28. DECLARE_INTERFACE_( IPANOSEMapper, IUnknown)
  29. {
  30.    /* IUnknown 
  31.     */
  32.    STDMETHOD(QueryInterface) (THIS_
  33.                            REFIID riid,
  34.                            LPVOID FAR* ppvObj) PURE;
  35.    STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  36.    STDMETHOD_(ULONG,Release) (THIS) PURE;
  37.  
  38.    /* The PANOSE Mapper interface.
  39.     */
  40.    STDMETHOD_(USHORT, unPANMatchFonts) ( THIS_
  41.          LPBYTE lpPanWant,
  42.          ULONG ulSizeWant, LPBYTE lpPanThis, ULONG ulSizeThis,
  43.          BYTE jMapToFamily) PURE;
  44.  
  45.  
  46.    STDMETHOD_(VOID, vPANMakeDummy)( THIS_
  47.          LPBYTE lpPanThis, USHORT unSize ) PURE;
  48.  
  49.    STDMETHOD_(SHORT, nPANGetMapDefault)( THIS_
  50.          LPBYTE lpPanDef,
  51.          USHORT unSizePanDef ) PURE;
  52.  
  53.    STDMETHOD_(SHORT, nPANSetMapDefault) (THIS_
  54.          LPBYTE lpPanDef,
  55.          USHORT unSizePanDef ) PURE;
  56.  
  57.    STDMETHOD_(BOOL, bPANEnableMapDefault) (THIS_
  58.          BOOL bEnable )  PURE;
  59.  
  60.    STDMETHOD_(BOOL, bPANIsDefaultEnabled) (THIS)  PURE;
  61.  
  62.    STDMETHOD_(USHORT, unPANPickFonts) (THIS_
  63.          USHORT FAR *lpIndsBest,
  64.          USHORT FAR *lpMatchValues, LPBYTE lpPanWant,
  65.          USHORT unNumInds, LPBYTE lpPanFirst, USHORT unNumAvail,
  66.          SHORT nRecSize, BYTE jMapToFamily ) PURE ;
  67.  
  68.    STDMETHOD_(USHORT, unPANGetMapThreshold) (THIS) PURE;
  69.  
  70.    STDMETHOD_(BOOL, bPANSetMapThreshold) (THIS_
  71.          USHORT unThreshold ) PURE;
  72.  
  73.    STDMETHOD_(BOOL, bPANIsThresholdRelaxed) (THIS) PURE;
  74.  
  75.    STDMETHOD_(VOID, vPANRelaxThreshold) (THIS) PURE;
  76.  
  77.    STDMETHOD_(BOOL, bPANRestoreThreshold) (THIS) PURE;
  78.  
  79.    STDMETHOD_(BOOL, bPANGetMapWeights) (THIS_
  80.          BYTE jFamilyA,
  81.          BYTE jFamilyB, LPBYTE lpjWts, LPBOOL lpbIsCustom ) PURE;
  82.  
  83.    STDMETHOD_(BOOL, bPANSetMapWeights) (THIS_
  84.          BYTE jFamilyA,
  85.          BYTE jFamilyB, LPBYTE lpjWts ) PURE;
  86.  
  87.    STDMETHOD_(BOOL, bPANClearMapWeights) (THIS_
  88.          BYTE jFamilyA,
  89.          BYTE jFamilyB ) PURE;
  90. };
  91. typedef IPANOSEMapper FAR * LPPANOSEMAPPER;
  92.  
  93.  
  94. //------------------------------------------------------------------------
  95. // Mapper definitions.
  96. //
  97.  
  98. #endif   // __PANOLE2_H__
  99.  
  100.