5748137 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n drawback.bas
   1: DECLARE SUB Solarize (r!, g!, b!)
   2: DECLARE SUB ChangePal (Red%, Green%, Blue%, syscolor%)
   3: DECLARE FUNCTION FillIn$ (t$, Num!)
   4: DECLARE SUB ReadPal (Red%, Green%, Blue%)
   5: DECLARE FUNCTION Exist! (fle$)
   6: DIM Scren(8000) AS DOUBLE
   7: SCREEN 12
   8: ChangePal 0, 0, 160, 1
   9: ChangePal 0, 0, 255, 9
  10: Cnt = 1: Cntr = 1: Stp = 21: NumOfPics = 1
  11: LINE (0, 0)-(640, 160), 9, BF
  12: LINE (0, 160)-(640, 320), 1, BF
  13: LINE (0, 320)-(640, 480), 0, BF
  14: 
  15: 'GET (0, 0)-(320, 240), Scren
  16: 'FOR q = 0 TO 8000
  17: 'PRINT Scren(q)
  18: 'NEXT q
  19: FOR y = 0 TO 480
  20: IF y / 160 = 0 THEN Fc = 9: Bc = 1: NumOfPics = 1
  21: IF y / 160 = 1 THEN Fc = 1: Bc = 0: NumOfPics = 1
  22: IF y / 160 = 2 THEN EXIT FOR
  23: Cntr = Cntr + Cnt
  24: FOR m = 0 TO 640 STEP INT(640 / NumOfPics)
  25: 'PSET (INT(640 / (NumOfPics + 1)) * m, y), Bc
  26: PSET (m, y), Bc
  27: NEXT m
  28: NumOfPics = NumOfPics + 2
  29: NEXT y
  30: 
  31: SUB ChangePal (Red%, Green%, Blue%, syscolor%)
  32: palmask = &H3C6
  33: palregrd = &H3CF
  34: palregwr = &H3C8
  35: paldata = &H3C9
  36: OUT palmask, &HFF
  37: OUT palregwr, syscolor%
  38: OUT paldata, Red%
  39: OUT paldata, Green%
  40: OUT paldata, Blue%
  41: END SUB
  42: 
  43: SUB ColorBar (Stp)
  44: FOR q = 0 TO 15 * Stp STEP Stp
  45: LINE (q, 0)-(q + Stp, Stp), q / Stp, BF
  46: NEXT q
  47: END SUB
  48: 
  49: FUNCTION Exist (fle$)
  50: OPEN fle$ FOR BINARY AS #4
  51: IF LOF(4) = 0 THEN Exist = 0 ELSE Exist = 1
  52: CLOSE 4
  53: END FUNCTION
  54: 
  55: SUB Negative
  56: Solarize 255, 255, 255
  57: END SUB
  58: 
  59: SUB ReadPal (Red%, Green%, Blue%)
  60: palmask = &H3C6
  61: paldata = &H3C9
  62: IF INT(Colr% / 2) = Colr% / 2 THEN Red% = INP(paldata): Green% = INP(paldata): Blue% = INP(paldata)
  63: Red% = INP(paldata)
  64: Green% = INP(paldata)
  65: Blue% = INP(paldata)
  66: END SUB
  67: 
  68: SUB Solarize (r, g, b)
  69:         FOR i% = 0 TO 255
  70:         ReadPal CCHex3%, CCHex2%, CCHex1%
  71:         ChangePal ABS(CCHex3% - r), ABS(CCHex2% - g), ABS(CCHex1% - b), i%
  72:         NEXT i%
  73: END SUB
  74: 
5748138 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:02:07