mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 03:10:07 +00:00 
			
		
		
		
	some refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									4862cd146d
								
							
						
					
					
						commit
						6a4ebcb0c8
					
				| @ -153,8 +153,8 @@ Guides: | |||||||
| <br> | <br> | ||||||
| 
 | 
 | ||||||
| Zoom: | Zoom: | ||||||
| <button onclick="zoomContainerBy(2)">+</button> | <button onclick="scaleContainerBy(2)">+</button> | ||||||
| <button onclick="zoomContainerBy(0.5)">-</button> | <button onclick="scaleContainerBy(0.5)">-</button> | ||||||
| <button onclick="setContainerZoom(1)">Original</button> | <button onclick="setContainerZoom(1)">Original</button> | ||||||
| <button onclick="fitImage()">Image</button> | <button onclick="fitImage()">Image</button> | ||||||
| <button onclick="fitThreeImages()">Three</button> | <button onclick="fitThreeImages()">Three</button> | ||||||
|  | |||||||
| @ -42,7 +42,7 @@ function setupControlElements(){ | |||||||
| 	$('.demote').click(shiftImageUp) | 	$('.demote').click(shiftImageUp) | ||||||
| 	$('.promote').click(shiftImageDown) | 	$('.promote').click(shiftImageDown) | ||||||
| 	$('.toggle-wide').click(toggleWideView) | 	$('.toggle-wide').click(toggleWideView) | ||||||
| 	$('.toggle-single').click(toggleRibbonView) | 	$('.toggle-single').click(toggleSingleImageMode) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -111,7 +111,7 @@ var ZOOM_FACTOR = 2 | |||||||
| // XXX need to make this handle modifiers gracefully...
 | // XXX need to make this handle modifiers gracefully...
 | ||||||
| var keys = { | var keys = { | ||||||
| 	toggleHelp: [72], | 	toggleHelp: [72], | ||||||
| 	toggleRibbonView: [70], | 	toggleSingleImageMode: [70], | ||||||
| 	close: [27, 88, 67], | 	close: [27, 88, 67], | ||||||
| 
 | 
 | ||||||
| 	// zooming...
 | 	// zooming...
 | ||||||
| @ -187,10 +187,10 @@ function handleKeys(event){ | |||||||
| 			} | 			} | ||||||
| 		}() | 		}() | ||||||
| 		// zooming...
 | 		// zooming...
 | ||||||
| 		: (fn(code, keys.zoomIn) >= 0) ? zoomContainerBy(ZOOM_FACTOR) | 		: (fn(code, keys.zoomIn) >= 0) ? scaleContainerBy(ZOOM_FACTOR) | ||||||
| 		: (fn(code, keys.zoomOut) >= 0) ? zoomContainerBy(1/ZOOM_FACTOR) | 		: (fn(code, keys.zoomOut) >= 0) ? scaleContainerBy(1/ZOOM_FACTOR) | ||||||
| 		// zoom presets...
 | 		// zoom presets...
 | ||||||
| 		: (fn(code, keys.zoomOriginal) >= 0) ? setContainerZoom(1) | 		: (fn(code, keys.zoomOriginal) >= 0) ? setContainerScale(1) | ||||||
| 		: (fn(code, keys.fitOne) >= 0) ? fitImage() | 		: (fn(code, keys.fitOne) >= 0) ? fitImage() | ||||||
| 		: (fn(code, keys.fitThree) >= 0) ? fitThreeImages() | 		: (fn(code, keys.fitThree) >= 0) ? fitThreeImages() | ||||||
| 
 | 
 | ||||||
| @ -200,7 +200,7 @@ function handleKeys(event){ | |||||||
| 		: (fn(code, keys.moveViewLeft) >= 0) ? moveViewLeft() | 		: (fn(code, keys.moveViewLeft) >= 0) ? moveViewLeft() | ||||||
| 		: (fn(code, keys.moveViewRight) >= 0) ? moveViewRight() | 		: (fn(code, keys.moveViewRight) >= 0) ? moveViewRight() | ||||||
| 
 | 
 | ||||||
| 		: (fn(code, keys.toggleRibbonView) >= 0) ? toggleRibbonView() | 		: (fn(code, keys.toggleSingleImageMode) >= 0) ? toggleSingleImageMode() | ||||||
| 		: (fn(code, keys.ignore) >= 0) ? false | 		: (fn(code, keys.ignore) >= 0) ? false | ||||||
| 		// XXX
 | 		// XXX
 | ||||||
| 		: (keys.helpShowOnUnknownKey) ? function(){alert(code)}() | 		: (keys.helpShowOnUnknownKey) ? function(){alert(code)}() | ||||||
| @ -236,12 +236,18 @@ function setViewerMode(mode){ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| // ribbon/single view modes...
 | // ribbon/single view modes...
 | ||||||
|  | 
 | ||||||
|  | var ORIGINAL_FIELD_SCALE = 1 | ||||||
|  | 
 | ||||||
| // XXX CSS broken...
 | // XXX CSS broken...
 | ||||||
| function toggleRibbonView(){ | function toggleSingleImageMode(){ | ||||||
| 	if($('.single-image-mode').length > 0){ | 	if($('.single-image-mode').length > 0){ | ||||||
| 		unsetViewerMode('single-image-mode') | 		unsetViewerMode('single-image-mode') | ||||||
|  | 		setContainerScale(ORIGINAL_FIELD_SCALE) | ||||||
| 	} else { | 	} else { | ||||||
| 		setViewerMode('single-image-mode') | 		setViewerMode('single-image-mode') | ||||||
|  | 		ORIGINAL_FIELD_SCALE = getElementScale($('.field')) | ||||||
|  | 		fitImage() | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -250,10 +256,10 @@ function toggleRibbonView(){ | |||||||
| // wide view mode toggle...
 | // wide view mode toggle...
 | ||||||
| function toggleWideView(){ | function toggleWideView(){ | ||||||
| 	if($('.wide-view-mode').length > 0){ | 	if($('.wide-view-mode').length > 0){ | ||||||
| 		setContainerZoom(1) | 		setContainerScale(1) | ||||||
| 		$('.viewer').removeClass('wide-view-mode') | 		$('.viewer').removeClass('wide-view-mode') | ||||||
| 	} else { | 	} else { | ||||||
| 		setContainerZoom(0.1) | 		setContainerScale(0.1) | ||||||
| 		$('.viewer').addClass('wide-view-mode') | 		$('.viewer').addClass('wide-view-mode') | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | |||||||
| @ -124,7 +124,7 @@ $(document).ready(setup); | |||||||
| 
 | 
 | ||||||
| 	<button onclick="zoomContainerBy(2)">Zoom in (+)</button> | 	<button onclick="zoomContainerBy(2)">Zoom in (+)</button> | ||||||
| 	<button onclick="zoomContainerBy(0.5)">Zoom out (-)</button> | 	<button onclick="zoomContainerBy(0.5)">Zoom out (-)</button> | ||||||
| 	<button onclick="setContainerZoom(1)">Original (0)</button> | 	<button onclick="setContainerScale(1)">Original (0)</button> | ||||||
| 	<button onclick="fitImage()">Image (1)</button> | 	<button onclick="fitImage()">Image (1)</button> | ||||||
| 	<button onclick="fitThreeImages()">Three (3)</button> | 	<button onclick="fitThreeImages()">Three (3)</button> | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										33
									
								
								ui/ui.js
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								ui/ui.js
									
									
									
									
									
								
							| @ -37,8 +37,7 @@ function getCurrentVerticalOffset(image){ | |||||||
| 		image = $('.image.current') | 		image = $('.image.current') | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	//var zoom = $('.field').css('zoom')
 | 	var scale = getElementScale($('.field')) | ||||||
| 	var zoom = getElementScale($('.field')) |  | ||||||
| 
 | 
 | ||||||
| 	var ribbons = $('.ribbon') | 	var ribbons = $('.ribbon') | ||||||
| 	var ribbon = image.parents('.ribbon') | 	var ribbon = image.parents('.ribbon') | ||||||
| @ -68,8 +67,7 @@ function getCurrentHorizontalOffset(image){ | |||||||
| 		image = $('.image.current') | 		image = $('.image.current') | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	//var zoom = $('.field').css('zoom')
 | 	var scale = getElementScale($('.field')) | ||||||
| 	var zoom = getElementScale($('.field')) |  | ||||||
| 
 | 
 | ||||||
| 	var ribbon = image.parents('.ribbon') | 	var ribbon = image.parents('.ribbon') | ||||||
| 	var images = ribbon.children('.image') | 	var images = ribbon.children('.image') | ||||||
| @ -175,13 +173,12 @@ function centerOrigin(){ | |||||||
| 
 | 
 | ||||||
| // XXX need to make this work for % values...
 | // XXX need to make this work for % values...
 | ||||||
| // XXX make this usable as an event handler for .resize(...) event...
 | // XXX make this usable as an event handler for .resize(...) event...
 | ||||||
| // XXX this does not account for zoom correctly...
 | // XXX this does not account for scale correctly...
 | ||||||
| function fieldSize(W, H){ | function fieldSize(W, H){ | ||||||
| 	var oW = $('.container').width() | 	var oW = $('.container').width() | ||||||
| 	var oH = $('.container').height() | 	var oH = $('.container').height() | ||||||
| 
 | 
 | ||||||
| 	//var zoom = $('.field').css('zoom')
 | 	var scale = getElementScale($('.field')) | ||||||
| 	var zoom = getElementScale($('.field')) |  | ||||||
| 
 | 
 | ||||||
| 	$('.container').css({ | 	$('.container').css({ | ||||||
| 		'width': W, | 		'width': W, | ||||||
| @ -240,22 +237,22 @@ function setElementScale(elem, scale){ | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // XXX this appears to be broken -- for some reason the current scale does not change...
 | // XXX this appears to be broken -- for some reason the current scale does not change...
 | ||||||
| function zoomContainerBy(factor){ | function scaleContainerBy(factor){ | ||||||
| 	var zoom = getElementScale($('.field'))*factor  | 	var scale = getElementScale($('.field'))*factor  | ||||||
| 
 | 
 | ||||||
| 	setContainerZoom(zoom) | 	setContainerScale(scale) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function setContainerZoom(zoom){ | function setContainerScale(scale){ | ||||||
| 	var H = $('.container').height() | 	var H = $('.container').height() | ||||||
| 	var W = $('.container').width() | 	var W = $('.container').width() | ||||||
| 
 | 
 | ||||||
| 	$('.field').css({ | 	$('.field').css({ | ||||||
| 		'transform': 'scale('+zoom+', '+zoom+')', | 		'transform': 'scale('+scale+', '+scale+')', | ||||||
| 		'-moz-transform': 'scale('+zoom+', '+zoom+')', | 		'-moz-transform': 'scale('+scale+', '+scale+')', | ||||||
| 		'-o-transform': 'scale('+zoom+', '+zoom+')', | 		'-o-transform': 'scale('+scale+', '+scale+')', | ||||||
| 		'-ms-transform': 'scale('+zoom+', '+zoom+')', | 		'-ms-transform': 'scale('+scale+', '+scale+')', | ||||||
| 		'-webkit-transform': 'scale('+zoom+', '+zoom+')', | 		'-webkit-transform': 'scale('+scale+', '+scale+')', | ||||||
| 	}) | 	}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -268,7 +265,7 @@ function fitImage(){ | |||||||
| 
 | 
 | ||||||
| 	var f = Math.min(H/h, W/w) | 	var f = Math.min(H/h, W/w) | ||||||
| 
 | 
 | ||||||
| 	setContainerZoom(f) | 	setContainerScale(f) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function fitThreeImages(){ | function fitThreeImages(){ | ||||||
| @ -281,6 +278,6 @@ function fitThreeImages(){ | |||||||
| 
 | 
 | ||||||
| 	var f = Math.min(H/h, W/w) | 	var f = Math.min(H/h, W/w) | ||||||
| 
 | 
 | ||||||
| 	setContainerZoom(f) | 	setContainerScale(f) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user