home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12otk1.exe / include / Facet.idl < prev    next >
Text File  |  1997-04-02  |  13KB  |  408 lines

  1. /* @(#)Z 1.36 com/src/layout/idl/Facet.idl, odlayout, od96os2, odos29712d 97/03/21 17:18:28 (97/02/19 09:14:41) */
  2.  
  3. //#====START_GENERATED_PROLOG======================================
  4. //#
  5. //#
  6. //#   COMPONENT_NAME: odlayout
  7. //#
  8. //#   CLASSES: none
  9. //#
  10. //#   ORIGINS: 82,27
  11. //#
  12. //#
  13. //#   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  14. //#   All Rights Reserved
  15. //#   Licensed Materials - Property of IBM
  16. //#   US Government Users Restricted Rights - Use, duplication or
  17. //#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  18. //#       
  19. //#   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  20. //#   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  21. //#   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  22. //#   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  23. //#   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  24. //#   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  25. //#   OR PERFORMANCE OF THIS SOFTWARE.
  26. //#
  27. //#====END_GENERATED_PROLOG========================================
  28. //#
  29. /********************************************************************/
  30. /*  Licensed Materials - Property of IBM                            */
  31. /*                                                                  */
  32. /*                                                                  */
  33. /* Copyright (C) International Business Machines Corp., 1994.       */
  34. /* Copyright (C) Apple Computer, Inc., 1994                         */
  35. /*                                                                  */
  36. /*  US Government Users Restricted Rights -                         */
  37. /*  Use, duplication, or disclosure restricted                      */
  38. /*  by GSA ADP Schedule Contract with IBM Corp.                     */
  39. /*                                                                  */
  40. /*                                                                  */
  41. /********************************************************************/
  42. //# IBM Change History (most recent first):                         */
  43. //# 20657  03/29/96 sa   Merged OS2 changes                         */
  44. //# 138899 11/12/95 ced  Change SetHandleMouseEvents param from     */
  45. //#                      ODBoolean to ODULong w/ flags. add         */
  46. //#                      GetHandleMouseEvents.                      */
  47. //# 130552  7/22/95 ced  Change ret type of CreatePlatformWindowCanvas*/
  48. //# 125700  6/14/95 ced  Add SetHandleMouseEvents method.           */
  49. //# 125697  6/14/95 ced  Add _fUpdateShape & AcquireUpdateShape()   */
  50. //#                      to support kODNULL invalidShape param in   */
  51. //#                      Update method when called recursively.     */
  52. //# 124854  6/07/95 ced  change GetFrameAggregateClipShape and      */
  53. //#                      GetWindowFrameAggregateClipShape to        */
  54. //#                      AcquireXXXX                                */
  55. //# 122394  6/01/95 map  Fix again problem with //# comments        */
  56. //# 122943  5/21/95 map  Method name changes for multi-threading    */
  57. //# 120349  5/15/95 map  Fix problem with //# comment on #endifs    */
  58. //# 120604  4/28/95 ced  Merge with B1C16 Apple code.               */
  59. //# 119888   4/21/95  ced   Added IvalidateBorderShape private      */
  60. //#                          method                                 */
  61. //# 117472   3/31/95  ced   Add CreatePlatformCanvas &              */
  62. //#                          CreatePlatformWindowCanvas             */
  63. //#******************************************************************/
  64. //#    Copyright:  (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  65.  
  66. #ifndef _FACET_
  67. #define _FACET_
  68.  
  69. #ifndef _ODOBJECT_
  70. #include "ODObject.idl"
  71. #endif
  72.  
  73. //=====================================================================================
  74. // Classes defined in this interface
  75. //=====================================================================================
  76.  
  77. interface  ODFacet;
  78.  
  79. //=====================================================================================
  80. // Classes used by this interface
  81. //=====================================================================================
  82. interface  ODCanvas;
  83. interface  ODDragItemIterator;
  84. interface  ODFacetIterator;
  85. interface  ODFrame;
  86. interface  ODShape;
  87. interface  ODTransform;
  88. interface  ODWindow;
  89. #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_) || defined (_PLATFORM_UNIX_)
  90. interface  ODPlatformCanvas;
  91. #endif // _PLATFORM_OS2_ ||  _PLATFORM_WIN32_ || _PLATFORM_UNIX_
  92.  
  93. #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_) 
  94. interface  M_ODFacet;
  95.  
  96. #endif // _PLATFORM_OS2_ ||  _PLATFORM_WIN32_ 
  97.  
  98. #ifdef _PLATFORM_OS2_
  99. interface ODOS2StandardCanvas;
  100. interface ODOS2WindowCanvas;
  101. #endif //_PLATFORM_OS2_
  102.  
  103. #ifdef _PLATFORM_WIN32_
  104. interface ODWin32StandardCanvas;
  105. #endif // _PLATFORM_WIN32_
  106.  
  107. #ifdef _PLATFORM_UNIX_
  108. interface ODAIXStandardCanvas;
  109. typedef somToken Display;
  110. typedef somToken Pixmap;
  111. typedef somToken GC;
  112. typedef somToken Widget;
  113. typedef somToken Window;
  114. #endif // UNIX
  115.  
  116.  
  117. #ifdef _PLATFORM_OS2_
  118. //=====================================================================================
  119. // Constants used in this interface
  120. //=====================================================================================
  121.  
  122. // Bitfield flags used by Set/GetHandleMouseEvents
  123.  
  124. #pragma somemittypes on
  125. const ODULong kODPartHandlesMouseEvents = 1;
  126. const ODULong kODPartHandlesDragDropEvents = 2;
  127. #pragma somemittypes off
  128.  
  129. #endif // _PLATFORM_OS2_
  130.  
  131. //=====================================================================================
  132. // ODFacet
  133. //=====================================================================================
  134.  
  135. interface ODFacet :  ODObject
  136. {
  137.    ODFrame GetFrame();
  138.  
  139.    ODFacet CreateEmbeddedFacet(in ODFrame frame,
  140.                                in ODShape clipShape,
  141.                                in ODTransform externalTransform,
  142.                                in ODCanvas canvas,
  143.                                in ODCanvas biasCanvas,
  144.                                in ODFacet siblingFacet,
  145.                                in ODFramePosition position);
  146.  
  147.    void RemoveFacet(in ODFacet facet);
  148.  
  149.    void MoveBefore(in ODFacet child,
  150.                    in ODFacet sibling);
  151.  
  152.    void MoveBehind(in ODFacet child,
  153.                    in ODFacet sibling);
  154.  
  155.    ODFacet GetContainingFacet();
  156.  
  157.    ODFacetIterator CreateFacetIterator(in ODTraversalType traversalType,
  158.                                        in ODSiblingOrder siblingOrder);
  159.  
  160.    ODShape CreateShape();
  161.  
  162.    ODShape AcquireClipShape(in ODCanvas biasCanvas);
  163.  
  164.    void ChangeGeometry(in ODShape clipShape,
  165.                        in ODTransform transform,
  166.                        in ODCanvas biasCanvas);
  167.  
  168.    ODShape AcquireAggregateClipShape(in ODCanvas biasCanvas);
  169.  
  170.    ODShape AcquireWindowAggregateClipShape(in ODCanvas biasCanvas);
  171.  
  172.    ODShape AcquireActiveShape(in ODCanvas biasCanvas);
  173.  
  174.    void ChangeActiveShape(in ODShape activeShape, in ODCanvas biasCanvas);
  175.  
  176.    ODTransform CreateTransform();
  177.  
  178.    ODTransform AcquireExternalTransform(in ODCanvas biasCanvas);
  179.  
  180.    ODTransform AcquireFrameTransform(in ODCanvas biasCanvas);
  181.  
  182.    ODTransform AcquireContentTransform(in ODCanvas biasCanvas);
  183.  
  184.    ODTransform AcquireWindowFrameTransform(in ODCanvas biasCanvas);
  185.  
  186.    ODTransform AcquireWindowContentTransform(in ODCanvas biasCanvas);
  187.  
  188.    ODCanvas CreateCanvas(in ODGraphicsSystem graphicsSystem,
  189.                          in ODPlatformCanvas platformCanvas,
  190.                          in ODBoolean isDynamic,
  191.                          in ODBoolean isOffscreen);
  192.  
  193.    ODBoolean HasCanvas();
  194.  
  195.    ODCanvas GetCanvas();
  196.  
  197.    void ChangeCanvas(in ODCanvas canvas);
  198.  
  199.    ODWindow GetWindow();
  200.  
  201.    ODInfoType GetPartInfo();
  202.  
  203.    void SetPartInfo(in ODInfoType partInfo);
  204.  
  205.    ODDragResult DragEnter(in ODPoint point,
  206.                           in ODDragItemIterator dragInfo,
  207.                           in ODCanvas biasCanvas);
  208.  
  209.    ODDragResult DragWithin(in ODPoint point,
  210.                            in ODDragItemIterator dragInfo,
  211.                            in ODCanvas biasCanvas);
  212.  
  213.    void DragLeave(in ODPoint point,
  214.                   in ODCanvas biasCanvas);
  215.  
  216.    ODDropResult Drop(in ODPoint point,
  217.                      in ODDragItemIterator dropInfo,
  218.                      in ODCanvas biasCanvas);
  219.  
  220.    void Update(in ODShape invalidShape, in ODCanvas biasCanvas);
  221.  
  222.    void Invalidate(in ODShape invalidShape, in ODCanvas biasCanvas);
  223.  
  224.    void Validate(in ODShape validShape, in ODCanvas biasCanvas);
  225.  
  226.    void Draw(in ODShape invalidShape, in ODCanvas biasCanvas);
  227.  
  228.    void DrawChildren(in ODShape invalidShape, in ODCanvas biasCanvas);
  229.  
  230.    void DrawChildrenAlways(in ODShape invalidShape, in ODCanvas biasCanvas);
  231.  
  232.    void DrawnIn(in ODShape shape, in ODCanvas biasCanvas);
  233.  
  234.    void InvalidateActiveBorder();
  235.  
  236.    void DrawActiveBorder();
  237.  
  238.    ODBoolean ContainsPoint(in ODPoint point, in ODCanvas biasCanvas);
  239.  
  240.    ODBoolean ActiveBorderContainsPoint(in ODPoint point, in ODCanvas biasCanvas);
  241.  
  242.    ODBoolean IsSelected();
  243.  
  244.    void SetSelected(in ODBoolean isSelected);
  245.  
  246.    ODHighlight GetHighlight();
  247.  
  248.    void ChangeHighlight(in ODHighlight highlight);
  249.  
  250. #ifdef _PLATFORM_WIN32_
  251.   HWND GetFacetHWND();
  252.  
  253.   ODWin32StandardCanvas CreatePlatformCanvas( in HDC hdc);
  254.  
  255. #endif
  256.  
  257. #ifdef _PLATFORM_OS2_
  258.   HWND GetFacetHWND();
  259.  
  260.   ODOS2StandardCanvas CreatePlatformCanvas( in HPS hps );
  261.  
  262.   void SetHandleMouseEvents(in ODULong flags);
  263.  
  264.   ODULong GetHandleMouseEvents();
  265.  
  266.   ODRgnHandle CopyAggregateClipRegion( in HPS hps );
  267.   ODRgnHandle CopyFacetClipRegion( in HPS hps );
  268.   ODPlatformWindow ChildUnderPoint( in ODPoint odPt );
  269.  
  270. #endif // _PLATFORM_OS2_
  271.  
  272. #ifdef _PLATFORM_UNIX_
  273.  
  274.   Widget GetFacetWidget();
  275.  
  276.   ODBoolean IsEventInActiveBorder( in ODEventData event);
  277.    
  278.   ODAIXStandardCanvas CreatePlatformCanvas( in Display* display,
  279.                         in Pixmap   pixmap,
  280.                         in GC       gc      );
  281.  
  282. #endif // UNIX
  283.  
  284. //# Private to implementation
  285.  
  286. #ifdef __SOMIDL__
  287.   implementation
  288.   {
  289.    majorversion = 1; minorversion = 0;
  290.  
  291.    functionprefix = ODFacet;
  292.   #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_) 
  293.    metaclass = M_ODFacet;
  294.   #endif // _PLATFORM_OS2_ || _PLATFORM_WIN32_ 
  295.  
  296.    override:
  297.        somUninit,
  298.        Purge;
  299.  
  300.    releaseorder:
  301.        GetFrame,
  302.        CreateEmbeddedFacet,
  303.        RemoveFacet,
  304.        MoveBefore,
  305.        MoveBehind,
  306.        GetContainingFacet,
  307.        CreateFacetIterator,
  308.        CreateShape,
  309.        AcquireClipShape,
  310.        ChangeGeometry,
  311.        AcquireAggregateClipShape,
  312.        AcquireWindowAggregateClipShape,
  313.        AcquireActiveShape,
  314.        ChangeActiveShape,
  315.        CreateTransform,
  316.        AcquireExternalTransform,
  317.        AcquireFrameTransform,
  318.        AcquireContentTransform,
  319.        AcquireWindowFrameTransform,
  320.        AcquireWindowContentTransform,
  321.        CreateCanvas,
  322.        HasCanvas,
  323.        GetCanvas,
  324.        ChangeCanvas,
  325.        GetWindow,
  326.        GetPartInfo,
  327.        SetPartInfo,
  328.        DragEnter,
  329.        DragWithin,
  330.        DragLeave,
  331.        Drop,
  332.        Update,
  333.        Invalidate,
  334.        Validate,
  335.        Draw,
  336.        DrawChildren,
  337.        DrawChildrenAlways,
  338.        DrawnIn,
  339.        InvalidateActiveBorder,
  340.        DrawActiveBorder,
  341.        ContainsPoint,
  342.        ActiveBorderContainsPoint,
  343.        IsSelected,
  344.        SetSelected,
  345.        GetHighlight,
  346.        ChangeHighlight,
  347.      #ifdef _PLATFORM_WIN32_
  348.        GetFacetHWND,
  349.        CreatePlatformCanvas,
  350.      #endif
  351.      #ifdef _PLATFORM_OS2_
  352.        GetFacetHWND,
  353.        CreatePlatformCanvas,
  354.        SetHandleMouseEvents,
  355.        GetHandleMouseEvents,
  356.        CopyAggregateClipRegion,
  357.        CopyFacetClipRegion,
  358.        ChildUnderPoint,
  359.      #endif // _PLATFORM_OS2_
  360.      #ifdef _PLATFORM_UNIX_
  361.        GetFacetWidget,
  362.        IsEventInActiveBorder,
  363.        CreatePlatformCanvas,
  364.      #endif //UNIX
  365.  
  366.        reserved1,
  367.        reserved2,
  368.        reserved3,
  369.        reserved4,
  370.        reserved5,
  371.        reserved6,
  372.        reserved7,
  373.      #ifdef _PLATFORM_MACINTOSH_
  374.        reserved8;
  375.      #endif  // _PLATFORM_MACINTOSH_
  376.  
  377.      #ifdef _PLATFORM_UNIX_
  378.        reserved8,
  379.        reserved9,
  380.        reserved10,
  381.        reserved11,
  382.        reserved12,
  383.        reserved13;
  384.      #endif
  385.  
  386.      #ifdef _PLATFORM_WIN32_
  387.        reserved8,
  388.        reserved9,
  389.        reserved10,
  390.        reserved11;
  391.      #endif // _PLATFORM_WIN32_
  392.  
  393.      #ifdef _PLATFORM_OS2_
  394.        reserved8,
  395.        reserved9,
  396.        reserved10,
  397.        reserved11,
  398.        reserved12;
  399.      #endif // _PLATFORM_OS2_
  400.  
  401.  
  402.   };
  403. #endif   // __SOMIDL__
  404. };
  405.  
  406.  
  407. #endif // _FACET_
  408.