From f863f5fcae48f903d6e82de1a78d678a0b0278d2 Mon Sep 17 00:00:00 2001 From: thatcher Date: Fri, 1 Feb 2013 15:18:53 -0500 Subject: [PATCH] changing drawHTML routine to avoid ie rendering issue --- build.properties | 2 +- openseadragon.js | 37 ++++++++++++++++------------------ src/drawer.js | 19 ++++++++--------- src/openseadragon.js | 4 ++-- src/tile.js | 12 ++++------- www/developer-debug-mode.html | 5 ++++- www/tilesource-collection.html | 7 ++++--- 7 files changed, 42 insertions(+), 44 deletions(-) diff --git a/build.properties b/build.properties index 1406432c..ad423b01 100644 --- a/build.properties +++ b/build.properties @@ -6,7 +6,7 @@ PROJECT: openseadragon BUILD_MAJOR: 0 BUILD_MINOR: 9 -BUILD_ID: 95 +BUILD_ID: 96 BUILD: ${PROJECT}.${BUILD_MAJOR}.${BUILD_MINOR}.${BUILD_ID} VERSION: ${BUILD_MAJOR}.${BUILD_MINOR}.${BUILD_ID} diff --git a/openseadragon.js b/openseadragon.js index 83cfbbfa..fa615e75 100644 --- a/openseadragon.js +++ b/openseadragon.js @@ -1,7 +1,7 @@ /*globals OpenSeadragon */ /** - * @version OpenSeadragon 0.9.95 + * @version OpenSeadragon 0.9.96 * * @fileOverview *

@@ -471,8 +471,8 @@ window.OpenSeadragon = window.OpenSeadragon || function( options ){ //INTERFACE FEATURES animationTime: 1.5, - blendTime: 0.1, - alwaysBlend: false, + blendTime: 0.5, + alwaysBlend: true, autoHideControls: true, immediateRender: false, wrapHorizontal: false, @@ -7726,13 +7726,9 @@ $.Tile.prototype = { // content during animation of the container size. if ( !this.element ) { - this.element = $.makeNeutralElement("div"); - this.image = $.makeNeutralElement("img"); - this.image.src = this.url; - this.image.style.height = '100%'; - this.image.style.width = '100%'; - this.image.style.msInterpolationMode = "nearest-neighbor"; - this.element.appendChild( this.image ); + this.element = $.makeNeutralElement("img"); + this.element.src = this.url; + this.element.style.msInterpolationMode = "nearest-neighbor"; this.style = this.element.style; this.style.position = "absolute"; @@ -7746,7 +7742,7 @@ $.Tile.prototype = { this.style.height = 100 * ( this.size.y / containerSize.y ) + "%"; this.style.width = 100 * ( this.size.x / containerSize.x ) + "%"; - $.setElementOpacity( this.image, this.opacity ); + $.setElementOpacity( this.element, this.opacity ); }, @@ -8945,14 +8941,6 @@ function drawTiles( drawer, lastDrawn ){ for ( i = lastDrawn.length - 1; i >= 0; i-- ) { tile = lastDrawn[ i ]; - - if( drawer.debugMode ){ - try{ - drawDebugInfo( drawer, tile, lastDrawn.length, i ); - }catch(e){ - $.console.error(e); - } - } //We dont actually 'draw' a collection tile, rather its used to house //an overlay which does the drawing in its own viewport @@ -9021,8 +9009,17 @@ function drawTiles( drawer, lastDrawn ){ tile.drawHTML( drawer.canvas ); } + tile.beingDrawn = true; } + + if( drawer.debugMode ){ + try{ + drawDebugInfo( drawer, tile, lastDrawn.length, i ); + }catch(e){ + $.console.error(e); + } + } } } @@ -9031,7 +9028,7 @@ function drawDebugInfo( drawer, tile, count, i ){ if ( USE_CANVAS ) { drawer.context.lineWidth = 2; - drawer.context.font = 'small-caps bold 12px ariel'; + drawer.context.font = 'small-caps bold 13px ariel'; drawer.context.strokeStyle = drawer.debugGridColor; drawer.context.fillStyle = drawer.debugGridColor; drawer.context.strokeRect( diff --git a/src/drawer.js b/src/drawer.js index af61110d..d920a2ce 100644 --- a/src/drawer.js +++ b/src/drawer.js @@ -960,14 +960,6 @@ function drawTiles( drawer, lastDrawn ){ for ( i = lastDrawn.length - 1; i >= 0; i-- ) { tile = lastDrawn[ i ]; - - if( drawer.debugMode ){ - try{ - drawDebugInfo( drawer, tile, lastDrawn.length, i ); - }catch(e){ - $.console.error(e); - } - } //We dont actually 'draw' a collection tile, rather its used to house //an overlay which does the drawing in its own viewport @@ -1036,8 +1028,17 @@ function drawTiles( drawer, lastDrawn ){ tile.drawHTML( drawer.canvas ); } + tile.beingDrawn = true; } + + if( drawer.debugMode ){ + try{ + drawDebugInfo( drawer, tile, lastDrawn.length, i ); + }catch(e){ + $.console.error(e); + } + } } } @@ -1046,7 +1047,7 @@ function drawDebugInfo( drawer, tile, count, i ){ if ( USE_CANVAS ) { drawer.context.lineWidth = 2; - drawer.context.font = 'small-caps bold 12px ariel'; + drawer.context.font = 'small-caps bold 13px ariel'; drawer.context.strokeStyle = drawer.debugGridColor; drawer.context.fillStyle = drawer.debugGridColor; drawer.context.strokeRect( diff --git a/src/openseadragon.js b/src/openseadragon.js index 93df8b76..79822277 100644 --- a/src/openseadragon.js +++ b/src/openseadragon.js @@ -471,8 +471,8 @@ window.OpenSeadragon = window.OpenSeadragon || function( options ){ //INTERFACE FEATURES animationTime: 1.5, - blendTime: 0.1, - alwaysBlend: false, + blendTime: 0.5, + alwaysBlend: true, autoHideControls: true, immediateRender: false, wrapHorizontal: false, diff --git a/src/tile.js b/src/tile.js index 6525ab32..a3aee226 100644 --- a/src/tile.js +++ b/src/tile.js @@ -113,13 +113,9 @@ $.Tile.prototype = { // content during animation of the container size. if ( !this.element ) { - this.element = $.makeNeutralElement("div"); - this.image = $.makeNeutralElement("img"); - this.image.src = this.url; - this.image.style.height = '100%'; - this.image.style.width = '100%'; - this.image.style.msInterpolationMode = "nearest-neighbor"; - this.element.appendChild( this.image ); + this.element = $.makeNeutralElement("img"); + this.element.src = this.url; + this.element.style.msInterpolationMode = "nearest-neighbor"; this.style = this.element.style; this.style.position = "absolute"; @@ -133,7 +129,7 @@ $.Tile.prototype = { this.style.height = 100 * ( this.size.y / containerSize.y ) + "%"; this.style.width = 100 * ( this.size.x / containerSize.x ) + "%"; - $.setElementOpacity( this.image, this.opacity ); + $.setElementOpacity( this.element, this.opacity ); }, diff --git a/www/developer-debug-mode.html b/www/developer-debug-mode.html index a3833acb..9beb32d3 100644 --- a/www/developer-debug-mode.html +++ b/www/developer-debug-mode.html @@ -22,7 +22,10 @@ prefixUrl: "/openseadragon/images/", tileSources: "/openseadragon/examples/images/highsmith/highsmith.js", showNavigator: false, - debugMode: true + debugMode: true, + //debugGridColor: "#f9276f", + //minZoomImageRatio: 0, + //maxZoomPixelRatio: 10000 }); diff --git a/www/tilesource-collection.html b/www/tilesource-collection.html index da68e3a9..2425df13 100644 --- a/www/tilesource-collection.html +++ b/www/tilesource-collection.html @@ -175,7 +175,7 @@ OpenSeadragon({ collectionMode: true, collectionRows: 2, collectionTileSize: 1024, - collectionTileMargin: 256, + collectionTileMargin: 512, collectionLayout: 'vertical', //panVertical: false, @@ -204,7 +204,7 @@ OpenSeadragon({ - + \ No newline at end of file