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

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


#ifndef SOM_ODBaseCanvas_h
#define SOM_ODBaseCanvas_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 ODBaseCanvasClassData (*resolve_ODBaseCanvasClassData())
#define ODBaseCanvasCClassData (*resolve_ODBaseCanvasCClassData())

/*
 * Define the class name as an object type
 */
#ifndef ODBaseCanvas
#define ODBaseCanvas 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 ODBaseCanvas
    #define ODBaseCanvas SOMObject
#endif /* ODBaseCanvas */
#ifndef ODPart
    #define ODPart SOMObject
#endif /* ODPart */
#ifndef ODFacet
    #define ODFacet SOMObject
#endif /* ODFacet */
#ifndef ODShape
    #define ODShape SOMObject
#endif /* ODShape */
#ifndef ODTransform
    #define ODTransform SOMObject
#endif /* ODTransform */

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

#define ODBaseCanvas_MajorVersion 1
#define ODBaseCanvas_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define ODBaseCanvasNewClass c
#define ODBaseCanvasClassData d
#define ODBaseCanvasCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define ODBaseCanvas_classObj ODBaseCanvasClassData.classObject
#define _ODBaseCanvas ODBaseCanvas_classObj

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

/*
 * Declare the class data structure
 */
SOMEXTERN struct ODBaseCanvasClassDataStructure {
	SOMClass *classObject;
	somMToken HasPlatformCanvas;
	somMToken GetPlatformCanvas;
	somMToken ReleasePlatformCanvas;
	somMToken HasPlatformPrintJob;
	somMToken GetPlatformPrintJob;
	somMToken SetPlatformPrintJob;
	somMToken GetOwner;
	somMToken SetOwner;
	somMToken GetFacet;
	somMToken SetFacet;
	somMToken IsDynamic;
	somMToken IsOffscreen;
	somMToken GetUpdateShape;
	somMToken ResetUpdateShape;
	somMToken GetBiasTransform;
	somMToken SetBiasTransform;
	somMToken Invalidate;
	somMToken Validate;
	somMToken CheckUpdateShape;
	somMToken IncrementCanvasRef;
	somMToken DecrementCanvasRef;
	somMToken GetCanvasRef;
	somMToken InitBaseCanvas;
}  _ODBaseCanvasClassData;
SOMEXTERN struct ODBaseCanvasClassDataStructure * SOMLINK resolve_ODBaseCanvasClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct ODBaseCanvasCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _ODBaseCanvasCClassData;
SOMEXTERN struct ODBaseCanvasCClassDataStructure * SOMLINK resolve_ODBaseCanvasCClassData(void);

/*
 * New and Renew macros for ODBaseCanvas
 */
#define ODBaseCanvasNew() \
   (_somNew(_ODBaseCanvas ? _ODBaseCanvas : ODBaseCanvasNewClass(ODBaseCanvas_MajorVersion, ODBaseCanvas_MinorVersion)))
#define ODBaseCanvasRenew(buf) \
   (_somRenew(_ODBaseCanvas ? _ODBaseCanvas : ODBaseCanvasNewClass(ODBaseCanvas_MajorVersion, ODBaseCanvas_MinorVersion), buf))

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

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

/*
 * New Method: HasPlatformCanvas
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseCanvas_HasPlatformCanvas)(ODBaseCanvas *somSelf, Environment *ev,
		ODGraphicsSystem g);
#define somMD_ODBaseCanvas_HasPlatformCanvas "::ODBaseCanvas::HasPlatformCanvas"
#define ODBaseCanvas_HasPlatformCanvas(somSelf,ev,g) \
    (SOM_Resolve(somSelf, ODBaseCanvas, HasPlatformCanvas) \
	(somSelf,ev,g))
#ifndef SOMGD_HasPlatformCanvas
    #if (defined(_HasPlatformCanvas) || defined(__HasPlatformCanvas))
        #undef _HasPlatformCanvas
        #undef __HasPlatformCanvas
        #define SOMGD_HasPlatformCanvas 1
    #else
        #define _HasPlatformCanvas ODBaseCanvas_HasPlatformCanvas
    #endif /* _HasPlatformCanvas */
#endif /* SOMGD_HasPlatformCanvas */

/*
 * New Method: GetPlatformCanvas
 */
typedef ODPlatformCanvas   (SOMLINK * somTD_ODBaseCanvas_GetPlatformCanvas)(ODBaseCanvas *somSelf, Environment *ev,
		ODGraphicsSystem g);
#define somMD_ODBaseCanvas_GetPlatformCanvas "::ODBaseCanvas::GetPlatformCanvas"
#define ODBaseCanvas_GetPlatformCanvas(somSelf,ev,g) \
    (SOM_Resolve(somSelf, ODBaseCanvas, GetPlatformCanvas) \
	(somSelf,ev,g))
#ifndef SOMGD_GetPlatformCanvas
    #if (defined(_GetPlatformCanvas) || defined(__GetPlatformCanvas))
        #undef _GetPlatformCanvas
        #undef __GetPlatformCanvas
        #define SOMGD_GetPlatformCanvas 1
    #else
        #define _GetPlatformCanvas ODBaseCanvas_GetPlatformCanvas
    #endif /* _GetPlatformCanvas */
#endif /* SOMGD_GetPlatformCanvas */

/*
 * New Method: ReleasePlatformCanvas
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_ReleasePlatformCanvas)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_ReleasePlatformCanvas "::ODBaseCanvas::ReleasePlatformCanvas"
#define ODBaseCanvas_ReleasePlatformCanvas(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, ReleasePlatformCanvas) \
	(somSelf,ev))
#ifndef SOMGD_ReleasePlatformCanvas
    #if (defined(_ReleasePlatformCanvas) || defined(__ReleasePlatformCanvas))
        #undef _ReleasePlatformCanvas
        #undef __ReleasePlatformCanvas
        #define SOMGD_ReleasePlatformCanvas 1
    #else
        #define _ReleasePlatformCanvas ODBaseCanvas_ReleasePlatformCanvas
    #endif /* _ReleasePlatformCanvas */
#endif /* SOMGD_ReleasePlatformCanvas */

/*
 * New Method: HasPlatformPrintJob
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseCanvas_HasPlatformPrintJob)(ODBaseCanvas *somSelf, Environment *ev,
		ODGraphicsSystem g);
#define somMD_ODBaseCanvas_HasPlatformPrintJob "::ODBaseCanvas::HasPlatformPrintJob"
#define ODBaseCanvas_HasPlatformPrintJob(somSelf,ev,g) \
    (SOM_Resolve(somSelf, ODBaseCanvas, HasPlatformPrintJob) \
	(somSelf,ev,g))
#ifndef SOMGD_HasPlatformPrintJob
    #if (defined(_HasPlatformPrintJob) || defined(__HasPlatformPrintJob))
        #undef _HasPlatformPrintJob
        #undef __HasPlatformPrintJob
        #define SOMGD_HasPlatformPrintJob 1
    #else
        #define _HasPlatformPrintJob ODBaseCanvas_HasPlatformPrintJob
    #endif /* _HasPlatformPrintJob */
#endif /* SOMGD_HasPlatformPrintJob */

/*
 * New Method: GetPlatformPrintJob
 */
typedef ODPlatformCanvas   (SOMLINK * somTD_ODBaseCanvas_GetPlatformPrintJob)(ODBaseCanvas *somSelf, Environment *ev,
		ODGraphicsSystem g);
#define somMD_ODBaseCanvas_GetPlatformPrintJob "::ODBaseCanvas::GetPlatformPrintJob"
#define ODBaseCanvas_GetPlatformPrintJob(somSelf,ev,g) \
    (SOM_Resolve(somSelf, ODBaseCanvas, GetPlatformPrintJob) \
	(somSelf,ev,g))
#ifndef SOMGD_GetPlatformPrintJob
    #if (defined(_GetPlatformPrintJob) || defined(__GetPlatformPrintJob))
        #undef _GetPlatformPrintJob
        #undef __GetPlatformPrintJob
        #define SOMGD_GetPlatformPrintJob 1
    #else
        #define _GetPlatformPrintJob ODBaseCanvas_GetPlatformPrintJob
    #endif /* _GetPlatformPrintJob */
#endif /* SOMGD_GetPlatformPrintJob */

/*
 * New Method: SetPlatformPrintJob
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_SetPlatformPrintJob)(ODBaseCanvas *somSelf, Environment *ev,
		ODGraphicsSystem g,
		ODPlatformCanvas j);
#define somMD_ODBaseCanvas_SetPlatformPrintJob "::ODBaseCanvas::SetPlatformPrintJob"
#define ODBaseCanvas_SetPlatformPrintJob(somSelf,ev,g,j) \
    (SOM_Resolve(somSelf, ODBaseCanvas, SetPlatformPrintJob) \
	(somSelf,ev,g,j))
#ifndef SOMGD_SetPlatformPrintJob
    #if (defined(_SetPlatformPrintJob) || defined(__SetPlatformPrintJob))
        #undef _SetPlatformPrintJob
        #undef __SetPlatformPrintJob
        #define SOMGD_SetPlatformPrintJob 1
    #else
        #define _SetPlatformPrintJob ODBaseCanvas_SetPlatformPrintJob
    #endif /* _SetPlatformPrintJob */
#endif /* SOMGD_SetPlatformPrintJob */

/*
 * New Method: GetOwner
 */
typedef ODPart*   (SOMLINK * somTD_ODBaseCanvas_GetOwner)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_GetOwner "::ODBaseCanvas::GetOwner"
#define ODBaseCanvas_GetOwner(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, GetOwner) \
	(somSelf,ev))
#ifndef SOMGD_GetOwner
    #if (defined(_GetOwner) || defined(__GetOwner))
        #undef _GetOwner
        #undef __GetOwner
        #define SOMGD_GetOwner 1
    #else
        #define _GetOwner ODBaseCanvas_GetOwner
    #endif /* _GetOwner */
#endif /* SOMGD_GetOwner */

/*
 * New Method: SetOwner
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_SetOwner)(ODBaseCanvas *somSelf, Environment *ev,
		ODPart* owner);
#define somMD_ODBaseCanvas_SetOwner "::ODBaseCanvas::SetOwner"
#define ODBaseCanvas_SetOwner(somSelf,ev,owner) \
    (SOM_Resolve(somSelf, ODBaseCanvas, SetOwner) \
	(somSelf,ev,owner))
#ifndef SOMGD_SetOwner
    #if (defined(_SetOwner) || defined(__SetOwner))
        #undef _SetOwner
        #undef __SetOwner
        #define SOMGD_SetOwner 1
    #else
        #define _SetOwner ODBaseCanvas_SetOwner
    #endif /* _SetOwner */
#endif /* SOMGD_SetOwner */

/*
 * New Method: GetFacet
 */
typedef ODFacet*   (SOMLINK * somTD_ODBaseCanvas_GetFacet)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_GetFacet "::ODBaseCanvas::GetFacet"
#define ODBaseCanvas_GetFacet(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, GetFacet) \
	(somSelf,ev))
#ifndef SOMGD_GetFacet
    #if (defined(_GetFacet) || defined(__GetFacet))
        #undef _GetFacet
        #undef __GetFacet
        #define SOMGD_GetFacet 1
    #else
        #define _GetFacet ODBaseCanvas_GetFacet
    #endif /* _GetFacet */
#endif /* SOMGD_GetFacet */

/*
 * New Method: SetFacet
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_SetFacet)(ODBaseCanvas *somSelf, Environment *ev,
		ODFacet* facet);
#define somMD_ODBaseCanvas_SetFacet "::ODBaseCanvas::SetFacet"
#define ODBaseCanvas_SetFacet(somSelf,ev,facet) \
    (SOM_Resolve(somSelf, ODBaseCanvas, SetFacet) \
	(somSelf,ev,facet))
#ifndef SOMGD_SetFacet
    #if (defined(_SetFacet) || defined(__SetFacet))
        #undef _SetFacet
        #undef __SetFacet
        #define SOMGD_SetFacet 1
    #else
        #define _SetFacet ODBaseCanvas_SetFacet
    #endif /* _SetFacet */
#endif /* SOMGD_SetFacet */

/*
 * New Method: GetBiasTransform
 */
typedef ODTransform*   (SOMLINK * somTD_ODBaseCanvas_GetBiasTransform)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_GetBiasTransform "::ODBaseCanvas::GetBiasTransform"
#define ODBaseCanvas_GetBiasTransform(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, GetBiasTransform) \
	(somSelf,ev))
#ifndef SOMGD_GetBiasTransform
    #if (defined(_GetBiasTransform) || defined(__GetBiasTransform))
        #undef _GetBiasTransform
        #undef __GetBiasTransform
        #define SOMGD_GetBiasTransform 1
    #else
        #define _GetBiasTransform ODBaseCanvas_GetBiasTransform
    #endif /* _GetBiasTransform */
#endif /* SOMGD_GetBiasTransform */

/*
 * New Method: SetBiasTransform
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_SetBiasTransform)(ODBaseCanvas *somSelf, Environment *ev,
		ODTransform* x);
#define somMD_ODBaseCanvas_SetBiasTransform "::ODBaseCanvas::SetBiasTransform"
#define ODBaseCanvas_SetBiasTransform(somSelf,ev,x) \
    (SOM_Resolve(somSelf, ODBaseCanvas, SetBiasTransform) \
	(somSelf,ev,x))
#ifndef SOMGD_SetBiasTransform
    #if (defined(_SetBiasTransform) || defined(__SetBiasTransform))
        #undef _SetBiasTransform
        #undef __SetBiasTransform
        #define SOMGD_SetBiasTransform 1
    #else
        #define _SetBiasTransform ODBaseCanvas_SetBiasTransform
    #endif /* _SetBiasTransform */
#endif /* SOMGD_SetBiasTransform */

/*
 * New Method: IsDynamic
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseCanvas_IsDynamic)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_IsDynamic "::ODBaseCanvas::IsDynamic"
#define ODBaseCanvas_IsDynamic(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, IsDynamic) \
	(somSelf,ev))
#ifndef SOMGD_IsDynamic
    #if (defined(_IsDynamic) || defined(__IsDynamic))
        #undef _IsDynamic
        #undef __IsDynamic
        #define SOMGD_IsDynamic 1
    #else
        #define _IsDynamic ODBaseCanvas_IsDynamic
    #endif /* _IsDynamic */
#endif /* SOMGD_IsDynamic */

/*
 * New Method: IsOffscreen
 */
typedef ODBoolean   (SOMLINK * somTD_ODBaseCanvas_IsOffscreen)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_IsOffscreen "::ODBaseCanvas::IsOffscreen"
#define ODBaseCanvas_IsOffscreen(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, IsOffscreen) \
	(somSelf,ev))
#ifndef SOMGD_IsOffscreen
    #if (defined(_IsOffscreen) || defined(__IsOffscreen))
        #undef _IsOffscreen
        #undef __IsOffscreen
        #define SOMGD_IsOffscreen 1
    #else
        #define _IsOffscreen ODBaseCanvas_IsOffscreen
    #endif /* _IsOffscreen */
#endif /* SOMGD_IsOffscreen */

/*
 * New Method: IncrementCanvasRef
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_IncrementCanvasRef)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_IncrementCanvasRef "::ODBaseCanvas::IncrementCanvasRef"
#define ODBaseCanvas_IncrementCanvasRef(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, IncrementCanvasRef) \
	(somSelf,ev))
#ifndef SOMGD_IncrementCanvasRef
    #if (defined(_IncrementCanvasRef) || defined(__IncrementCanvasRef))
        #undef _IncrementCanvasRef
        #undef __IncrementCanvasRef
        #define SOMGD_IncrementCanvasRef 1
    #else
        #define _IncrementCanvasRef ODBaseCanvas_IncrementCanvasRef
    #endif /* _IncrementCanvasRef */
#endif /* SOMGD_IncrementCanvasRef */

/*
 * New Method: DecrementCanvasRef
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_DecrementCanvasRef)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_DecrementCanvasRef "::ODBaseCanvas::DecrementCanvasRef"
#define ODBaseCanvas_DecrementCanvasRef(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, DecrementCanvasRef) \
	(somSelf,ev))
#ifndef SOMGD_DecrementCanvasRef
    #if (defined(_DecrementCanvasRef) || defined(__DecrementCanvasRef))
        #undef _DecrementCanvasRef
        #undef __DecrementCanvasRef
        #define SOMGD_DecrementCanvasRef 1
    #else
        #define _DecrementCanvasRef ODBaseCanvas_DecrementCanvasRef
    #endif /* _DecrementCanvasRef */
#endif /* SOMGD_DecrementCanvasRef */

/*
 * New Method: GetCanvasRef
 */
typedef ODSLong   (SOMLINK * somTD_ODBaseCanvas_GetCanvasRef)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_GetCanvasRef "::ODBaseCanvas::GetCanvasRef"
#define ODBaseCanvas_GetCanvasRef(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, GetCanvasRef) \
	(somSelf,ev))
#ifndef SOMGD_GetCanvasRef
    #if (defined(_GetCanvasRef) || defined(__GetCanvasRef))
        #undef _GetCanvasRef
        #undef __GetCanvasRef
        #define SOMGD_GetCanvasRef 1
    #else
        #define _GetCanvasRef ODBaseCanvas_GetCanvasRef
    #endif /* _GetCanvasRef */
#endif /* SOMGD_GetCanvasRef */

/*
 * New Method: GetUpdateShape
 */
typedef ODShape*   (SOMLINK * somTD_ODBaseCanvas_GetUpdateShape)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_GetUpdateShape "::ODBaseCanvas::GetUpdateShape"
#define ODBaseCanvas_GetUpdateShape(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, GetUpdateShape) \
	(somSelf,ev))
#ifndef SOMGD_GetUpdateShape
    #if (defined(_GetUpdateShape) || defined(__GetUpdateShape))
        #undef _GetUpdateShape
        #undef __GetUpdateShape
        #define SOMGD_GetUpdateShape 1
    #else
        #define _GetUpdateShape ODBaseCanvas_GetUpdateShape
    #endif /* _GetUpdateShape */
#endif /* SOMGD_GetUpdateShape */

/*
 * New Method: ResetUpdateShape
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_ResetUpdateShape)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_ResetUpdateShape "::ODBaseCanvas::ResetUpdateShape"
#define ODBaseCanvas_ResetUpdateShape(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, ResetUpdateShape) \
	(somSelf,ev))
#ifndef SOMGD_ResetUpdateShape
    #if (defined(_ResetUpdateShape) || defined(__ResetUpdateShape))
        #undef _ResetUpdateShape
        #undef __ResetUpdateShape
        #define SOMGD_ResetUpdateShape 1
    #else
        #define _ResetUpdateShape ODBaseCanvas_ResetUpdateShape
    #endif /* _ResetUpdateShape */
#endif /* SOMGD_ResetUpdateShape */

/*
 * New Method: CheckUpdateShape
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_CheckUpdateShape)(ODBaseCanvas *somSelf, Environment *ev);
#define somMD_ODBaseCanvas_CheckUpdateShape "::ODBaseCanvas::CheckUpdateShape"
#define ODBaseCanvas_CheckUpdateShape(somSelf,ev) \
    (SOM_Resolve(somSelf, ODBaseCanvas, CheckUpdateShape) \
	(somSelf,ev))
#ifndef SOMGD_CheckUpdateShape
    #if (defined(_CheckUpdateShape) || defined(__CheckUpdateShape))
        #undef _CheckUpdateShape
        #undef __CheckUpdateShape
        #define SOMGD_CheckUpdateShape 1
    #else
        #define _CheckUpdateShape ODBaseCanvas_CheckUpdateShape
    #endif /* _CheckUpdateShape */
#endif /* SOMGD_CheckUpdateShape */

/*
 * New Method: Invalidate
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_Invalidate)(ODBaseCanvas *somSelf, Environment *ev,
		ODShape* shape);
#define somMD_ODBaseCanvas_Invalidate "::ODBaseCanvas::Invalidate"
#define ODBaseCanvas_Invalidate(somSelf,ev,shape) \
    (SOM_Resolve(somSelf, ODBaseCanvas, Invalidate) \
	(somSelf,ev,shape))
#ifndef SOMGD_Invalidate
    #if (defined(_Invalidate) || defined(__Invalidate))
        #undef _Invalidate
        #undef __Invalidate
        #define SOMGD_Invalidate 1
    #else
        #define _Invalidate ODBaseCanvas_Invalidate
    #endif /* _Invalidate */
#endif /* SOMGD_Invalidate */

/*
 * New Method: Validate
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_Validate)(ODBaseCanvas *somSelf, Environment *ev,
		ODShape* shape);
#define somMD_ODBaseCanvas_Validate "::ODBaseCanvas::Validate"
#define ODBaseCanvas_Validate(somSelf,ev,shape) \
    (SOM_Resolve(somSelf, ODBaseCanvas, Validate) \
	(somSelf,ev,shape))
#ifndef SOMGD_Validate
    #if (defined(_Validate) || defined(__Validate))
        #undef _Validate
        #undef __Validate
        #define SOMGD_Validate 1
    #else
        #define _Validate ODBaseCanvas_Validate
    #endif /* _Validate */
#endif /* SOMGD_Validate */

/*
 * New Method: InitBaseCanvas
 */
typedef void   (SOMLINK * somTD_ODBaseCanvas_InitBaseCanvas)(ODBaseCanvas *somSelf, Environment *ev,
		ODBoolean isDynamic,
		ODBoolean isOffscreen);
#define somMD_ODBaseCanvas_InitBaseCanvas "::ODBaseCanvas::InitBaseCanvas"
#define ODBaseCanvas_InitBaseCanvas(somSelf,ev,isDynamic,isOffscreen) \
    (SOM_Resolve(somSelf, ODBaseCanvas, InitBaseCanvas) \
	(somSelf,ev,isDynamic,isOffscreen))
#ifndef SOMGD_InitBaseCanvas
    #if (defined(_InitBaseCanvas) || defined(__InitBaseCanvas))
        #undef _InitBaseCanvas
        #undef __InitBaseCanvas
        #define SOMGD_InitBaseCanvas 1
    #else
        #define _InitBaseCanvas ODBaseCanvas_InitBaseCanvas
    #endif /* _InitBaseCanvas */
#endif /* SOMGD_InitBaseCanvas */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ODBaseCanvas_InitObject ODObject_InitObject
#define ODBaseCanvas_IsInitialized ODObject_IsInitialized
#define ODBaseCanvas_HasExtension ODObject_HasExtension
#define ODBaseCanvas_GetExtension ODObject_GetExtension
#define ODBaseCanvas_ReleaseExtension ODObject_ReleaseExtension
#define ODBaseCanvas_Purge ODObject_Purge
#define ODBaseCanvas_IsEqualTo ODObject_IsEqualTo
#define ODBaseCanvas_SubClassResponsibility ODObject_SubClassResponsibility
#define ODBaseCanvas_somDefaultInit SOMObject_somDefaultInit
#define ODBaseCanvas_somDestruct SOMObject_somDestruct
#define ODBaseCanvas_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ODBaseCanvas_somDefaultAssign SOMObject_somDefaultAssign
#define ODBaseCanvas_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ODBaseCanvas_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ODBaseCanvas_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ODBaseCanvas_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ODBaseCanvas_somDefaultVAssign SOMObject_somDefaultVAssign
#define ODBaseCanvas_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ODBaseCanvas_somFree SOMObject_somFree
#define ODBaseCanvas_somGetClass SOMObject_somGetClass
#define ODBaseCanvas_somGetClassName SOMObject_somGetClassName
#define ODBaseCanvas_somGetSize SOMObject_somGetSize
#define ODBaseCanvas_somIsA SOMObject_somIsA
#define ODBaseCanvas_somIsInstanceOf SOMObject_somIsInstanceOf
#define ODBaseCanvas_somRespondsTo SOMObject_somRespondsTo
#define ODBaseCanvas_somDispatch SOMObject_somDispatch
#define ODBaseCanvas_somClassDispatch SOMObject_somClassDispatch
#define ODBaseCanvas_somCastObj SOMObject_somCastObj
#define ODBaseCanvas_somResetObj SOMObject_somResetObj
#define ODBaseCanvas_somDispatchV SOMObject_somDispatchV
#define ODBaseCanvas_somDispatchL SOMObject_somDispatchL
#define ODBaseCanvas_somDispatchA SOMObject_somDispatchA
#define ODBaseCanvas_somDispatchD SOMObject_somDispatchD
#define ODBaseCanvas_somPrintSelf SOMObject_somPrintSelf
#define ODBaseCanvas_somDumpSelf SOMObject_somDumpSelf
#define ODBaseCanvas_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ODBaseCanvas_h */
