dos_compilers/Microsoft Fortran v51/INCLUDE/FGRAPH.FI
2024-07-23 12:13:45 -07:00

486 lines
13 KiB
Plaintext

***
*fgraph.fi - declare constants and functions for graphics library
*
* Copyright (c) 1987-1991 Microsoft Corporation. All rights reserved.
*
*Purpose:
* This file declares the graphics library functions and
* the manifest constants that are used with them.
*
*******************************************************************************
$NOTRUNCATE
$NOTSTRICT
* user-visible declarations for FORTRAN Graphics Library
INTERFACE TO FUNCTION arc(x1,y1,x2,y2,x3,y3,x4,y4)
INTEGER*2 arc[FAR,C,ALIAS:"__arc"],x1,y1,x2,y2,x3,y3,x4,y4
END
INTERFACE TO FUNCTION arc_w(wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4)
INTEGER*2 arc_w[FAR,C,ALIAS:"__arc_w"]
DOUBLE PRECISION wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4
END
INTERFACE TO FUNCTION getarcinfo(lpstart,lpend,lppaint)
INTEGER*2 getarcinfo[FAR,C,ALIAS:"__getarcinfo"]
STRUCTURE/xycoord/
INTEGER*2 xcoord
INTEGER*2 ycoord
END STRUCTURE
RECORD/xycoord/lpstart[FAR,REFERENCE]
RECORD/xycoord/lpend[FAR,REFERENCE]
RECORD/xycoord/lppaint[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ clearscreen[FAR,C,ALIAS:"__clearscreen"](area)
INTEGER*2 area
END
INTERFACE TO FUNCTION displaycursor(toggle)
INTEGER*2 displaycursor[FAR,C,ALIAS:"__displaycursor"],toggle
END
INTERFACE TO FUNCTION ellipse(control,x1,y1,x2,y2)
INTEGER*2 ellipse[FAR,C,ALIAS:"__ellipse"],control,x1,y1,x2,y2
END
INTERFACE TO FUNCTION ellipse_w(control,wx1,wy1,wx2,wy2)
INTEGER*2 ellipse_w[FAR,C,ALIAS:"__ellipse_w"],control
DOUBLE PRECISION wx1,wy1,wx2,wy2
END
INTERFACE TO FUNCTION floodfill(x,y,boundary)
INTEGER*2 floodfill[FAR,C,ALIAS:"__floodfill"],x,y,boundary
END
INTERFACE TO FUNCTION floodfill_w(wx1,wy1,boundary)
INTEGER*2 floodfill_w[FAR,C,ALIAS:"__floodfill_w"],boundary
DOUBLE PRECISION wx1,wy1
END
INTERFACE TO FUNCTION getactivepage()
INTEGER*2 getactivepage[FAR,C,ALIAS:"__getactivepage"]
END
INTERFACE TO FUNCTION getbkcolor()
INTEGER*4 getbkcolor[FAR,C,ALIAS:"__getbkcolor"]
END
INTERFACE TO FUNCTION getcolor()
INTEGER*2 getcolor[FAR,C,ALIAS:"__getcolor"]
END
INTERFACE TO SUBROUTINE
+ getcurrentposition[FAR,C,ALIAS:"__f_getcurrentposition"](s)
STRUCTURE/xycoord/
INTEGER*2 xcoord
INTEGER*2 ycoord
END STRUCTURE
RECORD/xycoord/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ getcurrentposition_w[FAR,C,ALIAS:"__f_getcurrentposition_wxy"](s)
STRUCTURE/wxycoord/
DOUBLE PRECISION wx
DOUBLE PRECISION wy
END STRUCTURE
RECORD/wxycoord/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ getfillmask[FAR,C,ALIAS:"__getfillmask"](mask)
INTEGER*1 mask[FAR,REFERENCE](8)
END
INTERFACE TO SUBROUTINE
+ getimage[FAR,C,ALIAS:"__getimage"](x1,y1,x2,y2,image)
INTEGER*2 x1,y1,x2,y2
INTEGER*1 image[FAR,REFERENCE](*)
END
INTERFACE TO SUBROUTINE
+ getimage_w[FAR,C,ALIAS:"__getimage_w"](wx1,wy1,wx2,wy2,image)
DOUBLE PRECISION wx1,wy1,wx2,wy2
INTEGER*1 image[FAR,REFERENCE](*)
END
INTERFACE TO FUNCTION getlinestyle()
INTEGER*2 getlinestyle[FAR,C,ALIAS:"__getlinestyle"]
END
INTERFACE TO SUBROUTINE
+ getphyscoord[FAR,C,ALIAS:"__f_getphyscoord"](x,y,s)
INTEGER*2 x,y
STRUCTURE/xycoord/
INTEGER*2 xcoord
INTEGER*2 ycoord
END STRUCTURE
RECORD/xycoord/s[FAR,REFERENCE]
END
INTERFACE TO FUNCTION getpixel(x,y)
INTEGER*2 getpixel[FAR,C,ALIAS:"__getpixel"],x,y
END
INTERFACE TO FUNCTION getpixel_w(wx,wy)
INTEGER*2 getpixel_w[FAR,C,ALIAS:"__getpixel_w"]
DOUBLE PRECISION wx,wy
END
INTERFACE TO FUNCTION gettextcolor()
INTEGER*2 gettextcolor[FAR,C,ALIAS:"__gettextcolor"]
END
INTERFACE TO FUNCTION gettextcursor()
INTEGER*2 gettextcursor[FAR,C,ALIAS:"__gettextcursor"]
END
INTERFACE TO SUBROUTINE
+ gettextposition[FAR,C,ALIAS:"__f_gettextposition"](s)
STRUCTURE/rccoord/
INTEGER*2 row
INTEGER*2 col
END STRUCTURE
RECORD/rccoord/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ gettextwindow[FAR,C,ALIAS:"__gettextwindow"](r1,c1,r2,c2)
INTEGER*2 r1[FAR,REFERENCE],c1[FAR,REFERENCE]
INTEGER*2 r2[FAR,REFERENCE],c2[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ getvideoconfig[FAR,C,ALIAS:"__getvideoconfig"](s)
STRUCTURE/videoconfig/
INTEGER*2 numxpixels ! number of pixels on X axis
INTEGER*2 numypixels ! number of pixels on Y axis
INTEGER*2 numtextcols ! number of text columns available
INTEGER*2 numtextrows ! number of text rows available
INTEGER*2 numcolors ! number of actual colors
INTEGER*2 bitsperpixel ! number of bits per pixel
INTEGER*2 numvideopages ! number of available video pages
INTEGER*2 mode ! current video mode
INTEGER*2 adapter ! active display adapter
INTEGER*2 monitor ! active display monitor
INTEGER*2 memory ! adapter video memory in K bytes
END STRUCTURE
RECORD/videoconfig/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ getviewcoord[FAR,C,ALIAS:"__f_getviewcoord"](x,y,s)
INTEGER*2 x,y
STRUCTURE/xycoord/
INTEGER*2 xcoord
INTEGER*2 ycoord
END STRUCTURE
RECORD/xycoord/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ getviewcoord_w[FAR,C,ALIAS:"__f_getviewcoord_w"](wx,wy,s)
DOUBLE PRECISION wx,wy
STRUCTURE/xycoord/
INTEGER*2 xcoord
INTEGER*2 ycoord
END STRUCTURE
RECORD/xycoord/s[FAR,REFERENCE]
END
INTERFACE TO FUNCTION getvisualpage()
INTEGER*2 getvisualpage[FAR,C,ALIAS:"__getvisualpage"]
END
INTERFACE TO SUBROUTINE
+ getwindowcoord[FAR,C,ALIAS:"__f_getwindowcoord"](x,y,s)
INTEGER*2 x,y
STRUCTURE/wxycoord/
DOUBLE PRECISION wx
DOUBLE PRECISION wy
END STRUCTURE
RECORD/wxycoord/s[FAR,REFERENCE]
END
INTERFACE TO FUNCTION getwritemode()
INTEGER*2 getwritemode[FAR,C,ALIAS:"__getwritemode"]
END
INTERFACE TO FUNCTION grstatus()
INTEGER*2 grstatus[FAR,C,ALIAS:"__grstatus"]
END
INTERFACE TO FUNCTION imagesize(x1,y1,x2,y2)
INTEGER*4 imagesize[FAR,C,ALIAS:"__imagesize"]
INTEGER*2 x1,y1,x2,y2
END
INTERFACE TO FUNCTION imagesize_w(wx1,wy1,wx2,wy2)
INTEGER*4 imagesize_w[FAR,C,ALIAS:"__imagesize_w"]
DOUBLE PRECISION wx1,wy1,wx2,wy2
END
INTERFACE TO FUNCTION lineto(x,y)
INTEGER*2 lineto[FAR,C,ALIAS:"__lineto"],x,y
END
INTERFACE TO FUNCTION lineto_w(wx,wy)
INTEGER*2 lineto_w[FAR,C,ALIAS:"__lineto_w"]
DOUBLE PRECISION wx,wy
END
INTERFACE TO SUBROUTINE
+ moveto[FAR,C,ALIAS:"__f_moveto"](x,y,s)
INTEGER*2 x,y
STRUCTURE/xycoord/
INTEGER*2 xcoord
INTEGER*2 ycoord
END STRUCTURE
RECORD/xycoord/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ moveto_w[FAR,C,ALIAS:"__f_moveto_w"](wx,wy,s)
DOUBLE PRECISION wx,wy
STRUCTURE/wxycoord/
DOUBLE PRECISION wx
DOUBLE PRECISION wy
END STRUCTURE
RECORD/wxycoord/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ outtext[FAR,C,ALIAS:"__f_outtext"](text)
CHARACTER*(*) text[FAR,REFERENCE]
END
INTERFACE TO FUNCTION pie(i,x1,y1,x2,y2,x3,y3,x4,y4)
INTEGER*2 pie[FAR,C,ALIAS:"__pie"],i,x1,y1,x2,y2,x3,y3,x4,y4
END
INTERFACE TO FUNCTION pie_w(i,wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4)
INTEGER*2 pie_w[FAR,C,ALIAS:"__pie_w"],i
DOUBLE PRECISION wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4
END
INTERFACE TO FUNCTION polygon(control,lppoints,cpoints)
INTEGER*2 polygon[FAR,C,ALIAS:"__polygon"],control,cpoints
STRUCTURE/xycoord/
INTEGER*2 xcoord
INTEGER*2 ycoord
END STRUCTURE
RECORD/xycoord/lppoints[FAR,REFERENCE](*)
END
INTERFACE TO FUNCTION polygon_w(control,lppoints,cpoints)
INTEGER*2 polygon_w[FAR,C,ALIAS:"__polygon_w"],control,cpoints
STRUCTURE/wxycoord/
DOUBLE PRECISION wx
DOUBLE PRECISION wy
END STRUCTURE
RECORD/wxycoord/lppoints[FAR,REFERENCE](*)
END
INTERFACE TO SUBROUTINE
+ putimage[FAR,C,ALIAS:"__putimage"](x,y,image,action)
INTEGER*2 x,y,action
INTEGER*1 image[FAR,REFERENCE](*)
END
INTERFACE TO SUBROUTINE
+ putimage_w[FAR,C,ALIAS:"__putimage_w"](wx,wy,image,action)
DOUBLE PRECISION wx,wy
INTEGER*1 image[FAR,REFERENCE](*)
INTEGER*2 action
END
INTERFACE TO FUNCTION rectangle(control,x1,y1,x2,y2)
INTEGER*2 rectangle[FAR,C,ALIAS:"__rectangle"]
INTEGER*2 control,x1,y1,x2,y2
END
INTERFACE TO FUNCTION rectangle_w(control,wx1,wy1,wx2,wy2)
INTEGER*2 rectangle_w[FAR,C,ALIAS:"__rectangle_w"],control
DOUBLE PRECISION wx1,wy1,wx2,wy2
END
INTERFACE TO FUNCTION remappalette(index,color)
INTEGER*4 remappalette[FAR,C,ALIAS:"__remappalette"],color
INTEGER*2 index
END
INTERFACE TO FUNCTION remapallpalette(colors)
INTEGER*2 remapallpalette[FAR,C,ALIAS:"__remapallpalette"]
INTEGER*4 colors[FAR,REFERENCE](*)
END
INTERFACE TO SUBROUTINE
+ scrolltextwindow[FAR,C,ALIAS:"__scrolltextwindow"](rows)
INTEGER*2 rows
END
INTERFACE TO FUNCTION selectpalette(number)
INTEGER*2 selectpalette[FAR,C,ALIAS:"__selectpalette"],number
END
INTERFACE TO FUNCTION setactivepage(page)
INTEGER*2 setactivepage[FAR,C,ALIAS:"__setactivepage"],page
END
INTERFACE TO FUNCTION setbkcolor(color)
INTEGER*4 setbkcolor[FAR,C,ALIAS:"__setbkcolor"],color
END
INTERFACE TO SUBROUTINE
+ setcliprgn[FAR,C,ALIAS:"__setcliprgn"](x1,y1,x2,y2)
INTEGER*2 x1,y1,x2,y2
END
INTERFACE TO FUNCTION setcolor(color)
INTEGER*2 setcolor[FAR,C,ALIAS:"__setcolor"]
INTEGER*2 color
END
INTERFACE TO SUBROUTINE
+ setfillmask[FAR,C,ALIAS:"__setfillmask"](mask)
INTEGER*1 mask[FAR,REFERENCE](8)
END
INTERFACE TO SUBROUTINE
+ setlinestyle[FAR,C,ALIAS:"__setlinestyle"](mask)
INTEGER*2 mask
END
INTERFACE TO FUNCTION setpixel(x,y)
INTEGER*2 setpixel[FAR,C,ALIAS:"__setpixel"],x,y
END
INTERFACE TO FUNCTION setpixel_w(wx,wy)
INTEGER*2 setpixel_w[FAR,C,ALIAS:"__setpixel_w"]
DOUBLE PRECISION wx,wy
END
INTERFACE TO FUNCTION settextcolor(index)
INTEGER*2 settextcolor[FAR,C,ALIAS:"__settextcolor"],index
END
INTERFACE TO FUNCTION settextcursor(attr)
INTEGER*2 settextcursor[FAR,C,ALIAS:"__settextcursor"],attr
END
INTERFACE TO SUBROUTINE
+ settextposition[FAR,C,ALIAS:"__f_settextposition"](row,col,s)
INTEGER*2 row,col
STRUCTURE/rccoord/
INTEGER*2 row
INTEGER*2 col
END STRUCTURE
RECORD/rccoord/s[FAR,REFERENCE]
END
INTERFACE TO FUNCTION settextrows(rows)
INTEGER*2 settextrows[FAR,C,ALIAS:"__settextrows"],rows
END
INTERFACE TO SUBROUTINE
+ settextwindow[FAR,C,ALIAS:"__settextwindow"](r1,c1,r2,c2)
INTEGER*2 r1,c1,r2,c2
END
INTERFACE TO FUNCTION setvideomode(mode)
INTEGER*2 setvideomode[FAR,C,ALIAS:"__setvideomode"],mode
END
INTERFACE TO FUNCTION setvideomoderows(mode,rows)
INTEGER*2 setvideomoderows[FAR,C,ALIAS:"__setvideomoderows"]
INTEGER*2 mode,rows
END
INTERFACE TO SUBROUTINE
+ setvieworg[FAR,C,ALIAS:"__f_setvieworg"](x,y,s)
INTEGER*2 x,y
STRUCTURE/xycoord/
INTEGER*2 xcoord
INTEGER*2 ycoord
END STRUCTURE
RECORD/xycoord/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ setviewport[FAR,C,ALIAS:"__setviewport"](x1,y1,x2,y2)
INTEGER*2 x1,y1,x2,y2
END
INTERFACE TO FUNCTION setvisualpage(page)
INTEGER*2 setvisualpage[FAR,C,ALIAS:"__setvisualpage"],page
END
INTERFACE TO FUNCTION setwindow(finvert,wx1,wy1,wx2,wy2)
INTEGER*2 setwindow[FAR,C,ALIAS:"__setwindow"]
LOGICAL*2 finvert
DOUBLE PRECISION wx1,wy1,wx2,wy2
END
INTERFACE TO FUNCTION setwritemode(wmode)
INTEGER*2 setwritemode[FAR,C,ALIAS:"__setwritemode"],wmode
END
INTERFACE TO FUNCTION wrapon(option)
INTEGER*2 wrapon[FAR,C,ALIAS:"__wrapon"],option
END
* FONTS
INTERFACE TO FUNCTION getfontinfo(fi)
INTEGER*2 getfontinfo[FAR,C,ALIAS:"__f_getfontinfo"]
STRUCTURE/fontinfo/
INTEGER*2 type ! b0 set = vector,clear = bit map
INTEGER*2 ascent ! pix dist from top to baseline
INTEGER*2 pixwidth ! character width in pixels, 0=prop
INTEGER*2 pixheight ! character height in pixels
INTEGER*2 avgwidth ! average character width in pixels
CHARACTER*81 filename ! file name including path
CHARACTER*32 facename ! font name
END STRUCTURE
RECORD/fontinfo/fi[FAR,REFERENCE]
END
INTERFACE TO FUNCTION getgtextextent(text)
INTEGER*2 getgtextextent[FAR,C,ALIAS:"__f_getgtextextent"]
CHARACTER*(*) text[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ getgtextvector[FAR,C,ALIAS:"__f_getgtextvector"](x,y)
INTEGER*2 x[FAR,REFERENCE],y[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ outgtext[FAR,C,ALIAS:"__f_outgtext"](text)
CHARACTER*(*) text[FAR,REFERENCE]
END
INTERFACE TO FUNCTION registerfonts(filename)
INTEGER*2 registerfonts[FAR,C,ALIAS:"__f_registerfonts"]
CHARACTER*(*) filename[FAR,REFERENCE]
END
INTERFACE TO FUNCTION setfont(options)
INTEGER*2 setfont[FAR,C,ALIAS:"__f_setfont"]
CHARACTER*(*) options[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
+ setgtextvector[FAR,C,ALIAS:"__setgtextvector"](x,y)
INTEGER*2 x,y
END
INTERFACE TO SUBROUTINE
+ unregisterfonts[FAR,C,ALIAS:"__unregisterfonts"]()
END