home *** CD-ROM | disk | FTP | other *** search
/ 85.21.22.242 / 2015.04-85.21.22.242.tar / 85.21.22.242 / pcl5-x32-5.5.0.12834.7z / pcl5-x32-5.5.0.12834 / hpcu130b.cab / stddtype.gdl < prev    next >
Text File  |  2009-06-10  |  24KB  |  1,080 lines

  1. *%  stddtype.gdl - this file contains templates that define all MS standard datatypes
  2. *%  that appear in GPD and GDL files.
  3.  
  4. *PreCompiled:  TRUE
  5.  
  6.  
  7. *% ==================
  8. *%  ====  Macro Definitions  ====
  9. *% ==================
  10.  
  11. *Macros:
  12. {
  13.     LIST_OF_COMMAND_NAMES : (
  14.     *%
  15.     *%  GENERAL
  16.     *%
  17.         *%  the following are not enumerated here because they require
  18.         *%  the full Command structure.   See Template: ORDERED_COMMAND
  19.         *%  and its descendants.
  20.  
  21.         *%  CmdSelect,
  22.         *%  CmdStartJob,
  23.         *%  CmdStartDoc,
  24.         *%  CmdStartPage,
  25.         *%  CmdEndPage,
  26.         *%  CmdEndDoc,
  27.         *%  CmdEndJob,
  28.         *%  CmdCopies,
  29.         *%  CmdSleepTimeOut,
  30.  
  31.     *%
  32.     *% CURSOR CONTROL
  33.     *%
  34.         CmdXMoveAbsolute,
  35.         CmdXMoveRelLeft,
  36.         CmdXMoveRelRight,
  37.         CmdYMoveAbsolute,
  38.         CmdYMoveRelUp,
  39.         CmdYMoveRelDown,
  40.         CmdSetSimpleRotation,
  41.         CmdSetAnyRotation,
  42.         CmdUniDirectionOn,
  43.         CmdUniDirectionOff,
  44.         CmdSetLineSpacing,
  45.         CmdPushCursor,
  46.         CmdPopCursor,
  47.         CmdBackSpace,
  48.         CmdFF,
  49.         CmdCR,
  50.         CmdLF,
  51.     *%
  52.     *% COLOR
  53.     *%
  54.       CmdSelectBlackColor,
  55.       CmdSelectRedColor,
  56.       CmdSelectGreenColor,
  57.       CmdSelectYellowColor,
  58.       CmdSelectBlueColor,
  59.       CmdSelectMagentaColor,
  60.       CmdSelectCyanColor,
  61.       CmdSelectWhiteColor,
  62.       CmdBeginPaletteDef,
  63.       CmdEndPaletteDef,
  64.       CmdDefinePaletteEntry,
  65.       CmdBeginPaletteReDef,
  66.       CmdEndPaletteReDef,
  67.       CmdReDefinePaletteEntry,
  68.       CmdSelectPaletteEntry,
  69.       CmdPushPalette,
  70.       CmdPopPalette,
  71.     *%
  72.     *% BRUSH SELECTION
  73.     *%
  74.       CmdDownloadPattern,
  75.       CmdSelectPattern,
  76.       CmdSelectWhiteBrush,
  77.       CmdSelectBlackBrush,
  78.     *%
  79.     *% DATACOMPRESSION
  80.     *%
  81.       CmdEnableTIFF4,
  82.       CmdEnableDRC,
  83.       CmdEnableFE_RLE,
  84.       CmdEnableOEMComp,
  85.       CmdDisableCompression,
  86.     *%
  87.     *%  Raster Data Emission
  88.     *%
  89.       CmdBeginRaster,
  90.       CmdEndRaster,
  91.       CmdSetDestBmpWidth,
  92.       CmdSetDestBmpHeight,
  93.       CmdSetSrcBmpWidth,
  94.       CmdSetSrcBmpHeight,
  95.       CmdSendBlockData,
  96.       CmdEndBlockData,
  97.       CmdSendRedData,
  98.       CmdSendGreenData,
  99.       CmdSendBlueData,
  100.       CmdSendCyanData,
  101.       CmdSendMagentaData,
  102.       CmdSendYellowData,
  103.       CmdSendBlackData,
  104.     *%
  105.     *%  Font Downloading
  106.     *%
  107.       CmdSetFontID,
  108.       CmdSelectFontID,
  109.       CmdSetCharCode,
  110.       CmdDeselectFontID,
  111.       CmdSelectFontHeight,
  112.       CmdSelectFontWidth,
  113.       CmdDeleteFont,
  114.     *%
  115.     *%  Font Simulation
  116.     *%
  117.       CmdSetFontSim,
  118.       CmdBoldOn,
  119.       CmdBoldOff,
  120.       CmdItalicOn,
  121.       CmdItalicOff,
  122.       CmdUnderlineOn,
  123.       CmdUnderlineOff,
  124.       CmdStrikeThruOn,
  125.       CmdStrikeThruOff,
  126.       CmdWhiteTextOn,
  127.       CmdWhiteTextOff,
  128.       CmdSelectSingleByteMode,
  129.       CmdSelectDoubleByteMode,
  130.       CmdVerticalPrintingOn,
  131.       CmdVerticalPrintingOff,
  132.       CmdClearAllFontAttribs,
  133.     *%
  134.     *% Misc
  135.     *%
  136.       CmdSetTextHTAlgo,
  137.       CmdSetGraphicsHTAlgo,
  138.       CmdSetPhotoHTAlgo,
  139.     *%
  140.     *%  Vector Printing
  141.     *%
  142.  
  143.       CmdSetRectWidth,
  144.       CmdSetRectHeight,
  145.       CmdSetRectSize,
  146.       CmdRectGrayFill,
  147.       CmdRectWhiteFill,
  148.       CmdRectBlackFill,
  149.     )
  150. }
  151.  
  152. *% ==================
  153. *%  ====  define  DT_ONE_OR_LIST_OF_[ElementType]  ====
  154. *% ==================
  155. *%  DT_ONE_OR_LIST_OF_[ElementType]  allows the value to be a
  156. *%  single naked object of that [ElementType]
  157. *%  or any number of [ElementType] enclosed within a LIST()
  158. *%  Either type will appear in the Snapshot with a similar format so
  159. *%  Client code does not need to be aware of the 2 personalities.
  160. *% ==================
  161.  
  162. *BlockMacro: DefineListDataType(=ElementType, =ElementTag)
  163. {
  164.     *Template:  DT_LIST_OF_=ElementType
  165.     {
  166.         *Inherits:  VDT_GENERIC_LIST
  167.         *ElementType:  =ElementType
  168.         *ElementTags: =ElementTag
  169.     }
  170.     *Template:  DT_LIST_OF_ONE_=ElementType
  171.     {
  172.         *Inherits:  VDT_GENERIC_LIST_OF_ONE
  173.         *ElementType:  =ElementType
  174.         *ElementTags: =ElementTag
  175.     }
  176.     *Template:  DT_ONE_OR_LIST_OF_=ElementType
  177.     {
  178.         *Type:  DATATYPE
  179.         *DataType:   MULTIPLE_PERSONALITY
  180.         *ElementType:  (DT_LIST_OF_=ElementType, DT_LIST_OF_ONE_=ElementType)
  181.         *ElementTags: (list_=ElementTag, one_=ElementTag)
  182.     }
  183. }
  184.  
  185.  
  186. *% ==================
  187. *%  === XML/XSD types :  use prefix XSD ====
  188. *% ==================
  189.  
  190. *Template:  XSD_STRING
  191. {
  192.     *Type:  DATATYPE
  193.     *DataType:   XML_TYPE
  194.     *XMLDataType: "string"
  195. }
  196. *Template:  XSD_INT
  197. {
  198.     *Type:  DATATYPE
  199.     *DataType:   XML_TYPE
  200.     *XMLDataType: "int"
  201. }
  202. *Template:  XSD_FLOAT
  203. {
  204.     *Type:  DATATYPE
  205.     *DataType:   XML_TYPE
  206.     *XMLDataType: "float"
  207. }
  208. *Template:  XSD_BASE64
  209. {
  210.     *Type:  DATATYPE
  211.     *DataType:   XML_TYPE
  212.     *XMLDataType: "base64Binary"
  213. }
  214.  
  215. *Template:  DT_TRANSIENT   *%  won't actually appear in Snapshot.
  216. {
  217.     *Type:  DATATYPE
  218.     *DataType:   PASSTHROUGH
  219. }
  220.  
  221.  
  222. *% ==================
  223. *%  === Enumerator types :  use prefix EDT ====
  224. *% ==================
  225.  
  226.  
  227.  
  228. *Template:  EDT_BOOLEAN
  229. {
  230.     *Type:  DATATYPE
  231.     *DataType:   ENUMERATOR
  232.     *XMLDataType: "XML_BOOLEAN"
  233.     *EnumeratorList: (TRUE, FALSE)
  234. }
  235.  
  236. *Template:  EDT_PRINTER_TYPE
  237. {
  238.     *Type:  DATATYPE
  239.     *DataType:   ENUMERATOR
  240.     *XMLDataType: "XML_PRINTER_TYPE"
  241.     *EnumeratorList: (PAGE,  SERIAL,  TTY)
  242. }
  243. *Template:  EDT_FEATURETYPE
  244. {
  245.     *Type:  DATATYPE
  246.     *DataType:   ENUMERATOR
  247.     *XMLDataType: "XML_FEATURETYPE"
  248.     *EnumeratorList: (PARAMETER_PROPERTY, DOC_PROPERTY, JOB_PROPERTY,
  249.         PRINTER_PROPERTY, SYNTHESIZED_PROPERTY)
  250. }
  251.  
  252. *Template:  EDT_UITYPE
  253. {
  254.     *Type:  DATATYPE
  255.     *DataType:   ENUMERATOR
  256.     *XMLDataType: "XML_UITYPE"
  257.     *EnumeratorList: (PICKMANY, PICKONE)
  258. }
  259.  
  260.  
  261. *Template:  EDT_PROMPTTIME
  262. {
  263.     *Type:  DATATYPE
  264.     *DataType:   ENUMERATOR
  265.     *XMLDataType: "XML_PROMPTTIME"
  266.     *EnumeratorList: (UI_SETUP, PRT_STARTDOC)
  267. }
  268.  
  269. *Template:  EDT_PAPERFEED_ORIENT
  270. {
  271.     *Type:  DATATYPE
  272.     *DataType:   ENUMERATOR
  273.     *XMLDataType: "XML_PAPERFEED_ORIENT"
  274.     *EnumeratorList: (FACEUP_NONE, FACEUP_CENTER, FACEUP_LEFT, FACEUP_RIGHT,
  275.         FACEDOWN_NONE, FACEDOWN_CENTER, FACEDOWN_LEFT, FACEDOWN_RIGHT)
  276. }
  277.  
  278.  
  279.  
  280.  
  281. *Template:  EDT_COLORPLANE
  282. {
  283.     *Type:  DATATYPE
  284.     *DataType:   ENUMERATOR
  285.     *XMLDataType: "XML_COLORPLANE"
  286.     *EnumeratorList: (YELLOW, MAGENTA, CYAN, BLACK, RED, GREEN, BLUE)
  287. }
  288.  
  289.  
  290. *Template:  EDT_RESPONSETYPE
  291. {
  292.     *Type:  DATATYPE
  293.     *DataType:   ENUMERATOR
  294.     *XMLDataType: "XML_RESPONSETYPE"
  295.     *EnumeratorList: (BIDI_NULL ,BIDI_INT ,BIDI_FLOAT ,BIDI_BOOL ,
  296.         BIDI_STRING, BIDI_TEXT , BIDI_ENUM  , BIDI_BLOB )
  297. }
  298.  
  299. *Template:  EDT_ORDER_SECTION
  300. {
  301.     *Type:  DATATYPE
  302.     *DataType:   ENUMERATOR
  303.     *XMLDataType: "XML_ORDER_SECTION"
  304.     *EnumeratorList: (JOB_SETUP , DOC_SETUP , PAGE_SETUP ,
  305.             JOB_FINISH , DOC_FINISH , PAGE_FINISH )
  306. }
  307.  
  308.  
  309. *Template:  EDT_RASTERCAPS
  310. {
  311.     *Type:  DATATYPE
  312.     *DataType:   ENUMERATOR
  313.     *XMLDataType: "XML_RASTERCAPS"
  314.     *EnumeratorList: (AT_PRINTABLE_X_ORIGIN, AT_GRXDATA_ORIGIN)
  315. }
  316.  
  317.  
  318.  
  319. *Template:  EDT_TEXTCAPS
  320. {
  321.     *Type:  DATATYPE
  322.     *DataType:   ENUMERATOR
  323.     *XMLDataType: "XML_TEXTCAPS"
  324.     *EnumeratorList: (TC_OP_CHARACTER, TC_OP_STROKE, TC_CP_STROKE,
  325.         TC_CR_90, TC_CR_ANY, TC_SF_X_YINDEP, TC_SA_DOUBLE, TC_SA_INTEGER,
  326.         TC_SA_CONTIN, TC_EA_DOUBLE, TC_IA_ABLE, TC_UA_ABLE, TC_SO_ABLE,
  327.         TC_RA_ABLE, TC_VA_ABLE)
  328. }
  329.  
  330.  
  331. *Template:  EDT_MEMORYUSAGE
  332. {
  333.     *Type:  DATATYPE
  334.     *DataType:   ENUMERATOR
  335.     *XMLDataType: "XML_MEMORYUSAGE"
  336.     *EnumeratorList: (FONT, RASTER, VECTOR)
  337. }
  338.  
  339.  
  340.  
  341. *Template:  EDT_RESELECTFONT
  342. {
  343.     *Type:  DATATYPE
  344.     *DataType:   ENUMERATOR
  345.     *XMLDataType: "XML_RESELECTFONT"
  346.     *EnumeratorList: (AFTER_GRXDATA, AFTER_XMOVE, AFTER_FF)
  347. }
  348.  
  349.  
  350. *Template:  EDT_OEMPRINTINGCALLBACKS
  351. {
  352.     *Type:  DATATYPE
  353.     *DataType:   ENUMERATOR
  354.     *XMLDataType: "XML_OEMPRINTINGCALLBACKS"
  355.     *EnumeratorList: (OEMDownloadFontheader, OEMDownloadCharGlyph,
  356.         OEMTTDownloadMethod, OEMOutputCharStr, OEMImageProcessing,
  357.         OEMCompression, OEMHalftonePattern, OEMFilterGraphics)
  358. }
  359.  
  360. *Template:  EDT_CURSORXAFTERCR
  361. {
  362.     *Type:  DATATYPE
  363.     *DataType:   ENUMERATOR
  364.     *XMLDataType: "XML_CURSORXAFTERCR"
  365.     *EnumeratorList: (AT_PRINTABLE_X_ORIGIN, AT_CURSOR_X_ORIGIN)
  366. }
  367.  
  368. *Template:  EDT_BADCURSORMOVEINGRXMODE
  369. {
  370.     *Type:  DATATYPE
  371.     *DataType:   ENUMERATOR
  372.     *XMLDataType: "XML_BADCURSORMOVEINGRXMODE"
  373.     *EnumeratorList: (X_PORTRAIT, X_LANDSCAPE, Y_PORTRAIT, Y_LANDSCAPE)
  374. }
  375.  
  376.  
  377. *Template:  EDT_PALETTESCOPE
  378. {
  379.     *Type:  DATATYPE
  380.     *DataType:   ENUMERATOR
  381.     *XMLDataType: "XML_PALETTESCOPE"
  382.     *EnumeratorList: (RASTER, TEXT, VECTOR)
  383. }
  384.  
  385. *Template:  EDT_OUTPUTDATAFORMAT
  386. {
  387.     *Type:  DATATYPE
  388.     *DataType:   ENUMERATOR
  389.     *XMLDataType: "XML_OUTPUTDATAFORMAT"
  390.     *EnumeratorList: (H_BYTE, V_BYTE)
  391. }
  392.  
  393.  
  394. *Template:  EDT_STRIPBLANKS
  395. {
  396.     *Type:  DATATYPE
  397.     *DataType:   ENUMERATOR
  398.     *XMLDataType: "XML_STRIPBLANKS"
  399.     *EnumeratorList: (LEADING, ENCLOSED, TRAILING)
  400. }
  401.  
  402.  
  403. *Template:  EDT_LANDSCAPEGRXROTATION
  404. {
  405.     *Type:  DATATYPE
  406.     *DataType:   ENUMERATOR
  407.     *XMLDataType: "XML_LANDSCAPEGRXROTATION"
  408.     *EnumeratorList: (NONE, CC_90, CC_270)
  409. }
  410.  
  411. *Template:  EDT_CURSORXAFTERSENDBLOCKDATA
  412. {
  413.     *Type:  DATATYPE
  414.     *DataType:   ENUMERATOR
  415.     *XMLDataType: "XML_CURSORXAFTERSENDBLOCKDATA"
  416.     *EnumeratorList: (AT_GRXDATA_END, AT_GRXDATA_ORIGIN, AT_CURSOR_X_ORIGIN)
  417. }
  418.  
  419.  
  420. *Template:  EDT_CURSORYAFTERSENDBLOCKDATA
  421. {
  422.     *Type:  DATATYPE
  423.     *DataType:   ENUMERATOR
  424.     *XMLDataType: "XML_CURSORYAFTERSENDBLOCKDATA"
  425.     *EnumeratorList: (NO_MOVE, AUTO_INCREMENT)
  426. }
  427.  
  428. *Template:  EDT_CHARPOSITION
  429. {
  430.     *Type:  DATATYPE
  431.     *DataType:   ENUMERATOR
  432.     *XMLDataType: "XML_CHARPOSITION"
  433.     *EnumeratorList: (UPPERLEFT, BASELINE)
  434. }
  435.  
  436.  
  437. *Template:  EDT_FONTFORMAT
  438. {
  439.     *Type:  DATATYPE
  440.     *DataType:   ENUMERATOR
  441.     *XMLDataType: "XML_FONTFORMAT"
  442.     *EnumeratorList: (HPPCL, HPPCL_RES, HPPCL_OUTLINE, OEM_CALLBACK)
  443. }
  444.  
  445.  
  446. *Template:  EDT_QUERYDATATYPE
  447. {
  448.     *Type:  DATATYPE
  449.     *DataType:   ENUMERATOR
  450.     *XMLDataType: "XML_QUERYDATATYPE"
  451.     *EnumeratorList: (DWORD, CONCATENATED_STRINGS)
  452. }
  453.  
  454.  
  455.  
  456. *Template:  EDT_YMOVEATTRIB
  457. {
  458.     *Type:  DATATYPE
  459.     *DataType:   ENUMERATOR
  460.     *XMLDataType: "XML_YMOVEATTRIB"
  461.     *EnumeratorList: (FAVOR_LF, SEND_CR_FIRST)
  462. }
  463.  
  464.  
  465.  
  466.  
  467. *Template:  EDT_DLSYMBOLSET
  468. {
  469.     *Type:  DATATYPE
  470.     *DataType:   ENUMERATOR
  471.     *XMLDataType: "XML_DLSYMBOLSET"
  472.     *EnumeratorList: (PC_8, ROMAN_8)
  473. }
  474.  
  475.  
  476.  
  477. *Template:  EDT_CURXAFTER_RECTFILL
  478. {
  479.     *Type:  DATATYPE
  480.     *DataType:   ENUMERATOR
  481.     *XMLDataType: "XML_CURXAFTER_RECTFILL"
  482.     *EnumeratorList: (AT_RECT_X_ORIGIN, AT_RECT_X_END)
  483. }
  484.  
  485.  
  486. *Template:  EDT_CURYAFTER_RECTFILL
  487. {
  488.     *Type:  DATATYPE
  489.     *DataType:   ENUMERATOR
  490.     *XMLDataType: "XML_CURYAFTER_RECTFILL"
  491.     *EnumeratorList: (AT_RECT_Y_ORIGIN, AT_RECT_Y_END)
  492. }
  493.  
  494. *Template:  EDT_PRINTRATEUNIT
  495. {
  496.     *Type:  DATATYPE
  497.     *DataType:   ENUMERATOR
  498.     *XMLDataType: "XML_PRINTRATEUNIT"
  499.     *EnumeratorList: (PPM, CPS, LPM, IPM, LPS, IPS)
  500. }
  501.  
  502.  
  503. *Template:  EDT_RASTERMODE
  504. {
  505.     *Type:  DATATYPE
  506.     *DataType:   ENUMERATOR
  507.     *XMLDataType: "XML_RASTERMODE"
  508.     *EnumeratorList: (DIRECT, INDEXED)
  509. }
  510.  
  511.  
  512. *Template:  EDT_QUALITYSETTING
  513. {
  514.     *Type:  DATATYPE
  515.     *DataType:   ENUMERATOR
  516.     *XMLDataType: "XML_QUALITYSETTING"
  517.     *EnumeratorList: (DRAFTQUALITY, BETTERQUALITY, BESTQUALITY)
  518. }
  519.  
  520.  
  521.  
  522. *Template:  EDT_STD_VAR
  523. {           *%  standard_variables
  524.     *Type:  DATATYPE
  525.     *DataType:   ENUMERATOR
  526.     *XMLDataType: "XML_STD_VAR"
  527.     *EnumeratorList: (
  528.         NumOfDataBytes,
  529.         RasterDataWidthInBytes,
  530.         RasterDataHeightInPixels,
  531.         NumOfCopies,
  532.         PrintDirInCCDegrees,
  533.         DestX,
  534.         DestY,
  535.         DestXRel,
  536.         DestYRel,
  537.         LinefeedSpacing,
  538.         RectXSize,
  539.         RectYSize,
  540.         GrayPercentage,
  541.         NextFontID,
  542.         NextGlyph,
  543.         PhysPaperLength,
  544.         PhysPaperWidth,
  545.         FontHeight,
  546.         FontWidth,
  547.         FontMaxWidth,
  548.         FontBold,
  549.         FontItalic,
  550.         FontUnderline,
  551.         FontStrikeThru,
  552.         CurrentFontID,
  553.         TextYRes,
  554.         TextXRes,
  555.         GraphicsYRes,
  556.         GraphicsXRes,
  557.         Rop3,
  558.         RedValue,
  559.         GreenValue,
  560.         BlueValue,
  561.         PaletteIndexToProgram,
  562.         CurrentPaletteIndex,
  563.         PatternBrushType,
  564.         PatternBrushID,
  565.         PatternBrushSize,
  566.         CursorOriginX,
  567.         CursorOriginY,
  568.         PageNumber
  569.     )
  570. }
  571.  
  572. *Template:  EDT_CMD_NAME
  573. {
  574.     *Type:  DATATYPE
  575.     *DataType:   ENUMERATOR
  576.     *XMLDataType: "XML_CMD_NAME"
  577.     *EnumeratorList:  =LIST_OF_COMMAND_NAMES
  578. }
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588. *% ==================
  589. *%  === Filter types :  use prefix GPD ====
  590. *%  === these represent GPD defined types ====
  591. *% ==================
  592.  
  593. *Template:  GPD_INTEGER
  594. {
  595.     *Type:  DATATYPE
  596.     *DataType:   FILTER_TYPE
  597.     *ElementType:  XSD_INT
  598.     *FilterTypeName: "HEX_OR_INT"
  599. }
  600.  
  601.  
  602.  
  603. *Template:  GPD_POS_INTEGER
  604. {
  605.     *Inherits:  GPD_INTEGER
  606.     *MinValue: 1
  607. }
  608.  
  609. *Template:  GPD_NONNEG_INTEGER
  610. {
  611.     *Inherits:  GPD_INTEGER
  612.     *MinValue: 0
  613. }
  614.  
  615. *Template:  GPD_SYMBOL
  616. {
  617.     *Type:  DATATYPE
  618.     *DataType:   FILTER_TYPE
  619.     *ElementType:  XSD_STRING
  620.     *FilterTypeName: "SYMBOLNAME"
  621. }
  622. *Template:  GPD_COMMAND      *%  Only used to represent Command strings
  623. {
  624.     *Type:  DATATYPE
  625.     *DataType:   FILTER_TYPE
  626.     *ElementType:  XSD_BASE64
  627.     *FilterTypeName: "COMMAND_STRING"
  628. }
  629.  
  630. *Template:  GPD_NORMAL_STRING  *%  ANSI string, no Unicode conversion
  631. {
  632.     *Type:  DATATYPE
  633.     *DataType:   FILTER_TYPE
  634.     *ElementType:  XSD_STRING
  635.     *FilterTypeName: "NORMAL_STRING"
  636. }
  637. *Template:  GPD_CODEPAGE_STRING       *%  ANSI string, convert to Unicode
  638. {
  639.     *Type:  DATATYPE
  640.     *DataType:   FILTER_TYPE
  641.     *ElementType:  XSD_STRING
  642.     *FilterTypeName: "CODEPAGE_STRING"
  643. }
  644. *Template:  GPD_DEFAULT_CODEPAGE_STRING  *%  ANSI string, convert to Unicode
  645. {
  646.     *Type:  DATATYPE
  647.     *DataType:   FILTER_TYPE
  648.     *ElementType:  XSD_STRING
  649.     *FilterTypeName: "DEFAULT_CODEPAGE_STRING"
  650. }
  651. *Template:  GPD_UNICODE_STRING  *%  string already in Unicode
  652. {
  653.     *Type:  DATATYPE
  654.     *DataType:   FILTER_TYPE
  655.     *ElementType:  XSD_STRING
  656.     *FilterTypeName: "UNICODE_STRING"
  657. }
  658. *Template:  GPD_BINARY_STRING  *%  Binary byte string, emit as Base64
  659. {
  660.     *Type:  DATATYPE
  661.     *DataType:   FILTER_TYPE
  662.     *ElementType:  XSD_BASE64
  663.     *FilterTypeName: "BINARY_STRING"
  664. }
  665.  
  666.  
  667.  
  668.  
  669. *% ======================
  670. *% ==== Composite Types  :  use prefix VDT  for Virtual Templates ====
  671. *% ==== use prefix DT  for Non-Virtual Templates ====
  672. *% ======================
  673.  
  674. *%  VDT_GENERIC_ARRAY  defines an array comprised of
  675. *%  comma delimited elements.  The elements are not yet defined.
  676.  
  677. *Template:  VDT_GENERIC_ARRAY
  678. {
  679.     *Type:  DATATYPE
  680.     *DataType:   ARRAY
  681.     *RequiredDelimiter: ","
  682.     *OptionalDelimiter: "<20 09>"
  683.     *Virtual:  TRUE
  684. }
  685.  
  686. *Template:  VDT_GENERIC_LIST
  687. {
  688.     *Inherits:  VDT_GENERIC_ARRAY
  689.     *ArrayLabel: "LIST"
  690.     *ArraySize: [*]
  691.     *Virtual:  TRUE
  692. }
  693.  
  694.  
  695. *Template:  VDT_GENERIC_LIST_OF_ONE
  696. {
  697.     *Inherits:  VDT_GENERIC_ARRAY
  698.     *ArraySize: [1]
  699.     *Virtual:  TRUE
  700. }
  701.  
  702. *Template:  VDT_GENERIC_LIST_MIN_2
  703. {
  704.     *Inherits:  VDT_GENERIC_ARRAY
  705.     *ArrayLabel: "LIST"
  706.     *ArraySize: [2-*]
  707.     *Virtual:  TRUE
  708. }
  709.  
  710.  
  711. *Template:  VDT_GENERIC_PAIR
  712. {
  713.     *Inherits:  VDT_GENERIC_ARRAY
  714.     *ElementType:  GPD_INTEGER
  715.     *Virtual:  TRUE
  716. }
  717.  
  718. *% ==================
  719. *%  ====  define  DT_PAIR_OF_GPD_INTEGER  ====
  720. *% ==================
  721.  
  722. *Template:  DT_PAIR_OF_NUMS
  723. {
  724.     *Inherits:  VDT_GENERIC_ARRAY
  725.     *ArrayLabel: "PAIR"
  726.     *ElementTags: (width, height)
  727.     *ArraySize: 2
  728.     *Virtual:  TRUE
  729. }
  730.  
  731.  
  732. *Template:  DT_PAIR_OF_GPD_INTEGER
  733. {
  734.     *Inherits:  DT_PAIR_OF_NUMS
  735.     *ElementType:  GPD_INTEGER
  736. }
  737.  
  738. *% ==================
  739. *%  ====  define  DT_PAIR_OF_GPD_POS_INTEGER  ====
  740. *% ==================
  741.  
  742.  
  743.  
  744. *Template:  DT_PAIR_OF_GPD_POS_INTEGER
  745. {
  746.     *Inherits:  DT_PAIR_OF_NUMS
  747.     *ElementType:  GPD_POS_INTEGER
  748. }
  749.  
  750.  
  751. *% ==================
  752. *%  ====  define  DT_ONE_OR_LIST_OF_GPD_INTEGER  ====
  753. *% ==================
  754.  
  755. *Macros:
  756. {
  757.     ElementType: GPD_INTEGER
  758.     ElementTag: int
  759. }
  760. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  761.  
  762. *% ==================
  763. *%  ====  define  DT_ONE_OR_LIST_OF_GPD_POS_INTEGER  ====
  764. *% ==================
  765.  
  766.  
  767. *Macros:
  768. {
  769.     ElementType: GPD_POS_INTEGER
  770.     ElementTag: int
  771. }
  772. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  773.  
  774.  
  775.  
  776. *% ==================
  777. *%  ====  define  DT_ONE_OR_LIST_OF_GPD_SYMBOL  ====
  778. *% ==================
  779.  
  780. *Macros:
  781. {
  782.     ElementType: GPD_SYMBOL
  783.     ElementTag: symbolname
  784. }
  785. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  786.  
  787.  
  788. *% ==================
  789. *%  ====  define  DT_ONE_OR_LIST_OF_GPD_NORMAL_STRING  ====
  790. *% ==================
  791.  
  792. *Macros:
  793. {
  794.     ElementType: GPD_NORMAL_STRING
  795.     ElementTag: string
  796. }
  797. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  798.  
  799.  
  800. *% ==================
  801. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_STD_VAR  ====
  802. *% ==================
  803.  
  804. *Macros:
  805. {
  806.     ElementType: EDT_STD_VAR
  807.     ElementTag: std_var
  808. }
  809. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  810.  
  811.  
  812.  
  813. *% ==================
  814. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_STRIPBLANKS  ====
  815. *% ==================
  816.  
  817. *Macros:
  818. {
  819.     ElementType: EDT_STRIPBLANKS
  820.     ElementTag: eWhen
  821. }
  822. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  823.  
  824.  
  825. *% ==================
  826. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_TEXTCAPS  ====
  827. *% ==================
  828.  
  829. *Macros:
  830. {
  831.     ElementType: EDT_TEXTCAPS
  832.     ElementTag: eWhat
  833. }
  834. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  835.  
  836.  
  837. *% ==================
  838. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_RASTERCAPS  ====
  839. *% ==================
  840.  
  841. *Macros:
  842. {
  843.     ElementType: EDT_RASTERCAPS
  844.     ElementTag: eWhat
  845. }
  846. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  847.  
  848. *% ==================
  849. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_RESELECTFONT  ====
  850. *% ==================
  851.  
  852. *Macros:
  853. {
  854.     ElementType: EDT_RESELECTFONT
  855.     ElementTag: eWhat
  856. }
  857. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  858.  
  859. *% ==================
  860. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_MEMORYUSAGE  ====
  861. *% ==================
  862.  
  863. *Macros:
  864. {
  865.     ElementType: EDT_MEMORYUSAGE
  866.     ElementTag: eWhat
  867. }
  868. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  869.  
  870.  
  871. *% ==================
  872. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_BADCURSORMOVEINGRXMODE  ====
  873. *% ==================
  874.  
  875. *Macros:
  876. {
  877.     ElementType: EDT_BADCURSORMOVEINGRXMODE
  878.     ElementTag: eWhen
  879. }
  880. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  881.  
  882. *% ==================
  883. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_YMOVEATTRIB  ====
  884. *% ==================
  885.  
  886. *Macros:
  887. {
  888.     ElementType: EDT_YMOVEATTRIB
  889.     ElementTag: eWhen
  890. }
  891. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  892.  
  893.  
  894. *% ==================
  895. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_COLORPLANE  ====
  896. *% ==================
  897.  
  898. *Macros:
  899. {
  900.     ElementType: EDT_COLORPLANE
  901.     ElementTag: eColors
  902. }
  903. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  904.  
  905. *% ==================
  906. *%  ====  define  DT_ONE_OR_LIST_OF_EDT_OEMPRINTINGCALLBACKS  ====
  907. *% ==================
  908.  
  909. *Macros:
  910. {
  911.     ElementType: EDT_OEMPRINTINGCALLBACKS
  912.     ElementTag: eColors
  913. }
  914. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  915.  
  916.  
  917.  
  918.  
  919.  
  920. *% ==================
  921. *%  ====  define  DT_BIDIVALUE  ====
  922. *% ==================
  923.  
  924.  
  925. *Template:  DT_TAGGED_INT
  926. {
  927.     *Inherits:  GPD_INTEGER
  928.     *ArrayLabel: "INT"          *%  Ensures Multi Personality template knows this holds an Int.
  929. }
  930.  
  931. *Template:  DT_TAGGED_BOOL
  932. {
  933.     *Inherits:  EDT_BOOLEAN
  934.     *ArrayLabel: "BOOL"          *%  Ensures Multi Personality template knows this holds an Int.
  935. }
  936.  
  937. *Template:  DT_TAGGED_NORMAL_STRING
  938. {
  939.     *Inherits:  GPD_NORMAL_STRING
  940.     *ArrayLabel: "STRING"          *%  Ensures Multi Personality template knows this holds an Int.
  941. }
  942.  
  943. *Template:  DT_TAGGED_FLOAT
  944. {
  945.     *Inherits:  XSD_FLOAT
  946.     *ArrayLabel: "FLOAT"          *%  Ensures Multi Personality template knows this holds an Int.
  947. }
  948.  
  949. *Template:  DT_RESPONSEDATA  *%  ResponseData
  950. {
  951.     *Inherits:  GPD_SYMBOL
  952.     *ArrayLabel: "ENUM_OPTION"
  953. }
  954.  
  955.  
  956. *Template:  DT_BIDIVALUE
  957. {
  958.     *Type:  DATATYPE
  959.     *DataType:   MULTIPLE_PERSONALITY
  960.     *ElementType:  (DT_TAGGED_INT, DT_TAGGED_BOOL, DT_TAGGED_NORMAL_STRING,
  961.         DT_TAGGED_FLOAT)
  962.     *ElementTags: (BIDI_INT , BIDI_BOOL , BIDI_STRING,
  963.         BIDI_FLOAT)
  964. }
  965.  
  966. *% ==================
  967. *%  ====  define  DT_ORDER  ====
  968. *% ==================
  969.  
  970.  
  971. *Template:  DT_ORDER
  972. {
  973.     *Type:  DATATYPE
  974.     *DataType:   COMPOSITE
  975.     *ElementType: (EDT_ORDER_SECTION, GPD_NONNEG_INTEGER)
  976.     *RequiredDelimiter: "."
  977.     *ElementTags: (section, ordinal)
  978. }
  979.  
  980. *% ==================
  981. *%  ====  define  DT_COMMAND_SHORTCUT  ====
  982. *% ==================
  983.  
  984.  
  985. *Template:  DT_COMMAND_SHORTCUT
  986. {
  987.     *Type:  DATATYPE
  988.     *DataType:   COMPOSITE
  989.     *ElementType: (EDT_CMD_NAME, GPD_COMMAND)
  990.     *RequiredDelimiter: ":"
  991.     *OptionalDelimiter: "<20 09>"
  992.     *ElementTags: (Cmd_Name, Command)
  993. }
  994.  
  995.  
  996. *% ==================
  997. *%  ====  define  DT_QUALNAME  ====
  998. *%  ====  define  DT_QUALNAME_EX  ====
  999. *%  ====  define  DT_LIST_MIN_2_OF_DT_QUALNAME  ====
  1000. *%  ====  define  DT_GPD_INTEGER_OR_QUALNAME_EX  ====
  1001. *%  ====  define  DT_POS_GPD_INTEGER_OR_QUALNAME_EX  ====
  1002. *% ==================
  1003.  
  1004. *Template:  DT_QUALNAME
  1005. {
  1006.     *Type:  DATATYPE
  1007.     *DataType:   COMPOSITE
  1008.     *ElementType: (GPD_SYMBOL, GPD_SYMBOL)
  1009.     *RequiredDelimiter: "."
  1010.     *ElementTags: (feature, option)
  1011. }
  1012.  
  1013. *Template:  DT_LIST_MIN_2_OF_DT_QUALNAME
  1014. {
  1015.     *Inherits:  VDT_GENERIC_LIST_MIN_2
  1016.     *ElementType:  DT_QUALNAME
  1017.     *ElementTags: QualName
  1018. }
  1019.  
  1020. *Template:  DT_QUALNAME_EX
  1021. {
  1022.     *Type:  DATATYPE
  1023.     *DataType:   COMPOSITE
  1024.     *ElementType: (GPD_SYMBOL, GPD_SYMBOL, GPD_NONNEG_INTEGER)
  1025.     *RequiredDelimiter: "."
  1026.     *ElementTags: (feature, option, resourceID)
  1027. }
  1028.  
  1029.  
  1030. *Template:  DT_POS_QUALNAME_EX
  1031. {
  1032.     *Type:  DATATYPE
  1033.     *DataType:   COMPOSITE
  1034.     *ElementType: (GPD_SYMBOL, GPD_SYMBOL, GPD_POS_INTEGER)
  1035.     *RequiredDelimiter: "."
  1036.     *ElementTags: (feature, option, resourceID)
  1037. }
  1038.  
  1039.  
  1040. *Template:  DT_GPD_INTEGER_OR_QUALNAME_EX
  1041. {
  1042.     *Type:  DATATYPE
  1043.     *DataType:   MULTIPLE_PERSONALITY
  1044.     *ElementType:  (GPD_NONNEG_INTEGER, DT_QUALNAME_EX)
  1045.     *ElementTags: (rcID, QualNameEx)
  1046. }
  1047.  
  1048. *Template:  DT_POS_GPD_INTEGER_OR_QUALNAME_EX
  1049. {
  1050.     *Type:  DATATYPE
  1051.     *DataType:   MULTIPLE_PERSONALITY
  1052.     *ElementType:  (GPD_POS_INTEGER, DT_POS_QUALNAME_EX)
  1053.     *ElementTags: (rcID, QualNameEx)
  1054. }
  1055.  
  1056.  
  1057. *% ==================
  1058. *%  ====  define  DT_ONE_OR_LIST_OF_DT_QUALNAME  ====
  1059. *% ==================
  1060.  
  1061. *Macros:
  1062. {
  1063.     ElementType: DT_QUALNAME
  1064.     ElementTag: QualName
  1065. }
  1066. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  1067.  
  1068. *% ==================
  1069. *%  ====  define  DT_ONE_OR_LIST_OF_DT_GPD_INTEGER_OR_QUALNAME_EX  ====
  1070. *% ==================
  1071.  
  1072. *Macros:
  1073. {
  1074.     ElementType: DT_GPD_INTEGER_OR_QUALNAME_EX
  1075.     ElementTag: QualNameEx
  1076. }
  1077. *InsertBlock: DefineListDataType(=ElementType, =ElementTag)
  1078.  
  1079.  
  1080.