mirror of
https://github.com/gryf/wombat256grf.git
synced 2025-12-17 11:30:19 +01:00
Rewrite function for getting grey level.
This commit is contained in:
@@ -57,36 +57,13 @@ fun s:get_approximate_grey_idx(x)
|
|||||||
endfun
|
endfun
|
||||||
|
|
||||||
" returns the actual grey level represented by the grey index
|
" returns the actual grey level represented by the grey index
|
||||||
fun <SID>grey_level(n)
|
fun s:get_grey_level(n)
|
||||||
if &t_Co == 88
|
if &t_Co == 88
|
||||||
if a:n == 0
|
let l:grey_map = {0: 0, 1: 46, 2: 92, 3: 115, 4: 139, 5: 162, 6: 185,
|
||||||
return 0
|
\7: 208, 8: 231, 9: 255}
|
||||||
elseif a:n == 1
|
return get(l:grey_map, a:n)
|
||||||
return 46
|
|
||||||
elseif a:n == 2
|
|
||||||
return 92
|
|
||||||
elseif a:n == 3
|
|
||||||
return 115
|
|
||||||
elseif a:n == 4
|
|
||||||
return 139
|
|
||||||
elseif a:n == 5
|
|
||||||
return 162
|
|
||||||
elseif a:n == 6
|
|
||||||
return 185
|
|
||||||
elseif a:n == 7
|
|
||||||
return 208
|
|
||||||
elseif a:n == 8
|
|
||||||
return 231
|
|
||||||
else
|
|
||||||
return 255
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
if a:n == 0
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 8 + (a:n * 10)
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
return a:n == 0 ? 0 : 8 + (a:n * 10)
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" returns the palette index for the given grey index
|
" returns the palette index for the given grey index
|
||||||
@@ -181,9 +158,9 @@ fun <SID>color(r, g, b)
|
|||||||
|
|
||||||
if l:gx == l:gy && l:gy == l:gz
|
if l:gx == l:gy && l:gy == l:gz
|
||||||
" there are two possibilities
|
" there are two possibilities
|
||||||
let l:dgr = <SID>grey_level(l:gx) - a:r
|
let l:dgr = s:get_grey_level(l:gx) - a:r
|
||||||
let l:dgg = <SID>grey_level(l:gy) - a:g
|
let l:dgg = s:get_grey_level(l:gy) - a:g
|
||||||
let l:dgb = <SID>grey_level(l:gz) - a:b
|
let l:dgb = s:get_grey_level(l:gz) - a:b
|
||||||
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
|
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
|
||||||
let l:dr = <SID>rgb_level(l:gx) - a:r
|
let l:dr = <SID>rgb_level(l:gx) - a:r
|
||||||
let l:dg = <SID>rgb_level(l:gy) - a:g
|
let l:dg = <SID>rgb_level(l:gy) - a:g
|
||||||
@@ -373,7 +350,7 @@ delf <SID>rgb_color
|
|||||||
delf <SID>rgb_level
|
delf <SID>rgb_level
|
||||||
delf <SID>rgb_number
|
delf <SID>rgb_number
|
||||||
delf <SID>get_grey_color_idx
|
delf <SID>get_grey_color_idx
|
||||||
delf <SID>get_grey_level
|
delf s:get_grey_level
|
||||||
delf s:get_approximate_grey_idx
|
delf s:get_approximate_grey_idx
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user