mirror of
				https://github.com/flynx/PortableMag.git
				synced 2025-11-04 05:50:19 +00:00 
			
		
		
		
	added the full/ribbon mode toggle to layout.html...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									eed633a02a
								
							
						
					
					
						commit
						f9c9196c86
					
				
							
								
								
									
										73
									
								
								layout.js
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								layout.js
									
									
									
									
									
								
							@ -8,27 +8,70 @@ var NAVIGATE_RELATIVE_TO_VISIBLE = false
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
var USE_PAGE_ALIGN = true
 | 
					var USE_PAGE_ALIGN = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var PAGES_IN_RIBBON = 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/********************************************************** layout ***/
 | 
					/********************************************************** layout ***/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var togglePageFitMode = createCSSClassToggler(
 | 
					var togglePageFitMode = createCSSClassToggler(
 | 
				
			||||||
	'.viewer', 
 | 
							'.viewer', 
 | 
				
			||||||
	'.page-fit-to-viewer', 
 | 
							'.page-fit-to-viewer', 
 | 
				
			||||||
	function(action){
 | 
							function(action){
 | 
				
			||||||
		if(action == 'on'){
 | 
								if(action == 'on'){
 | 
				
			||||||
			console.log('fitting pages to view...')
 | 
									console.log('fitting pages to view...')
 | 
				
			||||||
			var n = getPageNumber()
 | 
									var n = getPageNumber()
 | 
				
			||||||
			var scale = getMagazineScale()
 | 
									var scale = getMagazineScale()
 | 
				
			||||||
			$('.page:not(.no-resize)').width($('.viewer').width()/scale)
 | 
									$('.page:not(.no-resize)').width($('.viewer').width()/scale)
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									console.log('restoring page sizes...')
 | 
				
			||||||
 | 
									var n = getPageNumber()
 | 
				
			||||||
 | 
									$('.page:not(.no-resize)').width('')
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			setCurrentPage(n)
 | 
								setCurrentPage(n)
 | 
				
			||||||
		} else {
 | 
							})
 | 
				
			||||||
			console.log('restoring page sizes...')
 | 
					
 | 
				
			||||||
			var n = getPageNumber()
 | 
					
 | 
				
			||||||
			$('.page:not(.no-resize)').width('')
 | 
					var togglePageView = createCSSClassToggler(
 | 
				
			||||||
			setCurrentPage(n)
 | 
							'.viewer',
 | 
				
			||||||
		}
 | 
							'.full-page-view-mode',
 | 
				
			||||||
	})
 | 
							// XXX make this support transitions...
 | 
				
			||||||
 | 
							function(action){
 | 
				
			||||||
 | 
								var view = $('.viewer')
 | 
				
			||||||
 | 
								var page = $('.page')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if(action == 'on'){
 | 
				
			||||||
 | 
									var W = view.width()
 | 
				
			||||||
 | 
									var H = view.height()
 | 
				
			||||||
 | 
									var w = page.width()
 | 
				
			||||||
 | 
									var h = page.height()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									// XXX this is not correct...
 | 
				
			||||||
 | 
									// 		...need to fit one rectangel (page) into another (viewer)
 | 
				
			||||||
 | 
									if(W >= H){
 | 
				
			||||||
 | 
										// fit to width...
 | 
				
			||||||
 | 
										var scale = W/w
 | 
				
			||||||
 | 
									} else {
 | 
				
			||||||
 | 
										// fit to height...
 | 
				
			||||||
 | 
										var scale = H/h
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									setMagazineScale(scale)
 | 
				
			||||||
 | 
									unanimated($('.magazine, .viewer'), togglePageFitMode)('on')
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									unanimated($('.magazine, .viewer'), togglePageFitMode)('off')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									var W = view.width()
 | 
				
			||||||
 | 
									var H = view.height()
 | 
				
			||||||
 | 
									var w = page.width()
 | 
				
			||||||
 | 
									var h = page.height()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									scale = W/(w*PAGES_IN_RIBBON)
 | 
				
			||||||
 | 
									setMagazineScale(scale)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								// NOTE: can't disable transitions on this one because ScrollTo
 | 
				
			||||||
 | 
								// 		uses jQuery animation...
 | 
				
			||||||
 | 
								setCurrentPage()
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user