mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-20 09:04:43 +00:00
Tweaks RGB Mixer.
Since it can now be invoked freely from the Tools menu.
This commit is contained in:
parent
581cb1ba80
commit
8f053b30ce
1 changed files with 59 additions and 47 deletions
|
@ -3700,12 +3700,13 @@ FUNCTION ide2 (ignore)
|
||||||
|
|
||||||
IF K$ = CHR$(13) THEN
|
IF K$ = CHR$(13) THEN
|
||||||
IF KSHIFT THEN
|
IF KSHIFT THEN
|
||||||
|
retval$ = ""
|
||||||
IF EnteringRGB THEN 'The "Hit Shift+ENTER" message is being shown
|
IF EnteringRGB THEN 'The "Hit Shift+ENTER" message is being shown
|
||||||
oldkeywordHighlight = keywordHighlight
|
oldkeywordHighlight = keywordHighlight
|
||||||
keywordHighlight = 0
|
keywordHighlight = 0
|
||||||
HideBracketHighlight
|
HideBracketHighlight
|
||||||
keywordHighlight = oldkeywordHighlight
|
keywordHighlight = oldkeywordHighlight
|
||||||
retval$ = idecolorpicker$(0)
|
retval$ = idergbmixer$(0)
|
||||||
ELSE
|
ELSE
|
||||||
IF ideselect THEN
|
IF ideselect THEN
|
||||||
IF ideselecty1 <> idecy THEN GOTO specialchar 'multi line selected
|
IF ideselecty1 <> idecy THEN GOTO specialchar 'multi line selected
|
||||||
|
@ -3722,9 +3723,26 @@ FUNCTION ide2 (ignore)
|
||||||
keywordHighlight = 0
|
keywordHighlight = 0
|
||||||
HideBracketHighlight
|
HideBracketHighlight
|
||||||
keywordHighlight = oldkeywordHighlight
|
keywordHighlight = oldkeywordHighlight
|
||||||
retval$ = idecolorpicker$(-1)
|
retval$ = idergbmixer$(-1)
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
|
IF LEN(retval$) THEN
|
||||||
|
tempk$ = retval$
|
||||||
|
|
||||||
|
'insert
|
||||||
|
IF ideselect THEN GOSUB delselect
|
||||||
|
a$ = idegetline(idecy)
|
||||||
|
IF LEN(a$) < idecx - 1 THEN a$ = a$ + SPACE$(idecx - 1 - LEN(a$))
|
||||||
|
a$ = LEFT$(a$, idecx - 1) + tempk$ + RIGHT$(a$, LEN(a$) - idecx + 1)
|
||||||
|
idesetline idecy, a$
|
||||||
|
|
||||||
|
IF PasteCursorAtEnd THEN
|
||||||
|
'Place the cursor at the end of the inserted content:
|
||||||
|
idecx = idecx + LEN(tempk$)
|
||||||
|
END IF
|
||||||
|
|
||||||
|
idechangemade = 1
|
||||||
|
END IF
|
||||||
GOTO specialchar
|
GOTO specialchar
|
||||||
ELSE
|
ELSE
|
||||||
ideselect = 0
|
ideselect = 0
|
||||||
|
@ -4769,13 +4787,30 @@ FUNCTION ide2 (ignore)
|
||||||
GOTO ideloop
|
GOTO ideloop
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
IF menu$(m, s) = "Open _RGB Color Mi#xer" THEN
|
IF menu$(m, s) = "#RGB Color Mixer" THEN
|
||||||
PCOPY 2, 0
|
PCOPY 2, 0
|
||||||
oldkeywordHighlight = keywordHighlight
|
oldkeywordHighlight = keywordHighlight
|
||||||
keywordHighlight = 0
|
keywordHighlight = 0
|
||||||
HideBracketHighlight
|
HideBracketHighlight
|
||||||
keywordHighlight = oldkeywordHighlight
|
keywordHighlight = oldkeywordHighlight
|
||||||
retval$ = idecolorpicker$(-1) 'retval is ignored
|
retval$ = idergbmixer$(-1) 'retval is ignored
|
||||||
|
IF LEN(retval$) THEN
|
||||||
|
tempk$ = retval$
|
||||||
|
|
||||||
|
'insert
|
||||||
|
IF ideselect THEN GOSUB delselect
|
||||||
|
a$ = idegetline(idecy)
|
||||||
|
IF LEN(a$) < idecx - 1 THEN a$ = a$ + SPACE$(idecx - 1 - LEN(a$))
|
||||||
|
a$ = LEFT$(a$, idecx - 1) + tempk$ + RIGHT$(a$, LEN(a$) - idecx + 1)
|
||||||
|
idesetline idecy, a$
|
||||||
|
|
||||||
|
IF PasteCursorAtEnd THEN
|
||||||
|
'Place the cursor at the end of the inserted content:
|
||||||
|
idecx = idecx + LEN(tempk$)
|
||||||
|
END IF
|
||||||
|
|
||||||
|
idechangemade = 1
|
||||||
|
END IF
|
||||||
PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt
|
PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt
|
||||||
GOTO ideloop
|
GOTO ideloop
|
||||||
END IF
|
END IF
|
||||||
|
@ -12257,7 +12292,7 @@ FUNCTION idechoosecolorsbox
|
||||||
END FUNCTION
|
END FUNCTION
|
||||||
|
|
||||||
|
|
||||||
FUNCTION idecolorpicker$ (editing)
|
FUNCTION idergbmixer$ (editing)
|
||||||
'-------- generic dialog box header --------
|
'-------- generic dialog box header --------
|
||||||
PCOPY 0, 2
|
PCOPY 0, 2
|
||||||
PCOPY 0, 1
|
PCOPY 0, 1
|
||||||
|
@ -12694,8 +12729,14 @@ FUNCTION idecolorpicker$ (editing)
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
IF (focus = 5 AND info <> 0) THEN
|
IF (focus = 5 AND info <> 0) THEN
|
||||||
|
'Return the current RGB string
|
||||||
|
IF (idetxt(o(1).txt) = idetxt(o(2).txt) AND idetxt(o(2).txt) = idetxt(o(3).txt)) THEN
|
||||||
|
CurrentRGB$ = "_RGB32(" + idetxt(o(1).txt) + ")"
|
||||||
|
ELSE
|
||||||
|
CurrentRGB$ = "_RGB32(" + idetxt(o(1).txt) + ", " + idetxt(o(2).txt) + ", " + idetxt(o(3).txt) + ")"
|
||||||
|
END IF
|
||||||
|
|
||||||
_CLIPBOARD$ = CurrentRGB$
|
_CLIPBOARD$ = CurrentRGB$
|
||||||
idecolorpicker$ = CurrentRGB$
|
|
||||||
ideselect = prev.ideselect
|
ideselect = prev.ideselect
|
||||||
EXIT FUNCTION
|
EXIT FUNCTION
|
||||||
END IF
|
END IF
|
||||||
|
@ -12729,49 +12770,20 @@ FUNCTION idecolorpicker$ (editing)
|
||||||
idecx = ideselectx1 + LEN(CurrentRGB$)
|
idecx = ideselectx1 + LEN(CurrentRGB$)
|
||||||
ideselecty1 = idecy
|
ideselecty1 = idecy
|
||||||
prev.ideselect = 1
|
prev.ideselect = 1
|
||||||
ELSE
|
CurrentRGB$ = "" 'return nothing since we've already inserted it above
|
||||||
detail$ = "no _RGB statement found"
|
|
||||||
IF ideselect AND ideselecty1 <> idecy THEN
|
|
||||||
detail$ = "can't insert - multiple lines"
|
|
||||||
END IF
|
END IF
|
||||||
_CLIPBOARD$ = CurrentRGB$
|
|
||||||
result = idemessagebox("RGB Color Mixer", "Copied to the clipboard (" + detail$ + ").", "#OK")
|
|
||||||
END IF
|
END IF
|
||||||
ELSE
|
|
||||||
IF ideselect THEN
|
|
||||||
IF ideselecty1 <> idecy THEN
|
|
||||||
_CLIPBOARD$ = CurrentRGB$
|
|
||||||
result = idemessagebox("RGB Color Mixer", "Copied to the clipboard (can't insert - multiple lines).", "#OK")
|
|
||||||
ELSE
|
|
||||||
'Delete selection and insert current RGB values
|
|
||||||
sx1 = ideselectx1: sx2 = idecx
|
|
||||||
IF sx1 > sx2 THEN SWAP sx1, sx2
|
|
||||||
NewLine$ = LEFT$(CurrentLine$, sx1 - 1)
|
|
||||||
NewLine$ = NewLine$ + CurrentRGB$
|
|
||||||
NewLine$ = NewLine$ + MID$(CurrentLine$, sx2)
|
|
||||||
idechangemade = 1
|
|
||||||
idesetline idecy, NewLine$
|
|
||||||
|
|
||||||
'Select the inserted bit
|
IF LEN(CurrentRGB$) THEN
|
||||||
ideselectx1 = sx1
|
|
||||||
idecx = ideselectx1 + LEN(CurrentRGB$)
|
|
||||||
ideselecty1 = idecy
|
|
||||||
prev.ideselect = 1
|
|
||||||
END IF
|
|
||||||
ELSE
|
|
||||||
'Insert current RGB values at the cursor
|
|
||||||
NewLine$ = LEFT$(CurrentLine$, idecx - 1)
|
|
||||||
NewLine$ = NewLine$ + CurrentRGB$
|
|
||||||
NewLine$ = NewLine$ + MID$(CurrentLine$, idecx)
|
|
||||||
idechangemade = 1
|
|
||||||
idesetline idecy, NewLine$
|
|
||||||
|
|
||||||
idecx = idecx + LEN(CurrentRGB$)
|
|
||||||
prev.ideselect = 0
|
|
||||||
END IF
|
|
||||||
END IF
|
|
||||||
'Return the current RGB string
|
'Return the current RGB string
|
||||||
idecolorpicker$ = CurrentRGB$
|
IF (idetxt(o(1).txt) = idetxt(o(2).txt) AND idetxt(o(2).txt) = idetxt(o(3).txt)) THEN
|
||||||
|
CurrentRGB$ = "_RGB32(" + idetxt(o(1).txt) + ")"
|
||||||
|
ELSE
|
||||||
|
CurrentRGB$ = "_RGB32(" + idetxt(o(1).txt) + ", " + idetxt(o(2).txt) + ", " + idetxt(o(3).txt) + ")"
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
|
idergbmixer$ = CurrentRGB$
|
||||||
ideselect = prev.ideselect
|
ideselect = prev.ideselect
|
||||||
EXIT FUNCTION
|
EXIT FUNCTION
|
||||||
END IF
|
END IF
|
||||||
|
|
Loading…
Reference in a new issue