@@ -50,7 +50,7 @@ export function createHiPSDrawer(targetCanvas, GPU) {
50
50
const { viewDim} = plotView ;
51
51
let transitionNorder ;
52
52
53
- const { norder, useAllSky} = getHiPSNorderlevel ( plot , true ) ;
53
+ const { norder, useAllSky, isMaxOrder } = getHiPSNorderlevel ( plot , true ) ;
54
54
const { fov, centerWp} = getPointMaxSide ( plot , viewDim ) ;
55
55
if ( ! centerWp ) return ;
56
56
const tilesToLoad = findCellOnScreen ( plot , viewDim , norder , fov , centerWp ) ;
@@ -79,12 +79,12 @@ export function createHiPSDrawer(targetCanvas, GPU) {
79
79
80
80
if ( drawTiming !== DrawTiming . IMMEDIATE ) {
81
81
drawTransitionalImage ( fov , centerWp , targetCanvas , plot , plotView , norder , transitionNorder , hipsColorOps ,
82
- opacity , tilesToLoad ) ;
82
+ opacity , tilesToLoad , true , isMaxOrder ) ;
83
83
}
84
84
85
85
const offscreenCanvas = makeOffScreenCanvas ( plotView , plot , drawTiming !== DrawTiming . IMMEDIATE ) ;
86
86
abortLastDraw = drawDisplay ( targetCanvas , offscreenCanvas , plot , plotView , norder , hipsColorOps ,
87
- tilesToLoad , useAllSky , opacity , drawTiming ) ;
87
+ tilesToLoad , useAllSky , opacity , drawTiming , true , isMaxOrder ) ;
88
88
lastDrawNorder = norder ;
89
89
lastFov = fov ;
90
90
} ;
@@ -116,9 +116,9 @@ function drawTransitionalImage(fov, centerWp, targetCanvas, plot, plotView,
116
116
const tilesToLoad3 = findCellOnScreen ( plot , viewDim , 3 , fov , centerWp ) ;
117
117
const offscreenCanvas = makeOffScreenCanvas ( plotView , plot , false ) ;
118
118
drawDisplay ( targetCanvas , offscreenCanvas , plot , plotView , 2 , hipsColorOps , tilesToLoad2 , true ,
119
- opacity , DrawTiming . IMMEDIATE , false ) ;
119
+ opacity , DrawTiming . IMMEDIATE , false , false ) ;
120
120
drawDisplay ( targetCanvas , offscreenCanvas , plot , plotView , 3 , hipsColorOps , tilesToLoad3 , false ,
121
- opacity , DrawTiming . IMMEDIATE ) ;
121
+ opacity , DrawTiming . IMMEDIATE , true , false ) ;
122
122
}
123
123
else {
124
124
let lookMore = true ;
@@ -129,7 +129,7 @@ function drawTransitionalImage(fov, centerWp, targetCanvas, plot, plotView,
129
129
const hasSomeTiles = tilesToLoad . some ( ( tile ) => findTileCachedImage ( createImageUrl ( plot , tile ) , colorTableId , bias , contrast ) ) ;
130
130
if ( hasSomeTiles || testNorder === 3 ) { // if there are tiles or we need to do the allsky
131
131
drawDisplay ( targetCanvas , offscreenCanvas , plot , plotView , testNorder , hipsColorOps , tilesToLoad , testNorder === 3 ,
132
- opacity , DrawTiming . IMMEDIATE , false ) ;
132
+ opacity , DrawTiming . IMMEDIATE , false , false ) ;
133
133
lookMore = false ;
134
134
}
135
135
}
@@ -157,17 +157,19 @@ const fovEqual= (fov1,fov2) => Math.trunc(fov1*10000) === Math.trunc(fov2*10000)
157
157
* @param opacity
158
158
* @param drawTiming
159
159
* @param screenRenderEnabled
160
+ * @param {boolean } [isMaxOrder] true if this norder is the max order
160
161
*/
161
162
function drawDisplay ( targetCanvas , offscreenCanvas , plot , plotView , norder , hipsColorOps , tilesToLoad , useAllSky , opacity ,
162
- drawTiming = DrawTiming . ASYNC , screenRenderEnabled = true ) {
163
+ drawTiming = DrawTiming . ASYNC , screenRenderEnabled = true , isMaxOrder = false ) {
163
164
if ( ! targetCanvas ) return noOp ;
164
165
const { viewDim} = plotView ;
165
166
const boundingBox = computeBounding ( primePlot ( plotView ) , viewDim . width , viewDim . height ) ; // should use main plot not overlay plot
166
167
const offsetX = boundingBox . x > 0 ? boundingBox . x : 0 ;
167
168
const offsetY = boundingBox . y > 0 ? boundingBox . y : 0 ;
168
169
169
170
const screenRenderParams = { plotView, plot, targetCanvas, offscreenCanvas, opacity, offsetX, offsetY} ;
170
- const drawer = makeHipsRenderer ( screenRenderParams , tilesToLoad . length , ! plot . asOverlay , screenRenderEnabled , hipsColorOps ) ;
171
+ const drawer = makeHipsRenderer ( screenRenderParams , tilesToLoad . length , ! plot . asOverlay ,
172
+ screenRenderEnabled , hipsColorOps , isMaxOrder ) ;
171
173
172
174
if ( plot . blank ) {
173
175
drawer . renderToScreen ( ) ;
0 commit comments