home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wpsclass.zip / WPSCHEME.HH < prev    next >
Text File  |  1995-05-15  |  4KB  |  129 lines

  1.  
  2. #ifndef WPSchemePalette_Source
  3. #define WPSchemePalette_Source
  4.  
  5. #include <wppalet.hh>
  6. #pragma off(dts_class);
  7. #pragma on(somobject_assignment_operators);
  8. #pragma on(somobject_constructors);
  9. #pragma on(somobject_destructor);
  10. #pragma off(case_insensitive_class_names);
  11.  
  12. #pragma on(som_bindings);
  13. class WPSchemePalette : public WPPalette {
  14.  
  15.      #pragma SOMMap (WPSchemePalette, "WPSchemePalette", "M_WPSchemePalette")
  16.  
  17.      #pragma SOMClassVersion (WPSchemePalette, 1, 2)
  18.  
  19.      #pragma SOMCallstyle (WPSchemePalette, oidl)
  20.  
  21.      #pragma off(som_bindings);
  22.      #pragma pop(som_bindings);
  23.   public :
  24.  
  25. #pragma off(use_override_signature)
  26.      virtual void wpPaintCell(PCELL pCell, HPS hps, PRECTL prcl,
  27.                               BOOL fHilite);
  28.      virtual BOOL wpEditCell(PCELL pCell, HWND hwndPal);
  29.      virtual BOOL wpSetupCell(PVOID pCellData, ULONG cb, ULONG x,
  30.                               ULONG y);
  31.      virtual BOOL wpDragCell(PCELL pCell, HWND hwndPal, PPOINTL ptlDrag);
  32.      virtual ULONG wpQueryPaletteHelp();
  33.      virtual BOOL wpSetup(PSZ pszSetupString);
  34.      virtual BOOL wpMenuItemHelpSelected(ULONG MenuId);
  35. #pragma pop(use_override_signature)
  36.  
  37.      #pragma SOMReleaseOrder ()
  38.  
  39. };
  40.  
  41. #pragma pop(som_bindings);
  42.  
  43. #pragma pop(dts_class);
  44. #pragma pop(somobject_assignment_operators);
  45. #pragma pop(somobject_constructors);
  46. #pragma pop(somobject_destructor);
  47. #pragma pop(case_insensitive_class_names);
  48. #endif /* WPSchemePalette_Source */
  49.  
  50. #pragma off(som_bindings);
  51.    /*
  52.     * Scheme palette entry
  53.     */
  54.  
  55.    #define CCHSCHEMENAME 30
  56.    #define CCHFONTNAME   60
  57.  
  58.    typedef struct _SCHEME
  59.    {
  60.       CELL  cell;           /* Size of the data that follows */
  61.       ULONG RGBSysColor[SYSCLR_CSYSCOLORS];
  62.       ULONG cxBorder;
  63.       ULONG cyBorder;
  64.       CHAR  szName[CCHSCHEMENAME+1];  /* Name of this scheme */
  65.       CHAR  szWindowFont[CCHFONTNAME+1];    /* System font */
  66.       CHAR  szTitleFont[CCHFONTNAME+1];     /* System font */
  67.       CHAR  szMenuFont[CCHFONTNAME+1];      /* System font */
  68.       CHAR  szIconFont[CCHFONTNAME+1];      /* System font */
  69.    } SCHEME;
  70.    typedef SCHEME *PSCHEME;
  71.  
  72.    /*
  73.     *  Macros to extract RGB colors from a given scheme
  74.     */
  75.  
  76.    #define SYSCLR_TO_INDEX(s) (s - SYSCLR_HELPHILITE + SYSCLR_CSYSCOLORS - 1)
  77.  
  78.    #define INDEX_TO_SYSCLR(s) (s + SYSCLR_HELPHILITE - SYSCLR_CSYSCOLORS + 1)
  79.  
  80.    #define RGB_FROM_SYSCLR(psch,sysclr)                       \
  81.              ( psch ? ( psch->RGBSysColor[ SYSCLR_TO_INDEX(sysclr) ] ) \
  82.                     : WinQuerySysColor( HWND_DESKTOP, sysclr, 0 ) )
  83. #pragma pop(som_bindings);
  84.  
  85.  
  86. #ifndef M_WPSchemePalette_Source
  87. #define M_WPSchemePalette_Source
  88.  
  89. #include <wppalet.hh>
  90. #include <somcls.hh>
  91. #pragma off(dts_class);
  92. #pragma on(somobject_assignment_operators);
  93. #pragma on(somobject_constructors);
  94. #pragma on(somobject_destructor);
  95. #pragma off(case_insensitive_class_names);
  96.  
  97. #pragma on(som_bindings);
  98. class M_WPSchemePalette : public M_WPPalette {
  99.  
  100.      #pragma SOMClassVersion (M_WPSchemePalette, 1, 2)
  101.  
  102.      #pragma SOMCallstyle (M_WPSchemePalette, oidl)
  103.  
  104.      #pragma off(som_bindings);
  105.      #pragma pop(som_bindings);
  106.   public :
  107.  
  108. #pragma off(use_override_signature)
  109.      virtual PSZ wpclsQueryEditString();
  110.      virtual PSZ wpclsQueryTitle();
  111.      virtual ULONG wpclsQueryStyle();
  112.      virtual BOOL wpclsQueryDefaultHelp(PULONG pHelpPanelId,
  113.                                         PSZ pszHelpLibrary);
  114.      virtual ULONG wpclsQueryIconData(PICONINFO pIconInfo);
  115. #pragma pop(use_override_signature)
  116.  
  117.      #pragma SOMReleaseOrder ()
  118.  
  119. };
  120. #pragma pop(som_bindings);
  121.  
  122. #pragma pop(dts_class);
  123. #pragma pop(somobject_assignment_operators);
  124. #pragma pop(somobject_constructors);
  125. #pragma pop(somobject_destructor);
  126. #pragma pop(case_insensitive_class_names);
  127. #endif /* M_WPSchemePalette_Source */
  128.  
  129.