home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / FACET.IDL < prev    next >
Text File  |  1995-12-13  |  9KB  |  314 lines

  1. /********************************************************************/
  2. /*  Licensed Materials - Property of IBM                            */
  3. /*                                                                  */
  4. /*                                                                  */
  5. /* Copyright (C) International Business Machines Corp., 1994.       */
  6. /* Copyright (C) Apple Computer, Inc., 1994                         */
  7. /*                                                                  */
  8. /*  US Government Users Restricted Rights -                         */
  9. /*  Use, duplication, or disclosure restricted                      */
  10. /*  by GSA ADP Schedule Contract with IBM Corp.                     */
  11. /*                                                                  */
  12. /*                                                                  */
  13. /********************************************************************/
  14.  
  15.  
  16. #ifndef _FACET_
  17. #define _FACET_
  18.  
  19. #ifndef _ODOBJECT_
  20. #include "ODObject.idl"
  21. #endif
  22.  
  23. //=====================================================================================
  24. // Classes defined in this interface
  25. //=====================================================================================
  26.  
  27. interface  ODFacet;
  28.  
  29. //=====================================================================================
  30. // Classes used by this interface
  31. //=====================================================================================
  32.  
  33. interface  ODCanvas;
  34. interface  ODDragItemIterator;
  35. interface  ODFacet;
  36. interface  ODFacetIterator;
  37. interface  ODFrame;
  38. interface  ODShape;
  39. interface  ODTransform;
  40. interface  ODWindow;
  41. #ifdef _PLATFORM_OS2_
  42. interface  M_ODFacet;
  43. interface  ODPlatformCanvas;
  44. interface  ODPlatformWindowCanvas;
  45. #endif // _PLATFORM_OS2_
  46.  
  47. //=====================================================================================
  48. // Implementation Types
  49. //=====================================================================================
  50.  
  51.  
  52. //=====================================================================================
  53. // ODFacet
  54. //=====================================================================================
  55.  
  56. #ifdef _PLATFORM_OS2_
  57. //=====================================================================================
  58. // Constants used in this interface
  59. //=====================================================================================
  60.  
  61. // Bitfield flags used by Set/GetHandleMouseEvents
  62.  
  63. #pragma somemittypes on                           
  64. const ODULong kODPartHandlesMouseEvents = 1;
  65. const ODULong kODPartHandlesDragDropEvents = 2;
  66. #pragma somemittypes off
  67.  
  68. #endif
  69.  
  70. interface ODFacet :  ODObject
  71. {
  72.   ODFrame GetFrame();
  73.  
  74.   ODFacet CreateEmbeddedFacet(in ODFrame frame,
  75.                 in ODShape clipShape,
  76.                 in ODTransform externalTransform,
  77.                 in ODCanvas canvas,
  78.                 in ODCanvas biasCanvas,
  79.                 in ODFacet siblingFacet,
  80.                 in ODFramePosition position);
  81.  
  82.   void RemoveFacet(in ODFacet facet);
  83.  
  84.   void MoveBefore(in ODFacet child,
  85.           in ODFacet sibling);
  86.  
  87.   void MoveBehind(in ODFacet child,
  88.             in ODFacet sibling);
  89.  
  90.   ODFacet GetContainingFacet();
  91.  
  92.   ODFacetIterator CreateFacetIterator(in ODTraversalType traversalType,
  93.                     in ODSiblingOrder siblingOrder);
  94.  
  95.     ODShape CreateShape();
  96.  
  97.   ODShape AcquireClipShape(in ODCanvas biasCanvas);
  98.  
  99.   void ChangeGeometry(in ODShape clipShape,
  100.             in ODTransform transform,
  101.             in ODCanvas biasCanvas);
  102.  
  103.   ODShape AcquireAggregateClipShape(in ODCanvas biasCanvas);
  104.  
  105.   ODShape AcquireWindowAggregateClipShape(in ODCanvas biasCanvas);
  106.  
  107.   ODShape AcquireActiveShape(in ODCanvas biasCanvas);
  108.  
  109.   void ChangeActiveShape(in ODShape activeShape, in ODCanvas biasCanvas);
  110.  
  111.   ODTransform CreateTransform();
  112.  
  113.   ODTransform AcquireExternalTransform(in ODCanvas biasCanvas);
  114.  
  115.   ODTransform AcquireFrameTransform(in ODCanvas biasCanvas);
  116.  
  117.   ODTransform AcquireContentTransform(in ODCanvas biasCanvas);
  118.  
  119.      ODTransform AcquireWindowFrameTransform(in ODCanvas biasCanvas);
  120.  
  121.   ODTransform AcquireWindowContentTransform(in ODCanvas biasCanvas);
  122.  
  123.   ODCanvas CreateCanvas(in ODGraphicsSystem graphicsSystem,
  124.               in ODPlatformCanvas platformCanvas,
  125.               in ODBoolean isDynamic,
  126.               in ODBoolean isOffscreen);
  127.  
  128.   ODBoolean HasCanvas();
  129.  
  130.   ODCanvas GetCanvas();
  131.  
  132.   void ChangeCanvas(in ODCanvas canvas);
  133.  
  134.   ODWindow GetWindow();
  135.  
  136.   ODInfoType GetPartInfo();
  137.  
  138.   void SetPartInfo(in ODInfoType partInfo);
  139.  
  140.   ODDragResult DragEnter(in ODPoint point,
  141.                in ODDragItemIterator dragInfo,
  142.                in ODCanvas biasCanvas);
  143.  
  144.   ODDragResult DragWithin(in ODPoint point,
  145.               in ODDragItemIterator dragInfo,
  146.               in ODCanvas biasCanvas);
  147.  
  148.   void DragLeave(in ODPoint point,
  149.            in ODCanvas biasCanvas);
  150.  
  151.   ODDropResult Drop(in ODPoint point,
  152.             in ODDragItemIterator dropInfo,
  153.             in ODCanvas biasCanvas);
  154.  
  155.   void Update(in ODShape invalidShape, in ODCanvas biasCanvas);
  156.  
  157.   void Invalidate(in ODShape invalidShape, in ODCanvas biasCanvas);
  158.  
  159.   void Validate(in ODShape validShape, in ODCanvas biasCanvas);
  160.  
  161.   void Draw(in ODShape invalidShape, in ODCanvas biasCanvas);
  162.  
  163.   void DrawChildren(in ODShape invalidShape, in ODCanvas biasCanvas);
  164.  
  165.   void DrawChildrenAlways(in ODShape invalidShape, in ODCanvas biasCanvas);
  166.  
  167.   void DrawnIn(in ODShape shape, in ODCanvas biasCanvas);
  168.  
  169.   void InvalidateActiveBorder();
  170.  
  171.   void DrawActiveBorder();
  172.  
  173.   ODBoolean ContainsPoint(in ODPoint point, in ODCanvas biasCanvas);
  174.  
  175.   ODBoolean ActiveBorderContainsPoint(in ODPoint point, in ODCanvas biasCanvas);
  176.  
  177.   ODBoolean IsSelected();
  178.  
  179.   void SetSelected(in ODBoolean isSelected);
  180.  
  181.   ODHighlight GetHighlight();
  182.  
  183.   void ChangeHighlight(in ODHighlight highlight);
  184.  
  185. #ifdef _PLATFORM_OS2_ // CED
  186.  
  187.   HWND GetFacetHWND();
  188.  
  189.   ODShape AcquireFrameAggregateClipShape( in ODCanvas biasCanvas );
  190.  
  191.   ODShape AcquireWindowFrameAggregateClipShape( in ODCanvas biasCanvas );
  192.  
  193.   ODPlatformCanvas CreatePlatformCanvas( in HPS hps );
  194.  
  195.   ODPlatformCanvas CreatePlatformWindowCanvas( in ODWindow window );
  196.  
  197.   void SetHandleMouseEvents(in ODULong flags);
  198.  
  199.   ODULong GetHandleMouseEvents();
  200. #endif // _PLATFORM_OS2_
  201.  
  202.  
  203. #ifdef __SOMIDL__
  204.   implementation
  205.   {
  206.     functionprefix = ODFacet;
  207. #ifdef _PLATFORM_OS2_
  208.     metaclass = M_ODFacet;
  209. #endif // _PLATFORM_OS2_
  210.  
  211.     override:
  212.       somInit,
  213.       somUninit,
  214.         Purge;
  215.  
  216.   releaseorder:
  217.         GetFrame,
  218.         CreateEmbeddedFacet,
  219.         RemoveFacet,
  220.         MoveBefore,
  221.         MoveBehind,
  222.         GetContainingFacet,
  223.         CreateFacetIterator,
  224.     CreateShape,
  225.         AcquireClipShape,
  226.         ChangeGeometry,
  227.         AcquireAggregateClipShape,
  228.         AcquireWindowAggregateClipShape,
  229.         AcquireActiveShape,
  230.         ChangeActiveShape,
  231.     CreateTransform,
  232.         AcquireExternalTransform,
  233.         AcquireFrameTransform,
  234.         AcquireContentTransform,
  235.         AcquireWindowFrameTransform,
  236.         AcquireWindowContentTransform,
  237.     CreateCanvas,
  238.         HasCanvas,
  239.         GetCanvas,
  240.         ChangeCanvas,
  241.         GetWindow,
  242.         GetPartInfo,
  243.         SetPartInfo,
  244.         DragEnter,
  245.         DragWithin,
  246.         DragLeave,
  247.         Drop,
  248.         Update,
  249.         Invalidate,
  250.         Validate,
  251.         Draw,
  252.         DrawChildren,
  253.         DrawChildrenAlways,
  254.         DrawnIn,
  255.         InvalidateActiveBorder,
  256.         DrawActiveBorder,
  257.         ContainsPoint,
  258.         ActiveBorderContainsPoint,
  259.         IsSelected,
  260.         SetSelected,
  261.         GetHighlight,
  262.         ChangeHighlight,
  263. #ifdef _PLATFORM_OS2_
  264.     GetFacetHWND,
  265.     AcquireFrameAggregateClipShape,
  266.     AcquireWindowFrameAggregateClipShape,
  267.     CreatePlatformCanvas,
  268.     CreatePlatformWindowCanvas,
  269.     SetHandleMouseEvents,
  270.     GetHandleMouseEvents,
  271. #endif
  272.     reserved1,
  273.     reserved2,
  274.     reserved3,
  275.     reserved4,
  276.     reserved5,
  277.     reserved6,
  278.     reserved7,
  279. #ifndef _PLATFORM_OS2_
  280.     reserved8;
  281. #else
  282.     reserved8,
  283.     reserved9,
  284.     reserved10,
  285.     reserved11,
  286.     reserved12,
  287.     reserved13,
  288.     reserved14;
  289. #endif // _PLATFORM_OS2_
  290.  
  291.   majorversion = 1; minorversion = 0;
  292.  
  293.  
  294.   };
  295. #endif
  296. };
  297.  
  298. #ifdef _PLATFORM_OS2_
  299. interface M_ODFacet : SOMClass
  300. {
  301.   ODFacet clsGetFacetFromHWND(in HWND hwnd);
  302.  
  303. #ifdef __SOMIDL__
  304.   implementation
  305.   {
  306.     functionprefix = M_ODFacet;
  307.     releaseorder:
  308.       clsGetFacetFromHWND;
  309.   };
  310. #endif // __SOMIDL__
  311. };
  312. #endif // _PLATFORM_OS2_
  313. #endif // _FACET_
  314.