Commit 583685c0 authored by Robert Sprowson's avatar Robert Sprowson Committed by ROOL
Browse files

[378] Extra switches to set button true colours

WimpVisualFlags gains -ButtonColour -ButtonWellColour -ButtonHighlightColour to allow a theme designer to set the button/well/pressed colours for R1-R7 slabbing to some other colour, and -ButtonBorderFaceColour -ButtonBorderOppColour -ButtonBorderShallowColour for the outlines.
The given colours are only used when there is no 'C' validation.
parent 30c0dbf5
No preview for this file type
No preview for this file type
......@@ -775,6 +775,12 @@ truemenuborderoppcolour # 4 ; colours to use for menu borders
truewindowborderfacecolour # 4
truewindowborderoppcolour # 4 ; colours to use for window borders
truewindowoutlinecolour # 4 ; colour to use for window outline
truebuttonborderfacecolour # 4 ; global theme selection to override truefacecolour
truebuttonbordershallowcolour # 4 ; global theme selection to override trueoppcolour for R3/R4 icons
truebuttonborderoppcolour # 4 ; global theme selection to override trueoppcolour
truebuttonwellcolour # 4 ; global theme selection to override truewellcolour
truebuttonbgcolour # 4 ; global theme selection to override truebgcolour
truebuttonbgcolour2 # 4 ; global theme selection to override truebgcolour2
]
[ TrueIcon1
truefgcolour # 4 ; for 24-bit colour icons
......@@ -1893,7 +1899,7 @@ sc_orange * &E
sc_lightblue * &F
rgb_white * &FFFFFF00
rgb_verylightgrey * &DDDDDD00 ; Unused
rgb_verylightgrey * &DDDDDD00
rgb_lightgrey * &BBBBBB00
rgb_midlightgrey * &99999900
rgb_middarkgrey * &77777700
......@@ -1904,7 +1910,7 @@ rgb_darkblue * &99440000 ; Unused
rgb_yellow * &00EEEE00 ; Unused
rgb_lightgreen * &00CC0000 ; Unused
rgb_red * &0000DD00 ; Unused
rgb_cream * &BBEEEE00 ; Unused
rgb_cream * &BBEEEE00
rgb_darkgreen * &00885500 ; Unused
rgb_orange * &00BBFF00 ; Unused
rgb_lightblue * &FFBB0000 ; Unused
......@@ -2343,6 +2349,18 @@ WimpVisualFlags_Help DCB "*WimpVisualFlags changes some aspects of the visual a
DCB " Set the colour of the top left portion of the menu border.",cr
DCB "-MenuBorderOppColour <&RRGGBB>",cr
DCB " Set the colour of the bottom right portion of the menu border.",cr
DCB "-ButtonBorderFaceColour <&RRGGBB>",cr
DCB " Set the colour of the top left portion of button icons.",cr
DCB "-ButtonBorderShallowColour <&RRGGBB>",cr
DCB " Set the colour of ridge and channel icon shadows.",cr
DCB "-ButtonBorderOppColour <&RRGGBB>",cr
DCB " Set the colour of the bottom right portion of button icons.",cr
DCB "-ButtonColour <&RRGGBB>",cr
DCB " Set the colour of the top of button icons.",cr
DCB "-ButtonWellColour <&RRGGBB>",cr
DCB " Set the colour of the well around default action buttons.",cr
DCB "-ButtonHighlightColour <&RRGGBB>",cr
DCB " Set the colour of action buttons when selected.",cr
DCB "-WindowOutlineColour <&RRGGBB>",cr
DCB " Set the colour of the window outline.",cr
WimpVisualFlags_Syntax DCB "Syntax: *WimpVisualFlags <options>",0
......@@ -3775,12 +3793,21 @@ gotwork
LDR R0,=rgb_white
STR R0,truemenuborderfacecolour
STR R0,truewindowborderfacecolour
STR R0,truebuttonborderfacecolour
LDR R0,=rgb_midlightgrey
STR r0,truemenuborderoppcolour
STR r0,truebuttonbgcolour2
LDR R0,=rgb_middarkgrey
STR r0,truewindowborderoppcolour
STR r0,truebuttonborderoppcolour
LDR R0,=rgb_black
STR r0,truewindowoutlinecolour
LDR R0,=rgb_cream
STR r0,truebuttonwellcolour
LDR R0,=rgb_verylightgrey
STR r0,truebuttonbgcolour
LDR R0,=rgb_lightgrey
STR r0,truebuttonbordershallowcolour
[ true
MOV R0,#arrowIconWidth_No3D
|
......@@ -7623,6 +7650,8 @@ WimpKillSprite_Code
DCB "NoIconBoxesInTransWindows=NIBITW/S,Fully3DIconBar=F3DIB/S,All=A/S,"
DCB "WindowBorderFaceColour=WBFC/E,WindowBorderOppColour=WBOC/E,"
DCB "MenuBorderFaceColour=MBFC/E,MenuBorderOppColour=MBOC/E,"
DCB "ButtonBorderFaceColour=BBFC/E,ButtonBorderShallowColour=BBSC/E,ButtonBorderOppColour=BBOC/E,"
DCB "ButtonColour=BC/E,ButtonWellColour=BWC/E,ButtonHighlightColour=BHC/E,"
DCB "NoFontBlending=NFB/S,FontBlending=FB/S,"
DCB "WindowOutlineColour=WOC/E,WindowOutlineOver=WOO/S",0
ALIGN
......@@ -7669,14 +7698,14 @@ WimpVisualFlags_Code
LDR r1,[sp,#20]
TEQ r1,#0
ORRNE r2,r2,#ThreeDFlags_Fully3DIconBar
; LDR r1,[sp,#44]
; LDR r1,[sp,#68]
; TEQ r1,#0
; ORRNE r2,r2,#ThreeDFlags_NoFontBlending ; bit is already set!
LDR r1,[sp,#48]
LDR r1,[sp,#72]
TEQ r1,#0
BICNE r2,r2,#ThreeDFlags_NoFontBlending
LDR r1,[sp,#56]
LDR r1,[sp,#80]
TEQ r1,#0
ORRNE r2,r2,#ThreeDFlags_WindowOutlineOver
......@@ -7700,7 +7729,37 @@ WimpVisualFlags_Code
LDRNE r0,=rgb_midlightgrey
STR r0,truemenuborderoppcolour
LDR r1,[sp,#52] ; window outline colour
LDR r1,[sp,#44] ; button border face colour
BL %FT02
LDRNE r0,=rgb_white
STR r0,truebuttonborderfacecolour
LDR r1,[sp,#48] ; button border shallow colour
BL %FT02
LDRNE r0,=rgb_lightgrey
STR r0,truebuttonbordershallowcolour
LDR r1,[sp,#52] ; button border opposite colour
BL %FT02
LDRNE r0,=rgb_middarkgrey
STR r0,truebuttonborderoppcolour
LDR r1,[sp,#56] ; button colour
BL %FT02
LDRNE r0,=rgb_verylightgrey
STR r0,truebuttonbgcolour
LDR r1,[sp,#60] ; button well colour
BL %FT02
LDRNE r0,=rgb_cream
STR r0,truebuttonwellcolour
LDR r1,[sp,#64] ; button highlight colour
BL %FT02
LDRNE r0,=rgb_midlightgrey
STR r0,truebuttonbgcolour2
LDR r1,[sp,#76] ; window outline colour
BL %FT02
LDRNE r0,=rgb_black
STR r0,truewindowoutlinecolour
......
......@@ -1049,6 +1049,7 @@ mungetruecolours ROUT
LDRNEB R0, fontforeground
MOVEQ R0, R1, LSR #ib_fcol
AND R0, R0, #&F
MOV R2, R0
LDR R0, [R14, R0, LSL #2] ; look up palette entry
STR R0, truefgcolour
01
......@@ -1059,28 +1060,61 @@ mungetruecolours ROUT
LDRNEB R0, fontbackground
MOVEQ R0, R1, LSR #ib_bcol
AND R0, R0, #&F
[ ThreeDPatch
TST R1, #if_border
LDRNE R3, border_type
TEQNE R3, #border_normal
LDREQ R0, [R14, R0, LSL #2] ; look up palette entry
BEQ %FT05 ; there is a border, and it's not R0 validation
TEQ R0, #sc_verylightgrey
TEQEQ R2, #sc_black
LDREQ R0, truebuttonbgcolour ; theme it since it was the default fg/bg colours
LDRNE R0, [R14, R0, LSL #2] ; look up palette entry
05
|
LDR R0, [R14, R0, LSL #2] ; look up palette entry
]
STR R0, truebgcolour
01
LDR R0, truebgcolour2
CMP R0, #-1
[ ThreeDPatch
BNE %FT05
LDR R0, border_highlight
AND R0, R0, #&F
TEQ R0, #sc_midlightgrey
TEQEQ R2, #sc_black
LDREQ R0, truebuttonbgcolour2 ; theme it since it was the default fg/bg2 colours
LDRNE R0, [R14, R0, LSL #2] ; look up palette entry
STR R0, truebgcolour2
05
|
LDREQ R0, border_highlight
ANDEQ R0, R0, #&F
LDREQ R0, [R14, R0, LSL #2] ; look up palette entry
STREQ R0, truebgcolour2
]
LDR R0, truewellcolour
CMP R0, #-1
BNE %FT01
LDR R0, border_type
TEQ R0, #border_defaultaction
[ ThreeDPatch
LDREQ R0, truebuttonwellcolour ; default = Wimp cream (default action)
LDRNE R0, truebuttonbgcolour ; default = Wimp grey 1 (editable)
|
LDREQ R0, [R14, #sc_cream :SHL: 2] ; default = Wimp cream (default action)
LDRNE R0, [R14, #sc_verylightgrey :SHL: 2] ; default = Wimp grey 1 (editable)
]
STR R0, truewellcolour
01
LDR R0, truefacecolour
CMP R0, #-1
[ ThreeDPatch
LDREQ R0, truebuttonborderfacecolour ; default = Wimp white
|
LDREQ R0, [R14, #sc_white :SHL: 2] ; default = Wimp white
]
STREQ R0, truefacecolour
LDR R0, trueoppcolour
......@@ -1089,8 +1123,13 @@ mungetruecolours ROUT
LDR R0, border_type
TEQ R0, #border_ridge
TEQNE R0, #border_channel
[ ThreeDPatch
LDREQ R0, truebuttonbordershallowcolour ; default = Wimp grey 2 (shallow)
LDRNE R0, truebuttonborderoppcolour ; default = Wimp grey 4 (normal)
|
LDREQ R0, [R14, #sc_lightgrey :SHL: 2] ; default = Wimp grey 2 (shallow)
LDRNE R0, [R14, #sc_middarkgrey :SHL: 2] ; default = Wimp grey 4 (normal)
]
STR R0, trueoppcolour
01
TST R1, #is_inverted
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment