@@ -160,17 +160,27 @@ function emptyAttributes(regl) {
160
160
return attributes ;
161
161
}
162
162
163
- function makeItem ( model , leftmost , rightmost , itemNumber , i0 , i1 , x , y , panelSizeX , panelSizeY , crossfilterDimensionIndex , drwLayer , constraints ) {
163
+ function makeItem (
164
+ model , leftmost , rightmost , itemNumber , i0 , i1 , x , y , panelSizeX , panelSizeY ,
165
+ crossfilterDimensionIndex , drwLayer , constraints , plotGlPixelRatio
166
+ ) {
164
167
var dims = [ [ ] , [ ] ] ;
165
168
for ( var k = 0 ; k < 64 ; k ++ ) {
166
169
dims [ 0 ] [ k ] = ( k === i0 ) ? 1 : 0 ;
167
170
dims [ 1 ] [ k ] = ( k === i1 ) ? 1 : 0 ;
168
171
}
169
-
170
- var overdrag = model . lines . canvasOverdrag ;
172
+ x *= plotGlPixelRatio ;
173
+ y *= plotGlPixelRatio ;
174
+ panelSizeX *= plotGlPixelRatio ;
175
+ panelSizeY *= plotGlPixelRatio ;
176
+ var overdrag = model . lines . canvasOverdrag * plotGlPixelRatio ;
171
177
var domain = model . domain ;
172
- var canvasWidth = model . canvasWidth ;
173
- var canvasHeight = model . canvasHeight ;
178
+ var canvasWidth = model . canvasWidth * plotGlPixelRatio ;
179
+ var canvasHeight = model . canvasHeight * plotGlPixelRatio ;
180
+ var padL = model . pad . l * plotGlPixelRatio ;
181
+ var padB = model . pad . b * plotGlPixelRatio ;
182
+ var layoutHeight = model . layoutHeight * plotGlPixelRatio ;
183
+ var layoutWidth = model . layoutWidth * plotGlPixelRatio ;
174
184
175
185
var deselectedLinesColor = model . deselectedLines . color ;
176
186
@@ -201,13 +211,13 @@ function makeItem(model, leftmost, rightmost, itemNumber, i0, i1, x, y, panelSiz
201
211
Math . max ( 1 / 255 , Math . pow ( 1 / model . lines . color . length , 1 / 3 ) )
202
212
] ,
203
213
204
- scissorX : ( itemNumber === leftmost ? 0 : x + overdrag ) + ( model . pad . l - overdrag ) + model . layoutWidth * domain . x [ 0 ] ,
214
+ scissorX : ( itemNumber === leftmost ? 0 : x + overdrag ) + ( padL - overdrag ) + layoutWidth * domain . x [ 0 ] ,
205
215
scissorWidth : ( itemNumber === rightmost ? canvasWidth - x + overdrag : panelSizeX + 0.5 ) + ( itemNumber === leftmost ? x + overdrag : 0 ) ,
206
- scissorY : y + model . pad . b + model . layoutHeight * domain . y [ 0 ] ,
216
+ scissorY : y + padB + layoutHeight * domain . y [ 0 ] ,
207
217
scissorHeight : panelSizeY ,
208
218
209
- viewportX : model . pad . l - overdrag + model . layoutWidth * domain . x [ 0 ] ,
210
- viewportY : model . pad . b + model . layoutHeight * domain . y [ 0 ] ,
219
+ viewportX : padL - overdrag + layoutWidth * domain . x [ 0 ] ,
220
+ viewportY : padB + layoutHeight * domain . y [ 0 ] ,
211
221
viewportWidth : canvasWidth ,
212
222
viewportHeight : canvasHeight
213
223
} , constraints ) ;
@@ -454,6 +464,7 @@ module.exports = function(canvasGL, d) {
454
464
var x = p . canvasX ;
455
465
var y = p . canvasY ;
456
466
var nextX = x + p . panelSizeX ;
467
+ var plotGlPixelRatio = p . plotGlPixelRatio ;
457
468
if ( setChanged ||
458
469
! prevAxisOrder [ i0 ] ||
459
470
prevAxisOrder [ i0 ] [ 0 ] !== x ||
@@ -467,7 +478,8 @@ module.exports = function(canvasGL, d) {
467
478
p . panelSizeX , p . panelSizeY ,
468
479
p . dim0 . crossfilterDimensionIndex ,
469
480
isContext ? 0 : isPick ? 2 : 1 ,
470
- constraints
481
+ constraints ,
482
+ plotGlPixelRatio
471
483
) ;
472
484
473
485
renderState . clearOnly = clearOnly ;
0 commit comments