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