Public Declare Sub RtlMoveMemory Lib "kernel32" (Destination As Any, Source As Any, ByVal Length As Long)
Public Function IncVal(ByVal wV1 As Long, ByVal wV2 As Long) As Byte
wV1 = wV1 + wV2
If (wV1 < 0) Then wV1 = 0
If (wV1 > 255) Then wV1 = 255
IncVal = wV1
End Function
Public Function GammaClr(ByVal wClr As Long, ByVal wdR As Long, ByVal wdG As Long, ByVal wdB As Long) As Long
Dim vTbl(3) As Byte
RtlMoveMemory vTbl(0), wClr, 4
vTbl(0) = IncVal(vTbl(0), wdR)
vTbl(1) = IncVal(vTbl(1), wdG)
vTbl(2) = IncVal(vTbl(2), wdB)
RtlMoveMemory GammaClr, vTbl(0), 4
End Function
Public Function BrightClr(ByVal wClr As Long, ByVal wdBright As Long) As Long
Dim vTbl(3) As Byte
RtlMoveMemory vTbl(0), wClr, 4
vTbl(0) = IncVal(vTbl(0), wdBright)
vTbl(1) = IncVal(vTbl(1), wdBright)
vTbl(2) = IncVal(vTbl(2), wdBright)
RtlMoveMemory BrightClr, vTbl(0), 4
End Function