diff --git a/ui/TODO.otl b/ui/TODO.otl index 059692dd..d87e32b5 100755 --- a/ui/TODO.otl +++ b/ui/TODO.otl @@ -1,5 +1,9 @@ Priority work - [_] 93% Preview II + [_] 85% Preview II + [_] load higher resolution images OVER lower res to avoid "blackouts" + | plus, might be good to keep the low-res versions loaded... + | + | this can either be done via pre-loading or double layering... [_] 38% native client [_] 0% Generic [_] default settings in platform-specific JSON file diff --git a/ui/experiments/css-overlay.html b/ui/experiments/css-overlay.html new file mode 100755 index 00000000..67bb0b52 --- /dev/null +++ b/ui/experiments/css-overlay.html @@ -0,0 +1,47 @@ + + + + + + + +
+ + +
diff --git a/ui/gallery-prototype.js b/ui/gallery-prototype.js index f0b2223f..0950e720 100755 --- a/ui/gallery-prototype.js +++ b/ui/gallery-prototype.js @@ -1194,11 +1194,12 @@ function makeImage(order, set_order){ } return (setupImageEventHandlers( set_order($('
') + //set_order($('
') , order))) } -// NOTE: if there is not id image this will return null +// NOTE: if there is no id image this will return null function getImageData(id){ var json = ImageGrid.image_data var ribbons = json.ribbons @@ -1211,6 +1212,7 @@ function getImageData(id){ } } +// Get a preview url of apropriate size... // NOTE: this is largely independent of ImageGrid.image_data structure, // it needs only content... function getURL(id, size){ @@ -1248,6 +1250,26 @@ function getURL(id, size){ } } +function updateImage(img, size){ + var id = img.attr('id') + var overlay = $('#'+id+' .image-overlay') + // create an overlay with the same image... + // XXX do we need to create the overlay each time??? + overlay + .css({ + 'background-image': img.css('background-image'), + }) + .show() + img + .css({ + 'background-image': 'url('+getURL(id, size)+')' + }) + // when the new image loads, fadeout the overlay remove it... + .ready(function(){ + overlay.fadeOut() + }) +} + var SCREEN_WIDTH_CACHE = 4 @@ -1282,7 +1304,7 @@ function updateRibbonImages(img, force){ // XXX update images on zoom... var bg = img.css('background-image') if(force || bg == 'none' || bg == null){ - img.css({ 'background-image': 'url('+getURL(img.attr('id'), size)+')' }) + updateImage(img, size) } //img.not('.loaded').css({ 'background-image': 'url('+getURL(img.attr('id'))+')' }) // remove the processed images from the list... diff --git a/ui/gallery.css b/ui/gallery.css index 6abdf419..7d67cca9 100755 --- a/ui/gallery.css +++ b/ui/gallery.css @@ -109,7 +109,7 @@ } -.image, .current-indicator { +.image, .image-overlay, .current-indicator { width: 350px; height: 350px; } @@ -123,8 +123,19 @@ opacity: 0.3; cursor: hand; +} + +.image-overlay { + position: absolute; + display: none; + content: ''; + top: 0px; + left: 0px; + background: no-repeat 50% black; + background-size: contain; } + .current-indicator { display: none; cursor: hand;