486 lines
13 KiB
Plaintext
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
|
|
|