mirror of
https://github.com/QB64Official/qb64.git
synced 2024-07-20 12:45:13 +00:00
Adds support for new _RGB32 syntaxes in CONST statements.
This commit is contained in:
parent
511aee9d3a
commit
7fa762750b
|
@ -2050,7 +2050,8 @@ DO
|
||||||
|
|
||||||
DO
|
DO
|
||||||
finished = -1
|
finished = -1
|
||||||
L = INSTR(L + 1, UCASE$(wholestv$), " _RGB")
|
L = INSTR(L + 1, UCASE$(wholestv$), " _RGB32")
|
||||||
|
IF L = 0 THEN L = INSTR(L + 1, UCASE$(wholestv$), " _RGB")
|
||||||
IF L > 0 THEN
|
IF L > 0 THEN
|
||||||
altered = -1
|
altered = -1
|
||||||
l$ = LEFT$(wholestv$, L - 1)
|
l$ = LEFT$(wholestv$, L - 1)
|
||||||
|
@ -2058,25 +2059,61 @@ DO
|
||||||
IF vp > 0 THEN
|
IF vp > 0 THEN
|
||||||
E = INSTR(vp + 1, wholestv$, ")")
|
E = INSTR(vp + 1, wholestv$, ")")
|
||||||
IF E > 0 THEN
|
IF E > 0 THEN
|
||||||
|
IF E = vp + 1 THEN a$ = "Syntax error": GOTO errmes
|
||||||
|
red$ = ""
|
||||||
|
green$ = ""
|
||||||
|
blue$ = ""
|
||||||
|
alpha$ = ""
|
||||||
|
first = 0: second = 0: third = 0
|
||||||
first = INSTR(vp, wholestv$, ",")
|
first = INSTR(vp, wholestv$, ",")
|
||||||
second = INSTR(first + 1, wholestv$, ",")
|
IF first THEN second = INSTR(first + 1, wholestv$, ",")
|
||||||
third = INSTR(second + 1, wholestv$, ",")
|
IF second THEN third = INSTR(second + 1, wholestv$, ",")
|
||||||
red$ = MID$(wholestv$, vp + 1, first - vp - 1)
|
IF first > 0 AND second > 0 AND third > 0 THEN
|
||||||
green$ = MID$(wholestv$, first + 1, second - first - 1)
|
'rgb + alpha (or _RGB with screen mode)
|
||||||
blue$ = MID$(wholestv$, second + 1)
|
red$ = MID$(wholestv$, vp + 1, first - vp - 1)
|
||||||
|
green$ = MID$(wholestv$, first + 1, second - first - 1)
|
||||||
|
blue$ = MID$(wholestv$, second + 1)
|
||||||
|
alpha$ = MID$(wholestv$, third + 1)
|
||||||
|
ELSEIF first > 0 AND second > 0 THEN
|
||||||
|
'regular rgb
|
||||||
|
red$ = MID$(wholestv$, vp + 1, first - vp - 1)
|
||||||
|
green$ = MID$(wholestv$, first + 1, second - first - 1)
|
||||||
|
blue$ = MID$(wholestv$, second + 1)
|
||||||
|
ELSEIF first > 0 THEN
|
||||||
|
'grayscale + alpha
|
||||||
|
red$ = MID$(wholestv$, vp + 1, first - vp - 1)
|
||||||
|
alpha$ = MID$(wholestv$, first + 1)
|
||||||
|
ELSE
|
||||||
|
'grayscale
|
||||||
|
red$ = MID$(wholestv$, vp + 1)
|
||||||
|
END IF
|
||||||
|
|
||||||
IF MID$(wholestv$, L + 5, 2) = "32" THEN
|
IF MID$(wholestv$, L + 5, 2) = "32" THEN
|
||||||
val$ = "32"
|
val$ = "32"
|
||||||
ELSE
|
ELSE
|
||||||
val$ = MID$(wholestv$, third + 1)
|
val$ = MID$(wholestv$, third + 1)
|
||||||
|
IF VAL(val$) = 32 THEN val$ = "33"
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
SELECT CASE VAL(val$)
|
SELECT CASE VAL(val$)
|
||||||
CASE 0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 256
|
CASE 0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 33, 256
|
||||||
|
IF val$ = "33" THEN val$ = "32"
|
||||||
wi& = _NEWIMAGE(240, 120, VAL(val$))
|
wi& = _NEWIMAGE(240, 120, VAL(val$))
|
||||||
clr~& = _RGB(VAL(red$), VAL(green$), VAL(blue$), wi&)
|
clr~& = _RGB(VAL(red$), VAL(green$), VAL(blue$), wi&)
|
||||||
_FREEIMAGE wi&
|
_FREEIMAGE wi&
|
||||||
CASE 32
|
CASE 32
|
||||||
clr~& = _RGB32(VAL(red$), VAL(green$), VAL(blue$))
|
IF first > 0 AND second > 0 AND third > 0 THEN
|
||||||
|
'rgb + alpha
|
||||||
|
clr~& = _RGB32(VAL(red$), VAL(green$), VAL(blue$), VAL(alpha$))
|
||||||
|
ELSEIF first > 0 AND second > 0 THEN
|
||||||
|
'regular rgb
|
||||||
|
clr~& = _RGB32(VAL(red$), VAL(green$), VAL(blue$))
|
||||||
|
ELSEIF first > 0 THEN
|
||||||
|
'grayscale + alpha
|
||||||
|
clr~& = _RGB32(VAL(red$), VAL(alpha$))
|
||||||
|
ELSE
|
||||||
|
clr~& = _RGB32(VAL(red$))
|
||||||
|
END IF
|
||||||
CASE ELSE
|
CASE ELSE
|
||||||
a$ = "Invalid screen mode": GOTO errmes
|
a$ = "Invalid screen mode": GOTO errmes
|
||||||
END SELECT
|
END SELECT
|
||||||
|
@ -2174,7 +2211,6 @@ DO
|
||||||
|
|
||||||
|
|
||||||
'End of Math Support Edit
|
'End of Math Support Edit
|
||||||
' _TITLE "Final:" + wholestv$
|
|
||||||
|
|
||||||
'Steve edit to update the CONST with the Math and _RGB functions
|
'Steve edit to update the CONST with the Math and _RGB functions
|
||||||
IF altered THEN
|
IF altered THEN
|
||||||
|
|
Loading…
Reference in a new issue