dos_compilers/Microsoft Fortran v5/include/FGRAPH.FI
2024-07-02 07:02:04 -07:00

429 lines
13 KiB
Plaintext

***
*fgraph.fi - declare constants and functions for graphics library
*
* Copyright (c) 1987-1989 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:"__f_arc_w"]
DOUBLE PRECISION wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4
END
INTERFACE TO SUBROUTINE
1 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:"__f_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:"__f_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
1 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
1 getcurrentposition_w[FAR,C,ALIAS:"__f_getcurpos_w"](s)
STRUCTURE/wxycoord/
DOUBLE PRECISION wx
DOUBLE PRECISION wy
END STRUCTURE
RECORD/wxycoord/s[FAR,REFERENCE]
END
INTERFACE TO SUBROUTINE
1 getfillmask[FAR,C,ALIAS:"__getfillmask"] (mask)
INTEGER*1 mask[FAR,REFERENCE](8)
END
INTERFACE TO SUBROUTINE
1 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
1 getimage_w[FAR,C,ALIAS:"__f_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
1 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:"__f_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
1 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
1 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
1 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
1 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
1 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 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:"__f_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:"__f_lineto_w"]
DOUBLE PRECISION wx,wy
END
INTERFACE TO SUBROUTINE
1 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
1 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
1 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:"__f_pie_w"],i
DOUBLE PRECISION wx1,wy1,wx2,wy2,wx3,wy3,wx4,wy4
END
INTERFACE TO SUBROUTINE
1 putimage[FAR,C,ALIAS:"__putimage"](x,y,image,action)
INTEGER*2 x,y,action
INTEGER*1 image[FAR,REFERENCE](*)
END
INTERFACE TO SUBROUTINE
1 putimage_w[FAR,C,ALIAS:"__f_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:"__f_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
1 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
1 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
1 setfillmask[FAR,C,ALIAS:"__setfillmask"] (mask)
INTEGER*1 mask[FAR,REFERENCE](8)
END
INTERFACE TO SUBROUTINE
1 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:"__f_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
1 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
1 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
1 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
1 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 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
1 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
1 unregisterfonts[FAR,C,ALIAS:"__unregisterfonts"]()
END