Browse Source

+ up to SetUserCharSize added.

carl 26 years ago
parent
commit
a4c889ced7
1 changed files with 174 additions and 104 deletions
  1. 174 104
      rtl/inc/graph/graph.tex

+ 174 - 104
rtl/inc/graph/graph.tex

@@ -352,27 +352,6 @@ None.
 \seep{SetRGBPalette}, \seep{SetPalette}
 \seep{SetRGBPalette}, \seep{SetPalette}
 \end{procedure}
 \end{procedure}
 ------------------------
 ------------------------
-\begin{procedure}{SetPalette}
-\Declaration
-Procedure SetPalette (ColorNum : Word; Color : Shortint);
-
-\Description
-\var{SetPalette} changes the \var{ColorNum}-th entry in the palette to
-\var{Color}. For examples, \var{SetPalette(0, LightCyan)} makes the first
-color in the palette light cyan. \var{Color} only accepts certain default
-colors, as specified in the \var{Color constants} section. If invalid
-input is passed to \var{SetPalette}, \var{GraphResult} returns a value
-of \var{grError} and the palette remains intact.
-
-Changes made to the palette are immediately visible on the screen.
-
-This routine returns \var{grError} if called in a direct color mode.
-
-\Errors
-None.
-\SeeAlso
-\seep{SetAllPallette},\seep{SetRGBPalette}
-\end{procedure}
 
 
 ------------------------
 ------------------------
 \begin{procedure}{GetDefaultPalette}
 \begin{procedure}{GetDefaultPalette}
@@ -418,25 +397,6 @@ None.
 \seef{GetPaletteSize}, \seep{SetPalette}
 \seef{GetPaletteSize}, \seep{SetPalette}
 \end{procedure}
 \end{procedure}
 ---------------------------
 ---------------------------
-\begin{procedure}{SetRGBPalette}
-\Declaration
-Procedure SetRGBPalette (ColorNum,Red,Green,Blue : Integer);
-
-\Description
-\var{SetRGBPalette} sets the \var{ColorNum}-th entry in the palette to the
-color with RGB values \var{Red, Green Blue}. The Red , Green and Blue values
-must be in LSB format. If the palette entry could not be changed for a
-reason, the routine returns \var{grError}.
-
-This routine returns \var{grError} if called in a direct color mode.
-
-\Errors
-None.
-\SeeAlso
-\seep{SetAllPallette},
-\seep{SetPalette}
-\seep{GetRGBPalette}
-\end{procedure}
 ---------------------------
 ---------------------------
 \begin{function}{GetBkColor}
 \begin{function}{GetBkColor}
 \Declaration
 \Declaration
@@ -487,24 +447,6 @@ None.
 \end{procedure}
 \end{procedure}
 
 
 ----------------------------
 ----------------------------
-\begin{procedure}{SetColor}
-\Declaration
-Procedure SetColor (Color : Word);
-
-\Description
-Sets the foreground color to
-\var{Color}.
-
-The behaviour of this routine depends if we are in a direct color
-mode or not. In direct color mode, this value represents the direct
-RGB values to plot to the screen. In non direct color mode, the value
-represents an index to the color palette entry on the hardware.
-
-\Errors
-None.
-\SeeAlso
-\seef{GetColor}, \seep{SetBkColor}
-\end{procedure}
 ----------------------------
 ----------------------------
 \begin{procedure}{SetDirectVideo}
 \begin{procedure}{SetDirectVideo}
 \Declaration
 \Declaration
@@ -567,24 +509,6 @@ None.
 
 
 
 
 ----------------------------
 ----------------------------
-\begin{procedure}{SetBkColor}
-\Declaration
-Procedure SetBkColor (Color : Word);
-
-\Description
-Sets the background color to
-\var{Color}.
-
-The behaviour of this routine depends if we are in a direct color
-mode or not. In direct color mode, this value represents the direct
-RGB values to plot to the screen. In non direct color mode, the value
-represents an index to the color palette entry on the hardware.
-
-\Errors
-None.
-\SeeAlso
-\seef{GetBkColor}, \seep{SetColor}
-\end{procedure}
 
 
 
 
 \section{Reference}
 \section{Reference}
@@ -1556,12 +1480,14 @@ end.
 \end{verbatim}
 \end{verbatim}
 \begin{procedure}{Sector}
 \begin{procedure}{Sector}
 \Declaration
 \Declaration
-Procedure Sector (X,Y : Integer; \\ Start,Stop,XRadius,YRadius : Word);
+Procedure Sector (X,Y : Integer; StAngle,EndAngle,XRadius,YRadius : Word);
 
 
 \Description
 \Description
 \var{Sector}
 \var{Sector}
 draws and fills a sector of an ellipse  with center \var{(X,Y)} and radii
 draws and fills a sector of an ellipse  with center \var{(X,Y)} and radii
-\var{XRadius} and \var{YRadius}, starting at angle \var{Start} and ending at angle \var{Stop}.
+\var{XRadius} and \var{YRadius}, starting at angle \var{StAngle} and ending at angle
+\var{EndAngle}. The sector is outlined in the current color and filled with
+the pattern and color defined by \var{SetFillStyle} or \var{SetFillPattern}.
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso
@@ -1573,10 +1499,23 @@ Procedure SetActivePage (Page : Word);
 
 
 \Description
 \Description
 Sets \var{Page} as the active page
 Sets \var{Page} as the active page
-for all graphical output.
+for all graphical output. This means that all drawing will be done on this
+graphics, be it visible or not.
+
+The usual way to make fast animation, is to draw to a non visible active page
+and the simply call make that active page the visible page by calling
+\var{SetVisualPage}.
+
+\textit{Compatibility}:
+Not all systems and graphics mode support multiple graphics pages, to
+determine how many pages are available see \var{QueryAdapterInfo}.
+
+Multiple pages are currently not supported with DOS VESA modes.
+
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso
+\seep{SetVisualPage}, \seep{QueryAdapterInfo}
 
 
 \end{procedure}
 \end{procedure}
 \begin{procedure}{SetAllPallette}
 \begin{procedure}{SetAllPallette}
@@ -1586,7 +1525,19 @@ Procedure SetAllPallette (Var Palette);
 \Description
 \Description
 Sets the current palette to
 Sets the current palette to
 \var{Palette}. \var{Palette} is an untyped variable, usually pointing to a
 \var{Palette}. \var{Palette} is an untyped variable, usually pointing to a
-record of type \var{PaletteType}
+record of type \var{PaletteType} which contains the Red, Green and Blue
+components of the RGB components to change for each color entry. If
+the Red, Green and Blue components are equal to -1 for a specific color
+entry, then that palette entry will not be changed. The size should
+contain the size of the palette to change (indexed at zero).
+
+\textit{Compatibility}:
+
+This call is not the same as in Turbo Pascal. RGB components should be
+set in LSB if each of the components has less then 16-bits resolution.
+
+This call is not supported in direct color modes.
+
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso
@@ -1598,21 +1549,66 @@ Procedure SetAspectRatio (Xasp,Yasp : Word);
 
 
 \Description
 \Description
 Sets the aspect ratio of the
 Sets the aspect ratio of the
-current screen to \var{Xasp/Yasp}.
+current screen to \var{Xasp/Yasp}. The value of the aspect ratio is used
+by certain routines herein to draw circles which will actually appear round
+depending on the screen mode.
 \Errors
 \Errors
 None
 None
 \SeeAlso
 \SeeAlso
 \seep{InitGraph}, \seep{GetAspectRatio}
 \seep{InitGraph}, \seep{GetAspectRatio}
 \end{procedure}
 \end{procedure}
+\begin{procedure}{SetBkColor}
+\Declaration
+Procedure SetBkColor (Color : Word);
+
+\Description
+Sets the background color to
+\var{Color}.
+
+The behaviour of this routine depends if we are in a direct color
+mode or not. In direct color mode, this value represents the direct
+RGB values to plot to the screen. In non direct color mode, the value
+represents an index to the color palette entry on the hardware.
+
+\Errors
+None.
+\SeeAlso
+\seef{GetBkColor}, \seep{SetColor}
+\end{procedure}
+\begin{procedure}{SetColor}
+\Declaration
+Procedure SetColor (Color : Word);
+
+\Description
+Sets the foreground color to
+\var{Color}.
+
+The behaviour of this routine depends if we are in a direct color
+mode or not. In direct color mode, this value represents the direct
+RGB values to plot to the screen. In non direct color mode, the value
+represents an index to the color palette entry on the hardware.
+
+\Errors
+None.
+\SeeAlso
+\seef{GetColor}, \seep{SetBkColor}
+\end{procedure}
 \begin{procedure}{SetFillPattern}
 \begin{procedure}{SetFillPattern}
 \Declaration
 \Declaration
-Procedure SetFillPattern (FillPattern : FillPatternType,\\ Color : Word);
+Procedure SetFillPattern (Pattern : FillPatternType, Color : Word);
 
 
 \Description
 \Description
-\var{SetFillPattern} sets the current fill-pattern to \var{FillPattern}, and
-the filling color to \var{Color}
+\var{SetFillPattern} sets the current fill-pattern to \var{Pattern}, and
+the filling color to \var{Color}. If invalid input is passed to
+\var{SetFillPattern}, \var{GraphResult} will return \var{grError}.
+
 The pattern is an 8x8 raster, corresponding to the 64 bits in
 The pattern is an 8x8 raster, corresponding to the 64 bits in
-\var{FillPattern}.
+\var{FillPattern}. Whenever a bit in a pattern byte is valued at 1,
+a pixel will be plotted. The pattern and color is used by \var{Bar},
+\var{FillPoly}, \var{FloodFill}, \var{bar3d}, \var{FillEllipse},
+\var{Sector}, and \var{PieSlice}.
+
+
 \Errors
 \Errors
 None
 None
 \SeeAlso
 \SeeAlso
@@ -1620,7 +1616,7 @@ None
 \end{procedure}
 \end{procedure}
 \begin{procedure}{SetFillStyle}
 \begin{procedure}{SetFillStyle}
 \Declaration
 \Declaration
-Procedure SetFillStyle (Pattern,Color : word);
+Procedure SetFillStyle (Pattern, Color : word);
 
 
 \Description
 \Description
 \var{SetFillStyle} sets the filling pattern and color to one of the
 \var{SetFillStyle} sets the filling pattern and color to one of the
@@ -1636,12 +1632,15 @@ constants :
 \item \var{LtBkSlashFill} Idem as previous, normal lines.
 \item \var{LtBkSlashFill} Idem as previous, normal lines.
 \item \var{HatchFill}  Fills with a hatch-like pattern.
 \item \var{HatchFill}  Fills with a hatch-like pattern.
 \item \var{XHatchFill} Fills with a hatch pattern, rotated 45 degrees.
 \item \var{XHatchFill} Fills with a hatch pattern, rotated 45 degrees.
-\item \var{InterLeaveFill} 
+\item \var{InterLeaveFill}
 \item \var{WideDotFill} Fills with dots, wide spacing.
 \item \var{WideDotFill} Fills with dots, wide spacing.
 \item \var{CloseDotFill} Fills with dots, narrow spacing.
 \item \var{CloseDotFill} Fills with dots, narrow spacing.
 \item \var{UserFill} Fills with a user-defined pattern.
 \item \var{UserFill} Fills with a user-defined pattern.
 \end{itemize}
 \end{itemize}
 
 
+If invalid input is passed to \var{SetFillStyle},
+\var{GraphResult} will return \var{grError}.
+
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso
@@ -1652,8 +1651,7 @@ None.
 Procedure SetGraphBufSize (BufSize : Word);
 Procedure SetGraphBufSize (BufSize : Word);
 
 
 \Description
 \Description
-\var{SetGraphBufSize} 
-sets the graphical buffer size. The default size is 4Kb
+This routine does nothing in FPC, and is here for compatibility.
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso
@@ -1665,16 +1663,25 @@ Procedure SetGraphMode (Mode : Integer);
 
 
 \Description
 \Description
 \var{SetGraphMode} sets the
 \var{SetGraphMode} sets the
-graphical mode and clears the screen.
+graphical mode and clears the screen. \var{Mode} must be a valid mode,
+which can be queried by \var{QueryAdapterInfo}.
+
+If invalid input is passed to \var{SetGraphMode}, or if the mode cannot
+be set for a reason, \var{GraphResult} returns \var{grInvalidMode}.
+
+\var{SetGraphMode} resets all graphics variables to their default
+settings (such as if \var{GraphDefaults} was called, the active page
+is reset to page zero, the visual page is reset to page zero, and the viewport
+is set to the entire screen.
+
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso
-\seep{InitGraph}
+\seep{InitGraph}, \seep{QueryAdapterInfo}
 \end{procedure}
 \end{procedure}
 \begin{procedure}{SetLineStyle}
 \begin{procedure}{SetLineStyle}
 \Declaration
 \Declaration
-Procedure SetLineStyle (LineStyle,Pattern,Width :
-Word);
+Procedure SetLineStyle (LineStyle, Pattern, Thickness : Word);
 
 
 \Description
 \Description
 \var{SetLineStyle}
 \var{SetLineStyle}
@@ -1687,8 +1694,10 @@ one of the following pre-defined constants:
 \item \var{Dashedln=3;} draws a dashed line.
 \item \var{Dashedln=3;} draws a dashed line.
 \item \var{UserBitln=4;} Draws a User-defined bit pattern.
 \item \var{UserBitln=4;} Draws a User-defined bit pattern.
 \end{itemize}
 \end{itemize}
-If \var{UserBitln} is specified then \var{Pattern} contains the bit pattern.
-In all another cases, \var{Pattern} is ignored. The parameter \var{Width}
+If \var{UserBitln} is specified then \var{Pattern} contains the bit pattern to
+use for drawing the line. A bit of 1 specified a pixel which is on.
+
+In all another cases, \var{Pattern} is ignored. The parameter \var{Thickness}
 indicates how thick the line should be. You can specify one of the following
 indicates how thick the line should be. You can specify one of the following
 pre-defined constants:
 pre-defined constants:
 \begin{itemize}
 \begin{itemize}
@@ -1696,33 +1705,79 @@ pre-defined constants:
 \item \var{ThickWidth=3}
 \item \var{ThickWidth=3}
 \end{itemize}
 \end{itemize}
 
 
+If invalid input is passed to \var{SetLineStyle} , \var{GraphResult} will
+return \var{grError}.
+
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso
 \seep{GetLineSettings}
 \seep{GetLineSettings}
 \end{procedure}
 \end{procedure}
+\begin{procedure}{SetPalette}
+\Declaration
+Procedure SetPalette (ColorNum : Word; Color : Shortint);
+
+\Description
+\var{SetPalette} changes the \var{ColorNum}-th entry in the palette to
+\var{Color}. For examples, \var{SetPalette(0, LightCyan)} makes the first
+color in the palette light cyan. \var{Color} only accepts certain default
+colors, as specified in the \var{Color constants} section. If invalid
+input is passed to \var{SetPalette}, \var{GraphResult} returns a value
+of \var{grError} and the palette remains intact.
+
+Changes made to the palette are immediately visible on the screen.
+
+This routine returns \var{grError} if called in a direct color mode.
+
+\Errors
+None.
+\SeeAlso
+\seep{SetAllPallette},\seep{SetRGBPalette}
+\end{procedure}
+\begin{procedure}{SetRGBPalette}
+\Declaration
+Procedure SetRGBPalette (ColorNum,Red,Green,Blue : Integer);
+
+\Description
+\var{SetRGBPalette} sets the \var{ColorNum}-th entry in the palette to the
+color with RGB values \var{Red, Green Blue}. The Red , Green and Blue values
+must be in LSB format. If the palette entry could not be changed for a
+reason, the routine returns \var{grError}.
+
+This routine returns \var{grError} if called in a direct color mode.
+
+\Errors
+None.
+\SeeAlso
+\seep{SetAllPallette},
+\seep{SetPalette}
+\seep{GetRGBPalette}
+\end{procedure}
 \begin{procedure}{SetTextJustify}
 \begin{procedure}{SetTextJustify}
 \Declaration
 \Declaration
-Procedure SetTextJustify (Horizontal,Vertical : Word);
+Procedure SetTextJustify (Horiz, Vert : Word);
 
 
 \Description
 \Description
-\var{SetTextJustify} controls the placement of new text, relative to the 
-(graphical) cursor position. \var{Horizontal} controls horizontal placement, and can be
+\var{SetTextJustify} controls the placement of new text, relative to the
+(graphical) cursor position. \var{Horiz} controls horizontal placement, and can be
 one of the following pre-defined constants:
 one of the following pre-defined constants:
 \begin{itemize}
 \begin{itemize}
-\item \var{LeftText=0;} Text is set left of the pointer.
-\item \var{CenterText=1;} Text is set centered horizontally on the pointer.
-\item \var{RightText=2;} Text is set to the right of the pointer.
+\item \var{LeftText=0;} Text is set left of the current pointer.
+\item \var{CenterText=1;} Text is set centered horizontally on the current pointer.
+\item \var{RightText=2;} Text is set to the right of the current pointer.
 \end{itemize}
 \end{itemize}
 \var{Vertical} controls the vertical placement of the text, relative to the
 \var{Vertical} controls the vertical placement of the text, relative to the
 (graphical) cursor position. Its value can be one of the following
 (graphical) cursor position. Its value can be one of the following
 pre-defined constants :
 pre-defined constants :
 \begin{itemize}
 \begin{itemize}
-\item \var{BottomText=0;} Text is placed under the pointer.
-\item \var{CenterText=1;} Text is placed centered vertically on the pointer.
-\item \var{TopText=2;}Text is placed above the pointer.
+\item \var{BottomText=0;} Text is placed under the current pointer.
+\item \var{CenterText=1;} Text is placed centered vertically on the current pointer.
+\item \var{TopText=2;}Text is placed above the current pointer.
 \end{itemize}
 \end{itemize}
 
 
+If invalid input is passed \var{SetTextJustify} , \var{GraphResult} returns
+\var{grError}.
+
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso
@@ -1742,11 +1797,26 @@ pre-defined constants for \var{Font} are:
 \item \var{SansSerifFont=3;}
 \item \var{SansSerifFont=3;}
 \item \var{GothicFont=4;}
 \item \var{GothicFont=4;}
 \end{itemize}
 \end{itemize}
+
+
 Pre-defined constants for \var{Direction} are :
 Pre-defined constants for \var{Direction} are :
 \begin{itemize}
 \begin{itemize}
 \item \var{HorizDir=0;}
 \item \var{HorizDir=0;}
 \item \var{VertDir=1;}
 \item \var{VertDir=1;}
 \end{itemize}
 \end{itemize}
+
+Charsize indicated the magnification factor to use when drawing the fonts
+to the screen. When using the default internal font, this value can be
+any value equal or greater to one. In the case of stroked fonts, the
+value should always be equal or greater then 4.
+
+Stroked fonts are usually loaded from disk once onto the heap when a call
+is made to \var{SetTextStyle}.
+
+If there is an error when using this routine, \var{GraphResult} might return
+\var{grFontNotFound}, \var{grNoFontMem}, \var{grError}, \var{grIoError},
+\var{grInvalidFont}, or \var{grInvalidFontNum}.
+
 \Errors
 \Errors
 None.
 None.
 \SeeAlso
 \SeeAlso