 
#ifndef captions_DEFINED
#define captions_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 captions.ch and will be
 * overwritten.  Make changes to captions.ch instead.
 */ 
 
#ifndef class_StaticInfoOnly
/* 
 * The following information was copied, as-is, from captions.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.
* $
*/


 

/* Definitions of the icons as characters */

#define ICON_MAIL 'c'
#define ICON_READMAIL 'f'
#define ICON_DUP 'e'

#define ICON_MARK 'j'
#define ICON_FOLDER 'r'

#define ICON_SEE 'g' /* Not currently used */
#define ICON_HELP 'h'
#define ICON_DELMAIL 'o'
#define ICON_POST 't'
#define ICON_DELPOST 'i'

#define ICON_READPOST 'n'
#define ICON_READDELMAIL 's'
#define ICON_READDELPOST 'b'

#define ICON_SUB_NONE 'B'
#define ICON_SUB_NORM 'C'
#define ICON_SUB_PRINT 'D'
#define ICON_SUB_ASK 'E'
#define ICON_SUB_ALL 'F'

/* Definitions of the icons as strings */

#define SICON_MAIL "c"
#define SICON_READMAIL "f"
#define SICON_DUP "e"

#define SICON_MARK "j"
#define SICON_FOLDER "r"

#define SICON_SEE "g" /* Not currently used */
#define SICON_HELP "h"
#define SICON_DELMAIL "o"
#define SICON_POST "t"
#define SICON_DELPOST "i"

#define SICON_READPOST "n"
#define SICON_READDELMAIL "s"
#define SICON_READDELPOST "b"

#define SICON_SUB_NONE "B"
#define SICON_SUB_NORM "C"
#define SICON_SUB_PRINT "D"
#define SICON_SUB_ASK "E"
#define SICON_SUB_ALL "F"

/* Constants used for the "ActOnMarked" procedures */

#define MARKACTION_DELETE 1
#define MARKACTION_UNDELETE 2
#define MARKACTION_CLASSIFYBYNAME 3
#define MARKACTION_PRINT 4
#define MARKACTION_APPENDBYNAME 5
#define MARKACTION_RESEND 6
#define MARKACTION_RESTORE 7
#define MARKACTION_EXCERPT 8
#define MARKACTION_REPLYSENDERS 9
#define MARKACTION_REPLYALL 10
#define MARKACTION_COPYBYNAME 11
#define MARKACTION_APPENDTOFILE 12
#define MARKACTION_APPENDTOFILERAW 13

struct CaptionCache {
    int offset, cuid;
    struct environment *env, *iconenv;
    char Date[AMS_DATESIZE];
    char Attributes[AMS_ATTRIBUTESIZE];
    long Chain;
    int IsMarked:1;
    int MayModify:1;
    int IsDup: 1;
};






/* 
 * End of information copied from captions.ch.
 */ 
 
#endif /* class_StaticInfoOnly *//* 
 * Include the superclass information
 */ 
#define dontDefineRoutinesFor_messages
#include "messages.ih"
#undef dontDefineRoutinesFor_messages

 
 
#ifndef class_StaticInfoOnly
/* 
 * Data structure for captions 
 */ 
struct captions { 
    union {
	struct basicobject_methods *captions_methods;
	struct traced traced;
	struct observable observable;
	struct view view;
	struct textview textview;
	struct messages messages;
    } header;
    struct t822view *BodView;
    int VisibleCUID;
    char VisibleSnapshot[AMS_SNAPSHOTSIZE];
    int HighlightStartPos;
    int HighlightLen;
    int StartOfRealBody;
    struct environment *HighlightEnv;
    struct environment *SouthPoint;
    int CurrentFormatting;
    int FolderSize, FetchedFromStart, FetchedFromEnd;
    int MarkCount;
    struct text *CaptText; 
    char *CommentText;
    int IsFullMail:1;
    struct style *ActiveCaptionStyle; /* Bold */
    struct style *NormalCaptionStyle; /* Indented */
    struct style *HighlightStyle; /* Italicize */
    struct style *GlobalCapStyle; /* for the captions doc */
    struct style *DeletedStyle; /* for deleted messages */
    struct style *ActiveDeletedStyle; /* active/deleted combination */
    struct style *IconicStyle; /* for icons from messages10 */
    struct style *UnderlinedIconicStyle; /* ditto, but underlined */
    struct style *MailStyle; /* Bigger, better? */
    struct style *FixedStyle; /* For fixed width display */
    struct scrollfns *textscrollinterface;
    struct cursor *mycursor;
    struct keystate *privkeys;
    struct menulist *privmenus;
    int OldMarkCount;
    int *OldMarks;
    struct CaptionCache *capcache;
    int captioncachecount, captioncachesize;
    char *FullName, *ShortName;
    int firstcuid, substatus;
    boolean MenusExpanded;
    struct folders *myfold;
    struct frame *myframe;
    int downdot; /* for click-drag message selections */

};

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

#endif /* class_StaticInfoOnly */

#ifndef class_StaticInfoOnly

#ifndef captions_PROGRAMMERVERSION
#define captions_PROGRAMMERVERSION 1
#endif /* captions_PROGRAMMERVERSION */

#ifdef captions_VERSION
#undef captions_VERSION
#endif /* captions_VERSION */
#define captions_VERSION ((((captions_PROGRAMMERVERSION << 16) ^ (148 << 8) ^ sizeof(struct captions)) & 0x7ffff) + 0x80000 + (2 << 20))


#endif /* class_StaticInfoOnly */
#define captions_StaticLoadOnlyThisClass()  \
{ extern struct classinfo *captions__GetClassInfo(); \
 extern struct classheader *captions_classheader_StaticExport; \
  (void) class_EnterInfo(NULL, captions_classheader_StaticExport->name, captions__GetClassInfo, NULL, captions_classheader_StaticExport->namekey); } 
 
#define captions_StaticLoad()  \
    { \
    messages_StaticLoad(); \
    captions_StaticLoadOnlyThisClass();  \
    } 
 
#define captions_StaticEntry  {captions_StaticLoad()} 
 
#ifndef class_StaticInfoOnly
static struct classheader captions_classheader = {
    captions_VERSION,
    "captions",
    "captions",
    (struct basicobject_methods *) &class_RoutineStruct,
};

#define captions_CLASSPROCEDURES (captions_classheader.classprocedures)
int captions_classref_;
#endif /* class_StaticInfoOnly */

#endif /* captions_DEFINED */

#if !defined(captions_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_captions) && !defined(class_StaticEntriesOnly)
#define captions_ROUTINESDEFINED

#define captions_Reference(self) \
 (((&(self)->header.traced))->refcount++)
#define captions_UnReference(self) \
 ((((&(self)->header.traced))->refcount>0)?((&(self)->header.traced))->refcount--:0)
#define captions_ReferenceCount(self) \
 (((&(self)->header.traced))->refcount)
#define captions_AddObserver(self,observer) \
    ((* ((void (*)())((self)->header.captions_methods->routines[0]))) (self,observer))
#define captions_IsObserver(self,observer) \
    ((* ((boolean (*)())((self)->header.captions_methods->routines[1]))) (self,observer))
#define captions_RemoveObserver(self,observer) \
    ((* ((void (*)())((self)->header.captions_methods->routines[2]))) (self,observer))
#define captions_NotifyObservers(self,value) \
    ((* ((void (*)())((self)->header.captions_methods->routines[3]))) (self,value))
#define captions_ObservedChanged(self,changed,value) \
    ((* ((void (*)())((self)->header.captions_methods->routines[4]))) (self,changed,value))
#define captions_AddRecipient(self,trigger,rcvr,func,rock) \
    ((* ((boolean (*)())((self)->header.captions_methods->routines[5]))) (self,trigger,rcvr,func,rock))
#define captions_DeleteRecipient(self,trigger,rcvr) \
    ((* ((void (*)())((self)->header.captions_methods->routines[6]))) (self,trigger,rcvr))
#define captions_PullTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.captions_methods->routines[7]))) (self,trigger))
#define captions_DisableTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.captions_methods->routines[8]))) (self,trigger))
#define captions_EnableTrigger(self,trigger) \
    ((* ((void (*)())((self)->header.captions_methods->routines[9]))) (self,trigger))
#define captions_DisableCount(self,trigger) \
    ((* ((long (*)())((self)->header.captions_methods->routines[10]))) (self,trigger))
#define captions_SetName(self,name) \
    ((* ((void (*)())((self)->header.captions_methods->routines[11]))) (self,name))
#define captions_GetName(self) \
    ((* ((struct atomlist * (*)())((self)->header.captions_methods->routines[12]))) (self))
#define captions_GetClass(self) \
    ((* ((struct atomlist * (*)())((self)->header.captions_methods->routines[13]))) (self))
#define captions_GetParameter(self,name,type,datum) \
    ((* ((short (*)())((self)->header.captions_methods->routines[14]))) (self,name,type,datum))
#define captions_GetResource(self,name,class,type,datum) \
    ((* ((short (*)())((self)->header.captions_methods->routines[15]))) (self,name,class,type,datum))
#define captions_GetManyParameters(self,resources,name,class) \
    ((* ((void (*)())((self)->header.captions_methods->routines[16]))) (self,resources,name,class))
#define captions_PostResource(self,path,type,datum) \
    ((* ((void (*)())((self)->header.captions_methods->routines[17]))) (self,path,type,datum))
#define captions_InsertViewRegion(self,parent,region) \
    ((* ((void (*)())((self)->header.captions_methods->routines[18]))) (self,parent,region))
#define captions_InsertView(self,parent,enclosingRect) \
    ((* ((void (*)())((self)->header.captions_methods->routines[19]))) (self,parent,enclosingRect))
#define captions_InsertViewSize(self,EnclosingView,xOriginInParent,yOriginInParent,width,height) \
    ((* ((void (*)())((self)->header.captions_methods->routines[20]))) (self,EnclosingView,xOriginInParent,yOriginInParent,width,height))
#define captions_SetDataObject(self,dataobject) \
    ((* ((void (*)())((self)->header.captions_methods->routines[21]))) (self,dataobject))
#define captions_GetApplicationLayer(self) \
    ((* ((struct view * (*)())((self)->header.captions_methods->routines[22]))) (self))
#define captions_DeleteApplicationLayer(self,applicationLayer) \
    ((* ((void (*)())((self)->header.captions_methods->routines[23]))) (self,applicationLayer))
#define captions_DescriptionObject(self,format,rock) \
    ((* ((char * (*)())((self)->header.captions_methods->routines[24]))) (self,format,rock))
#define captions_Describe(self,format,file,rock) \
    ((* ((enum view_DescriberErrs (*)())((self)->header.captions_methods->routines[25]))) (self,format,file,rock))
#define captions_FullUpdate(self,type,left,top,width,right) \
    ((* ((void (*)())((self)->header.captions_methods->routines[26]))) (self,type,left,top,width,right))
#define captions_Update(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[27]))) (self))
#define captions_Print(self,file,processor,finalFormat,topLevel) \
    ((* ((void (*)())((self)->header.captions_methods->routines[28]))) (self,file,processor,finalFormat,topLevel))
#define captions_Hit(self,action,x,y,numberOfClicks) \
    ((* ((struct view * (*)())((self)->header.captions_methods->routines[29]))) (self,action,x,y,numberOfClicks))
#define captions_DesiredSize(self,width,height,pass,dWidth,dheight) \
    ((* ((enum view_DSattributes (*)())((self)->header.captions_methods->routines[30]))) (self,width,height,pass,dWidth,dheight))
#define captions_GetOrigin(self,width,height,originX,originY) \
    ((* ((void (*)())((self)->header.captions_methods->routines[31]))) (self,width,height,originX,originY))
#define captions_ReceiveInputFocus(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[32]))) (self))
#define captions_LoseInputFocus(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[33]))) (self))
#define captions_ReceiveColormap(self,cmap) \
    ((* ((void (*)())((self)->header.captions_methods->routines[34]))) (self,cmap))
#define captions_LoseColormap(self,cmap) \
    ((* ((void (*)())((self)->header.captions_methods->routines[35]))) (self,cmap))
#define captions_WantUpdate(self,requestor) \
    ((* ((void (*)())((self)->header.captions_methods->routines[36]))) (self,requestor))
#define captions_WantInputFocus(self,requestor) \
    ((* ((void (*)())((self)->header.captions_methods->routines[37]))) (self,requestor))
#define captions_WantColormap(self,requestor,cmap) \
    ((* ((void (*)())((self)->header.captions_methods->routines[38]))) (self,requestor,cmap))
#define captions_WantNewSize(self,requestor) \
    ((* ((void (*)())((self)->header.captions_methods->routines[39]))) (self,requestor))
#define captions_WantHandler(self,handlerName) \
    ((* ((struct basicobject * (*)())((self)->header.captions_methods->routines[40]))) (self,handlerName))
#define captions_WantInformation(self,key) \
    ((* ((char * (*)())((self)->header.captions_methods->routines[41]))) (self,key))
#define captions_PostKeyState(self,keystate) \
    ((* ((void (*)())((self)->header.captions_methods->routines[42]))) (self,keystate))
#define captions_PostMenus(self,menulist) \
    ((* ((void (*)())((self)->header.captions_methods->routines[43]))) (self,menulist))
#define captions_PostCursor(self,rec,cursor) \
    ((* ((void (*)())((self)->header.captions_methods->routines[44]))) (self,rec,cursor))
#define captions_RetractCursor(self,cursor) \
    ((* ((void (*)())((self)->header.captions_methods->routines[45]))) (self,cursor))
#define captions_RetractViewCursors(self,requestor) \
    ((* ((void (*)())((self)->header.captions_methods->routines[46]))) (self,requestor))
#define captions_PostDefaultHandler(self,handlerName,handler) \
    ((* ((void (*)())((self)->header.captions_methods->routines[47]))) (self,handlerName,handler))
#define captions_GetInterface(self,type) \
    ((* ((char * (*)())((self)->header.captions_methods->routines[48]))) (self,type))
#define captions_LinkTree(self,parent) \
    ((* ((void (*)())((self)->header.captions_methods->routines[49]))) (self,parent))
#define captions_UnlinkTree(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[50]))) (self))
#define captions_IsAncestor(self,possibleAncestor) \
    ((* ((boolean (*)())((self)->header.captions_methods->routines[51]))) (self,possibleAncestor))
#define captions_UnlinkNotification(self,unlinkedTree) \
    ((* ((void (*)())((self)->header.captions_methods->routines[52]))) (self,unlinkedTree))
#define captions_GetWindowManagerType(self) \
    ((* ((char * (*)())((self)->header.captions_methods->routines[53]))) (self))
#define captions_GetDevice(self) \
    ((* ((long (*)())((self)->header.captions_methods->routines[54]))) (self))
#define captions_InitChildren(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[55]))) (self))
#define captions_CanView(self,TypeName) \
    ((* ((boolean (*)())((self)->header.captions_methods->routines[56]))) (self,TypeName))
#define captions_LoseSelectionOwnership(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[57]))) (self))
#define captions_WriteSelection(self,out) \
    ((* ((long (*)())((self)->header.captions_methods->routines[58]))) (self,out))
#define captions_MoveToPt(self,Pt) \
 (graphic_MoveToPt(((&(self)->header.view))->drawable,(Pt)))
#define captions_MoveTo(self,NewX,NewY) \
 (graphic_MoveTo(((&(self)->header.view))->drawable,(NewX),(NewY)))
#define captions_Move(self,DeltaX,DeltaY) \
 (graphic_Move(((&(self)->header.view))->drawable,(DeltaX),(DeltaY)))
#define captions_GetLogicalBounds(self,Rect) \
 (graphic_GetLogicalBounds(((&(self)->header.view))->drawable,(Rect)))
#define captions_GetLogicalBoundsSize(self,x,y,width,height) \
 (graphic_GetLogicalBoundsSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define captions_GetLogicalRight(self) \
 (graphic_GetLogicalRight(((&(self)->header.view))->drawable))
#define captions_GetLogicalBottom(self) \
 (graphic_GetLogicalBottom(((&(self)->header.view))->drawable))
#define captions_GetLogicalLeft(self) \
 (graphic_GetLogicalLeft(((&(self)->header.view))->drawable))
#define captions_GetLogicalHeight(self) \
 (graphic_GetLogicalHeight((((&(self)->header.view))->drawable)))
#define captions_GetLogicalWidth(self) \
 (graphic_GetLogicalWidth((((&(self)->header.view))->drawable)))
#define captions_GetLogicalTop(self) \
 (graphic_GetLogicalTop((((&(self)->header.view))->drawable)))
#define captions_SetVisualRegion(self,region) \
 (graphic_SetVisualRegion(((&(self)->header.view))->drawable, (region)))
#define captions_GetVisualRegion(self,region) \
 (graphic_GetVisualRegion(((&(self)->header.view))->drawable, (region)))
#define captions_GetVisualBounds(self,Rect) \
 (graphic_GetVisualBounds(((&(self)->header.view))->drawable,(Rect)))
#define captions_GetVisualBoundsSize(self,x,y,width,height) \
 (graphic_GetVisualBoundsSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define captions_GetVisualRight(self) \
 (graphic_GetVisualRight(((&(self)->header.view))->drawable))
#define captions_GetVisualBottom(self) \
 (graphic_GetVisualBottom(((&(self)->header.view))->drawable))
#define captions_GetVisualWidth(self) \
 (graphic_GetVisualWidth((((&(self)->header.view))->drawable)))
#define captions_GetVisualHeight(self) \
 (graphic_GetVisualHeight((((&(self)->header.view))->drawable)))
#define captions_GetVisualLeft(self) \
 (graphic_GetVisualLeft((((&(self)->header.view))->drawable)))
#define captions_GetVisualTop(self) \
 (graphic_GetVisualTop((((&(self)->header.view))->drawable)))
#define captions_GetEnclosedBounds(self,Rect) \
 (graphic_GetEnclosedBounds(((&(self)->header.view))->drawable, (Rect)))
#define captions_GetEnclosedBoundsSize(self,x,y,width,height) \
 (graphic_GetEnclosedBoundsSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define captions_GetEnclosedRight(self) \
 (graphic_GetEnclosedRight(((&(self)->header.view))->drawable))
#define captions_GetEnclosedBottom(self) \
 (graphic_GetEnclosedBottom(((&(self)->header.view))->drawable))
#define captions_GetEnclosedLeft(self) \
 (graphic_GetEnclosedLeft((((&(self)->header.view))->drawable)))
#define captions_GetEnclosedTop(self) \
 (graphic_GetEnclosedTop((((&(self)->header.view))->drawable)))
#define captions_GetEnclosedWidth(self) \
 (graphic_GetEnclosedWidth((((&(self)->header.view))->drawable)))
#define captions_GetEnclosedHeight(self) \
 (graphic_GetEnclosedHeight((((&(self)->header.view))->drawable)))
#define captions_GetCurrentPt(self,Pt) \
 (graphic_GetCurrentPt(((&(self)->header.view))->drawable,(Pt)))
#define captions_DrawLineToPt(self,LineEnd) \
 (graphic_DrawLineToPt(((&(self)->header.view))->drawable,(LineEnd)))
#define captions_DrawLineTo(self,XEnd,YEnd) \
 (graphic_DrawLineTo(((&(self)->header.view))->drawable,(XEnd), (YEnd)))
#define captions_DrawLine(self,DeltaX,DeltaY) \
 (graphic_DrawLine(((&(self)->header.view))->drawable, (DeltaX), (DeltaY)))
#define captions_DrawString(self,Text,Operation) \
 (graphic_DrawString(((&(self)->header.view))->drawable, (Text), (Operation)))
#define captions_DrawText(self,Text,TextLength,Operation) \
 (graphic_DrawText(((&(self)->header.view))->drawable, (Text), (TextLength), (Operation)))
#define captions_SetSpaceShim(self,Amount) \
 (graphic_SetSpaceShim(((&(self)->header.view))->drawable,(Amount)))
#define captions_GetSpaceShim(self) \
 (graphic_GetSpaceShim(((&(self)->header.view))->drawable))
#define captions_SetFont(self,ChosenFont) \
 (graphic_SetFont(((&(self)->header.view))->drawable, (ChosenFont)))
#define captions_GetFont(self) \
 (graphic_GetFont(((&(self)->header.view))->drawable))
#define captions_DrawRect(self,Rect) \
 (graphic_DrawRect(((&(self)->header.view))->drawable,(Rect)))
#define captions_DrawRectSize(self,x,y,width,height) \
 (graphic_DrawRectSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define captions_DrawTrapezoid(self,topX,topY,topWidth,bottomX,bottomY,bottomWidth) \
 (graphic_DrawTrapezoid(((&(self)->header.view))->drawable,(topX),(topY),(topWidth),(bottomX),(bottomY),(bottomWidth)))
#define captions_DrawPolygon(self,PointArray,PointCount) \
 (graphic_DrawPolygon(((&(self)->header.view))->drawable,(PointArray), (PointCount)))
#define captions_DrawPath(self,PointArray,PointCount) \
 (graphic_DrawPath(((&(self)->header.view))->drawable,(PointArray), (PointCount)))
#define captions_DrawOval(self,Rect) \
 (graphic_DrawOval(((&(self)->header.view))->drawable,(Rect)))
#define captions_DrawOvalSize(self,x,y,width,height) \
 (graphic_DrawOvalSize(((&(self)->header.view))->drawable, (x), (y), (width), (height)))
#define captions_DrawArc(self,EnclRect,StartAngle,OffsetAngle) \
 (graphic_DrawArc(((&(self)->header.view))->drawable,(EnclRect),(StartAngle),(OffsetAngle)))
#define captions_DrawArcSize(self,x,y,width,height,StartAngle,OffsetAngle) \
 (graphic_DrawArcSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (StartAngle), (OffsetAngle)))
#define captions_DrawRRect(self,OuterBox,InnerBox) \
 (graphic_DrawRRect(((&(self)->header.view))->drawable, (OuterBox), (InnerBox)))
#define captions_DrawRRectSize(self,x,y,width,height,cornerWidth,cornerHeight) \
 (graphic_DrawRRectSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (cornerWidth), (cornerHeight)))
#define captions_DrawRgn(self,Rgn) \
 (graphic_DrawRgn(((&(self)->header.view))->drawable,(Rgn)))
#define captions_FillRect(self,Rect,Tile) \
 (graphic_FillRect(((&(self)->header.view))->drawable, (Rect),(Tile)))
#define captions_FillRectSize(self,x,y,width,height,Tile) \
 (graphic_FillRectSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (Tile)))
#define captions_FillTrapezoid(self,topX,topY,topWidth,bottomX,bottomY,bottomWidth,Tile) \
 (graphic_FillTrapezoid(((&(self)->header.view))->drawable, (topX), (topY), (topWidth), (bottomX), (bottomY), (bottomWidth), (Tile)))
#define captions_FillPolygon(self,PointArray,PointCount,Tile) \
 (graphic_FillPolygon(((&(self)->header.view))->drawable, (PointArray), (PointCount), (Tile)))
#define captions_FillOval(self,Rect,Tile) \
 (graphic_FillOval(((&(self)->header.view))->drawable, (Rect), (Tile)))
#define captions_FillOvalSize(self,x,y,width,height,Tile) \
 (graphic_FillOvalSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (Tile)))
#define captions_FillArc(self,EnclRect,StartAngle,OffsetAngle,Tile) \
 (graphic_FillArc(((&(self)->header.view))->drawable, (EnclRect), (StartAngle), (OffsetAngle),(Tile)))
#define captions_FillArcSize(self,x,y,width,height,StartAngle,OffsetAngle,Tile) \
 (graphic_FillArcSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (StartAngle), (OffsetAngle), (Tile)))
#define captions_FillRRect(self,OuterBox,InnerBox,Tile) \
 (graphic_FillRRect(((&(self)->header.view))->drawable, (OuterBox), (InnerBox), (Tile)))
#define captions_FillRRectSize(self,x,y,width,height,cornerWidth,cornerHeight,Tile) \
 (graphic_FillRRectSize(((&(self)->header.view))->drawable, (x), (y), (width), (height), (cornerWidth), (cornerHeight), (Tile)))
#define captions_FillRgn(self,Rgn,Tile) \
 (graphic_FillRgn(((&(self)->header.view))->drawable, (Rgn), (Tile)))
#define captions_EraseRect(self,Rect) \
 (graphic_EraseRect(((&(self)->header.view))->drawable, (Rect)))
#define captions_EraseRectSize(self,x,y,width,height) \
 (graphic_EraseRectSize(((&(self)->header.view))->drawable, (x), (y), (width), (height)))
#define captions_EraseVisualRect(self) \
 (graphic_EraseVisualRect(((&(self)->header.view))->drawable))
#define captions_BitBlt(self,SrcRect,DestView,DstOrigin,ClipRectList) \
 (graphic_BitBlt(((&(self)->header.view))->drawable,(SrcRect), (((struct view *)(DestView))->drawable), (DstOrigin), (ClipRectList)))
#define captions_BitBltSize(self,srcX,srcY,dstX,dstY,Width,Height,DstView,clipX,clipY,clipWidth,clipHeight) \
 (graphic_BitBltSize(((&(self)->header.view))->drawable, (srcX), (srcY), (dstX), (dstY), (Width),(Height), (((struct view*)(DstView))->drawable), (clipX),(clipY), (clipWidth), (clipHeight)))
#define captions_SetBitAtLoc(self,XPos,YPos,NewValue) \
 (graphic_SetBitAtLoc(((&(self)->header.view))->drawable, (XPos), (YPos), (NewValue)))
#define captions_MoveLogicalOrigin(self,DeltaX,DeltaY) \
 (graphic_MoveLogicalOrigin(((&(self)->header.view))->drawable,(DeltaX), (DeltaY)))
#define captions_SetLogicalOrigin(self,NewX,NewY) \
 (graphic_SetLogicalOrigin(((&(self)->header.view))->drawable,(NewX), (NewY)))
#define captions_SetLogicalOriginPt(self,Pt) \
 (graphic_SetLogicalOriginPt(((&(self)->header.view))->drawable,(Pt)))
#define captions_SetClippingRegion(self,region) \
 (graphic_SetClippingRegion(((&(self)->header.view))->drawable, (region)))
#define captions_GetClippingRegion(self,region) \
 (graphic_GetClippingRegion(((&(self)->header.view))->drawable, (region)))
#define captions_SetClippingRect(self,ClipRect) \
 (graphic_SetClippingRect(((&(self)->header.view))->drawable,(ClipRect)))
#define captions_SetClippingRectSize(self,x,y,width,height) \
 (graphic_SetClippingRectSize(((&(self)->header.view))->drawable,(x),(y),(width),(height)))
#define captions_ClearClippingRect(self) \
 (graphic_ClearClippingRect(((&(self)->header.view))->drawable))
#define captions_GetClippingRect(self,Rect) \
 (graphic_GetClippingRect(((&(self)->header.view))->drawable,(Rect)))
#define captions_SetLineWidth(self,NewLineWidth) \
 (graphic_SetLineWidth(((&(self)->header.view))->drawable, (NewLineWidth)))
#define captions_GetLineWidth(self) \
 (graphic_GetLineWidth(((&(self)->header.view))->drawable))
#define captions_SetLineDash(self,dashPattern,dashOffset,dashType) \
 (graphic_SetLineDash(((&(self)->header.view))->drawable, (dashPattern), (dashOffset), (dashType)))
#define captions_GetLineDash(self,dashPattern,dashOffset,dashType) \
 (graphic_GetLineDash(((&(self)->header.view))->drawable, (dashPattern), (dashOffset), (dashType)))
#define captions_SetLineCap(self,NewLineCap) \
 (graphic_SetLineCap(((&(self)->header.view))->drawable, (NewLineCap)))
#define captions_GetLineCap(self) \
 (graphic_GetLineCap(((&(self)->header.view))->drawable))
#define captions_SetLineJoin(self,NewLineJoin) \
 (graphic_SetLineJoin(((&(self)->header.view))->drawable, (NewLineJoin)))
#define captions_GetLineJoin(self) \
 (graphic_GetLineJoin(((&(self)->header.view))->drawable))
#define captions_SetTransferMode(self,NewTransferMode) \
 (graphic_SetTransferMode(((&(self)->header.view))->drawable, (NewTransferMode)))
#define captions_GetTransferMode(self) \
 (graphic_GetTransferMode(((&(self)->header.view))->drawable))
#define captions_FlushGraphics(self) \
 (graphic_FlushGraphics(((&(self)->header.view))->drawable))
#define captions_WhitePattern(self) \
 (graphic_WhitePattern(((&(self)->header.view))->drawable))
#define captions_BlackPattern(self) \
 (graphic_BlackPattern(((&(self)->header.view))->drawable))
#define captions_GrayPattern(self,IntensityNum,IntensityDenom) \
 (graphic_GrayPattern(((&(self)->header.view))->drawable, (IntensityNum), (IntensityDenom)))
#define captions_SetPatternOrigin(self,xpos,ypos) \
  (graphic_SetPatternOrigin(((&(self)->header.view))->drawable, (xpos), (ypos)))
#define captions_GetPatternOrigin(self,xpos,ypos) \
  (graphic_GetPatternOrigin(((&(self)->header.view))->drawable, (xpos), (ypos)))
#define captions_SetForegroundColor(self,colorName,red,green,blue) \
 (graphic_SetForegroundColor(((&(self)->header.view))->drawable, (colorName), (red), (green), (blue)))
#define captions_GetForegroundColor(self,name,retred,retgreen,retblue) \
     (graphic_GetForegroundColor(((&(self)->header.view))->drawable, (name), (retred), (retgreen), (retblue)))
#define captions_SetBackgroundColor(self,colorName,red,green,blue) \
 (graphic_SetBackgroundColor(((&(self)->header.view))->drawable, (colorName), (red),(green),(blue)))
#define captions_GetBackgroundColor(self,name,retred,retgreen,retblue) \
 (graphic_GetBackgroundColor(((&(self)->header.view))->drawable, (name), (retred), (retgreen),(retblue)))
#define captions_SetFGColor(self,red,green,blue) \
 (graphic_SetFGColor(((&(self)->header.view))->drawable,(red),(green),(blue)))
#define captions_GetFGColor(self,red,green,blue) \
 (graphic_GetFGColor(((&(self)->header.view))->drawable,(red),(green),(blue)))
#define captions_SetBGColor(self,red,green,blue) \
 (graphic_SetBGColor(((&(self)->header.view))->drawable,(red),(green),(blue)))
#define captions_GetBGColor(self,red,green,blue) \
 (graphic_GetBGColor(((&(self)->header.view))->drawable,(red),(green),(blue)))
#define captions_GetHorizontalResolution(self) \
 (graphic_GetHorizontalResolution(((&(self)->header.view))->drawable))
#define captions_GetVerticalResolution(self) \
 (graphic_GetVerticalResolution(((&(self)->header.view))->drawable))
#define captions_GetIM(self) \
 (((&(self)->header.view))->imPtr)
#define captions_GetDrawable(self) \
 (((&(self)->header.view))->drawable)
#define captions_GetColormap(self) \
 (graphic_GetColormap(((&(self)->header.view))->drawable))
#define captions_SetColormap(self,cmap) \
 (graphic_SetColormap(((&(self)->header.view))->drawable, cmap))
#define captions_GetInheritedColormap(self) \
 (graphic_GetInheritedColormap(((&(self)->header.view))->drawable))
#define captions_SetInheritedColormap(self,cmap) \
 (graphic_SetInheritedColormap(((&(self)->header.view))->drawable, cmap))
#define captions_ClearInheritedColormap(self) \
 (graphic_ClearInheritedColormap(((&(self)->header.view))->drawable))
#define captions_CurrentColormap(self) \
 (graphic_CurrentColormap(((&(self)->header.view))->drawable))
#define captions_EnclosedXToLocalX(self,xvalue) \
   ((xvalue)-graphic_GetEnclosedLeft(((&(self)->header.view))->drawable)+graphic_GetLogicalLeft(((&(self)->header.view))->drawable))
#define captions_EnclosedYToLocalY(self,yvalue) \
    ((yvalue)-graphic_GetEnclosedTop(((&(self)->header.view))->drawable)+graphic_GetLogicalTop(((&(self)->header.view))->drawable))
#define captions_GetDataObject(self) \
 (((&(self)->header.view))->dataobject)
#define captions_DisplayClass(self) \
 (graphic_DisplayClass(((&(self)->header.view))->drawable ))
#define captions_ClearColors(self) \
 (graphic_ClearColors(((&(self)->header.view))->drawable))
#define captions_SetDotPosition(self,newPosition) \
    ((* ((void (*)())((self)->header.captions_methods->routines[59]))) (self,newPosition))
#define captions_SetDotLength(self,newLength) \
    ((* ((void (*)())((self)->header.captions_methods->routines[60]))) (self,newLength))
#define captions_GetDotPosition(self) \
    ((* ((long (*)())((self)->header.captions_methods->routines[61]))) (self))
#define captions_GetDotLength(self) \
    ((* ((long (*)())((self)->header.captions_methods->routines[62]))) (self))
#define captions_GetTopPosition(self) \
    ((* ((long (*)())((self)->header.captions_methods->routines[63]))) (self))
#define captions_SetTopPosition(self,newTopPosition) \
    ((* ((void (*)())((self)->header.captions_methods->routines[64]))) (self,newTopPosition))
#define captions_SetBorder(self,xBorder,yBorder) \
    ((* ((void (*)())((self)->header.captions_methods->routines[65]))) (self,xBorder,yBorder))
#define captions_SetEmbeddedBorder(self,xBorder,yBorder) \
    ((* ((void (*)())((self)->header.captions_methods->routines[66]))) (self,xBorder,yBorder))
#define captions_CollapseDot(self) \
    ((* ((long (*)())((self)->header.captions_methods->routines[67]))) (self))
#define captions_GetClickPosition(self,position,numberOfClicks,action,startLeft,startRight,leftPos,rightPos) \
    ((* ((void (*)())((self)->header.captions_methods->routines[68]))) (self,position,numberOfClicks,action,startLeft,startRight,leftPos,rightPos))
#define captions_Visible(self,pos) \
    ((* ((boolean (*)())((self)->header.captions_methods->routines[69]))) (self,pos))
#define captions_Locate(self,x,y,view) \
    ((* ((long (*)())((self)->header.captions_methods->routines[70]))) (self,x,y,view))
#define captions_GetTextSize(self,width,height) \
    ((* ((void (*)())((self)->header.captions_methods->routines[71]))) (self,width,height))
#define captions_MoveBack(self,pos,units,type,distMoved,linesAdded) \
    ((* ((long (*)())((self)->header.captions_methods->routines[72]))) (self,pos,units,type,distMoved,linesAdded))
#define captions_MoveForward(self,pos,units,type,distMoved,linesAdded) \
    ((* ((long (*)())((self)->header.captions_methods->routines[73]))) (self,pos,units,type,distMoved,linesAdded))
#define captions_FrameDot(self,pos) \
    ((* ((void (*)())((self)->header.captions_methods->routines[74]))) (self,pos))
#define captions_FindLineNumber(self,pos) \
    ((* ((long (*)())((self)->header.captions_methods->routines[75]))) (self,pos))
#define captions_LineRedraw(self,type,currentLine,x,y,xSize,ySize,search,cont,textheight,info) \
    ((* ((long (*)())((self)->header.captions_methods->routines[76]))) (self,type,currentLine,x,y,xSize,ySize,search,cont,textheight,info))
#define captions_LookCmd(self,look) \
    ((* ((void (*)())((self)->header.captions_methods->routines[77]))) (self,look))
#define captions_SetDefaultStyle(self,styelptr) \
    ((* ((void (*)())((self)->header.captions_methods->routines[78]))) (self,styelptr))
#define captions_GetDefaultStyle(self) \
    ((* ((struct style * (*)())((self)->header.captions_methods->routines[79]))) (self))
#define captions_ViewMove(self,currentLine,movement) \
    ((* ((void (*)())((self)->header.captions_methods->routines[80]))) (self,currentLine,movement))
#define captions_GetStyleInformation(self,sv,pos,length) \
    ((* ((struct environment * (*)())((self)->header.captions_methods->routines[81]))) (self,sv,pos,length))
#define captions_GetEnclosedStyleInformation(self,pos,length) \
    ((* ((struct environment * (*)())((self)->header.captions_methods->routines[82]))) (self,pos,length))
#define captions_ReleaseStyleInformation(self,env) \
    ((* ((void (*)())((self)->header.captions_methods->routines[83]))) (self,env))
#define captions_PrepareDeletion(self,pos,len) \
    ((* ((void (*)())((self)->header.captions_methods->routines[84]))) (self,pos,len))
#define captions_FinishDeletion(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[85]))) (self))
#define captions_DeleteCharacters(self,pos,len) \
    ((* ((void (*)())((self)->header.captions_methods->routines[86]))) (self,pos,len))
#define captions_PrepareInsertion(self,insertingNewLine) \
    ((* ((void (*)())((self)->header.captions_methods->routines[87]))) (self,insertingNewLine))
#define captions_FinishInsertion(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[88]))) (self))
#define captions_GetEnclosingEnvironment(self,pos) \
    ((* ((struct environment * (*)())((self)->header.captions_methods->routines[89]))) (self,pos))
#define captions_GetInsertEnvironment(self,pos) \
    ((* ((struct environment * (*)())((self)->header.captions_methods->routines[90]))) (self,pos))
#define captions_ClearInsertStack(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[91]))) (self))
#define captions_PopInsertStack(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[92]))) (self))
#define captions_AddStyleToInsertStack(self,styleName) \
    ((* ((void (*)())((self)->header.captions_methods->routines[93]))) (self,styleName))
#define captions_PlainInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[94]))) (self))
#define captions_UpInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[95]))) (self))
#define captions_DownInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[96]))) (self))
#define captions_LeftInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[97]))) (self))
#define captions_RightInsertEnvironment(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[98]))) (self))
#define captions_DoCopyRegion(self,pos,len,append,copyAsText) \
    ((* ((void (*)())((self)->header.captions_methods->routines[99]))) (self,pos,len,append,copyAsText))
#define captions_ToggleVIMode(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[100]))) (self))
#define captions_ToggleEditor(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[101]))) (self))
#define captions_SetTopOffTop(self,newTopPosition,pixelsOffTop) \
    ((* ((void (*)())((self)->header.captions_methods->routines[102]))) (self,newTopPosition,pixelsOffTop))
#define captions_GetEditor(self) \
 ((&(self)->header.textview)->editor)
#define captions_GetVIMode(self) \
 ((&(self)->header.textview)->viMode)
#define captions_EncodePosition(self,pos) \
  ((pos) << 7)
#define captions_DecodePosition(self,pos) \
  ((pos) >> 7)
#define captions_SetWhatIAm(self,WhatIAm) \
    ((* ((void (*)())((self)->header.captions_methods->routines[103]))) (self,WhatIAm))
#define captions_ResetFileIntoMenus(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[104]))) (self))
#define captions_AppendOneMessageToFile(self,cuid,fname,DoRaw) \
    ((* ((int (*)())((self)->header.captions_methods->routines[105]))) (self,cuid,fname,DoRaw))
#define captions_ResetVisibleCaption(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[106]))) (self))
#define captions_ClearAndUpdate(self,ConsiderPurging,SaveState) \
    ((* ((void (*)())((self)->header.captions_methods->routines[107]))) (self,ConsiderPurging,SaveState))
#define captions_MakeCachedUpdates(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[108]))) (self))
#define captions_AlterPrimaryFolderName(self,addname,delname) \
    ((* ((void (*)())((self)->header.captions_methods->routines[109]))) (self,addname,delname))
#define captions_AlterDeletedIcon(self,position,delete) \
    ((* ((void (*)())((self)->header.captions_methods->routines[110]))) (self,position,delete))
#define captions_CapReverseSearch(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[111]))) (self))
#define captions_DeleteVisibleMessage(self,delete) \
    ((* ((int (*)())((self)->header.captions_methods->routines[112]))) (self,delete))
#define captions_DisplayNewBody(self,thisCUID,linestart,linelen,env) \
    ((* ((int (*)())((self)->header.captions_methods->routines[113]))) (self,thisCUID,linestart,linelen,env))
#define captions_FindCUIDByDocLocation(self,position,len,envptr,whichcaption) \
    ((* ((int (*)())((self)->header.captions_methods->routines[114]))) (self,position,len,envptr,whichcaption))
#define captions_GetBodyFromCUID(self,cuid,Mode,ContentTypeOverride) \
    ((* ((int (*)())((self)->header.captions_methods->routines[115]))) (self,cuid,Mode,ContentTypeOverride))
#define captions_GuaranteeFetchedRange(self,min,max) \
    ((* ((int (*)())((self)->header.captions_methods->routines[116]))) (self,min,max))
#define captions_InsertUpdatesInDocument(self,shortname,dname,ShowFirst) \
    ((* ((int (*)())((self)->header.captions_methods->routines[117]))) (self,shortname,dname,ShowFirst))
#define captions_MarkVisibleMessageStateofSeeing(self,hasseen) \
    ((* ((void (*)())((self)->header.captions_methods->routines[118]))) (self,hasseen))
#define captions_ReportMarkedMessageCount(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[119]))) (self))
#define captions_ShowMore(self,mayscroll,maygoon,insistonmark) \
    ((* ((int (*)())((self)->header.captions_methods->routines[120]))) (self,mayscroll,maygoon,insistonmark))
#define captions_ToggleMark(self,hc,linestart) \
    ((* ((void (*)())((self)->header.captions_methods->routines[121]))) (self,hc,linestart))
#define captions_SearchAll(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[122]))) (self))
#define captions_FileCurrent(self,FullName,NickName) \
    ((* ((void (*)())((self)->header.captions_methods->routines[123]))) (self,FullName,NickName))
#define captions_FileMarked(self,FullName,NickName) \
    ((* ((void (*)())((self)->header.captions_methods->routines[124]))) (self,FullName,NickName))
#define captions_ThisIsFlorida(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[125]))) (self))
#define captions_FindRelatedMessages(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[126]))) (self))
#define captions_SimulateClick(self,IsLeftClick) \
    ((* ((void (*)())((self)->header.captions_methods->routines[127]))) (self,IsLeftClick))
#define captions_PuntCurrent(self,GoToNext) \
    ((* ((void (*)())((self)->header.captions_methods->routines[128]))) (self,GoToNext))
#define captions_MarkRangeOfMessages(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[129]))) (self))
#define captions_SendMessage(self,code) \
    ((* ((void (*)())((self)->header.captions_methods->routines[130]))) (self,code))
#define captions_SetFolders(self,f) \
    ((* ((void (*)())((self)->header.captions_methods->routines[131]))) (self,f))
#define captions_SetBodies(self,bv) \
    ((* ((void (*)())((self)->header.captions_methods->routines[132]))) (self,bv))
#define captions_SetLabel(self,label) \
    ((* ((void (*)())((self)->header.captions_methods->routines[133]))) (self,label))
#define captions_ShowHelp(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[134]))) (self))
#define captions_NewBodiesInNewWindow(self) \
    ((* ((struct t822view * (*)())((self)->header.captions_methods->routines[135]))) (self))
#define captions_NewFoldersInNewWindow(self) \
    ((* ((struct folders * (*)())((self)->header.captions_methods->routines[136]))) (self))
#define captions_BackUpCheckingMarks(self,checkmarks) \
    ((* ((void (*)())((self)->header.captions_methods->routines[137]))) (self,checkmarks))
#define captions_ActOnMarkedMessages(self,markaction,string) \
    ((* ((void (*)())((self)->header.captions_methods->routines[138]))) (self,markaction,string))
#define captions_GetLastClassification(self) \
    ((* ((char * (*)())((self)->header.captions_methods->routines[139]))) (self))
#define captions_ClearMarks(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[140]))) (self))
#define captions_AlterFileIntoMenus(self,shrink) \
    ((* ((void (*)())((self)->header.captions_methods->routines[141]))) (self,shrink))
#define captions_CloneMessage(self,code) \
    ((* ((void (*)())((self)->header.captions_methods->routines[142]))) (self,code))
#define captions_MarkCurrent(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[143]))) (self))
#define captions_PrintVisibleMessage(self) \
    ((* ((void (*)())((self)->header.captions_methods->routines[144]))) (self))
#define captions_Redisplay(self,Mode,contenttype) \
    ((* ((void (*)())((self)->header.captions_methods->routines[145]))) (self,Mode,contenttype))
#define captions_GetFolders(self) \
    ((* ((struct folders * (*)())((self)->header.captions_methods->routines[146]))) (self))
#define captions_GetBodView(self) \
    ((* ((struct t822view * (*)())((self)->header.captions_methods->routines[147]))) (self))
#define captions_GetBodDoc(self) \
 (struct text *) (t822view_GetDataObject(captions_GetBodView((self))))

#define captions_NewFromObject(self) \
    ((* ((struct captions * (*)())((self)->header.captions_methods->info->procs->routines[0]))) (&captions_classheader, (self)->header.captions_methods->info->versionnumber))
#define captions_New() \
    (*((struct captions * (*)()) (captions_CLASSPROCEDURES->routines[0])))(&captions_classheader,captions_VERSION)
#define captions_Initialize(self) \
    (*((void (*)()) (captions_CLASSPROCEDURES->routines[2])))(&captions_classheader,self, captions_VERSION)

#define captions_Destroy(self) \
    ((* ((void (*)()) ((self)->header.captions_methods->info->procs->routines[1]))) (&captions_classheader, self))
#define captions_Finalize(self) \
    (*((void (*)()) (captions_CLASSPROCEDURES->routines[3])))(&captions_classheader,self)

#define captions_InitializeObject(self) \
    (*((boolean (*)()) (captions_CLASSPROCEDURES->routines[5])))(&captions_classheader,self)
#define captions_FinalizeObject(self) \
    (*((void (*)()) (captions_CLASSPROCEDURES->routines[6])))(&captions_classheader,self)
#define captions_InitializeClass() \
    (*((boolean (*)()) (captions_CLASSPROCEDURES->routines[7])))(&captions_classheader)


#endif /* !defined(captions_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_captions ) && !defined(class_StaticEntriesOnly)*/

