home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-386-Vol-2of3.iso / b / baswiz19.zip / BW$BAS.ZIP / GN4BANNE.BAS < prev    next >
BASIC Source File  |  1993-01-29  |  2KB  |  49 lines

  1. '   +----------------------------------------------------------------------+
  2. '   |                                                                      |
  3. '   |        BASWIZ  Copyright (c) 1990-1993  Thomas G. Hanlin III         |
  4. '   |                                                                      |
  5. '   |                      The BASIC Wizard's Library                      |
  6. '   |                                                                      |
  7. '   +----------------------------------------------------------------------+
  8.  
  9.    DECLARE FUNCTION Power2I% (BYVAL PowerOf2 AS INTEGER)
  10.    DECLARE SUB GN4Box (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%, BYVAL Fill%)
  11.    DECLARE SUB GN4Line (BYVAL X1%, BYVAL Y1%, BYVAL X2%, BYVAL Y2%)
  12.    DECLARE SUB GN4Plot (BYVAL X%, BYVAL Y%)
  13.  
  14.    DECLARE FUNCTION BFontRow0% (BYVAL ch%, BYVAL Row%)
  15.    DECLARE FUNCTION BFontRows0% ()
  16.  
  17.    DEFINT A-Z
  18.  
  19. SUB GN4Banner (St$, X, Y, Xmul, Ymul)
  20.    MaxRow = BFontRows0 - 1
  21.    IF Xmul <= 1 AND Ymul <= 1 THEN
  22.       FOR tmp = 1 TO LEN(St$)
  23.          cha = ASC(MID$(St$, tmp, 1))
  24.          FOR Row = 0 TO MaxRow
  25.             ch = BFontRow0(cha, Row)
  26.             FOR Col = 0 TO 7
  27.                IF ch AND Power2I%(7 - Col) THEN
  28.                   GN4Plot (tmp - 1) * 8 + Col + X, Row + Y
  29.                END IF
  30.             NEXT
  31.          NEXT
  32.       NEXT
  33.    ELSE
  34.       FOR tmp = 1 TO LEN(St$)
  35.          cha = ASC(MID$(St$, tmp, 1))
  36.          FOR Row = 0 TO MaxRow
  37.             vy = Row * Ymul + Y
  38.             ch = BFontRow0(cha, Row)
  39.             FOR Col = 0 TO 7
  40.                IF ch AND Power2I%(7 - Col) THEN
  41.                   vx = ((tmp - 1) * 8 + Col) * Xmul + X
  42.                   GN4Box vx, vy, vx + Xmul - 1, vy + Ymul - 1, 1
  43.                END IF
  44.             NEXT
  45.          NEXT
  46.       NEXT
  47.    END IF
  48. END SUB
  49.