home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / wpscheme.def < prev    next >
Text File  |  1994-05-21  |  4KB  |  115 lines

  1. DEFINITION MODULE WPSCHEME;
  2.  
  3. (***************************************************************************
  4.   OS/2 2.1 Workplace class interface for WPSchemePalette;
  5.  
  6.   Copyright (c) 1994 by Juergen Neuhoff
  7. ****************************************************************************)
  8.  
  9. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  10. (*$CDECL+    C-style procedures                                         *)
  11. (*$A         default alignment for record fields                        *)
  12.  
  13. IMPORT SOM;
  14. IMPORT WPPALET;
  15. IMPORT WINSYS;
  16.  
  17. TYPE PSOMClass              = SOM.PSOMClass;
  18. TYPE INTEGER4               = SOM.INTEGER4;
  19. TYPE somMToken              = SOM.somMToken;
  20. TYPE somDToken              = SOM.somDToken;
  21. TYPE somMethodProc          = SOM.somMethodProc;
  22. TYPE PWPSchemePalette       = POINTER TO WPSchemePalette;
  23. TYPE PM_WPSchemePalette     = POINTER TO M_WPSchemePalette;
  24.  
  25. (************************************************************************
  26.   Additional TYPE- and CONST-declarations supporting WPSchemePalette
  27. *************************************************************************)
  28.  
  29. CONST SYSCLR_CSYSCOLORS     = WINSYS.SYSCLR_CSYSCOLORS;
  30.  
  31. TYPE CELL                   = WPPALET.CELL;
  32.  
  33. CONST
  34.   (*
  35.    * Scheme palette entry
  36.    *)
  37.   CCHSCHEMENAME = 30;
  38.   CCHFONTNAME   = 60;
  39.  
  40. TYPE
  41.   SCHEME        = RECORD
  42.     cell         : CELL;   (* Size of the data that follows *)
  43.     RGBSysColor  : ARRAY [0..SYSCLR_CSYSCOLORS-1] OF LONGCARD;
  44.     cxBorder     : LONGCARD;
  45.     cyBorder     : LONGCARD;
  46.     szName       : ARRAY [0..CCHSCHEMENAME] OF CHAR; (* Name of scheme *)
  47.     szWindowFont : ARRAY [0..CCHFONTNAME] OF CHAR;   (* System font *)
  48.     szTitleFont  : ARRAY [0..CCHFONTNAME] OF CHAR;   (* System font *)
  49.     szMenuFont   : ARRAY [0..CCHFONTNAME] OF CHAR;   (* System font *)
  50.     szIconFont   : ARRAY [0..CCHFONTNAME] OF CHAR;   (* System font *)
  51.                  END;
  52.   PSCHEME      = POINTER TO SCHEME;
  53.  
  54.  
  55.  
  56. (*************************************************************************
  57.   SOM class API for WPSchemePalette, including type-bound procedures
  58. **************************************************************************)
  59.  
  60. CONST
  61.   WPSchemePalette_MajorVersion     = 1;
  62.   WPSchemePalette_MinorVersion     = 2;
  63.  
  64. TYPE 
  65.   WPSchemePaletteClassDataStructure   = RECORD
  66.     classObject                         : PSOMClass;
  67.                                         END;
  68.  
  69. VAR
  70.   WPSchemePaletteClassData : WPSchemePaletteClassDataStructure;
  71.  
  72. TYPE
  73.   (*$SOM+ *)
  74.   WPSchemePalette = RECORD( WPPALET.WPPalette ) END;
  75.   (*$SOM- *)
  76.  
  77.  
  78. PROCEDURE WPSchemePaletteNewClass
  79. (
  80.   majorVersion  : INTEGER4;
  81.   minorVersion  : INTEGER4
  82. )               : PSOMClass;
  83.  
  84.  
  85. (*************************************************************************
  86.   SOM class API for M_WPSchemePalette, including type-bound procedures
  87. **************************************************************************)
  88.  
  89. CONST
  90.   M_WPSchemePalette_MajorVersion   = 1;
  91.   M_WPSchemePalette_MinorVersion   = 2;
  92.  
  93. TYPE 
  94.   M_WPSchemePaletteClassDataStructure   = RECORD
  95.     classObject                           : PSOMClass;
  96.                                           END;
  97.  
  98. VAR
  99.   M_WPSchemePaletteClassData : M_WPSchemePaletteClassDataStructure;
  100.  
  101. TYPE
  102.   (*$SOM+ *)
  103.   M_WPSchemePalette = RECORD( WPPALET.M_WPPalette ) END;
  104.   (*$SOM- *)
  105.  
  106.  
  107. PROCEDURE M_WPSchemePaletteNewClass
  108. (
  109.   majorVersion : INTEGER4;
  110.   minorVersion : INTEGER4
  111. )              : PSOMClass;
  112.  
  113.  
  114. END WPSCHEME.
  115.