THE BASIC LANGUAGE REFERENCE.   BASIC 7.1
PART 2.   ADD-ON-LIBRARY REFERENCE
PRESENTATION GRAPHICS TOOLBOX

              S   U   B   T   I   T   L   E   S   :
              PRESENTATION GRAPHICS ERROR CODES
              CHART SUB
              CHARTMS SUB
              CHARTPIE SUB
              CHARTSCATTER SUB
              CHARTSCATTERMS SUB
              CHARTSCREEN SUB
              DEFAULTCHART SUB
              GETPALETTEDEF SUB
              GETPATTERN$ FUNCTION
              LABELCHARTH SUB
              LABELCHARTV SUB
              MAKECHARTPATTERN$ FUNCTION
              RESETPALETTEDEF SUB
              SETPALETTEDEF SUB
              PRESENTATION GRAPHICS SUB AND FUNCTION PROCEDURES (2ND PART)
              FONT SUB AND FUNCTION PROCEDURES

THE FIRST PART OF THIS SECTION DESCRIBES THE SUB AND FUNCTION PROCEDURES THAT ARE SUPPORTED BY THE PRESENTATION GRAPHICS TOOLBOX. THE SECOND PART, AT FOOTPAGE, DESCRIBES THE SUB AND FUNCTION PROCEDURES THAT ARE SUPPORTED BY THE FONTS TOOLBOX. THE FONTS TOOLBOX CAN BE USED WITH THE PRESENTATION GRAPHICS TOOLBOX OR INDEPENDENTLY TO DRAW GRAPHICS TEXT.

THE PRESENTATION GRAPHICS TOOLBOX (CHRTB.BAS), INCLUDED WITH THE BASIC 7.0 COMPILER, CONTAINS A SET OF ROUTINES FOR DEFINING, ANALYZING, AND PRINTING CHARTS ON THE SCREEN.

THERE ARE FIVE KINDS OF CHARTS, EACH AVAILABLE IN TWO STYLES AS SHOWN HERE:
STYLE  BAR      COLUMN   LINE         SCATTER      PIE
1      PLAIN    PLAIN    LINES AND    LINES AND    PERCENT
                         POINTS       POINTS       DISPLAYED
2      STACKED  STACKED  POINTS ONLY  POINTS ONLY  NO PERCENT
TO USE THE TOOLBOX, YOU FIRST MUST DECLARE THE DIMENSIONS FOR A VARIABLE AS THE USER-DEFINED TYPE CHARTENVIRONMENT. THE DEFINITION FOR THIS TYPE IS FOUND IN THE CHRTB.BI HEADER FILE. THIS FILE ALSO CONTAINS DEFINITIONS FOR CONSTANTS THAT CAN BE USED AS ARGUMENTS TO THE PROCEDURES DESCRIBED IN THIS SECTION. USING THESE CONSTANTS IN PLACE OF HAND-CODED NUMERICS WILL MAKE YOUR PROGRAM CLEANER AND EASIER TO DEBUG.

( TOP ) PRESENTATION GRAPHICS ERROR CODES ( TOP )

IF AN ERROR OCCURS DURING THE EXECUTION OF A PRESENTATION GRAPHICS PROCEDURE, THE VARIABLE CHARTERR WILL CONTAIN A NON-ZERO VALUE. FOR NON-BASIC ERRORS, THE ERROR NUMBERS CAN BE TESTED USING NUMERICS OR CONSTANTS AS DEFINED IN THE CHRTB.BI HEADER FILE. THE MEANING OF A NON-BASIC ERROR:
NUMBER  CONSTANT NAME   TYPE OF ERROR

15   CBADLOGBASE        LOGBASE <= 0
20   CBADSCALEFACTOR    SCALEFACTOR = 0
25   CBADSCREEN         INVALID SCREEN MODE
30   CBADSTYLE          INVALID CHART STYLE
105  CBADDATAWINDOW     DATA WINDOW CALCULATED TOO SMALL
110  CBADLEGENDWINDOW   LEGEND-WINDOW COORDINATES INVALID
135  CBADTYPE           INVALID CHART TYPE
155  CTOOFEWSERIES      TOO FEW SERIES (FIRST% > LAST%)1
160  CTOOSMALLN         NO DATA IN SERIES (N% = 0)2
165  CBADPALETTE        PALETTE NOT DIMENSIONED CORRECTLY
170  CPALETTESNOTSET    SETPALETTEDEF PROCEDURE HASN'T BEEN USED
175  CNOFONTSPACE       NO MORE ROOM FOR NEW FONTS 
NUMBERS GREATER THAN 100 ARE FATAL ERRORS AND WILL CAUSE CHARTING ROUTINES TO EXIT. IF BASIC GENERATES AN ERROR, THE VALUE OF CHARTERR IS EQUAL TO 200 PLUS THE BASIC ERROR NUMBER. (SEE APPENDIX D, "ERROR MESSAGES" FOR A COMPLETE LIST OF BASIC ERROR MESSAGES).

( TOP ) CHART SUB ( TOP )

ACTION:   DRAWS BAR, COLUMN, AND LINE CHARTS.
SYNTAX:   CHART ENV, CAT$(), VALUE!(), N%

REMARKS.—   THE CHART PROCEDURE USES THE FOLLOWING ARGUMENTS:

ENV:   A VARIABLE DIMENSIONED AS TYPE CHARTENVIRONMENT.
CAT$():   A ONE-DIMENSIONAL STRING ARRAY OF CATEGORY NAMES.
VALUE!():   A ONE-DIMENSIONAL SINGLE-PRECISION ARRAY THAT CONTAINS THE CHART DATA.
N%:   AN INTEGER THAT CONTAINS THE NUMBER OF DATA ITEMS IN VALUE!().

THE VALUE!() AND CAT$() ARRAYS MUST HAVE A LOWER BOUND OF 1. THE ANALYZECHART ROUTINE USES THE SAME ARGUMENTS AS CHART. ANALYZECHART ANALYZES AND DEFINES PARAMETERS IN THE CHART ENVIRONMENT BASED ON THE INPUT DATA, BUT IT DOES NOT PRINT A CHART ON THE SCREEN.

( TOP ) CHARTMS SUB ( TOP )

ACTION:   DRAWS MULTI-SERIES BAR, COLUMN, AND LINE CHARTS.
SYNTAX:   CHARTMS ENV, CAT$(), VALUE!(), N%, FIRST%, LAST%, SERIESLABEL$()

REMARKS.—   THE CHARTMS PROCEDURE USES THE FOLLOWING ARGUMENTS:

ENV:   A VARIABLE DIMENSIONED AS TYPE CHARTENVIRONMENT.
CAT$():   A ONE-DIMENSIONAL STRING ARRAY OF CATEGORY LABELS.
VALUE!():   A TWO-DIMENSIONAL SINGLE-PRECISION ARRAY OF VALUES THAT CONTAINS MULTIPLE SERIES OF DATA.

N%:   AN INTEGER THAT CONTAINS THE NUMBER OF DATA ITEMS IN EACH SERIES TO BE CHARTED.
FIRST%:   AN INTEGER THAT INDICATES THE FIRST SERIES IN ARRAY VALUE!() TO BE CHARTED.
LAST%:   AN INTEGER THAT INDICATES THE LAST SERIES IN ARRAY VALUE!() TO BE CHARTED.
SERIESLABEL$():   A ONE-DIMENSIONAL STRING ARRAY THAT CONTAINS LABELS FOR THE DIFFERENT DATA SERIES.

THE DIMENSIONS FOR THE VALUE!() AND SERIESLABEL$() ARRAYS ARE DECLARED AS FOLLOWS:

DIM VAL!(1 TO N%, FIRST% TO LAST%)
DIM SERIESLABEL$(FIRST% TO LAST%)

TO CHART ALL SERIES, SET FIRST% TO 1 AND LAST% TO THE LAST SERIES NUMBER IN ARRAY VALUE!(). TO CHART SEVERAL CONTIGUOUS SERIES, SET FIRST% TO THE LOWEST SERIES NUMBER AND LAST% TO THE HIGHEST SERIES NUMBER DESIRED.

AN ANALYSIS ROUTINE CALLED ANALYZECHARTMS (INCLUDED IN THE PRESENTATION GRAPHICS TOOLBOX) USES THE SAME ARGUMENTS AS CHARTMS. ANALYZECHARTMS ANALYZES AND DEFINES PARAMETERS IN THE CHART ENVIRONMENT BASED ON THE INPUT DATA, BUT IT DOES NOT PRINT A CHART ON THE SCREEN.

( TOP ) CHARTPIE SUB ( TOP )

ACTION:   DRAWS BAR, COLUMN, AND LINE CHARTS.
SYNTAX:   CHARTPIE ENV, CAT$(), VALUE!(), EXPL%(), N%

REMARKS.—   THE CHARTPIE PROCEDURE USES THE FOLLOWING ARGUMENTS:

ENV:   A VARIABLE DIMENSIONED AS TYPE CHARTENVIRONMENT.
CAT$():   A ONE-DIMENSIONAL STRING ARRAY OF CATEGORY NAMES.
VALUE!():   A ONE-DIMENSIONAL SINGLE-PRECISION ARRAY THAT CONTAINS THE CHART DATA.

EXPL%():
AN ONE-DIMENSIONAL INTEGER ARRAY CONTAINING FLAGS THAT DETERMINE WHETHER EACH ELEMENT OF THE PIE CHART IS EXPLODED. IF THE VALUE OF AN EXPL%() ARRAY ELEMENT IS NONZERO, THAT SLICE OF THE PIE CHART IS EXPLODED. IF THE ARRAY ELEMENT IS ZERO, THE SLICE IS NOT EXPLODED.

N%:   AN INTEGER THAT CONTAINS THE NUMBER OF DATA ITEMS IN VALUE!().

THE VALUE!(), CAT$(), AND EXPL%() ARRAYS MUST HAVE A LOWER BOUND OF 1. AN ANALYSIS ROUTINE CALLED ANALYZEPIE (INCLUDED IN THE PRESENTATION GRAPHICS TOOLBOX) USES THE SAME ARGUMENTS AS CHARTPIE. ANALYZEPIE ANALYZES AND DEFINES PARAMETERS IN THE CHART ENVIRONMENT BASED ON THE INPUT DATA, BUT IT DOES NOT PRINT A CHART ON THE SCREEN.

( TOP ) CHARTSCATTER SUB ( TOP )

ACTION:   DRAWS SINGLE-SERIES SCATTER CHARTS.
SYNTAX:   CHARTSCATTER ENV, VALX!(), VALY!(), N%

REMARKS.—   THE CHARTSCATTER PROCEDURE USES THE FOLLOWING ARGUMENTS:

ENV:   A VARIABLE DIMENSIONED AS TYPE CHARTENVIRONMENT.
VALX!():   A ONE-DIMENSIONAL SINGLE-PRECISION ARRAY OF VALUES FOR THE X AXIS.
VALY!():   A ONE-DIMENSIONAL SINGLE-PRECISION ARRAY OF VALUES FOR THE Y AXIS.
N%:   AN INTEGER THAT CONTAINS THE NUMBER OF DATA ITEMS TO BE CHARTED.

THE VALX!() AND VALY!() ARRAYS MUST HAVE A LOWER BOUND OF 1. AN ANALYSIS ROUTINE CALLED ANALYZESCATTER (INCLUDED IN THE PRESENTATION GRAPHICS TOOLBOX) USES THE SAME ARGUMENTS AS CHARTSCATTER. ANALYZESCATTER ANALYZES AND DEFINES PARAMETERS IN THE CHART ENVIRONMENT BASED ON THE INPUT DATA, BUT IT DOES NOT PRINT A CHART ON THE SCREEN.

( TOP ) CHARTSCATTERMS SUB ( TOP )

ACTION:   DRAWS MULTI-SERIES SCATTER CHARTS.
SYNTAX:   CHARTSCATTERMS ENV, VALX!(), VALY!(), N%, FIRST%, LAST%, SERIESLABEL$()

REMARKS.—   THE CHARTSCATTERMS PROCEDURE USES THE FOLLOWING ARGUMENTS:

ENV:   A VARIABLE DIMENSIONED AS TYPE CHARTENVIRONMENT.
VALX!():   A TWO-DIMENSIONAL SINGLE-PRECISION ARRAY OF VALUES FOR MULTIPLE SERIES OF DATA FOR THE X AXIS.
VALY!():   A TWO-DIMENSIONAL SINGLE-PRECISION ARRAY OF VALUES FOR MULTIPLE SERIES OF DATA FOR THE Y AXIS.

N%:   AN INTEGER THAT CONTAINS THE NUMBER OF DATA ITEMS TO BE CHARTED.
FIRST%:   AN INTEGER THAT INDICATES THE FIRST SERIES TO BE CHARTED.
LAST%:   AN INTEGER THAT INDICATES THE LAST SERIES TO BE CHARTED.
SERIESLABEL$():   A ONE-DIMENSIONAL STRING ARRAY THAT CONTAINS LABELS FOR THE DIFFERENT DATA SERIES.

DIMENSIONS FOR THE VALX!(), VALY!() AND SERIESLABEL$() ARRAYS ARE DECLARED AS FOLLOWS:

DIM VALX!(1 TO N%, FIRST% TO LAST%)
DIM VALY!(1 TO N%, FIRST% TO LAST%)
DIM SERIESLABEL$(FIRST% TO LAST%)

TO CHART ALL SERIES, SET FIRST% TO 1 AND LAST% TO THE LAST SERIES NUMBER IN ARRAY VALUE!(). TO CHART SEVERAL CONTIGUOUS SERIES, SET FIRST% TO LOWEST SERIES NUMBER AND LAST% TO THE HIGHEST SERIES NUMBER DESIRED.

AN ANALYSIS ROUTINE CALLED ANALYZESCATTERMS (INCLUDED IN THE PRESENTATION GRAPHICS TOOLBOX) USES THE SAME ARGUMENTS AS CHARTSCATTERMS. ANALYZESCATTERMS ANALYZES AND DEFINES PARAMETERS IN THE CHART ENVIRONMENT BASED ON THE INPUT DATA, BUT IT DOES NOT PRINT A CHART ON THE SCREEN.

( TOP ) CHARTSCREEN SUB ( TOP )

ACTION:   SETS THE SCREEN MODE TO BE USED WHEN DISPLAYING A CHART.
SYNTAX:   CHARTSCREEN N%

REMARKS.—   THE ARGUMENT N% IS AN INTEGER THAT CONTAINS A VALID SCREEN-MODE NUMBER. THIS PROCEDURE MUST BE USED TO SET THE SCREEN MODE INSTEAD OF THE STANDARD BASIC SCREEN STATEMENT. IF AN INVALID SCREEN MODE IS USED, THE VARIABLE CHARTERR WILL CONTAIN THE NUMBER 25.

SEE ALSO:   SCREEN STATEMENT

( TOP ) DEFAULTCHART SUB ( TOP )

ACTION:   INITIALIZES THE ELEMENTS OF THE VARIABLE TYPE CHARTENVIRONMENT FOR THE SPECIFIED CHART TYPE AND STYLE.
SYNTAX:   DEFAULTCHART ENV, TYPE%, STYLE%

REMARKS.—   THE DEFAULTCHART PROCEDURE USES THE FOLLOWING ARGUMENTS:

ENV:   A VARIABLE DIMENSIONED AS TYPE CHARTENVIRONMENT.
TYPE%:   AN INTEGER THAT DEFINES THE TYPE OF CHART (1-5).
STYLE%:   AN INTEGER THAT DEFINES THE STYLE OF THE CHART (1-2).

THE VARIABLE TYPE% CAN USE EITHER NUMERIC DATA OR CONSTANTS FOUND IN THE CHRTB.BI FILE TO DEFINE THE CHART AS SHOWN IN THE FOLLOWING TABLE:
VALUE    CONSTANT    TYPE OF CHART
1        CBAR        BAR
2        CCOLUMN     COLUMN
3        CLINE       LINE
4        CSCATTER    SCATTER
5        CPIE        PIE
THE VALUE OF THE VARIABLE STYLE% DETERMINES THE STYLE OF THE CHART AS SHOWN HERE:
VALUE  BAR      COLUMN   LINE            SCATTER         PIE
1      PLAIN    PLAIN    LINES & POINTS  LINES & POINTS  PERCENT
2      STACKED  STACKED  POINTS ONLY     POINTS ONLY     NO PERCENT
FOR PROGRAM CLARITY, THE FOLLOWING CONSTANTS (FOUND IN THE CHRTB.BI FILE) SHOULD BE USED IN PLACE OF NUMERIC ARGUMENTS:
NUMERIC    EQUIVALENT CONSTANT ARGUMENT
1          CPLAIN, CLINES, CPERCENT
2          CSTACKED, CNOLINES, CNOPERCENT


( TOP ) GETPALETTEDEF SUB ( TOP )

ACTION:   GETS A COPY OF THE CURRENT INTERNAL CHART PALETTE.
SYNTAX:   GETPALETTEDEF PALC%(), PALS%(), PALP$(), PALCH%(), PALB%()

REMARKS.—   THE GETPALETTEDEF PROCEDURE USES THE FOLLOWING ARGUMENTS:

PALC%():   A ONE-DIMENSIONAL INTEGER ARRAY OF COLOR NUMBERS CORRESPONDING TO THE PALETTE ENTRIES.
PALS%():   A ONE-DIMENSIONAL INTEGER ARRAY OF LINE STYLES CORRESPONDING TO THE PALETTE ENTRIES.
PALP$():   A ONE-DIMENSIONAL STRING ARRAY OF FILL PATTERNS CORRESPONDING TO THE PALETTE ENTRIES.
PALCH%():   A ONE-DIMENSIONAL INTEGER ARRAY OF PLOT-CHARACTER NUMBERS CORRESPONDING TO THE PALETTE ENTRIES.
PALB%():   A ONE-DIMENSIONAL INTEGER ARRAY OF LINE STYLES USED FOR DRAWING WINDOW BORDERS AND GRID LINES.

DIMENSIONS FOR EACH ARRAY SHOULD BE DECLARED FROM 0 TO CPALLEN, A CONSTANT FOUND IN THE CHRTB.BI HEADER FILE. NOTE THAT ALL PALETTE ARRAYS HAVE A LOWER BOUND OF 0 (NOT 1, WHICH IS USED FOR DATA AND CATEGORY-STRING ARRAYS).

FOR MORE INFORMATION ON FILL PATTERNS, SEE THE ENTRIES FOR PAINT AND PALETTE IN PART 1, "LANGUAGE REFERENCE".

( TOP ) GETPATTERN$ FUNCTION ( TOP )

ACTION:   RETURNS A STRING THAT CAN BE USED BY BASIC AS A PIXEL PATTERN.
SYNTAX:   GETPATTERN$(BITS%, PATTERNNUM%)

REMARKS.—   THE GETPATTERN$ AND MAKECHARTPATTERN$ PROCEDURES ARE USED IN COMBINATION WITH THE GETPALETTEDEF AND SETPALETTEDEF PROCEDURES TO CHANGE THE FILL PATTERN FOR PIE, COLUMN, AND BAR CHARTS. GETPATTERN$ CONSTRUCTS A VALUE FOR REFPATTERN$, WHICH IS ONE OF THE ARGUMENTS USED BY MAKECHARTPATTERN$.

THE GETPATTERN$ PROCEDURE USES THE FOLLOWING ARGUMENTS:

BITS%:   USE 2 FOR SCREEN MODE 1, 8 FOR SCREEN MODE 13, AND 1 FOR ALL OTHER SCREEN MODES.
PATTERNNUM%:   AN INTEGER BETWEEN ONE AND CPALLEN.

FOR MORE INFORMATION, SEE THE ENTRY FOR THE MAKECHARTPATTERN$ PROCEDURE LATER IN THIS SECTION.

( TOP ) LABELCHARTH SUB ( TOP )

ACTION:   PRINTS A USER-DEFINED STRING HORIZONTALLY ON A CHART.
SYNTAX:   LABELCHARTH ENV, X%, Y%, FONT%, COLOR%, STRING$

REMARKS.—   THE LABELCHARTH PROCEDURE USES THE FOLLOWING ARGUMENTS:

ENV:   A VARIABLE DIMENSIONED AS TYPE CHARTENVIRONMENT.
X%:   AN INTEGER THAT INDICATES THE LEFT POSITION OF THE FIRST CHARACTER, IN PIXELS, RELATIVE TO THE CHART WINDOW.

Y%:   AN INTEGER THAT INDICATES THE BOTTOM OF THE FIRST CHARACTER, IN PIXELS, RELATIVE TO THE CHART WINDOW.
FONT%:   AN INTEGER THAT CONTAINS THE NUMBER OF THE FONT (IN CURRENTLY LOADED LIST) TO USE.
COLOR%:   AN INTEGER THAT CONTAINS THE COLOR NUMBER IN THE CHART PALETTE USED TO ASSIGN COLOR TO THE STRING.
STRING$:   THE TEXT STRING TO BE PRINTED.

THE LABELCHARTH PROCEDURE MUST BE CALLED AFTER CALLING THE CHARTING SUB. IF AN INVALID FONT NUMBER (SUCH AS 0) IS CONTAINED IN FONT%, THE FIRST FONT LOADED IS USED. IF NO FONTS ARE LOADED, THE DEFAULT FONT CONTAINED IN THE PRESENTATION GRAPHICS TOOLBOX FILES IS USED.

( TOP ) LABELCHARTV SUB ( TOP )

ACTION:   PRINTS A USER-DEFINED STRING VERTICALLY ON A CHART.
SYNTAX:   LABELCHARTV ENV, X%, Y%, FONT%, COLOR%, STRING$

REMARKS.—   THE LABELCHARTV PROCEDURE USES THE FOLLOWING ARGUMENTS:

ENV:   A VARIABLE DIMENSIONED AS TYPE CHARTENVIRONMENT.
X%:   AN INTEGER THAT INDICATES THE LEFT POSITION OF THE FIRST CHARACTER, IN PIXELS, RELATIVE TO THE CHART WINDOW.

Y%:   AN INTEGER THAT INDICATES THE TOP OF THE FIRST CHARACTER, IN PIXELS, RELATIVE TO THE CHART WINDOW.
FONT%:   AN INTEGER THAT CONTAINS THE NUMBER OF THE FONT (IN CURRENTLY LOADED LIST) TO USE.
COLOR%:   AN INTEGER THAT CONTAINS THE COLOR NUMBER IN THE CHART PALETTE USED TO ASSIGN COLOR TO THE STRING.
STRING$:   THE TEXT STRING TO BE PRINTED.

THE LABELCHARTV PROCEDURE MUST BE CALLED AFTER CALLING THE CHARTING SUB. EACH CHARACTER IS PRINTED VERTICALLY AND APPEARS IN A VERTICAL COLUMN. IF AN INVALID FONT NUMBER (SUCH AS 0) IS CONTAINED IN FONT%, THE FIRST FONT LOADED IS USED. IF NO FONTS ARE LOADED, THE DEFAULT FONT CONTAINED IN THE PRESENTATION GRAPHICS TOOLBOX FILES IS USED.

( TOP ) MAKECHARTPATTERN$ FUNCTION ( TOP )

ACTION:   CHANGES FILL PATTERN AND COLOR.
SYNTAX:   MAKECHARTPATTERN$(REFPATTERN$, FOREGROUND%, BACKGROUND%)

REMARKS.—   THE MAKECHARTPATTERN$ AND GETPATTERN$ PROCEDURES ARE USED IN COMBINATION WITH THE GETPALETTEDEF AND SETPALETTEDEF PROCEDURES TO CHANGE THE FILL PATTERN FOR PIE, COLUMN, AND BAR CHARTS.

THE GETPATTERN$ PROCEDURE USES THE FOLLOWING ARGUMENTS:

REFPATTERN$:   A STRING REPRESENTING THE PIXEL PATTERN.
FOREGROUND%:   ATTRIBUTE TO MAP TO THE PIXELS IN REFPATTERN$ THAT ARE DEFINED AS BEING ON.
BACKGROUND%:   ATTRIBUTE TO MAP TO THE PIXELS IN REFPATTERN$ THAT ARE DEFINED AS OFF.

NOTE THAT IF FOREGROUND% AND BACKGROUND% ARE THE SAME VALUE, THE FILL PATTERN APPEARS AS A SOLID COLOR. CONSTRUCTING A VALUE FOR REFPATTERN$ IS DIFFICULT. WHEN USING THE PRESENTATION GRAPHICS TOOLBOX, YOU CAN SIMPLIFY THE PROCESS BY USING THE GETPATTERN$ PROCEDURE TO CHOOSE AN INTERNALLY-DEFINED PATTERN.

MAKECHARTPATTERN$ MAPS COLORS TO THE STRING RETURNED BY GETPATTERN$ TO PRODUCE THE COMBINATION OF COLOR AND PATTERN YOU WANT. FOR MORE INFORMATION, SEE THE ENTRY FOR THE GETPATTERN$ PROCEDURE EARLIER IN THIS SECTION.

( TOP ) RESETPALETTEDEF SUB ( TOP )

ACTION:   REBUILDS THE INTERNAL CHART PALETTE FOR THE CURRENT SCREEN MODE.
SYNTAX:   RESETPALETTEDEF

( TOP ) SETPALETTEDEF SUB ( TOP )

ACTION:   REPLACES THE INTERNAL CHART PALETTE WITH NEW VALUES.
SYNTAX:   SETPALETTEDEF PALC%(), PALS%(), PALP$(), PALCH%(), PALB%()

REMARKS.—   THE SETPALETTEDEF PROCEDURE USES THE FOLLOWING ARGUMENTS:

PALC%():   A ONE-DIMENSIONAL INTEGER ARRAY OF COLOR NUMBERS CORRESPONDING TO THE PALETTE ENTRIES.
PALS%():   A ONE-DIMENSIONAL INTEGER ARRAY OF LINE STYLES CORRESPONDING TO THE PALETTE ENTRIES.
PALP$():   A ONE-DIMENSIONAL STRING ARRAY OF FILL PATTERNS CORRESPONDING TO THE PALETTE ENTRIES.
PALCH%():   A ONE-DIMENSIONAL INTEGER ARRAY OF PLOT-CHARACTER NUMBERS CORRESPONDING TO THE PALETTE ENTRIES.
PALB%():   A ONE-DIMENSIONAL INTEGER ARRAY OF LINE STYLES USED FOR DRAWING WINDOW BORDERS AND GRID LINES.

DIMENSIONS FOR EACH ARRAY SHOULD BE DECLARED FROM 0 TO CPALLEN, A CONSTANT FOUND IN THE CHRTB.BI HEADER FILE. NOTE THAT ALL PALETTE ARRAYS HAVE A LOWER BOUND OF 0 (NOT 1, WHICH IS USED FOR DATA AND CATEGORY-STRING ARRAYS). FOR MORE INFORMATION ON FILL PATTERNS, SEE THE ENTRIES FOR PAINT AND PALETTE IN PART 1, "LANGUAGE REFERENCE".

( TOP ) PRESENTATION GRAPHICS SUB AND FUNCTION PROCEDURES (2ND PART) ( TOP )

CHART:   DRAWS A BAR, COLUMN, OR LINE CHART.
CHARTMS:   DRAWS A MULTI-SERIES BAR, COLUMN, OR LINE CHART.
CHARTPIE:   DRAWS A PIE CHART.
CHARTSCATTER:   DRAWS A SINGLE-SERIES SCATTER CHART.
CHARTSCATTERMS:   DRAWS A MULTI-SERIES SCATTER CHART.
CHARTSCREEN:   SETS THE SCREEN MODE TO BE USED WHEN DISPLAYING A CHART.
DEFAULTCHART:     INITIALIZES A CHARTENVIRONMENT STRUCTURE FOR THE SPECIFIED CHART TYPE AND STYLE.

GETPALETTEDEF:   GETS A COPY OF THE CURRENT INTERNAL CHART PALETTE.
GETPATTERN$:   RETURNS A STRING THAT CAN BE USED BY THE BASIC AS A PIXEL PATTERN.
LABELCHARTH:   PRINTS A USER-DEFINED STRING HORIZONTALLY ON A CHART.
LABELCHARTV:   PRINTS A USER DEFINED STRING VERTICALLY ON A CHART.
MAKECHARTPATTERN$:   CHANGES FILL PATTERN AND COLOR.
RESETPALETTEDEF:   BUILDS THE INTERNAL CHART PALETTE FOR THE CURRENT SCREEN MODE USING THE CURRENT STYLE POOL.
SETPALETTEDEF:   REPLACES THE INTERNAL CHART PALETTE WITH USER DEFINED VALUES.

( TOP ) FONT SUB AND FUNCTION PROCEDURES ( TOP )

GETFONTINFO:   GETS FONT INFORMATION FOR THE CURRENTLY SELECTED FONT.
GETGTEXTLEN%:   RETURNS THE PIXEL LENGTH OF A STRING BASED ON THE CURRENTLY SELECTED FONT.
GETMAXFONTS:   GETS THE MAXIMUM NUMBER OF FONTS THAT CAN BE REGISTERED AND LOADED.
GETRFONTINFO:   GETS FONT INFORMATION FOR THE CURRENTLY REGISTERED FONTS.

GETTOTALFONTS:   GETS THE NUMBER OF FONTS CURRENTLY REGISTERED AND LOADED.
LOADFONT%:   LOADS THE FONT INFORMATION FROM THE .FON FILES OR MEMORY FOR THE SPECIFIED FONTS AND RETURNS THE NUMBER OF FONTS ACTUALLY LOADED.
OUTGTEXT%:   OUTPUTS TEXT IN THE CURRENTLY SELECTED FONT USING THE CURRENT GRAPHICS COLOR AT THE CURRENT GRAPHICS CURSOR POSITION. RETURNS PIXEL LENGTH OF THE CHARACTER OUTPUT.

REGISTERFONTS%:   REGISTERS FONT-HEADER INFORMATION FROM A SPECIFIED .FON FILE AND RETURNS THE NUMBER OF FONTS REGISTERED.
REGISTERMEMFONT%:   REGISTERS THE FONT-HEADER INFORMATION FOR FONTS THAT RESIDE IN MEMORY AND RETURNS THE NUMBER OF FONTS REGISTERED.
SELECTFONT:   DESIGNATES A LOADED FONT AS THE ACTIVE FONT.

SETGCHARSET:   SETS THE CHARACTER SET USED IN SUBSEQUENT GRAPHICS CHARACTERS.
SETGTEXTCOLOR:   SETS THE CHARACTER COLOR USED IN SUBSEQUENT GRAPHIC CHARACTERS.
SETGTEXTDIR:   SETS THE HORIZONTAL OR VERTICAL ORIENTATION OF GRAPHICS CHARACTERS.
SETMAXFONTS:   SETS THE MAXIMUM NUMBER OF FONTS THAT ARE ALLOWED TO BE REGISTERED AND LOADED.
UNREGISTERFONTS:   REMOVES REGISTERED FONTS FROM MEMORY.

( TOP )