QB64.org Forum

Active Forums => Programs => Topic started by: MarkSkits on June 11, 2018, 10:15:43 pm

Title: "Brightness Slider" for QBASIC and QB64.
Post by: MarkSkits on June 11, 2018, 10:15:43 pm
Note: Uses QBMOUSE Sub

Code: QB64: [Select]
  1. startPos = 50
  2. endPos = 590
  3. currentPos = startPos
  4. colorValue = 9
  5. COLOR colorValue
  6. LINE (50, 239)-(590, 241), colorValue, BF
  7. LINE (startPos - 1, 230)-(startPos + 1, 250), colorValue, BF
  8. MOUSE 1
  9. Text$ = "Current Background Brightness:" + STR$(FIX(Brightness)) + "."
  10. LOCATE 13, 40 - (LEN(Text$) / 2)
  11. PRINT Text$
  12. LOCATE 13, (40 + (LEN(Text$) / 2)) - 3
  13. PRINT RTRIM$(STR$(FIX(Brightness))); ". "
  14.     MOUSE 3
  15.     SELECT CASE B
  16.         CASE 1
  17.             IF H >= startPos AND H <= endPos AND V >= 230 AND V <= 250 THEN
  18.                 DO WHILE B = 1
  19.                     MOUSE 3
  20.                     IF H >= startPos AND H <= endPos THEN
  21.                         LINE (currentPos - 1, 230)-(currentPos + 1, 238), 0, BF
  22.                         LINE (currentPos - 1, 242)-(currentPos + 1, 250), 0, BF
  23.                         currentPos = H
  24.                         Brightness = (currentPos - 50) / (540 / 63)
  25.                         OUT &H3C8, 0
  26.                         OUT &H3C9, Brightness
  27.                         OUT &H3C9, Brightness
  28.                         OUT &H3C9, Brightness
  29.                         LINE (currentPos - 1, 230)-(currentPos + 1, 250), colorValue, BF
  30.                         LOCATE 13, (40 + (LEN(Text$) / 2)) - 3
  31.                         PRINT RTRIM$(STR$(FIX(Brightness))); ". "
  32.                     END IF
  33.                 LOOP
  34.             END IF
  35.     END SELECT
  36. SUB MOUSE (Funk)
  37.     SHARED B, H, V
  38.     STATIC Crsr
  39.     IF Funk = 1 THEN Crsr = 1
  40.     IF Funk = 2 AND Crsr = 0 THEN EXIT SUB
  41.     IF Funk = 2 AND Crsr = 1 THEN: Crsr = 0
  42.     POKE 100, 184: POKE 101, Funk: POKE 102, 0
  43.     POKE 103, 205: POKE 104, 51: POKE 105, 137
  44.     POKE 106, 30: POKE 107, 170: POKE 108, 10
  45.     POKE 109, 137: POKE 110, 14: POKE 111, 187
  46.     POKE 112, 11: POKE 113, 137: POKE 114, 22
  47.     POKE 115, 204: POKE 116, 12: POKE 117, 203
  48.     CALL ABSOLUTE(100)
  49.     B = PEEK(&HAAA)
  50.     H2 = PEEK(&HBBC)
  51.     H2 = H2 * 256
  52.     H = PEEK(&HBBB) + H2
  53.     V = PEEK(&HCCC) + PEEK(&HCCD) * 256
  54.  
Title: Re: "Brightness Slider" for QBASIC and QB64.
Post by: Ashish on June 11, 2018, 11:50:57 pm
Hi! I wonder why you don't use QB64's inbuilt mouse command. Using them will make your work easy.
Title: Re: "Brightness Slider" for QBASIC and QB64.
Post by: MarkSkits on June 12, 2018, 09:16:03 am
I made it so it would work with QB64 AND QBasic.
Title: Re: "Brightness Slider" for QBASIC and QB64.
Post by: Petr on June 12, 2018, 10:49:41 am
Nice work!