home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / oleaut / spoly2 / tdata.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1997-10-05  |  6.2 KB  |  362 lines

  1. /*** 
  2. *tdata.cpp
  3. *
  4. *  This is a part of the Microsoft Source Code Samples.
  5. *
  6. *  Copyright (C) 1991-1997 Microsoft Corporation. All rights reserved.
  7. *
  8. *  This source code is only intended as a supplement to Microsoft Development
  9. *  Tools and/or WinHelp documentation.  See these sources for detailed
  10. *  information regarding the Microsoft samples programs.
  11. *
  12. *Purpose:
  13. *  CPoly and CPoint type data descriptions.
  14. *
  15. *  These data descriptions are used to construct TypeInfos for these
  16. *  objects at runtime.
  17. *
  18. *****************************************************************************/
  19.  
  20. #include "spoly.h"
  21. #include "cpoint.h"
  22. #include "cpoly.h"
  23.  
  24.  
  25. //---------------------------------------------------------------------
  26. //                      CPoint type data definitions 
  27. //---------------------------------------------------------------------
  28.  
  29.  
  30. static PARAMDATA NEAR rgpdataCPointSetX[] = 
  31. {
  32.     { OLESTR("X"), VT_I2 }
  33. };
  34.  
  35. static PARAMDATA NEAR rgpdataCPointSetY[] = 
  36. {
  37.     { OLESTR("Y"), VT_I2 }
  38. };
  39.  
  40. static METHODDATA NEAR rgmdataCPoint[] = 
  41. {
  42.     // CPoint::GetX()
  43.     {
  44.     OLESTR("GetX"),
  45.     NULL,
  46.     IDMEMBER_CPOINT_GETX,
  47.     IMETH_CPOINT_GETX,
  48.     CC_CALL,
  49.     0,
  50.     DISPATCH_METHOD,
  51.     VT_I2
  52.     },
  53.  
  54.     // CPoint::SetX()
  55.     {
  56.     OLESTR("SetX"),
  57.     rgpdataCPointSetX,
  58.     IDMEMBER_CPOINT_SETX,
  59.     IMETH_CPOINT_SETX,
  60.     CC_CALL,
  61.     DIM(rgpdataCPointSetX),
  62.     DISPATCH_METHOD,
  63.     VT_EMPTY
  64.     },
  65.  
  66.     // CPoint::GetY()
  67.     {
  68.     OLESTR("GetY"),
  69.     NULL,
  70.     IDMEMBER_CPOINT_GETY,
  71.     IMETH_CPOINT_GETY,
  72.     CC_CALL,
  73.     0,
  74.     DISPATCH_METHOD,
  75.     VT_I2
  76.     },
  77.  
  78.     // CPoint::SetY()
  79.     {
  80.     OLESTR("SetY"),
  81.     rgpdataCPointSetY,
  82.     IDMEMBER_CPOINT_SETY,
  83.     IMETH_CPOINT_SETY,
  84.     CC_CALL,
  85.     DIM(rgpdataCPointSetY),
  86.     DISPATCH_METHOD,
  87.     VT_EMPTY
  88.     }
  89. };
  90.  
  91. INTERFACEDATA NEAR g_idataCPoint = 
  92. {
  93.     rgmdataCPoint, DIM(rgmdataCPoint)
  94. };
  95.  
  96.  
  97. //---------------------------------------------------------------------
  98. //                   CPoly type data definitions
  99. //---------------------------------------------------------------------
  100.  
  101.  
  102. static PARAMDATA NEAR rgpdataCPolyAddPoint[] = 
  103. {
  104.     { OLESTR("x"),    VT_I2 },
  105.     { OLESTR("y"),    VT_I2 }
  106. };
  107.  
  108. static PARAMDATA NEAR rgpdataCPolySetXOrigin[] =
  109. {
  110.     { OLESTR("x"),    VT_I2 }
  111. };
  112.  
  113. static PARAMDATA NEAR rgpdataCPolySetYOrigin[] = 
  114. {
  115.     { OLESTR("y"),    VT_I2 }
  116. };
  117.  
  118. static PARAMDATA NEAR rgpdataCPolySetWidth[] = 
  119. {
  120.     { OLESTR("width"),    VT_I2 }
  121. };
  122.  
  123. static PARAMDATA NEAR rgpdataCPolySetRed[] = 
  124. {
  125.     { OLESTR("red"),    VT_I2 }
  126. };
  127.  
  128. static PARAMDATA NEAR rgpdataCPolySetGreen[] = 
  129. {
  130.     { OLESTR("green"),    VT_I2 }
  131. };
  132.  
  133. static PARAMDATA NEAR rgpdataCPolySetBlue[] = 
  134. {
  135.     { OLESTR("blue"),    VT_I2 }
  136. };
  137.  
  138. static METHODDATA NEAR rgmdataCPoly[] = 
  139. {
  140.     // void CPoly::Draw(void)
  141.     {
  142.     OLESTR("Draw"),
  143.     NULL,
  144.     IDMEMBER_CPOLY_DRAW,
  145.     IMETH_CPOLY_DRAW,
  146.     CC_CALL,
  147.     0,
  148.     DISPATCH_METHOD,
  149.     VT_EMPTY
  150.     },
  151.  
  152.     // void CPoly::Reset(void)
  153.     {
  154.     OLESTR("Reset"),
  155.     NULL,
  156.     IDMEMBER_CPOLY_RESET,
  157.     IMETH_CPOLY_RESET,
  158.     CC_CALL,
  159.     0,
  160.     DISPATCH_METHOD,
  161.     VT_EMPTY
  162.     },
  163.  
  164.     // HRESULT CPoly::AddPoint(short x, short y)
  165.     {
  166.     OLESTR("AddPoint"),
  167.     rgpdataCPolyAddPoint,
  168.     IDMEMBER_CPOLY_ADDPOINT,
  169.     IMETH_CPOLY_ADDPOINT,
  170.     CC_CALL,
  171.     DIM(rgpdataCPolyAddPoint),
  172.     DISPATCH_METHOD,
  173.     VT_ERROR
  174.     },
  175.  
  176.     // IUnknown FAR* CPoly::EnumPoints(void)
  177.     {
  178.     OLESTR("EnumPoints"),
  179.     NULL,
  180.     IDMEMBER_CPOLY_ENUMPOINTS,
  181.     IMETH_CPOLY_ENUMPOINTS,
  182.     CC_CALL,
  183.     0,
  184.     DISPATCH_METHOD,
  185.     VT_UNKNOWN
  186.     },
  187.  
  188.     // short CPoly::GetXOrigin(void)
  189.     {
  190.     OLESTR("GetXOrigin"),
  191.     NULL,
  192.     IDMEMBER_CPOLY_GETXORIGIN,
  193.     IMETH_CPOLY_GETXORIGIN,
  194.     CC_CALL,
  195.     0,
  196.     DISPATCH_METHOD,
  197.     VT_I2
  198.     },
  199.  
  200.     // void CPoly::SetXOrigin(short x)
  201.     {
  202.     OLESTR("SetXOrigin"),
  203.     rgpdataCPolySetXOrigin,
  204.     IDMEMBER_CPOLY_SETXORIGIN,
  205.     IMETH_CPOLY_SETXORIGIN,
  206.     CC_CALL,
  207.     DIM(rgpdataCPolySetXOrigin),
  208.     DISPATCH_METHOD,
  209.     VT_EMPTY
  210.     },
  211.  
  212.     // short CPoly::GetYOrigin(void)
  213.     {
  214.     OLESTR("GetYOrigin"),
  215.     NULL,
  216.     IDMEMBER_CPOLY_GETYORIGIN,
  217.     IMETH_CPOLY_GETYORIGIN,
  218.     CC_CALL,
  219.     0,
  220.     DISPATCH_METHOD,
  221.     VT_I2
  222.     },
  223.  
  224.     // void CPoly::SetYOrigin(short y)
  225.     {
  226.     OLESTR("SetYOrigin"),
  227.     rgpdataCPolySetYOrigin,
  228.     IDMEMBER_CPOLY_SETYORIGIN,
  229.     IMETH_CPOLY_SETYORIGIN,
  230.     CC_CALL,
  231.     DIM(rgpdataCPolySetYOrigin),
  232.     DISPATCH_METHOD,
  233.     VT_EMPTY
  234.     },
  235.  
  236.     // short CPoly::GetWidth(void)
  237.     {
  238.     OLESTR("GetWidth"),
  239.     NULL,
  240.     IDMEMBER_CPOLY_GETWIDTH,
  241.     IMETH_CPOLY_GETWIDTH,
  242.     CC_CALL,
  243.     0,
  244.     DISPATCH_METHOD,
  245.     VT_I2
  246.     },
  247.  
  248.     // void CPoly::SetWidth(short width)
  249.     {
  250.     OLESTR("SetWidth"),
  251.     rgpdataCPolySetWidth,
  252.     IDMEMBER_CPOLY_SETWIDTH,
  253.     IMETH_CPOLY_SETWIDTH,
  254.     CC_CALL,
  255.     DIM(rgpdataCPolySetWidth),
  256.     DISPATCH_METHOD,
  257.     VT_EMPTY
  258.     },
  259.  
  260.     // short CPoly::get_red(void)
  261.     {
  262.     OLESTR("get_red"),
  263.     NULL,
  264.     IDMEMBER_CPOLY_GETRED,
  265.     IMETH_CPOLY_GETRED,
  266.     CC_CALL,
  267.     0,
  268.     DISPATCH_METHOD,
  269.     VT_I2
  270.     },
  271.  
  272.     // void CPoly::set_red(short red)
  273.     {
  274.     OLESTR("set_red"),
  275.     rgpdataCPolySetRed,
  276.     IDMEMBER_CPOLY_SETRED,
  277.     IMETH_CPOLY_SETRED,
  278.     CC_CALL,
  279.     DIM(rgpdataCPolySetRed),
  280.     DISPATCH_METHOD,
  281.     VT_EMPTY
  282.     },
  283.  
  284.     // short CPoly::get_green(void)
  285.     {
  286.     OLESTR("get_green"),
  287.     NULL,
  288.     IDMEMBER_CPOLY_GETGREEN,
  289.     IMETH_CPOLY_GETGREEN,
  290.     CC_CALL,
  291.     0,
  292.     DISPATCH_METHOD,
  293.     VT_I2
  294.     },
  295.  
  296.     // void CPoly::set_green(short green)
  297.     {
  298.     OLESTR("set_green"),
  299.     rgpdataCPolySetGreen,
  300.     IDMEMBER_CPOLY_SETGREEN,
  301.     IMETH_CPOLY_SETGREEN,
  302.     CC_CALL,
  303.     DIM(rgpdataCPolySetGreen),
  304.     DISPATCH_METHOD,
  305.     VT_EMPTY
  306.     },
  307.  
  308.     // short CPoly::get_blue(void)
  309.     {
  310.     OLESTR("get_blue"),
  311.     NULL,
  312.     IDMEMBER_CPOLY_GETBLUE,
  313.     IMETH_CPOLY_GETBLUE,
  314.     CC_CALL,
  315.     0,
  316.     DISPATCH_METHOD,
  317.     VT_I2
  318.     },
  319.  
  320.     // void CPoly::set_blue(short blue)
  321.     {
  322.     OLESTR("set_blue"),
  323.     rgpdataCPolySetBlue,
  324.     IDMEMBER_CPOLY_SETBLUE,
  325.     IMETH_CPOLY_SETBLUE,
  326.     CC_CALL,
  327.     DIM(rgpdataCPolySetBlue),
  328.     DISPATCH_METHOD,
  329.     VT_EMPTY
  330.     },
  331.  
  332.     // void CPoly::Dump(void)
  333.     {
  334.     OLESTR("Dump"),
  335.     NULL,
  336.     IDMEMBER_CPOLY_DUMP,
  337.     IMETH_CPOLY_DUMP,
  338.     CC_CALL,
  339.     0,
  340.     DISPATCH_METHOD,
  341.     VT_EMPTY
  342.     },
  343.  
  344.     // void CPoly::Quit(void)
  345.     {
  346.     OLESTR("Quit"),
  347.     NULL,
  348.     IDMEMBER_CPOLY_QUIT,
  349.     IMETH_CPOLY_QUIT,
  350.     CC_CALL,
  351.     0,
  352.     DISPATCH_METHOD,
  353.     VT_EMPTY
  354.     },
  355.  
  356. };
  357.  
  358. INTERFACEDATA NEAR g_idataCPoly =
  359. {
  360.     rgmdataCPoly, DIM(rgmdataCPoly)
  361. };
  362.