
/*
 * This file was generated by the SOM Compiler.
 * FileName: \odwin\h\FACETB.h.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.3
 *     SOM Emitter emith.dll: 2.41
 */

/*
 * 
 *  Classes defined in this interface
 * 
 */


#ifndef SOM_ODBaseFacet_h
#define SOM_ODBaseFacet_h


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))



/*
 * Define class data structures as resolution macros
 */
#define ODBaseFacetClassData (*resolve_ODBaseFacetClassData())
#define ODBaseFacetCClassData (*resolve_ODBaseFacetCClassData())

/*
 * Define the class name as an object type
 */
#ifndef ODBaseFacet
#define ODBaseFacet SOMObject
#endif
#include <ODObject.h>

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef ODObject
    #define ODObject SOMObject
#endif /* ODObject */
#ifndef ODExtension
    #define ODExtension SOMObject
#endif /* ODExtension */
#ifndef ODBaseFacet
    #define ODBaseFacet SOMObject
#endif /* ODBaseFacet */
#ifndef ODCanvas
    #define ODCanvas SOMObject
#endif /* ODCanvas */
#ifndef ODDragItemIterator
    #define ODDragItemIterator SOMObject
#endif /* ODDragItemIterator */
#ifndef ODFacet
    #define ODFacet SOMObject
#endif /* ODFacet */
#ifndef ODFacetIterator
    #define ODFacetIterator SOMObject
#endif /* ODFacetIterator */
#ifndef ODFrame
    #define ODFrame SOMObject
#endif /* ODFrame */
#ifndef ODShape
    #define ODShape SOMObject
#endif /* ODShape */
#ifndef ODTransform
    #define ODTransform SOMObject
#endif /* ODTransform */
#ifndef ODWindow
    #define ODWindow SOMObject
#endif /* ODWindow */

/*
 * End of user-defined types.
 */

#define ODBaseFacet_MajorVersion 1
#define ODBaseFacet_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define ODBaseFacetNewClass c
#define ODBaseFacetClassData d
#define ODBaseFacetCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define ODBaseFacet_classObj ODBaseFacetClassData.classObject
#define _ODBaseFacet ODBaseFacet_classObj

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMClass * SOMLINK ODBaseFacetNewClass(integer4 somntmajorVersion,
		integer4 somntminorVersion);

/*
 * Declare the class data structure
 */
SOMEXTERN struct ODBaseFacetClassDataStructure {
	SOMClass *classObject;
	somMToken GetFrame;
	somMToken CreateEmbeddedFacet;
	somMToken RemoveFacet;
	somMToken MoveBefore;
	somMToken MoveBehind;
	somMToken GetContainingFacet;
	somMToken CreateFacetIterator;
	somMToken CreateShape;
	somMToken GetClipShape;
	somMToken ChangeGeometry;
	somMToken GetAggregateClipShape;
	somMToken GetWindowAggregateClipShape;
	somMToken InvalidateAggregateClipShape;
	somMToken GetActiveShape;
	somMToken ChangeActiveShape;
	somMToken CreateTransform;
	somMToken GetExternalTransform;
	somMToken InternalTransformChanged;
	somMToken GetFrameTransform;
	somMToken GetContentTransform;
	somMToken GetWindowFrameTransform;
	somMToken GetWindowContentTransform;
	somMToken InvalidateAggregateTransforms;
	somMToken CreateCanvas;
	somMToken HasCanvas;
	somMToken GetCanvas;
	somMToken SetCanvas;
	somMToken GetWindow;
	somMToken GetPartInfo;
	somMToken SetPartInfo;
	somMToken DragEnter;
	somMToken DragWithin;
	somMToken DragLeave;
	somMToken Drop;
	somMToken Update;
	somMToken Invalidate;
	somMToken Validate;
	somMToken Draw;
	somMToken DrawChildren;
	somMToken DrawChildrenAlways;
	somMToken DrawnIn;
	somMToken InvalidateActiveBorder;
	somMToken DrawActiveBorder;
	somMToken MouseEnter;
	somMToken MouseWithin;
	somMToken MouseLeave;
	somMToken ContainsPoint;
	somMToken ActiveBorderContainsPoint;
	somMToken IsSelected;
	somMToken SetSelected;
	somMToken GetHighlight;
	somMToken ChangeHighlight;
	somMToken GetNode;
	somMToken NeedsUpdate;
	somMToken SetNeedsUpdate;
	somMToken InitBaseFacet;
	somMToken InitChildBaseFacet;
}  _ODBaseFacetClassData;
SOMEXTERN struct ODBaseFacetClassDataStructure * SOMLINK resolve_ODBaseFacetClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct ODBaseFacetCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _ODBaseFacetCClassData;
SOMEXTERN struct ODBaseFacetCClassDataStructure * SOMLINK resolve_ODBaseFacetCClassData(void);

/*
 * New and Renew macros for ODBaseFacet
 */
#define ODBaseFacetNew() \
   (_somNew(_ODBaseFacet ? _ODBaseFacet : ODBaseFacetNewClass(ODBaseFacet_MajorVersion, ODBaseFacet_MinorVersion)))
#define ODBaseFacetRenew(buf) \
   (_somRenew(_ODBaseFacet ? _ODBaseFacet : ODBaseFacetNewClass(ODBaseFacet_MajorVersion, ODBaseFacet_MinorVersion), buf))

/*
 * Override method: somInit
 */
#define ODBaseFacet_somInit(somSelf) \
	SOMObject_somInit(somSelf)

/*
 * Override method: somUninit
 */
#define ODBaseFacet_somUninit(somSelf) \
	SOMObject_somUninit(somSelf)

/*
 * New Method: GetFrame
 */
typedef ODFrame*   (SOMLINK * somTD_ODBaseFacet_GetFrame)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_GetFrame "::ODBaseFacet::GetFrame"
#define ODBaseFacet_GetFrame(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetFrame) \
	(somSelf,ev))
#ifndef SOMGD_GetFrame
    #if (defined(_GetFrame) || defined(__GetFrame))
        #undef _GetFrame
        #undef __GetFrame
        #define SOMGD_GetFrame 1
    #else
        #define _GetFrame ODBaseFacet_GetFrame
    #endif /* _GetFrame */
#endif /* SOMGD_GetFrame */

/*
 * New Method: CreateEmbeddedFacet
 */
typedef ODFacet*   (SOMLINK * somTD_ODBaseFacet_CreateEmbeddedFacet)(ODBaseFacet *somSelf, Environment *ev,
		ODFrame* frame,
		ODShape* clipShape,
		ODTransform* externalTransform,
		ODCanvas* canvas,
		ODCanvas* biasCanvas,
		ODFacet* siblingFacet,
		ODFramePosition position);
#define somMD_ODBaseFacet_CreateEmbeddedFacet "::ODBaseFacet::CreateEmbeddedFacet"
#define ODBaseFacet_CreateEmbeddedFacet(somSelf,ev,frame,clipShape,externalTransform,canvas,biasCanvas,siblingFacet,position) \
    (SOM_Resolve(somSelf, ODBaseFacet, CreateEmbeddedFacet) \
	(somSelf,ev,frame,clipShape,externalTransform,canvas,biasCanvas,siblingFacet,position))
#ifndef SOMGD_CreateEmbeddedFacet
    #if (defined(_CreateEmbeddedFacet) || defined(__CreateEmbeddedFacet))
        #undef _CreateEmbeddedFacet
        #undef __CreateEmbeddedFacet
        #define SOMGD_CreateEmbeddedFacet 1
    #else
        #define _CreateEmbeddedFacet ODBaseFacet_CreateEmbeddedFacet
    #endif /* _CreateEmbeddedFacet */
#endif /* SOMGD_CreateEmbeddedFacet */

/*
 * New Method: RemoveFacet
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_RemoveFacet)(ODBaseFacet *somSelf, Environment *ev,
		ODFacet* facet);
#define somMD_ODBaseFacet_RemoveFacet "::ODBaseFacet::RemoveFacet"
#define ODBaseFacet_RemoveFacet(somSelf,ev,facet) \
    (SOM_Resolve(somSelf, ODBaseFacet, RemoveFacet) \
	(somSelf,ev,facet))
#ifndef SOMGD_RemoveFacet
    #if (defined(_RemoveFacet) || defined(__RemoveFacet))
        #undef _RemoveFacet
        #undef __RemoveFacet
        #define SOMGD_RemoveFacet 1
    #else
        #define _RemoveFacet ODBaseFacet_RemoveFacet
    #endif /* _RemoveFacet */
#endif /* SOMGD_RemoveFacet */

/*
 * New Method: MoveBefore
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_MoveBefore)(ODBaseFacet *somSelf, Environment *ev,
		ODFacet* child,
		ODFacet* sibling);
#define somMD_ODBaseFacet_MoveBefore "::ODBaseFacet::MoveBefore"
#define ODBaseFacet_MoveBefore(somSelf,ev,child,sibling) \
    (SOM_Resolve(somSelf, ODBaseFacet, MoveBefore) \
	(somSelf,ev,child,sibling))
#ifndef SOMGD_MoveBefore
    #if (defined(_MoveBefore) || defined(__MoveBefore))
        #undef _MoveBefore
        #undef __MoveBefore
        #define SOMGD_MoveBefore 1
    #else
        #define _MoveBefore ODBaseFacet_MoveBefore
    #endif /* _MoveBefore */
#endif /* SOMGD_MoveBefore */

/*
 * New Method: MoveBehind
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_MoveBehind)(ODBaseFacet *somSelf, Environment *ev,
		ODFacet* child,
		ODFacet* sibling);
#define somMD_ODBaseFacet_MoveBehind "::ODBaseFacet::MoveBehind"
#define ODBaseFacet_MoveBehind(somSelf,ev,child,sibling) \
    (SOM_Resolve(somSelf, ODBaseFacet, MoveBehind) \
	(somSelf,ev,child,sibling))
#ifndef SOMGD_MoveBehind
    #if (defined(_MoveBehind) || defined(__MoveBehind))
        #undef _MoveBehind
        #undef __MoveBehind
        #define SOMGD_MoveBehind 1
    #else
        #define _MoveBehind ODBaseFacet_MoveBehind
    #endif /* _MoveBehind */
#endif /* SOMGD_MoveBehind */

/*
 * New Method: GetContainingFacet
 */
typedef ODFacet*   (SOMLINK * somTD_ODBaseFacet_GetContainingFacet)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_GetContainingFacet "::ODBaseFacet::GetContainingFacet"
#define ODBaseFacet_GetContainingFacet(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetContainingFacet) \
	(somSelf,ev))
#ifndef SOMGD_GetContainingFacet
    #if (defined(_GetContainingFacet) || defined(__GetContainingFacet))
        #undef _GetContainingFacet
        #undef __GetContainingFacet
        #define SOMGD_GetContainingFacet 1
    #else
        #define _GetContainingFacet ODBaseFacet_GetContainingFacet
    #endif /* _GetContainingFacet */
#endif /* SOMGD_GetContainingFacet */

/*
 * New Method: CreateFacetIterator
 */
typedef ODFacetIterator*   (SOMLINK * somTD_ODBaseFacet_CreateFacetIterator)(ODBaseFacet *somSelf, Environment *ev,
		ODTraversalType traversalType,
		ODSiblingOrder siblingOrder);
#define somMD_ODBaseFacet_CreateFacetIterator "::ODBaseFacet::CreateFacetIterator"
#define ODBaseFacet_CreateFacetIterator(somSelf,ev,traversalType,siblingOrder) \
    (SOM_Resolve(somSelf, ODBaseFacet, CreateFacetIterator) \
	(somSelf,ev,traversalType,siblingOrder))
#ifndef SOMGD_CreateFacetIterator
    #if (defined(_CreateFacetIterator) || defined(__CreateFacetIterator))
        #undef _CreateFacetIterator
        #undef __CreateFacetIterator
        #define SOMGD_CreateFacetIterator 1
    #else
        #define _CreateFacetIterator ODBaseFacet_CreateFacetIterator
    #endif /* _CreateFacetIterator */
#endif /* SOMGD_CreateFacetIterator */

/*
 * New Method: CreateShape
 */
typedef ODShape*   (SOMLINK * somTD_ODBaseFacet_CreateShape)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_CreateShape "::ODBaseFacet::CreateShape"
#define ODBaseFacet_CreateShape(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, CreateShape) \
	(somSelf,ev))
#ifndef SOMGD_CreateShape
    #if (defined(_CreateShape) || defined(__CreateShape))
        #undef _CreateShape
        #undef __CreateShape
        #define SOMGD_CreateShape 1
    #else
        #define _CreateShape ODBaseFacet_CreateShape
    #endif /* _CreateShape */
#endif /* SOMGD_CreateShape */

/*
 * New Method: GetClipShape
 */
typedef ODShape*   (SOMLINK * somTD_ODBaseFacet_GetClipShape)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetClipShape "::ODBaseFacet::GetClipShape"
#define ODBaseFacet_GetClipShape(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetClipShape) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetClipShape
    #if (defined(_GetClipShape) || defined(__GetClipShape))
        #undef _GetClipShape
        #undef __GetClipShape
        #define SOMGD_GetClipShape 1
    #else
        #define _GetClipShape ODBaseFacet_GetClipShape
    #endif /* _GetClipShape */
#endif /* SOMGD_GetClipShape */

/*
 * New Method: ChangeGeometry
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_ChangeGeometry)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* clipShape,
		ODTransform* transform,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_ChangeGeometry "::ODBaseFacet::ChangeGeometry"
#define ODBaseFacet_ChangeGeometry(somSelf,ev,clipShape,transform,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, ChangeGeometry) \
	(somSelf,ev,clipShape,transform,biasCanvas))
#ifndef SOMGD_ChangeGeometry
    #if (defined(_ChangeGeometry) || defined(__ChangeGeometry))
        #undef _ChangeGeometry
        #undef __ChangeGeometry
        #define SOMGD_ChangeGeometry 1
    #else
        #define _ChangeGeometry ODBaseFacet_ChangeGeometry
    #endif /* _ChangeGeometry */
#endif /* SOMGD_ChangeGeometry */

/*
 * New Method: GetAggregateClipShape
 */
typedef ODShape*   (SOMLINK * somTD_ODBaseFacet_GetAggregateClipShape)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetAggregateClipShape "::ODBaseFacet::GetAggregateClipShape"
#define ODBaseFacet_GetAggregateClipShape(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetAggregateClipShape) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetAggregateClipShape
    #if (defined(_GetAggregateClipShape) || defined(__GetAggregateClipShape))
        #undef _GetAggregateClipShape
        #undef __GetAggregateClipShape
        #define SOMGD_GetAggregateClipShape 1
    #else
        #define _GetAggregateClipShape ODBaseFacet_GetAggregateClipShape
    #endif /* _GetAggregateClipShape */
#endif /* SOMGD_GetAggregateClipShape */

/*
 * New Method: GetWindowAggregateClipShape
 */
typedef ODShape*   (SOMLINK * somTD_ODBaseFacet_GetWindowAggregateClipShape)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetWindowAggregateClipShape "::ODBaseFacet::GetWindowAggregateClipShape"
#define ODBaseFacet_GetWindowAggregateClipShape(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetWindowAggregateClipShape) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetWindowAggregateClipShape
    #if (defined(_GetWindowAggregateClipShape) || defined(__GetWindowAggregateClipShape))
        #undef _GetWindowAggregateClipShape
        #undef __GetWindowAggregateClipShape
        #define SOMGD_GetWindowAggregateClipShape 1
    #else
        #define _GetWindowAggregateClipShape ODBaseFacet_GetWindowAggregateClipShape
    #endif /* _GetWindowAggregateClipShape */
#endif /* SOMGD_GetWindowAggregateClipShape */

/*
 * New Method: InvalidateAggregateClipShape
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_InvalidateAggregateClipShape)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_InvalidateAggregateClipShape "::ODBaseFacet::InvalidateAggregateClipShape"
#define ODBaseFacet_InvalidateAggregateClipShape(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, InvalidateAggregateClipShape) \
	(somSelf,ev))
#ifndef SOMGD_InvalidateAggregateClipShape
    #if (defined(_InvalidateAggregateClipShape) || defined(__InvalidateAggregateClipShape))
        #undef _InvalidateAggregateClipShape
        #undef __InvalidateAggregateClipShape
        #define SOMGD_InvalidateAggregateClipShape 1
    #else
        #define _InvalidateAggregateClipShape ODBaseFacet_InvalidateAggregateClipShape
    #endif /* _InvalidateAggregateClipShape */
#endif /* SOMGD_InvalidateAggregateClipShape */

/*
 * New Method: GetActiveShape
 */
typedef ODShape*   (SOMLINK * somTD_ODBaseFacet_GetActiveShape)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetActiveShape "::ODBaseFacet::GetActiveShape"
#define ODBaseFacet_GetActiveShape(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetActiveShape) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetActiveShape
    #if (defined(_GetActiveShape) || defined(__GetActiveShape))
        #undef _GetActiveShape
        #undef __GetActiveShape
        #define SOMGD_GetActiveShape 1
    #else
        #define _GetActiveShape ODBaseFacet_GetActiveShape
    #endif /* _GetActiveShape */
#endif /* SOMGD_GetActiveShape */

/*
 * New Method: ChangeActiveShape
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_ChangeActiveShape)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* activeShape,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_ChangeActiveShape "::ODBaseFacet::ChangeActiveShape"
#define ODBaseFacet_ChangeActiveShape(somSelf,ev,activeShape,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, ChangeActiveShape) \
	(somSelf,ev,activeShape,biasCanvas))
#ifndef SOMGD_ChangeActiveShape
    #if (defined(_ChangeActiveShape) || defined(__ChangeActiveShape))
        #undef _ChangeActiveShape
        #undef __ChangeActiveShape
        #define SOMGD_ChangeActiveShape 1
    #else
        #define _ChangeActiveShape ODBaseFacet_ChangeActiveShape
    #endif /* _ChangeActiveShape */
#endif /* SOMGD_ChangeActiveShape */

/*
 * New Method: CreateTransform
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseFacet_CreateTransform)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_CreateTransform "::ODBaseFacet::CreateTransform"
#define ODBaseFacet_CreateTransform(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, CreateTransform) \
	(somSelf,ev))
#ifndef SOMGD_CreateTransform
    #if (defined(_CreateTransform) || defined(__CreateTransform))
        #undef _CreateTransform
        #undef __CreateTransform
        #define SOMGD_CreateTransform 1
    #else
        #define _CreateTransform ODBaseFacet_CreateTransform
    #endif /* _CreateTransform */
#endif /* SOMGD_CreateTransform */

/*
 * New Method: GetExternalTransform
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseFacet_GetExternalTransform)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetExternalTransform "::ODBaseFacet::GetExternalTransform"
#define ODBaseFacet_GetExternalTransform(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetExternalTransform) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetExternalTransform
    #if (defined(_GetExternalTransform) || defined(__GetExternalTransform))
        #undef _GetExternalTransform
        #undef __GetExternalTransform
        #define SOMGD_GetExternalTransform 1
    #else
        #define _GetExternalTransform ODBaseFacet_GetExternalTransform
    #endif /* _GetExternalTransform */
#endif /* SOMGD_GetExternalTransform */

/*
 * New Method: InternalTransformChanged
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_InternalTransformChanged)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_InternalTransformChanged "::ODBaseFacet::InternalTransformChanged"
#define ODBaseFacet_InternalTransformChanged(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, InternalTransformChanged) \
	(somSelf,ev))
#ifndef SOMGD_InternalTransformChanged
    #if (defined(_InternalTransformChanged) || defined(__InternalTransformChanged))
        #undef _InternalTransformChanged
        #undef __InternalTransformChanged
        #define SOMGD_InternalTransformChanged 1
    #else
        #define _InternalTransformChanged ODBaseFacet_InternalTransformChanged
    #endif /* _InternalTransformChanged */
#endif /* SOMGD_InternalTransformChanged */

/*
 * New Method: GetFrameTransform
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseFacet_GetFrameTransform)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetFrameTransform "::ODBaseFacet::GetFrameTransform"
#define ODBaseFacet_GetFrameTransform(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetFrameTransform) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetFrameTransform
    #if (defined(_GetFrameTransform) || defined(__GetFrameTransform))
        #undef _GetFrameTransform
        #undef __GetFrameTransform
        #define SOMGD_GetFrameTransform 1
    #else
        #define _GetFrameTransform ODBaseFacet_GetFrameTransform
    #endif /* _GetFrameTransform */
#endif /* SOMGD_GetFrameTransform */

/*
 * New Method: GetContentTransform
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseFacet_GetContentTransform)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetContentTransform "::ODBaseFacet::GetContentTransform"
#define ODBaseFacet_GetContentTransform(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetContentTransform) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetContentTransform
    #if (defined(_GetContentTransform) || defined(__GetContentTransform))
        #undef _GetContentTransform
        #undef __GetContentTransform
        #define SOMGD_GetContentTransform 1
    #else
        #define _GetContentTransform ODBaseFacet_GetContentTransform
    #endif /* _GetContentTransform */
#endif /* SOMGD_GetContentTransform */

/*
 * New Method: GetWindowFrameTransform
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseFacet_GetWindowFrameTransform)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetWindowFrameTransform "::ODBaseFacet::GetWindowFrameTransform"
#define ODBaseFacet_GetWindowFrameTransform(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetWindowFrameTransform) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetWindowFrameTransform
    #if (defined(_GetWindowFrameTransform) || defined(__GetWindowFrameTransform))
        #undef _GetWindowFrameTransform
        #undef __GetWindowFrameTransform
        #define SOMGD_GetWindowFrameTransform 1
    #else
        #define _GetWindowFrameTransform ODBaseFacet_GetWindowFrameTransform
    #endif /* _GetWindowFrameTransform */
#endif /* SOMGD_GetWindowFrameTransform */

/*
 * New Method: GetWindowContentTransform
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseFacet_GetWindowContentTransform)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_GetWindowContentTransform "::ODBaseFacet::GetWindowContentTransform"
#define ODBaseFacet_GetWindowContentTransform(somSelf,ev,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetWindowContentTransform) \
	(somSelf,ev,biasCanvas))
#ifndef SOMGD_GetWindowContentTransform
    #if (defined(_GetWindowContentTransform) || defined(__GetWindowContentTransform))
        #undef _GetWindowContentTransform
        #undef __GetWindowContentTransform
        #define SOMGD_GetWindowContentTransform 1
    #else
        #define _GetWindowContentTransform ODBaseFacet_GetWindowContentTransform
    #endif /* _GetWindowContentTransform */
#endif /* SOMGD_GetWindowContentTransform */

/*
 * New Method: InvalidateAggregateTransforms
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_InvalidateAggregateTransforms)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_InvalidateAggregateTransforms "::ODBaseFacet::InvalidateAggregateTransforms"
#define ODBaseFacet_InvalidateAggregateTransforms(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, InvalidateAggregateTransforms) \
	(somSelf,ev))
#ifndef SOMGD_InvalidateAggregateTransforms
    #if (defined(_InvalidateAggregateTransforms) || defined(__InvalidateAggregateTransforms))
        #undef _InvalidateAggregateTransforms
        #undef __InvalidateAggregateTransforms
        #define SOMGD_InvalidateAggregateTransforms 1
    #else
        #define _InvalidateAggregateTransforms ODBaseFacet_InvalidateAggregateTransforms
    #endif /* _InvalidateAggregateTransforms */
#endif /* SOMGD_InvalidateAggregateTransforms */

/*
 * New Method: CreateCanvas
 */
typedef ODCanvas*   (SOMLINK * somTD_ODBaseFacet_CreateCanvas)(ODBaseFacet *somSelf, Environment *ev,
		ODGraphicsSystem graphicsSystem,
		ODPlatformCanvas platformCanvas,
		ODBoolean isDynamic,
		ODBoolean isOffscreen);
#define somMD_ODBaseFacet_CreateCanvas "::ODBaseFacet::CreateCanvas"
#define ODBaseFacet_CreateCanvas(somSelf,ev,graphicsSystem,platformCanvas,isDynamic,isOffscreen) \
    (SOM_Resolve(somSelf, ODBaseFacet, CreateCanvas) \
	(somSelf,ev,graphicsSystem,platformCanvas,isDynamic,isOffscreen))
#ifndef SOMGD_CreateCanvas
    #if (defined(_CreateCanvas) || defined(__CreateCanvas))
        #undef _CreateCanvas
        #undef __CreateCanvas
        #define SOMGD_CreateCanvas 1
    #else
        #define _CreateCanvas ODBaseFacet_CreateCanvas
    #endif /* _CreateCanvas */
#endif /* SOMGD_CreateCanvas */

/*
 * New Method: HasCanvas
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseFacet_HasCanvas)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_HasCanvas "::ODBaseFacet::HasCanvas"
#define ODBaseFacet_HasCanvas(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, HasCanvas) \
	(somSelf,ev))
#ifndef SOMGD_HasCanvas
    #if (defined(_HasCanvas) || defined(__HasCanvas))
        #undef _HasCanvas
        #undef __HasCanvas
        #define SOMGD_HasCanvas 1
    #else
        #define _HasCanvas ODBaseFacet_HasCanvas
    #endif /* _HasCanvas */
#endif /* SOMGD_HasCanvas */

/*
 * New Method: GetCanvas
 */
typedef ODCanvas*   (SOMLINK * somTD_ODBaseFacet_GetCanvas)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_GetCanvas "::ODBaseFacet::GetCanvas"
#define ODBaseFacet_GetCanvas(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetCanvas) \
	(somSelf,ev))
#ifndef SOMGD_GetCanvas
    #if (defined(_GetCanvas) || defined(__GetCanvas))
        #undef _GetCanvas
        #undef __GetCanvas
        #define SOMGD_GetCanvas 1
    #else
        #define _GetCanvas ODBaseFacet_GetCanvas
    #endif /* _GetCanvas */
#endif /* SOMGD_GetCanvas */

/*
 * New Method: SetCanvas
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_SetCanvas)(ODBaseFacet *somSelf, Environment *ev,
		ODCanvas* canvas);
#define somMD_ODBaseFacet_SetCanvas "::ODBaseFacet::SetCanvas"
#define ODBaseFacet_SetCanvas(somSelf,ev,canvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, SetCanvas) \
	(somSelf,ev,canvas))
#ifndef SOMGD_SetCanvas
    #if (defined(_SetCanvas) || defined(__SetCanvas))
        #undef _SetCanvas
        #undef __SetCanvas
        #define SOMGD_SetCanvas 1
    #else
        #define _SetCanvas ODBaseFacet_SetCanvas
    #endif /* _SetCanvas */
#endif /* SOMGD_SetCanvas */

/*
 * New Method: GetWindow
 */
typedef ODWindow*   (SOMLINK * somTD_ODBaseFacet_GetWindow)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_GetWindow "::ODBaseFacet::GetWindow"
#define ODBaseFacet_GetWindow(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetWindow) \
	(somSelf,ev))
#ifndef SOMGD_GetWindow
    #if (defined(_GetWindow) || defined(__GetWindow))
        #undef _GetWindow
        #undef __GetWindow
        #define SOMGD_GetWindow 1
    #else
        #define _GetWindow ODBaseFacet_GetWindow
    #endif /* _GetWindow */
#endif /* SOMGD_GetWindow */

/*
 * New Method: GetPartInfo
 */
typedef ODInfoType   (SOMLINK * somTD_ODBaseFacet_GetPartInfo)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_GetPartInfo "::ODBaseFacet::GetPartInfo"
#define ODBaseFacet_GetPartInfo(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetPartInfo) \
	(somSelf,ev))
#ifndef SOMGD_GetPartInfo
    #if (defined(_GetPartInfo) || defined(__GetPartInfo))
        #undef _GetPartInfo
        #undef __GetPartInfo
        #define SOMGD_GetPartInfo 1
    #else
        #define _GetPartInfo ODBaseFacet_GetPartInfo
    #endif /* _GetPartInfo */
#endif /* SOMGD_GetPartInfo */

/*
 * New Method: SetPartInfo
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_SetPartInfo)(ODBaseFacet *somSelf, Environment *ev,
		ODInfoType partInfo);
#define somMD_ODBaseFacet_SetPartInfo "::ODBaseFacet::SetPartInfo"
#define ODBaseFacet_SetPartInfo(somSelf,ev,partInfo) \
    (SOM_Resolve(somSelf, ODBaseFacet, SetPartInfo) \
	(somSelf,ev,partInfo))
#ifndef SOMGD_SetPartInfo
    #if (defined(_SetPartInfo) || defined(__SetPartInfo))
        #undef _SetPartInfo
        #undef __SetPartInfo
        #define SOMGD_SetPartInfo 1
    #else
        #define _SetPartInfo ODBaseFacet_SetPartInfo
    #endif /* _SetPartInfo */
#endif /* SOMGD_SetPartInfo */

/*
 * New Method: DragEnter
 */
typedef ODDragResult   (SOMLINK * somTD_ODBaseFacet_DragEnter)(ODBaseFacet *somSelf, Environment *ev,
		ODPoint* point,
		ODDragItemIterator* dragInfo,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_DragEnter "::ODBaseFacet::DragEnter"
#define ODBaseFacet_DragEnter(somSelf,ev,point,dragInfo,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, DragEnter) \
	(somSelf,ev,point,dragInfo,biasCanvas))
#ifndef SOMGD_DragEnter
    #if (defined(_DragEnter) || defined(__DragEnter))
        #undef _DragEnter
        #undef __DragEnter
        #define SOMGD_DragEnter 1
    #else
        #define _DragEnter ODBaseFacet_DragEnter
    #endif /* _DragEnter */
#endif /* SOMGD_DragEnter */

/*
 * New Method: DragWithin
 */
typedef ODDragResult   (SOMLINK * somTD_ODBaseFacet_DragWithin)(ODBaseFacet *somSelf, Environment *ev,
		ODPoint* point,
		ODDragItemIterator* dragInfo,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_DragWithin "::ODBaseFacet::DragWithin"
#define ODBaseFacet_DragWithin(somSelf,ev,point,dragInfo,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, DragWithin) \
	(somSelf,ev,point,dragInfo,biasCanvas))
#ifndef SOMGD_DragWithin
    #if (defined(_DragWithin) || defined(__DragWithin))
        #undef _DragWithin
        #undef __DragWithin
        #define SOMGD_DragWithin 1
    #else
        #define _DragWithin ODBaseFacet_DragWithin
    #endif /* _DragWithin */
#endif /* SOMGD_DragWithin */

/*
 * New Method: DragLeave
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_DragLeave)(ODBaseFacet *somSelf, Environment *ev,
		ODPoint* point,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_DragLeave "::ODBaseFacet::DragLeave"
#define ODBaseFacet_DragLeave(somSelf,ev,point,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, DragLeave) \
	(somSelf,ev,point,biasCanvas))
#ifndef SOMGD_DragLeave
    #if (defined(_DragLeave) || defined(__DragLeave))
        #undef _DragLeave
        #undef __DragLeave
        #define SOMGD_DragLeave 1
    #else
        #define _DragLeave ODBaseFacet_DragLeave
    #endif /* _DragLeave */
#endif /* SOMGD_DragLeave */

/*
 * New Method: Drop
 */
typedef ODDropResult   (SOMLINK * somTD_ODBaseFacet_Drop)(ODBaseFacet *somSelf, Environment *ev,
		ODPoint* point,
		ODDragItemIterator* dropInfo,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_Drop "::ODBaseFacet::Drop"
#define ODBaseFacet_Drop(somSelf,ev,point,dropInfo,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, Drop) \
	(somSelf,ev,point,dropInfo,biasCanvas))
#ifndef SOMGD_Drop
    #if (defined(_Drop) || defined(__Drop))
        #undef _Drop
        #undef __Drop
        #define SOMGD_Drop 1
    #else
        #define _Drop ODBaseFacet_Drop
    #endif /* _Drop */
#endif /* SOMGD_Drop */

/*
 * New Method: Update
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_Update)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* invalidShape,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_Update "::ODBaseFacet::Update"
#define ODBaseFacet_Update(somSelf,ev,invalidShape,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, Update) \
	(somSelf,ev,invalidShape,biasCanvas))
#ifndef SOMGD_Update
    #if (defined(_Update) || defined(__Update))
        #undef _Update
        #undef __Update
        #define SOMGD_Update 1
    #else
        #define _Update ODBaseFacet_Update
    #endif /* _Update */
#endif /* SOMGD_Update */

/*
 * New Method: Invalidate
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_Invalidate)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* invalidShape,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_Invalidate "::ODBaseFacet::Invalidate"
#define ODBaseFacet_Invalidate(somSelf,ev,invalidShape,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, Invalidate) \
	(somSelf,ev,invalidShape,biasCanvas))
#ifndef SOMGD_Invalidate
    #if (defined(_Invalidate) || defined(__Invalidate))
        #undef _Invalidate
        #undef __Invalidate
        #define SOMGD_Invalidate 1
    #else
        #define _Invalidate ODBaseFacet_Invalidate
    #endif /* _Invalidate */
#endif /* SOMGD_Invalidate */

/*
 * New Method: Validate
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_Validate)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* validShape,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_Validate "::ODBaseFacet::Validate"
#define ODBaseFacet_Validate(somSelf,ev,validShape,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, Validate) \
	(somSelf,ev,validShape,biasCanvas))
#ifndef SOMGD_Validate
    #if (defined(_Validate) || defined(__Validate))
        #undef _Validate
        #undef __Validate
        #define SOMGD_Validate 1
    #else
        #define _Validate ODBaseFacet_Validate
    #endif /* _Validate */
#endif /* SOMGD_Validate */

/*
 * New Method: Draw
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_Draw)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* invalidShape,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_Draw "::ODBaseFacet::Draw"
#define ODBaseFacet_Draw(somSelf,ev,invalidShape,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, Draw) \
	(somSelf,ev,invalidShape,biasCanvas))
#ifndef SOMGD_Draw
    #if (defined(_Draw) || defined(__Draw))
        #undef _Draw
        #undef __Draw
        #define SOMGD_Draw 1
    #else
        #define _Draw ODBaseFacet_Draw
    #endif /* _Draw */
#endif /* SOMGD_Draw */

/*
 * New Method: DrawChildren
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_DrawChildren)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* invalidShape,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_DrawChildren "::ODBaseFacet::DrawChildren"
#define ODBaseFacet_DrawChildren(somSelf,ev,invalidShape,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, DrawChildren) \
	(somSelf,ev,invalidShape,biasCanvas))
#ifndef SOMGD_DrawChildren
    #if (defined(_DrawChildren) || defined(__DrawChildren))
        #undef _DrawChildren
        #undef __DrawChildren
        #define SOMGD_DrawChildren 1
    #else
        #define _DrawChildren ODBaseFacet_DrawChildren
    #endif /* _DrawChildren */
#endif /* SOMGD_DrawChildren */

/*
 * New Method: DrawChildrenAlways
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_DrawChildrenAlways)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* invalidShape,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_DrawChildrenAlways "::ODBaseFacet::DrawChildrenAlways"
#define ODBaseFacet_DrawChildrenAlways(somSelf,ev,invalidShape,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, DrawChildrenAlways) \
	(somSelf,ev,invalidShape,biasCanvas))
#ifndef SOMGD_DrawChildrenAlways
    #if (defined(_DrawChildrenAlways) || defined(__DrawChildrenAlways))
        #undef _DrawChildrenAlways
        #undef __DrawChildrenAlways
        #define SOMGD_DrawChildrenAlways 1
    #else
        #define _DrawChildrenAlways ODBaseFacet_DrawChildrenAlways
    #endif /* _DrawChildrenAlways */
#endif /* SOMGD_DrawChildrenAlways */

/*
 * New Method: DrawnIn
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_DrawnIn)(ODBaseFacet *somSelf, Environment *ev,
		ODShape* shape,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_DrawnIn "::ODBaseFacet::DrawnIn"
#define ODBaseFacet_DrawnIn(somSelf,ev,shape,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, DrawnIn) \
	(somSelf,ev,shape,biasCanvas))
#ifndef SOMGD_DrawnIn
    #if (defined(_DrawnIn) || defined(__DrawnIn))
        #undef _DrawnIn
        #undef __DrawnIn
        #define SOMGD_DrawnIn 1
    #else
        #define _DrawnIn ODBaseFacet_DrawnIn
    #endif /* _DrawnIn */
#endif /* SOMGD_DrawnIn */

/*
 * New Method: InvalidateActiveBorder
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_InvalidateActiveBorder)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_InvalidateActiveBorder "::ODBaseFacet::InvalidateActiveBorder"
#define ODBaseFacet_InvalidateActiveBorder(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, InvalidateActiveBorder) \
	(somSelf,ev))
#ifndef SOMGD_InvalidateActiveBorder
    #if (defined(_InvalidateActiveBorder) || defined(__InvalidateActiveBorder))
        #undef _InvalidateActiveBorder
        #undef __InvalidateActiveBorder
        #define SOMGD_InvalidateActiveBorder 1
    #else
        #define _InvalidateActiveBorder ODBaseFacet_InvalidateActiveBorder
    #endif /* _InvalidateActiveBorder */
#endif /* SOMGD_InvalidateActiveBorder */

/*
 * New Method: DrawActiveBorder
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_DrawActiveBorder)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_DrawActiveBorder "::ODBaseFacet::DrawActiveBorder"
#define ODBaseFacet_DrawActiveBorder(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, DrawActiveBorder) \
	(somSelf,ev))
#ifndef SOMGD_DrawActiveBorder
    #if (defined(_DrawActiveBorder) || defined(__DrawActiveBorder))
        #undef _DrawActiveBorder
        #undef __DrawActiveBorder
        #define SOMGD_DrawActiveBorder 1
    #else
        #define _DrawActiveBorder ODBaseFacet_DrawActiveBorder
    #endif /* _DrawActiveBorder */
#endif /* SOMGD_DrawActiveBorder */

/*
 * New Method: MouseEnter
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_MouseEnter)(ODBaseFacet *somSelf, Environment *ev,
		ODPoint* where,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_MouseEnter "::ODBaseFacet::MouseEnter"
#define ODBaseFacet_MouseEnter(somSelf,ev,where,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, MouseEnter) \
	(somSelf,ev,where,biasCanvas))
#ifndef SOMGD_MouseEnter
    #if (defined(_MouseEnter) || defined(__MouseEnter))
        #undef _MouseEnter
        #undef __MouseEnter
        #define SOMGD_MouseEnter 1
    #else
        #define _MouseEnter ODBaseFacet_MouseEnter
    #endif /* _MouseEnter */
#endif /* SOMGD_MouseEnter */

/*
 * New Method: MouseWithin
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_MouseWithin)(ODBaseFacet *somSelf, Environment *ev,
		ODPoint* where,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_MouseWithin "::ODBaseFacet::MouseWithin"
#define ODBaseFacet_MouseWithin(somSelf,ev,where,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, MouseWithin) \
	(somSelf,ev,where,biasCanvas))
#ifndef SOMGD_MouseWithin
    #if (defined(_MouseWithin) || defined(__MouseWithin))
        #undef _MouseWithin
        #undef __MouseWithin
        #define SOMGD_MouseWithin 1
    #else
        #define _MouseWithin ODBaseFacet_MouseWithin
    #endif /* _MouseWithin */
#endif /* SOMGD_MouseWithin */

/*
 * New Method: MouseLeave
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_MouseLeave)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_MouseLeave "::ODBaseFacet::MouseLeave"
#define ODBaseFacet_MouseLeave(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, MouseLeave) \
	(somSelf,ev))
#ifndef SOMGD_MouseLeave
    #if (defined(_MouseLeave) || defined(__MouseLeave))
        #undef _MouseLeave
        #undef __MouseLeave
        #define SOMGD_MouseLeave 1
    #else
        #define _MouseLeave ODBaseFacet_MouseLeave
    #endif /* _MouseLeave */
#endif /* SOMGD_MouseLeave */

/*
 * New Method: ContainsPoint
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseFacet_ContainsPoint)(ODBaseFacet *somSelf, Environment *ev,
		ODPoint* point,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_ContainsPoint "::ODBaseFacet::ContainsPoint"
#define ODBaseFacet_ContainsPoint(somSelf,ev,point,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, ContainsPoint) \
	(somSelf,ev,point,biasCanvas))
#ifndef SOMGD_ContainsPoint
    #if (defined(_ContainsPoint) || defined(__ContainsPoint))
        #undef _ContainsPoint
        #undef __ContainsPoint
        #define SOMGD_ContainsPoint 1
    #else
        #define _ContainsPoint ODBaseFacet_ContainsPoint
    #endif /* _ContainsPoint */
#endif /* SOMGD_ContainsPoint */

/*
 * New Method: ActiveBorderContainsPoint
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseFacet_ActiveBorderContainsPoint)(ODBaseFacet *somSelf, Environment *ev,
		ODPoint* point,
		ODCanvas* biasCanvas);
#define somMD_ODBaseFacet_ActiveBorderContainsPoint "::ODBaseFacet::ActiveBorderContainsPoint"
#define ODBaseFacet_ActiveBorderContainsPoint(somSelf,ev,point,biasCanvas) \
    (SOM_Resolve(somSelf, ODBaseFacet, ActiveBorderContainsPoint) \
	(somSelf,ev,point,biasCanvas))
#ifndef SOMGD_ActiveBorderContainsPoint
    #if (defined(_ActiveBorderContainsPoint) || defined(__ActiveBorderContainsPoint))
        #undef _ActiveBorderContainsPoint
        #undef __ActiveBorderContainsPoint
        #define SOMGD_ActiveBorderContainsPoint 1
    #else
        #define _ActiveBorderContainsPoint ODBaseFacet_ActiveBorderContainsPoint
    #endif /* _ActiveBorderContainsPoint */
#endif /* SOMGD_ActiveBorderContainsPoint */

/*
 * New Method: IsSelected
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseFacet_IsSelected)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_IsSelected "::ODBaseFacet::IsSelected"
#define ODBaseFacet_IsSelected(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, IsSelected) \
	(somSelf,ev))
#ifndef SOMGD_IsSelected
    #if (defined(_IsSelected) || defined(__IsSelected))
        #undef _IsSelected
        #undef __IsSelected
        #define SOMGD_IsSelected 1
    #else
        #define _IsSelected ODBaseFacet_IsSelected
    #endif /* _IsSelected */
#endif /* SOMGD_IsSelected */

/*
 * New Method: SetSelected
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_SetSelected)(ODBaseFacet *somSelf, Environment *ev,
		ODBoolean isSelected);
#define somMD_ODBaseFacet_SetSelected "::ODBaseFacet::SetSelected"
#define ODBaseFacet_SetSelected(somSelf,ev,isSelected) \
    (SOM_Resolve(somSelf, ODBaseFacet, SetSelected) \
	(somSelf,ev,isSelected))
#ifndef SOMGD_SetSelected
    #if (defined(_SetSelected) || defined(__SetSelected))
        #undef _SetSelected
        #undef __SetSelected
        #define SOMGD_SetSelected 1
    #else
        #define _SetSelected ODBaseFacet_SetSelected
    #endif /* _SetSelected */
#endif /* SOMGD_SetSelected */

/*
 * New Method: GetHighlight
 */
typedef ODHighlight   (SOMLINK * somTD_ODBaseFacet_GetHighlight)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_GetHighlight "::ODBaseFacet::GetHighlight"
#define ODBaseFacet_GetHighlight(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, GetHighlight) \
	(somSelf,ev))
#ifndef SOMGD_GetHighlight
    #if (defined(_GetHighlight) || defined(__GetHighlight))
        #undef _GetHighlight
        #undef __GetHighlight
        #define SOMGD_GetHighlight 1
    #else
        #define _GetHighlight ODBaseFacet_GetHighlight
    #endif /* _GetHighlight */
#endif /* SOMGD_GetHighlight */

/*
 * New Method: ChangeHighlight
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_ChangeHighlight)(ODBaseFacet *somSelf, Environment *ev,
		ODHighlight highlight);
#define somMD_ODBaseFacet_ChangeHighlight "::ODBaseFacet::ChangeHighlight"
#define ODBaseFacet_ChangeHighlight(somSelf,ev,highlight) \
    (SOM_Resolve(somSelf, ODBaseFacet, ChangeHighlight) \
	(somSelf,ev,highlight))
#ifndef SOMGD_ChangeHighlight
    #if (defined(_ChangeHighlight) || defined(__ChangeHighlight))
        #undef _ChangeHighlight
        #undef __ChangeHighlight
        #define SOMGD_ChangeHighlight 1
    #else
        #define _ChangeHighlight ODBaseFacet_ChangeHighlight
    #endif /* _ChangeHighlight */
#endif /* SOMGD_ChangeHighlight */

/*
 * New Method: InitBaseFacet
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_InitBaseFacet)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_InitBaseFacet "::ODBaseFacet::InitBaseFacet"
#define ODBaseFacet_InitBaseFacet(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, InitBaseFacet) \
	(somSelf,ev))
#ifndef SOMGD_InitBaseFacet
    #if (defined(_InitBaseFacet) || defined(__InitBaseFacet))
        #undef _InitBaseFacet
        #undef __InitBaseFacet
        #define SOMGD_InitBaseFacet 1
    #else
        #define _InitBaseFacet ODBaseFacet_InitBaseFacet
    #endif /* _InitBaseFacet */
#endif /* SOMGD_InitBaseFacet */

/*
 * New Method: InitChildBaseFacet
 */
typedef void   (SOMLINK * somTD_ODBaseFacet_InitChildBaseFacet)(ODBaseFacet *somSelf, Environment *ev);
#define somMD_ODBaseFacet_InitChildBaseFacet "::ODBaseFacet::InitChildBaseFacet"
#define ODBaseFacet_InitChildBaseFacet(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseFacet, InitChildBaseFacet) \
	(somSelf,ev))
#ifndef SOMGD_InitChildBaseFacet
    #if (defined(_InitChildBaseFacet) || defined(__InitChildBaseFacet))
        #undef _InitChildBaseFacet
        #undef __InitChildBaseFacet
        #define SOMGD_InitChildBaseFacet 1
    #else
        #define _InitChildBaseFacet ODBaseFacet_InitChildBaseFacet
    #endif /* _InitChildBaseFacet */
#endif /* SOMGD_InitChildBaseFacet */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ODBaseFacet_InitObject ODObject_InitObject
#define ODBaseFacet_IsInitialized ODObject_IsInitialized
#define ODBaseFacet_HasExtension ODObject_HasExtension
#define ODBaseFacet_GetExtension ODObject_GetExtension
#define ODBaseFacet_ReleaseExtension ODObject_ReleaseExtension
#define ODBaseFacet_Purge ODObject_Purge
#define ODBaseFacet_IsEqualTo ODObject_IsEqualTo
#define ODBaseFacet_SubClassResponsibility ODObject_SubClassResponsibility
#define ODBaseFacet_somDefaultInit SOMObject_somDefaultInit
#define ODBaseFacet_somDestruct SOMObject_somDestruct
#define ODBaseFacet_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ODBaseFacet_somDefaultAssign SOMObject_somDefaultAssign
#define ODBaseFacet_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ODBaseFacet_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ODBaseFacet_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ODBaseFacet_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ODBaseFacet_somDefaultVAssign SOMObject_somDefaultVAssign
#define ODBaseFacet_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ODBaseFacet_somFree SOMObject_somFree
#define ODBaseFacet_somGetClass SOMObject_somGetClass
#define ODBaseFacet_somGetClassName SOMObject_somGetClassName
#define ODBaseFacet_somGetSize SOMObject_somGetSize
#define ODBaseFacet_somIsA SOMObject_somIsA
#define ODBaseFacet_somIsInstanceOf SOMObject_somIsInstanceOf
#define ODBaseFacet_somRespondsTo SOMObject_somRespondsTo
#define ODBaseFacet_somDispatch SOMObject_somDispatch
#define ODBaseFacet_somClassDispatch SOMObject_somClassDispatch
#define ODBaseFacet_somCastObj SOMObject_somCastObj
#define ODBaseFacet_somResetObj SOMObject_somResetObj
#define ODBaseFacet_somDispatchV SOMObject_somDispatchV
#define ODBaseFacet_somDispatchL SOMObject_somDispatchL
#define ODBaseFacet_somDispatchA SOMObject_somDispatchA
#define ODBaseFacet_somDispatchD SOMObject_somDispatchD
#define ODBaseFacet_somPrintSelf SOMObject_somPrintSelf
#define ODBaseFacet_somDumpSelf SOMObject_somDumpSelf
#define ODBaseFacet_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ODBaseFacet_h */
