home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osr1.exe / src / Facet.idl < prev    next >
Text File  |  1997-03-21  |  20KB  |  621 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. #ifdef __PRIVATE__
  65. //#
  66. //#    File:       Facet.idl
  67. //#
  68. //#    Contains:   SOM class definition for ODFacet
  69. //#
  70. //#    Owned by:   Joshua Susser
  71. //#
  72. //#    Copyright:  (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  73. //#
  74. //#    Change History (most recent first):
  75. //#
  76. //#        <14>     8/18/95    JBS     1275241 IDL Review
  77. //#        <13>      8/3/95    RR      #1257260: Collapse B classes. Remove
  78. //#                                    somInit methods. Don't call IsInitialized
  79. //#                                    or SubclassResponsibility
  80. //#        <12>     6/20/95    JBS     1249190 make init methods private; 1257315
  81. //#                                    change AcquireWindow to GetWindow; 1260681
  82. //#                                    remove BaseFacet class
  83. //#        <11>     5/25/95    VL      1251403: Multithreading naming support.
  84. //#        <10>     2/28/95    JBS     1198509 added fActiveBorderShape, moved
  85. //#                                    active border display code to border.cpp
  86. //#         <9>     1/13/95    RR      Remove MouseEnter, MouseWithin and
  87. //#                                    MouseLeave 1192147, 1201708
  88. //#         <8>    10/18/94    JBS     1174640: added fIsUpdating field
  89. //#         <7>     8/16/94    JBS     1180387: add CreateCanvas()
  90. //#         <6>     8/15/94    JBS     1180387: added Imaging factory methods
  91. //#         <5>     8/12/94    JBS     1179920: move fWindow from Facet to Frame
  92. //#         <4>     8/10/94    JBS     1179919: coordinate system bias changes
  93. //#         <3>     6/22/94    JBS     add functionprefix
  94. //#         <2>      6/8/94    NP      Restore lost changes.
  95. //#         <6>      6/7/94    RR      Privatise change log
  96. //#         <5>     5/23/94    RR      ChangeGeometry replaces ChangeClipShape and
  97. //#                                    ChangeExternalTransform
  98. //#
  99. #else
  100. //#    Copyright:  (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  101. #endif
  102.  
  103. #ifndef _FACET_
  104. #define _FACET_
  105.  
  106. #ifndef _ODOBJECT_
  107. #include "ODObject.idl"
  108. #endif
  109.  
  110. //=====================================================================================
  111. // Classes defined in this interface
  112. //=====================================================================================
  113.  
  114. interface  ODFacet;
  115.  
  116. //=====================================================================================
  117. // Classes used by this interface
  118. //=====================================================================================
  119. interface  ODCanvas;
  120. interface  ODDragItemIterator;
  121. interface  ODFacetIterator;
  122. interface  ODFrame;
  123. interface  ODShape;
  124. interface  ODTransform;
  125. interface  ODWindow;
  126. #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_) || defined (_PLATFORM_UNIX_)
  127. interface  ODPlatformCanvas;
  128. #endif // _PLATFORM_OS2_ ||  _PLATFORM_WIN32_ || _PLATFORM_UNIX_
  129.  
  130. #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_) 
  131. interface  M_ODFacet;
  132.  
  133. #endif // _PLATFORM_OS2_ ||  _PLATFORM_WIN32_ 
  134.  
  135. #ifdef _PLATFORM_OS2_
  136. interface ODOS2StandardCanvas;
  137. interface ODOS2WindowCanvas;
  138. #endif //_PLATFORM_OS2_
  139.  
  140. #ifdef _PLATFORM_WIN32_
  141. interface ODWin32StandardCanvas;
  142. #endif // _PLATFORM_WIN32_
  143.  
  144. #ifdef _PLATFORM_UNIX_
  145. interface ODAIXStandardCanvas;
  146. typedef somToken Display;
  147. typedef somToken Pixmap;
  148. typedef somToken GC;
  149. typedef somToken Widget;
  150. typedef somToken Window;
  151. #endif // UNIX
  152.  
  153. #ifdef __PRIVATE__
  154. //=====================================================================================
  155. // Implementation Types
  156. //=====================================================================================
  157.  
  158. typedef somToken FacetNode;
  159.  
  160.  
  161. #endif
  162.  
  163. #ifdef _PLATFORM_OS2_
  164. //=====================================================================================
  165. // Constants used in this interface
  166. //=====================================================================================
  167.  
  168. // Bitfield flags used by Set/GetHandleMouseEvents
  169.  
  170. #pragma somemittypes on
  171. const ODULong kODPartHandlesMouseEvents = 1;
  172. const ODULong kODPartHandlesDragDropEvents = 2;
  173. #pragma somemittypes off
  174.  
  175. #endif // _PLATFORM_OS2_
  176.  
  177. //=====================================================================================
  178. // ODFacet
  179. //=====================================================================================
  180.  
  181. interface ODFacet :  ODObject
  182. {
  183.    ODFrame GetFrame();
  184.  
  185.    ODFacet CreateEmbeddedFacet(in ODFrame frame,
  186.                                in ODShape clipShape,
  187.                                in ODTransform externalTransform,
  188.                                in ODCanvas canvas,
  189.                                in ODCanvas biasCanvas,
  190.                                in ODFacet siblingFacet,
  191.                                in ODFramePosition position);
  192.  
  193.    void RemoveFacet(in ODFacet facet);
  194.  
  195.    void MoveBefore(in ODFacet child,
  196.                    in ODFacet sibling);
  197.  
  198.    void MoveBehind(in ODFacet child,
  199.                    in ODFacet sibling);
  200.  
  201.    ODFacet GetContainingFacet();
  202.  
  203.    ODFacetIterator CreateFacetIterator(in ODTraversalType traversalType,
  204.                                        in ODSiblingOrder siblingOrder);
  205.  
  206.    ODShape CreateShape();
  207.  
  208.    ODShape AcquireClipShape(in ODCanvas biasCanvas);
  209.  
  210.    void ChangeGeometry(in ODShape clipShape,
  211.                        in ODTransform transform,
  212.                        in ODCanvas biasCanvas);
  213.  
  214.    ODShape AcquireAggregateClipShape(in ODCanvas biasCanvas);
  215.  
  216.    ODShape AcquireWindowAggregateClipShape(in ODCanvas biasCanvas);
  217.  
  218.    ODShape AcquireActiveShape(in ODCanvas biasCanvas);
  219.  
  220.    void ChangeActiveShape(in ODShape activeShape, in ODCanvas biasCanvas);
  221.  
  222.    ODTransform CreateTransform();
  223.  
  224.    ODTransform AcquireExternalTransform(in ODCanvas biasCanvas);
  225.  
  226.    ODTransform AcquireFrameTransform(in ODCanvas biasCanvas);
  227.  
  228.    ODTransform AcquireContentTransform(in ODCanvas biasCanvas);
  229.  
  230.    ODTransform AcquireWindowFrameTransform(in ODCanvas biasCanvas);
  231.  
  232.    ODTransform AcquireWindowContentTransform(in ODCanvas biasCanvas);
  233.  
  234.    ODCanvas CreateCanvas(in ODGraphicsSystem graphicsSystem,
  235.                          in ODPlatformCanvas platformCanvas,
  236.                          in ODBoolean isDynamic,
  237.                          in ODBoolean isOffscreen);
  238.  
  239.    ODBoolean HasCanvas();
  240.  
  241.    ODCanvas GetCanvas();
  242.  
  243.    void ChangeCanvas(in ODCanvas canvas);
  244.  
  245.    ODWindow GetWindow();
  246.  
  247.    ODInfoType GetPartInfo();
  248.  
  249.    void SetPartInfo(in ODInfoType partInfo);
  250.  
  251.    ODDragResult DragEnter(in ODPoint point,
  252.                           in ODDragItemIterator dragInfo,
  253.                           in ODCanvas biasCanvas);
  254.  
  255.    ODDragResult DragWithin(in ODPoint point,
  256.                            in ODDragItemIterator dragInfo,
  257.                            in ODCanvas biasCanvas);
  258.  
  259.    void DragLeave(in ODPoint point,
  260.                   in ODCanvas biasCanvas);
  261.  
  262.    ODDropResult Drop(in ODPoint point,
  263.                      in ODDragItemIterator dropInfo,
  264.                      in ODCanvas biasCanvas);
  265.  
  266.    void Update(in ODShape invalidShape, in ODCanvas biasCanvas);
  267.  
  268.    void Invalidate(in ODShape invalidShape, in ODCanvas biasCanvas);
  269.  
  270.    void Validate(in ODShape validShape, in ODCanvas biasCanvas);
  271.  
  272.    void Draw(in ODShape invalidShape, in ODCanvas biasCanvas);
  273.  
  274.    void DrawChildren(in ODShape invalidShape, in ODCanvas biasCanvas);
  275.  
  276.    void DrawChildrenAlways(in ODShape invalidShape, in ODCanvas biasCanvas);
  277.  
  278.    void DrawnIn(in ODShape shape, in ODCanvas biasCanvas);
  279.  
  280.    void InvalidateActiveBorder();
  281.  
  282.    void DrawActiveBorder();
  283.  
  284.    ODBoolean ContainsPoint(in ODPoint point, in ODCanvas biasCanvas);
  285.  
  286.    ODBoolean ActiveBorderContainsPoint(in ODPoint point, in ODCanvas biasCanvas);
  287.  
  288.    ODBoolean IsSelected();
  289.  
  290.    void SetSelected(in ODBoolean isSelected);
  291.  
  292.    ODHighlight GetHighlight();
  293.  
  294.    void ChangeHighlight(in ODHighlight highlight);
  295.  
  296. #ifdef _PLATFORM_WIN32_
  297.   HWND GetFacetHWND();
  298.  
  299.   ODWin32StandardCanvas CreatePlatformCanvas( in HDC hdc);
  300.  
  301. #endif
  302.  
  303. #ifdef _PLATFORM_OS2_
  304.   HWND GetFacetHWND();
  305.  
  306.   ODOS2StandardCanvas CreatePlatformCanvas( in HPS hps );
  307.  
  308.   void SetHandleMouseEvents(in ODULong flags);
  309.  
  310.   ODULong GetHandleMouseEvents();
  311.  
  312.   ODRgnHandle CopyAggregateClipRegion( in HPS hps );
  313.   ODRgnHandle CopyFacetClipRegion( in HPS hps );
  314.   ODPlatformWindow ChildUnderPoint( in ODPoint odPt );
  315.  
  316. #endif // _PLATFORM_OS2_
  317.  
  318. #ifdef _PLATFORM_UNIX_
  319.  
  320.   Widget GetFacetWidget();
  321.  
  322.   ODBoolean IsEventInActiveBorder( in ODEventData event);
  323.    
  324.   ODAIXStandardCanvas CreatePlatformCanvas( in Display* display,
  325.                         in Pixmap   pixmap,
  326.                         in GC       gc      );
  327.  
  328. #endif // UNIX
  329.  
  330. //# Private to implementation
  331. #ifdef __PRIVATE__
  332.  
  333.    void InternalTransformChanged();
  334.  
  335.    void InvalidateAggregateClipShape();
  336.  
  337.    void InvalidateAggregateTransforms();
  338.  
  339.    void InitFacet(in ODFrame frame,
  340.                   in ODShape clipShape,
  341.                   in ODTransform externalTransform,
  342.                   in ODCanvas canvas,
  343.                   in ODCanvas biasCanvas);
  344.  
  345.    void InitChildFacet(in FacetNode* node,
  346.                        in ODFrame frame,
  347.                        in ODShape clipShape,
  348.                        in ODTransform externalTransform,
  349.                        in ODCanvas canvas,
  350.                        in ODCanvas biasCanvas
  351.  
  352.                        );
  353.  
  354.    FacetNode* GetNode();
  355.  
  356.    ODBoolean NeedsUpdate();
  357.  
  358.    void SetNeedsUpdate(in ODBoolean needsUpdate);
  359.  
  360. #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_)
  361.    HWND CreateFacetWindow(in HWND parentHWND);
  362.  
  363.    void SetFacetWindowPos(in HWND facetHWND, in HWND siblingHWND);
  364.  
  365.    void SetFacetWindowRgn(in ODBoolean IsUsedShape);
  366. #endif // _PLATFORM_OS2 || _PLATFORM_WIN32_
  367.  
  368. #ifdef _PLATFORM_OS2_
  369.  
  370.    ODShape AcquireUpdateShape( in ODCanvas biasCanvas);
  371.  
  372. #endif // _PLATFORM_OS2_
  373.  
  374. #ifdef _PLATFORM_UNIX_
  375.  
  376.    Widget CreateFacetWidget(in Widget parentWidget, in ODPlatformCanvas platformCanvas);
  377.  
  378.    void CreateActiveBorderWidget();
  379.  
  380.    void SetFacetWidgetSize();
  381.  
  382.    void SetFacetWidgetRegion(in ODBoolean IsUsedShape);
  383.  
  384.    void SetFacetWidgetWinPos(in Window childwindow, in Window siblingwindow, in ODBoolean MoveBeforeSibling);
  385.  
  386. #endif  // UNIX
  387.  
  388. #endif // PRIVATE
  389.  
  390. #ifdef __SOMIDL__
  391.   implementation
  392.   {
  393.    majorversion = 1; minorversion = 0;
  394.  
  395.    functionprefix = ODFacet;
  396.   #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_) 
  397.    metaclass = M_ODFacet;
  398.   #endif // _PLATFORM_OS2_ || _PLATFORM_WIN32_ 
  399.  
  400.    override:
  401.        somUninit,
  402.        Purge;
  403.  
  404.    releaseorder:
  405.        GetFrame,
  406.        CreateEmbeddedFacet,
  407.        RemoveFacet,
  408.        MoveBefore,
  409.        MoveBehind,
  410.        GetContainingFacet,
  411.        CreateFacetIterator,
  412.        CreateShape,
  413.        AcquireClipShape,
  414.        ChangeGeometry,
  415.        AcquireAggregateClipShape,
  416.        AcquireWindowAggregateClipShape,
  417.        AcquireActiveShape,
  418.        ChangeActiveShape,
  419.        CreateTransform,
  420.        AcquireExternalTransform,
  421.        AcquireFrameTransform,
  422.        AcquireContentTransform,
  423.        AcquireWindowFrameTransform,
  424.        AcquireWindowContentTransform,
  425.        CreateCanvas,
  426.        HasCanvas,
  427.        GetCanvas,
  428.        ChangeCanvas,
  429.        GetWindow,
  430.        GetPartInfo,
  431.        SetPartInfo,
  432.        DragEnter,
  433.        DragWithin,
  434.        DragLeave,
  435.        Drop,
  436.        Update,
  437.        Invalidate,
  438.        Validate,
  439.        Draw,
  440.        DrawChildren,
  441.        DrawChildrenAlways,
  442.        DrawnIn,
  443.        InvalidateActiveBorder,
  444.        DrawActiveBorder,
  445.        ContainsPoint,
  446.        ActiveBorderContainsPoint,
  447.        IsSelected,
  448.        SetSelected,
  449.        GetHighlight,
  450.        ChangeHighlight,
  451.      #ifdef _PLATFORM_WIN32_
  452.        GetFacetHWND,
  453.        CreatePlatformCanvas,
  454.      #endif
  455.      #ifdef _PLATFORM_OS2_
  456.        GetFacetHWND,
  457.        CreatePlatformCanvas,
  458.        SetHandleMouseEvents,
  459.        GetHandleMouseEvents,
  460.        CopyAggregateClipRegion,
  461.        CopyFacetClipRegion,
  462.        ChildUnderPoint,
  463.      #endif // _PLATFORM_OS2_
  464.      #ifdef _PLATFORM_UNIX_
  465.        GetFacetWidget,
  466.        IsEventInActiveBorder,
  467.        CreatePlatformCanvas,
  468.      #endif //UNIX
  469.  
  470.    #ifdef __PRIVATE__
  471.        InternalTransformChanged,
  472.        InvalidateAggregateClipShape,
  473.        InvalidateAggregateTransforms,
  474.        InitFacet,
  475.        InitChildFacet,
  476.        GetNode,
  477.        NeedsUpdate,
  478.      #ifdef _PLATFORM_MACINTOSH_
  479.        SetNeedsUpdate;
  480.      #endif // _PLATFORM_MACINTOSH_
  481.  
  482.      #ifdef _PLATFORM_UNIX_
  483.        SetNeedsUpdate,
  484.        CreateFacetWidget,
  485.        CreateActiveBorderWidget,
  486.        SetFacetWidgetSize,
  487.        SetFacetWidgetRegion,
  488.        SetFacetWidgetWinPos;
  489.      #endif
  490.  
  491.      #ifdef _PLATFORM_WIN32_
  492.        SetNeedsUpdate,
  493.        CreateFacetWindow,
  494.        SetFacetWindowPos,
  495.        SetFacetWindowRgn;
  496.      #endif // _PLATFORM_WIN32_
  497.  
  498.      #ifdef _PLATFORM_OS2_
  499.        SetNeedsUpdate,
  500.        CreateFacetWindow,
  501.        SetFacetWindowPos,
  502.        SetFacetWindowRgn,
  503.        AcquireUpdateShape;
  504.      #endif // _PLATFORM_OS2_
  505.  
  506.    #else
  507.        reserved1,
  508.        reserved2,
  509.        reserved3,
  510.        reserved4,
  511.        reserved5,
  512.        reserved6,
  513.        reserved7,
  514.      #ifdef _PLATFORM_MACINTOSH_
  515.        reserved8;
  516.      #endif  // _PLATFORM_MACINTOSH_
  517.  
  518.      #ifdef _PLATFORM_UNIX_
  519.        reserved8,
  520.        reserved9,
  521.        reserved10,
  522.        reserved11,
  523.        reserved12,
  524.        reserved13;
  525.      #endif
  526.  
  527.      #ifdef _PLATFORM_WIN32_
  528.        reserved8,
  529.        reserved9,
  530.        reserved10,
  531.        reserved11;
  532.      #endif // _PLATFORM_WIN32_
  533.  
  534.      #ifdef _PLATFORM_OS2_
  535.        reserved8,
  536.        reserved9,
  537.        reserved10,
  538.        reserved11,
  539.        reserved12;
  540.      #endif // _PLATFORM_OS2_
  541.    #endif
  542.  
  543.    #ifdef __PRIVATE__
  544.    passthru C_xh =
  545.      #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_)
  546.      "/* Facet window proc window data words */"
  547.      "/* QWL_USER contains facet pointer */"
  548.      "#define QWL_FACETPTR                0"
  549.      "#define QWP_FACETWINDOWDATA         4"
  550.      "#define QWL_HITTESTFACET            8"
  551.      "#define QWL_PARTHANDLESMOUSEEVENTS 12"
  552.      "#define QWL_FACETWINDOWRGN         16"
  553.      "#define NUM_FACETWINDOWDATAWORDS    5"
  554.      #endif // _PLATFORM_OS2_  || _PLATFORM_WIN32_
  555.    ""
  556.    "class FacetNode;"
  557.    "";
  558.  
  559.    ODFrame         fFrame;
  560.    ODShape         fClipShape;
  561.    ODShape         fActiveShape;
  562.    ODTransform     fExternalTransform;
  563.    ODCanvas        fCanvas;
  564.    ODInfoType      fPartInfo;
  565.    ODBoolean       fIsSelected;
  566.    ODHighlight     fHighlight;
  567.    FacetNode*      fNode;
  568.    ODBoolean       fNeedsUpdate;
  569.    ODBoolean       fIsUpdating;
  570.    ODShape         fAggregateClipShape;
  571.    ODShape         fWindowAggregateClipShape;
  572.    ODTransform     fFrameTransform;
  573.    ODTransform     fContentTransform;
  574.    ODTransform     fWindowFrameTransform;
  575.    ODTransform     fWindowContentTransform;
  576.    ODShape         fActiveBorderShape;
  577. #ifdef _PLATFORM_OS2_
  578.    ODPlatformWindow fFacetHWND;
  579.    ODShape       fUpdateShape;
  580.    ODULong       fPartHandlesMouseEvents;
  581. #endif // _PLATFORM_OS2_
  582.  
  583. #ifdef _PLATFORM_UNIX_
  584.    Widget       fActiveBorderWidget;
  585.    Widget       fFacetWidget;
  586. #endif // UNIX
  587.  
  588. #ifdef _PLATFORM_WIN32_
  589.    ODRgnHandle    fUsedShapeRgn;
  590. #endif // WIN32
  591.  
  592. #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_) || defined (_PLATFORM_UNIX_)
  593.    ODBoolean       fIsRegionSet;
  594. #endif  // OS2 or WIN32 or UNIX
  595.  
  596.    #endif
  597.  
  598.   };
  599. #endif   // __SOMIDL__
  600. };
  601.  
  602. #ifdef __PRIVATE__ // rrk defect 27689
  603. #if defined (_PLATFORM_OS2_) || defined (_PLATFORM_WIN32_) 
  604. interface M_ODFacet : SOMClass
  605. {
  606.   ODFacet clsGetFacetFromHWND(in HWND hwnd);
  607.  
  608. #ifdef __SOMIDL__
  609.   implementation
  610.   {
  611.     functionprefix = M_ODFacet;
  612.     releaseorder:
  613.       clsGetFacetFromHWND;
  614.   };
  615. #endif // __SOMIDL__
  616. };
  617. #endif // _PLATFORM_OS2_ || _PLATFORM_WIN32_ 
  618. #endif // __PRIVATE__ -- rrk defect 27689
  619.  
  620. #endif // _FACET_
  621.