ImageGrid/ui/modes.js
Alex A. Naanou 6fe78ddafa lots of tweeks and minor fixes...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
2013-05-20 02:49:14 +04:00

78 lines
1.8 KiB
JavaScript
Executable File

/**********************************************************************
*
*
*
**********************************************************************/
//var DEBUG = DEBUG != null ? DEBUG : true
/*********************************************************************/
// XXX make this save and restore settings...
var toggleSingleImageMode = createCSSClassToggler('.viewer',
'single-image-mode',
function(action){
if(action == 'on'){
TRANSITION_MODE_DEFAULT = 'css'
fitNImages(1)
} else {
TRANSITION_MODE_DEFAULT = 'animate'
toggleImageProportions('square')
fitNImages(DEFAULT_SCREEN_IMAGES)
}
})
var toggleTheme = createCSSClassToggler('.viewer',
[
'gray',
'dark',
'light'
])
// NOTE: this confirmsto the css toggler protocol, but is not implemented
// via createCSSClassToggler as we do not need to set any classes,
// al least at this point...
// XXX should we use the createCSSClassToggler for this?
// XXX revise: does extra stuff...
function toggleImageProportions(mode){
var image = $('.image')
var h = image.outerHeight(true)
var w = image.outerWidth(true)
if(mode == '?'){
return h != w ? 'viewer' : 'square'
// square...
} else if(h != w || mode == 'square'){
var size = Math.min(w, h)
image.css({
width: size,
height: size
})
centerView(null, 'css')
return 'square'
// viewer size...
} else {
var viewer = $('.viewer')
var W = viewer.innerWidth()
var H = viewer.innerHeight()
if(W > H){
image.css('width', W * h/H)
} else {
image.css('height', H * w/W)
}
centerView(null, 'css')
return 'viewer'
}
}
/**********************************************************************
* vim:set ts=4 sw=4 : */