@@ -10,6 +10,8 @@ import {
1010 fixationsOpacity ,
1111 heatMapMaxColor ,
1212 heatMapMaxValue ,
13+ heatMapMidColor ,
14+ heatMapMidValue ,
1315 heatMapMinColor ,
1416 heatMapMinValue ,
1517 hoveredFixationColor ,
@@ -90,14 +92,25 @@ export const fixationRenderer = ( fixationsCanvas: Ref<HTMLCanvasElement | null>
9092const drawPoint = ( ctx : CanvasRenderingContext2D ) => {
9193 return ( fixation : EditorFixation , color : string , radius : number ) => {
9294 if ( renderFixationHeatMapInsteadOfDefaultColour . value && fixation . assigned === 'machine' && fixation . disagreement !== undefined ) {
93- const percentage = fixation . disagreement / ( heatMapMaxValue . value - heatMapMinValue . value ) ;
94- const col : Color = {
95- 'r' : heatMapMinColor . value . r + ( ( heatMapMaxColor . value . r - heatMapMinColor . value . r ) * percentage ) ,
96- 'g' : heatMapMinColor . value . g + ( ( heatMapMaxColor . value . g - heatMapMinColor . value . g ) * percentage ) ,
97- 'b' : heatMapMinColor . value . b + ( ( heatMapMaxColor . value . b - heatMapMinColor . value . b ) * percentage )
98- } ;
99-
100- ctx . fillStyle = `rgb( ${ col . r } , ${ col . g } , ${ col . b } )` ;
95+ if ( fixation . disagreement < heatMapMidValue . value ) {
96+ const percentage = fixation . disagreement / ( heatMapMidValue . value - heatMapMinValue . value ) ;
97+ const col : Color = {
98+ 'r' : heatMapMinColor . value . r + ( ( heatMapMidColor . value . r - heatMapMinColor . value . r ) * percentage ) ,
99+ 'g' : heatMapMinColor . value . g + ( ( heatMapMidColor . value . g - heatMapMinColor . value . g ) * percentage ) ,
100+ 'b' : heatMapMinColor . value . b + ( ( heatMapMidColor . value . b - heatMapMinColor . value . b ) * percentage )
101+ } ;
102+
103+ ctx . fillStyle = `rgb( ${ col . r } , ${ col . g } , ${ col . b } )` ;
104+ } else {
105+ const percentage = fixation . disagreement / ( heatMapMaxValue . value - heatMapMidValue . value ) ;
106+ const col : Color = {
107+ 'r' : heatMapMinColor . value . r + ( ( heatMapMaxColor . value . r - heatMapMidColor . value . r ) * percentage ) ,
108+ 'g' : heatMapMinColor . value . g + ( ( heatMapMaxColor . value . g - heatMapMidColor . value . g ) * percentage ) ,
109+ 'b' : heatMapMinColor . value . b + ( ( heatMapMaxColor . value . b - heatMapMidColor . value . b ) * percentage )
110+ } ;
111+
112+ ctx . fillStyle = `rgb( ${ col . r } , ${ col . g } , ${ col . b } )` ;
113+ }
101114 } else {
102115 ctx . fillStyle = color ;
103116 }
0 commit comments