 
#ifndef view_DEFINED
#define view_DEFINED 1
 
#ifndef class_DEFINED
#include <class.h>
#endif /* class_DEFINED */
/* 
 * This file was generated by the Andrew class system preprocessor.
 * Don't make changes to this file as it is created from view.ch and will be
 * overwritten.  Make changes to view.ch instead.
 */ 
 
#ifndef class_StaticInfoOnly
/* 
 * The following information was copied, as-is, from view.ch.
 */ 
 
/* ********************************************************************** *\
 *         Copyright IBM Corporation 1988,1991 - All Rights Reserved      *
 *        For full copyright information see:'andrew/config/COPYRITE'     *
\* ********************************************************************** */

/*
	$Disclaimer: 
*Permission to use, copy, modify, and distribute this software and its 
*documentation for any purpose is hereby granted without fee, 
*provided that the above copyright notice appear in all copies and that 
*both that copyright notice, this permission notice, and the following 
*disclaimer appear in supporting documentation, and that the names of 
*IBM, Carnegie Mellon University, and other copyright holders, not be 
*used in advertising or publicity pertaining to distribution of the software 
*without specific, written prior permission.
*
*IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS 
*DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 
*ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT 
*SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER 
*BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 
*DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 
*WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 
*ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 
*OF THIS SOFTWARE.
* $
*/


 


#define view_VERSION 1

enum view_UpdateType  {
    view_FullRedraw,
    view_PartialRedraw,
    view_LastPartialRedraw,
    view_MoveNoRedraw,
    view_Remove
};

enum view_MouseAction  {
    view_NoMouseEvent,
    view_LeftDown,
    view_LeftUp,
    view_LeftMovement,
    view_RightDown,
    view_RightUp,
    view_RightMovement,
    /* File drop actions are only available for DRAGDROP_ENV */
    view_LeftFileDrop,
    view_MiddleFileDrop,
    view_RightFileDrop
};

enum view_DSpass {
    view_NoSet,
    view_WidthSet,
    view_HeightSet
};

enum view_DSattributes {
    view_Fixed= 0,
    view_WidthLarger = 1,
    view_WidthSmaller = 2,
    view_WidthFlexible = 3,
    view_HeightLarger = 4,
    view_HeightSmaller = 8,
    view_HeightFlexible= 12
};


#define view_NOMOVEMENT			    0
#define view_ATLEFT			    1
#define view_ATRIGHT			    2
#define view_BETWEENLEFTANDRIGHT	    4
#define view_ATTOP			  010
#define view_ATBOTTOM			  020
#define view_ATBASELINE			  040
#define view_BETWEENTOPANDBOTTOM	 0100
#define view_BETWEENTOPANDBASELINE	 0200

/* Error codes for the description procedure */
enum view_DescriberErrs {
    view_NoDescribeError,
    view_NoDescriptionAvailable,
    view_NoDescribeString,
    view_NoDescribeObject,
    view_WrongSubclassDescription
};

#include <graphic.ih>






/* 
 * End of information copied from view.ch.
 */ 
 
#endif /* class_StaticInfoOnly *//* 
 * Include the superclass information
 */ 
#define dontDefineRoutinesFor_observable
#include "observe.ih"
#undef dontDefineRoutinesFor_observable

 
 
#ifndef class_StaticInfoOnly
/* 
 * Data structure for view 
 */ 
struct view { 
    union {
	struct basicobject_methods *view_methods;
	struct traced traced;
	struct observable observable;
    } header;

    struct atomlist * name;
    struct atomlist * className;
    short  name_explicitly_set;
    struct im *imPtr;
    struct view *parent;
    struct dataobject *dataobject;
    struct graphic * drawable;

};

 
/* 
 * End of data structure for view.
 */ 
 

#endif /* class_StaticInfoOnly */

#ifndef class_StaticInfoOnly

#ifndef view_PROGRAMMERVERSION
#define view_PROGRAMMERVERSION 1
#endif /* view_PROGRAMMERVERSION */

#ifdef view_VERSION
#undef view_VERSION
#endif /* view_VERSION */
#define view_VERSION ((((view_PROGRAMMERVERSION << 16) ^ (59 << 8) ^ sizeof(struct view)) & 0x7ffff) + 0x80000 + (2 << 20))


#endif /* class_StaticInfoOnly */
#define view_StaticLoadOnlyThisClass()  \
{ extern struct classinfo *view__GetClassInfo(); \
 extern struct classheader *view_classheader_StaticExport; \
  (void) class_EnterInfo(NULL, view_classheader_StaticExport->name, view__GetClassInfo, NULL, view_classheader_StaticExport->namekey); } 
 
#define view_StaticLoad()  \
    { \
    observable_StaticLoad(); \
    view_StaticLoadOnlyThisClass();  \
    } 
 
#define view_StaticEntry  {view_StaticLoad()} 
 
#ifndef class_StaticInfoOnly
static struct classheader view_classheader = {
    view_VERSION,
    "view",
    "view",
    (struct basicobject_methods *) &class_RoutineStruct,
};

#define view_CLASSPROCEDURES (view_classheader.classprocedures)
int view_classref_;
#endif /* class_StaticInfoOnly */

#endif /* view_DEFINED */

#if !defined(view_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_view) && !defined(class_StaticEntriesOnly)
#define view_ROUTINESDEFINED

#define view_Reference(self) \
 (((&(self)->header.traced))->refcount++)
#define view_UnReference(self) \
 ((((&(self)->header.traced))->refcount>0)?((&(self)->header.traced))->refcount--:0)
#define view_ReferenceCount(self) \
 (((&(self)->header.traced))->refcount)
#define view_AddObserver(self,observer) \
    ((* ((void (*)())((self)->header.view_methods->routines[0]))) (self,observer))
#define view_IsObserver(self,observer) \
    ((* ((boolean (*)())((self)->header.view_methods->routines[1]))) (self,observer))
#define view_RemoveObserver(self,observer) \
    ((* ((void (*)())((self)->header.view_methods->routines[2]))) (self,observer))
#define view_NotifyObservers(self,value) \
    ((* ((void (*)())((self)->header.view_methods->routines[3]))) (self,value))
#define view_ObservedChanged(self,changed,value) \
    ((* ((void (*)())((self)->header.view_methods->routines[4]))) (self,changed,value))
#define view_AddRecipient(self,trigger,rcvr,func,rock) \
    ((* ((boolean (*)())((self)->header.view_methods->routines[5]))) (self,trigger,rcvr,func,rock))
#define view_DeleteRecipient(self,trigger,rcvr) \
    ((* ((void (*)())((self)->header.view_methods->routines[6]))) (self,trigger,rcvr))
#define view_PullTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.view_methods->routines[7]))) (self,trigger))
#define view_DisableTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.view_methods->routines[8]))) (self,trigger))
#define view_EnableTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.view_methods->routines[9]))) (self,trigger))
#define view_DisableCount(self,trigger) \
    ((* ((long (*)())((self)->header.view_methods->routines[10]))) (self,trigger))
#define view_SetName(self,name) \
    ((* ((void (*)())((self)->header.view_methods->routines[11]))) (self,name))
#define view_GetName(self) \
    ((* ((struct atomlist * (*)())((self)->header.view_methods->routines[12]))) (self))
#define view_GetClass(self) \
    ((* ((struct atomlist * (*)())((self)->header.view_methods->routines[13]))) (self))
#define view_GetParameter(self,name,type,datum) \
    ((* ((short (*)())((self)->header.view_methods->routines[14]))) (self,name,type,datum))
#define view_GetResource(self,name,class,type,datum) \
    ((* ((short (*)())((self)->header.view_methods->routines[15]))) (self,name,class,type,datum))
#define view_GetManyParameters(self,resources,name,class) \
    ((* ((void (*)())((self)->header.view_methods->routines[16]))) (self,resources,name,class))
#define view_PostResource(self,path,type,datum) \
    ((* ((void (*)())((self)->header.view_methods->routines[17]))) (self,path,type,datum))
#define view_InsertViewRegion(self,parent,region) \
    ((* ((void (*)())((self)->header.view_methods->routines[18]))) (self,parent,region))
#define view_InsertView(self,parent,enclosingRect) \
    ((* ((void (*)())((self)->header.view_methods->routines[19]))) (self,parent,enclosingRect))
#define view_InsertViewSize(self,EnclosingView,xOriginInParent,yOriginInParent,width,height) \
    ((* ((void (*)())((self)->header.view_methods->routines[20]))) (self,EnclosingView,xOriginInParent,yOriginInParent,width,height))
#define view_SetDataObject(self,dataobject) \
    ((* ((void (*)())((self)->header.view_methods->routines[21]))) (self,dataobject))
#define view_GetApplicationLayer(self) \
    ((* ((struct view * (*)())((self)->header.view_methods->routines[22]))) (self))
#define view_DeleteApplicationLayer(self,applicationLayer) \
    ((* ((void (*)())((self)->header.view_methods->routines[23]))) (self,applicationLayer))
#define view_DescriptionObject(self,format,rock) \
    ((* ((char * (*)())((self)->header.view_methods->routines[24]))) (self,format,rock))
#define view_Describe(self,format,file,rock) \
    ((* ((enum view_DescriberErrs (*)())((self)->header.view_methods->routines[25]))) (self,format,file,rock))
#define view_FullUpdate(self,type,left,top,width,right) \
    ((* ((void (*)())((self)->header.view_methods->routines[26]))) (self,type,left,top,width,right))
#define view_Update(self) \
    ((* ((void (*)())((self)->header.view_methods->routines[27]))) (self))
#define view_Print(self,file,processor,finalFormat,topLevel) \
    ((* ((void (*)())((self)->header.view_methods->routines[28]))) (self,file,processor,finalFormat,topLevel))
#define view_Hit(self,action,x,y,numberOfClicks) \
    ((* ((struct view * (*)())((self)->header.view_methods->routines[29]))) (self,action,x,y,numberOfClicks))
#define view_DesiredSize(self,width,height,pass,dWidth,dheight) \
    ((* ((enum view_DSattributes (*)())((self)->header.view_methods->routines[30]))) (self,width,height,pass,dWidth,dheight))
#define view_GetOrigin(self,width,height,originX,originY) \
    ((* ((void (*)())((self)->header.view_methods->routines[31]))) (self,width,height,originX,originY))
#define view_ReceiveInputFocus(self) \
    ((* ((void (*)())((self)->header.view_methods->routines[32]))) (self))
#define view_LoseInputFocus(self) \
    ((* ((void (*)())((self)->header.view_methods->routines[33]))) (self))
#define view_ReceiveColormap(self,cmap) \
    ((* ((void (*)())((self)->header.view_methods->routines[34]))) (self,cmap))
#define view_LoseColormap(self,cmap) \
    ((* ((void (*)())((self)->header.view_methods->routines[35]))) (self,cmap))
#define view_WantUpdate(self,requestor) \
    ((* ((void (*)())((self)->header.view_methods->routines[36]))) (self,requestor))
#define view_WantInputFocus(self,requestor) \
    ((* ((void (*)())((self)->header.view_methods->routines[37]))) (self,requestor))
#define view_WantColormap(self,requestor,cmap) \
    ((* ((void (*)())((self)->header.view_methods->routines[38]))) (self,requestor,cmap))
#define view_WantNewSize(self,requestor) \
    ((* ((void (*)())((self)->header.view_methods->routines[39]))) (self,requestor))
#define view_WantHandler(self,handlerName) \
    ((* ((struct basicobject * (*)())((self)->header.view_methods->routines[40]))) (self,handlerName))
#define view_WantInformation(self,key) \
    ((* ((char * (*)())((self)->header.view_methods->routines[41]))) (self,key))
#define view_PostKeyState(self,keystate) \
    ((* ((void (*)())((self)->header.view_methods->routines[42]))) (self,keystate))
#define view_PostMenus(self,menulist) \
    ((* ((void (*)())((self)->header.view_methods->routines[43]))) (self,menulist))
#define view_PostCursor(self,rec,cursor) \
    ((* ((void (*)())((self)->header.view_methods->routines[44]))) (self,rec,cursor))
#define view_RetractCursor(self,cursor) \
    ((* ((void (*)())((self)->header.view_methods->routines[45]))) (self,cursor))
#define view_RetractViewCursors(self,requestor) \
    ((* ((void (*)())((self)->header.view_methods->routines[46]))) (self,requestor))
#define view_PostDefaultHandler(self,handlerName,handler) \
    ((* ((void (*)())((self)->header.view_methods->routines[47]))) (self,handlerName,handler))
#define view_GetInterface(self,type) \
    ((* ((char * (*)())((self)->header.view_methods->routines[48]))) (self,type))
#define view_LinkTree(self,parent) \
    ((* ((void (*)())((self)->header.view_methods->routines[49]))) (self,parent))
#define view_UnlinkTree(self) \
    ((* ((void (*)())((self)->header.view_methods->routines[50]))) (self))
#define view_IsAncestor(self,possibleAncestor) \
    ((* ((boolean (*)())((self)->header.view_methods->routines[51]))) (self,possibleAncestor))
#define view_UnlinkNotification(self,unlinkedTree) \
    ((* ((void (*)())((self)->header.view_methods->routines[52]))) (self,unlinkedTree))
#define view_GetWindowManagerType(self) \
    ((* ((char * (*)())((self)->header.view_methods->routines[53]))) (self))
#define view_GetDevice(self) \
    ((* ((long (*)())((self)->header.view_methods->routines[54]))) (self))
#define view_InitChildren(self) \
    ((* ((void (*)())((self)->header.view_methods->routines[55]))) (self))
#define view_CanView(self,TypeName) \
    ((* ((boolean (*)())((self)->header.view_methods->routines[56]))) (self,TypeName))
#define view_LoseSelectionOwnership(self) \
    ((* ((void (*)())((self)->header.view_methods->routines[57]))) (self))
#define view_WriteSelection(self,out) \
    ((* ((long (*)())((self)->header.view_methods->routines[58]))) (self,out))
#define view_MoveToPt(self,Pt) \
 (graphic_MoveToPt(((self))->drawable,(Pt)))
#define view_MoveTo(self,NewX,NewY) \
 (graphic_MoveTo(((self))->drawable,(NewX),(NewY)))
#define view_Move(self,DeltaX,DeltaY) \
 (graphic_Move(((self))->drawable,(DeltaX),(DeltaY)))
#define view_GetLogicalBounds(self,Rect) \
 (graphic_GetLogicalBounds(((self))->drawable,(Rect)))
#define view_GetLogicalBoundsSize(self,x,y,width,height) \
 (graphic_GetLogicalBoundsSize(((self))->drawable,(x),(y),(width),(height)))
#define view_GetLogicalRight(self) \
 (graphic_GetLogicalRight(((self))->drawable))
#define view_GetLogicalBottom(self) \
 (graphic_GetLogicalBottom(((self))->drawable))
#define view_GetLogicalLeft(self) \
 (graphic_GetLogicalLeft(((self))->drawable))
#define view_GetLogicalHeight(self) \
 (graphic_GetLogicalHeight((((self))->drawable)))
#define view_GetLogicalWidth(self) \
 (graphic_GetLogicalWidth((((self))->drawable)))
#define view_GetLogicalTop(self) \
 (graphic_GetLogicalTop((((self))->drawable)))
#define view_SetVisualRegion(self,region) \
 (graphic_SetVisualRegion(((self))->drawable, (region)))
#define view_GetVisualRegion(self,region) \
 (graphic_GetVisualRegion(((self))->drawable, (region)))
#define view_GetVisualBounds(self,Rect) \
 (graphic_GetVisualBounds(((self))->drawable,(Rect)))
#define view_GetVisualBoundsSize(self,x,y,width,height) \
 (graphic_GetVisualBoundsSize(((self))->drawable,(x),(y),(width),(height)))
#define view_GetVisualRight(self) \
 (graphic_GetVisualRight(((self))->drawable))
#define view_GetVisualBottom(self) \
 (graphic_GetVisualBottom(((self))->drawable))
#define view_GetVisualWidth(self) \
 (graphic_GetVisualWidth((((self))->drawable)))
#define view_GetVisualHeight(self) \
 (graphic_GetVisualHeight((((self))->drawable)))
#define view_GetVisualLeft(self) \
 (graphic_GetVisualLeft((((self))->drawable)))
#define view_GetVisualTop(self) \
 (graphic_GetVisualTop((((self))->drawable)))
#define view_GetEnclosedBounds(self,Rect) \
 (graphic_GetEnclosedBounds(((self))->drawable, (Rect)))
#define view_GetEnclosedBoundsSize(self,x,y,width,height) \
 (graphic_GetEnclosedBoundsSize(((self))->drawable,(x),(y),(width),(height)))
#define view_GetEnclosedRight(self) \
 (graphic_GetEnclosedRight(((self))->drawable))
#define view_GetEnclosedBottom(self) \
 (graphic_GetEnclosedBottom(((self))->drawable))
#define view_GetEnclosedLeft(self) \
 (graphic_GetEnclosedLeft((((self))->drawable)))
#define view_GetEnclosedTop(self) \
 (graphic_GetEnclosedTop((((self))->drawable)))
#define view_GetEnclosedWidth(self) \
 (graphic_GetEnclosedWidth((((self))->drawable)))
#define view_GetEnclosedHeight(self) \
 (graphic_GetEnclosedHeight((((self))->drawable)))
#define view_GetCurrentPt(self,Pt) \
 (graphic_GetCurrentPt(((self))->drawable,(Pt)))
#define view_DrawLineToPt(self,LineEnd) \
 (graphic_DrawLineToPt(((self))->drawable,(LineEnd)))
#define view_DrawLineTo(self,XEnd,YEnd) \
 (graphic_DrawLineTo(((self))->drawable,(XEnd), (YEnd)))
#define view_DrawLine(self,DeltaX,DeltaY) \
 (graphic_DrawLine(((self))->drawable, (DeltaX), (DeltaY)))
#define view_DrawString(self,Text,Operation) \
 (graphic_DrawString(((self))->drawable, (Text), (Operation)))
#define view_DrawText(self,Text,TextLength,Operation) \
 (graphic_DrawText(((self))->drawable, (Text), (TextLength), (Operation)))
#define view_SetSpaceShim(self,Amount) \
 (graphic_SetSpaceShim(((self))->drawable,(Amount)))
#define view_GetSpaceShim(self) \
 (graphic_GetSpaceShim(((self))->drawable))
#define view_SetFont(self,ChosenFont) \
 (graphic_SetFont(((self))->drawable, (ChosenFont)))
#define view_GetFont(self) \
 (graphic_GetFont(((self))->drawable))
#define view_DrawRect(self,Rect) \
 (graphic_DrawRect(((self))->drawable,(Rect)))
#define view_DrawRectSize(self,x,y,width,height) \
 (graphic_DrawRectSize(((self))->drawable,(x),(y),(width),(height)))
#define view_DrawTrapezoid(self,topX,topY,topWidth,bottomX,bottomY,bottomWidth) \
 (graphic_DrawTrapezoid(((self))->drawable,(topX),(topY),(topWidth),(bottomX),(bottomY),(bottomWidth)))
#define view_DrawPolygon(self,PointArray,PointCount) \
 (graphic_DrawPolygon(((self))->drawable,(PointArray), (PointCount)))
#define view_DrawPath(self,PointArray,PointCount) \
 (graphic_DrawPath(((self))->drawable,(PointArray), (PointCount)))
#define view_DrawOval(self,Rect) \
 (graphic_DrawOval(((self))->drawable,(Rect)))
#define view_DrawOvalSize(self,x,y,width,height) \
 (graphic_DrawOvalSize(((self))->drawable, (x), (y), (width), (height)))
#define view_DrawArc(self,EnclRect,StartAngle,OffsetAngle) \
 (graphic_DrawArc(((self))->drawable,(EnclRect),(StartAngle),(OffsetAngle)))
#define view_DrawArcSize(self,x,y,width,height,StartAngle,OffsetAngle) \
 (graphic_DrawArcSize(((self))->drawable, (x), (y), (width), (height), (StartAngle), (OffsetAngle)))
#define view_DrawRRect(self,OuterBox,InnerBox) \
 (graphic_DrawRRect(((self))->drawable, (OuterBox), (InnerBox)))
#define view_DrawRRectSize(self,x,y,width,height,cornerWidth,cornerHeight) \
 (graphic_DrawRRectSize(((self))->drawable, (x), (y), (width), (height), (cornerWidth), (cornerHeight)))
#define view_DrawRgn(self,Rgn) \
 (graphic_DrawRgn(((self))->drawable,(Rgn)))
#define view_FillRect(self,Rect,Tile) \
 (graphic_FillRect(((self))->drawable, (Rect),(Tile)))
#define view_FillRectSize(self,x,y,width,height,Tile) \
 (graphic_FillRectSize(((self))->drawable, (x), (y), (width), (height), (Tile)))
#define view_FillTrapezoid(self,topX,topY,topWidth,bottomX,bottomY,bottomWidth,Tile) \
 (graphic_FillTrapezoid(((self))->drawable, (topX), (topY), (topWidth), (bottomX), (bottomY), (bottomWidth), (Tile)))
#define view_FillPolygon(self,PointArray,PointCount,Tile) \
 (graphic_FillPolygon(((self))->drawable, (PointArray), (PointCount), (Tile)))
#define view_FillOval(self,Rect,Tile) \
 (graphic_FillOval(((self))->drawable, (Rect), (Tile)))
#define view_FillOvalSize(self,x,y,width,height,Tile) \
 (graphic_FillOvalSize(((self))->drawable, (x), (y), (width), (height), (Tile)))
#define view_FillArc(self,EnclRect,StartAngle,OffsetAngle,Tile) \
 (graphic_FillArc(((self))->drawable, (EnclRect), (StartAngle), (OffsetAngle),(Tile)))
#define view_FillArcSize(self,x,y,width,height,StartAngle,OffsetAngle,Tile) \
 (graphic_FillArcSize(((self))->drawable, (x), (y), (width), (height), (StartAngle), (OffsetAngle), (Tile)))
#define view_FillRRect(self,OuterBox,InnerBox,Tile) \
 (graphic_FillRRect(((self))->drawable, (OuterBox), (InnerBox), (Tile)))
#define view_FillRRectSize(self,x,y,width,height,cornerWidth,cornerHeight,Tile) \
 (graphic_FillRRectSize(((self))->drawable, (x), (y), (width), (height), (cornerWidth), (cornerHeight), (Tile)))
#define view_FillRgn(self,Rgn,Tile) \
 (graphic_FillRgn(((self))->drawable, (Rgn), (Tile)))
#define view_EraseRect(self,Rect) \
 (graphic_EraseRect(((self))->drawable, (Rect)))
#define view_EraseRectSize(self,x,y,width,height) \
 (graphic_EraseRectSize(((self))->drawable, (x), (y), (width), (height)))
#define view_EraseVisualRect(self) \
 (graphic_EraseVisualRect(((self))->drawable))
#define view_BitBlt(self,SrcRect,DestView,DstOrigin,ClipRectList) \
 (graphic_BitBlt(((self))->drawable,(SrcRect), (((struct view *)(DestView))->drawable), (DstOrigin), (ClipRectList)))
#define view_BitBltSize(self,srcX,srcY,dstX,dstY,Width,Height,DstView,clipX,clipY,clipWidth,clipHeight) \
 (graphic_BitBltSize(((self))->drawable, (srcX), (srcY), (dstX), (dstY), (Width),(Height), (((struct view*)(DstView))->drawable), (clipX),(clipY), (clipWidth), (clipHeight)))
#define view_SetBitAtLoc(self,XPos,YPos,NewValue) \
 (graphic_SetBitAtLoc(((self))->drawable, (XPos), (YPos), (NewValue)))
#define view_MoveLogicalOrigin(self,DeltaX,DeltaY) \
 (graphic_MoveLogicalOrigin(((self))->drawable,(DeltaX), (DeltaY)))
#define view_SetLogicalOrigin(self,NewX,NewY) \
 (graphic_SetLogicalOrigin(((self))->drawable,(NewX), (NewY)))
#define view_SetLogicalOriginPt(self,Pt) \
 (graphic_SetLogicalOriginPt(((self))->drawable,(Pt)))
#define view_SetClippingRegion(self,region) \
 (graphic_SetClippingRegion(((self))->drawable, (region)))
#define view_GetClippingRegion(self,region) \
 (graphic_GetClippingRegion(((self))->drawable, (region)))
#define view_SetClippingRect(self,ClipRect) \
 (graphic_SetClippingRect(((self))->drawable,(ClipRect)))
#define view_SetClippingRectSize(self,x,y,width,height) \
 (graphic_SetClippingRectSize(((self))->drawable,(x),(y),(width),(height)))
#define view_ClearClippingRect(self) \
 (graphic_ClearClippingRect(((self))->drawable))
#define view_GetClippingRect(self,Rect) \
 (graphic_GetClippingRect(((self))->drawable,(Rect)))
#define view_SetLineWidth(self,NewLineWidth) \
 (graphic_SetLineWidth(((self))->drawable, (NewLineWidth)))
#define view_GetLineWidth(self) \
 (graphic_GetLineWidth(((self))->drawable))
#define view_SetLineDash(self,dashPattern,dashOffset,dashType) \
 (graphic_SetLineDash(((self))->drawable, (dashPattern), (dashOffset), (dashType)))
#define view_GetLineDash(self,dashPattern,dashOffset,dashType) \
 (graphic_GetLineDash(((self))->drawable, (dashPattern), (dashOffset), (dashType)))
#define view_SetLineCap(self,NewLineCap) \
 (graphic_SetLineCap(((self))->drawable, (NewLineCap)))
#define view_GetLineCap(self) \
 (graphic_GetLineCap(((self))->drawable))
#define view_SetLineJoin(self,NewLineJoin) \
 (graphic_SetLineJoin(((self))->drawable, (NewLineJoin)))
#define view_GetLineJoin(self) \
 (graphic_GetLineJoin(((self))->drawable))
#define view_SetTransferMode(self,NewTransferMode) \
 (graphic_SetTransferMode(((self))->drawable, (NewTransferMode)))
#define view_GetTransferMode(self) \
 (graphic_GetTransferMode(((self))->drawable))
#define view_FlushGraphics(self) \
 (graphic_FlushGraphics(((self))->drawable))
#define view_WhitePattern(self) \
 (graphic_WhitePattern(((self))->drawable))
#define view_BlackPattern(self) \
 (graphic_BlackPattern(((self))->drawable))
#define view_GrayPattern(self,IntensityNum,IntensityDenom) \
 (graphic_GrayPattern(((self))->drawable, (IntensityNum), (IntensityDenom)))
#define view_SetPatternOrigin(self,xpos,ypos) \
  (graphic_SetPatternOrigin(((self))->drawable, (xpos), (ypos)))
#define view_GetPatternOrigin(self,xpos,ypos) \
  (graphic_GetPatternOrigin(((self))->drawable, (xpos), (ypos)))
#define view_SetForegroundColor(self,colorName,red,green,blue) \
 (graphic_SetForegroundColor(((self))->drawable, (colorName), (red), (green), (blue)))
#define view_GetForegroundColor(self,name,retred,retgreen,retblue) \
     (graphic_GetForegroundColor(((self))->drawable, (name), (retred), (retgreen), (retblue)))
#define view_SetBackgroundColor(self,colorName,red,green,blue) \
 (graphic_SetBackgroundColor(((self))->drawable, (colorName), (red),(green),(blue)))
#define view_GetBackgroundColor(self,name,retred,retgreen,retblue) \
 (graphic_GetBackgroundColor(((self))->drawable, (name), (retred), (retgreen),(retblue)))
#define view_SetFGColor(self,red,green,blue) \
 (graphic_SetFGColor(((self))->drawable,(red),(green),(blue)))
#define view_GetFGColor(self,red,green,blue) \
 (graphic_GetFGColor(((self))->drawable,(red),(green),(blue)))
#define view_SetBGColor(self,red,green,blue) \
 (graphic_SetBGColor(((self))->drawable,(red),(green),(blue)))
#define view_GetBGColor(self,red,green,blue) \
 (graphic_GetBGColor(((self))->drawable,(red),(green),(blue)))
#define view_GetHorizontalResolution(self) \
 (graphic_GetHorizontalResolution(((self))->drawable))
#define view_GetVerticalResolution(self) \
 (graphic_GetVerticalResolution(((self))->drawable))
#define view_GetIM(self) \
 (((self))->imPtr)
#define view_GetDrawable(self) \
 (((self))->drawable)
#define view_GetColormap(self) \
 (graphic_GetColormap(((self))->drawable))
#define view_SetColormap(self,cmap) \
 (graphic_SetColormap(((self))->drawable, cmap))
#define view_GetInheritedColormap(self) \
 (graphic_GetInheritedColormap(((self))->drawable))
#define view_SetInheritedColormap(self,cmap) \
 (graphic_SetInheritedColormap(((self))->drawable, cmap))
#define view_ClearInheritedColormap(self) \
 (graphic_ClearInheritedColormap(((self))->drawable))
#define view_CurrentColormap(self) \
 (graphic_CurrentColormap(((self))->drawable))
#define view_EnclosedXToLocalX(self,xvalue) \
   ((xvalue)-graphic_GetEnclosedLeft(((self))->drawable)+graphic_GetLogicalLeft(((self))->drawable))
#define view_EnclosedYToLocalY(self,yvalue) \
    ((yvalue)-graphic_GetEnclosedTop(((self))->drawable)+graphic_GetLogicalTop(((self))->drawable))
#define view_GetDataObject(self) \
 (((self))->dataobject)
#define view_DisplayClass(self) \
 (graphic_DisplayClass(((self))->drawable ))
#define view_ClearColors(self) \
 (graphic_ClearColors(((self))->drawable))

#define view_NewFromObject(self) \
    ((* ((struct view * (*)())((self)->header.view_methods->info->procs->routines[0]))) (&view_classheader, (self)->header.view_methods->info->versionnumber))
#define view_New() \
    (*((struct view * (*)()) (view_CLASSPROCEDURES->routines[0])))(&view_classheader,view_VERSION)
#define view_Initialize(self) \
    (*((void (*)()) (view_CLASSPROCEDURES->routines[2])))(&view_classheader,self, view_VERSION)

#define view_Destroy(self) \
    ((* ((void (*)()) ((self)->header.view_methods->info->procs->routines[1]))) (&view_classheader, self))
#define view_Finalize(self) \
    (*((void (*)()) (view_CLASSPROCEDURES->routines[3])))(&view_classheader,self)

#define view_InitializeObject(self) \
    (*((boolean (*)()) (view_CLASSPROCEDURES->routines[5])))(&view_classheader,self)
#define view_FinalizeObject(self) \
    (*((void (*)()) (view_CLASSPROCEDURES->routines[6])))(&view_classheader,self)
#define view_InitializeClass() \
    (*((boolean (*)()) (view_CLASSPROCEDURES->routines[7])))(&view_classheader)


#endif /* !defined(view_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_view ) && !defined(class_StaticEntriesOnly)*/

