mirror of
				https://github.com/flynx/PortableMag.git
				synced 2025-10-30 19:40:12 +00:00 
			
		
		
		
	some minor refactoring...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									025aafc177
								
							
						
					
					
						commit
						24272ae701
					
				
							
								
								
									
										44
									
								
								layout.js
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								layout.js
									
									
									
									
									
								
							| @ -5,7 +5,7 @@ | |||||||
| **********************************************************************/ | **********************************************************************/ | ||||||
| 
 | 
 | ||||||
| //var NAVIGATE_RELATIVE_TO_VISIBLE = false
 | //var NAVIGATE_RELATIVE_TO_VISIBLE = false
 | ||||||
| var NAVIGATE_RELATIVE_TO_VISIBLE = true | //var NAVIGATE_RELATIVE_TO_VISIBLE = true
 | ||||||
| 
 | 
 | ||||||
| var USE_PAGE_ALIGN = true | var USE_PAGE_ALIGN = true | ||||||
| 
 | 
 | ||||||
| @ -78,6 +78,8 @@ var togglePageView = createCSSClassToggler( | |||||||
| 
 | 
 | ||||||
| /************************************************** event handlers ***/ | /************************************************** event handlers ***/ | ||||||
| 
 | 
 | ||||||
|  | // XXX make this more universal...
 | ||||||
|  | // XXX should we use a callback or an event???
 | ||||||
| function makeScrollHandler(root, callback){ | function makeScrollHandler(root, callback){ | ||||||
| 
 | 
 | ||||||
| 	// local data...
 | 	// local data...
 | ||||||
| @ -113,6 +115,7 @@ function makeScrollHandler(root, callback){ | |||||||
| 		return false | 		return false | ||||||
| 	} | 	} | ||||||
| 	// XXX add limits to this...
 | 	// XXX add limits to this...
 | ||||||
|  | 	// XXX slow down drag when at limit...
 | ||||||
| 	// XXX try and make this adaptive to stay ahead of the lags...
 | 	// XXX try and make this adaptive to stay ahead of the lags...
 | ||||||
| 	function moveHandler(evt){ | 	function moveHandler(evt){ | ||||||
| 		evt.preventDefault() | 		evt.preventDefault() | ||||||
| @ -185,6 +188,9 @@ function makeScrollHandler(root, callback){ | |||||||
| 			} | 			} | ||||||
| 			return this | 			return this | ||||||
| 		}, | 		}, | ||||||
|  | 		setCallback: function(func){ | ||||||
|  | 			this.callback = func | ||||||
|  | 		}, | ||||||
| 		// NOTE: this is updated live but not used by the system in any way...
 | 		// NOTE: this is updated live but not used by the system in any way...
 | ||||||
| 		state: 'stopped' | 		state: 'stopped' | ||||||
| 	} | 	} | ||||||
| @ -195,6 +201,13 @@ function makeScrollHandler(root, callback){ | |||||||
| 
 | 
 | ||||||
| /********************************************************* helpers ***/ | /********************************************************* helpers ***/ | ||||||
| 
 | 
 | ||||||
|  | // XXX make this more acurate...
 | ||||||
|  | // 		...should check mode or if we are in a ribbon...
 | ||||||
|  | function isNavigationViewRelative(){ | ||||||
|  | 	return getMagazineScale() < 1 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| // XXX there is something here that depends on scale that is either not 
 | // XXX there is something here that depends on scale that is either not 
 | ||||||
| // 		compensated, or is over compensated...
 | // 		compensated, or is over compensated...
 | ||||||
| function getMagazineOffset(page, scale, align){ | function getMagazineOffset(page, scale, align){ | ||||||
| @ -231,22 +244,23 @@ function getMagazineOffset(page, scale, align){ | |||||||
| 
 | 
 | ||||||
| // XXX make this work for narrow and left/right alligned pages...
 | // XXX make this work for narrow and left/right alligned pages...
 | ||||||
| function getPageNumber(page){ | function getPageNumber(page){ | ||||||
| 	// a page is given...
 | 	// a page is given explicitly, get the next one...
 | ||||||
| 	if(page != null){ | 	if(page != null){ | ||||||
| 		return $('.page').index($(page)) | 		return $('.page').index($(page)) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// get the next page... 
 | 	// get the next page relative to the current... 
 | ||||||
| 	if(!NAVIGATE_RELATIVE_TO_VISIBLE){ | 	//if(!NAVIGATE_RELATIVE_TO_VISIBLE){
 | ||||||
|  | 	if(!isNavigationViewRelative()){ | ||||||
| 		return $('.page').index($('.current.page')) | 		return $('.page').index($('.current.page')) | ||||||
| 
 | 
 | ||||||
| 	// get the closest page to view... 
 | 	// get the closest page to view center... 
 | ||||||
|  | 	// NOTE: this ignores page aligns and only gets the page who's center 
 | ||||||
|  | 	// 		is closer to view's center
 | ||||||
| 	} else { | 	} else { | ||||||
| 		// XXX this gets crazy when magazine is scaled...
 | 		var scale = getMagazineScale() | ||||||
| 		//var s = $('.viewer').scrollLeft()
 |  | ||||||
| 		var o = -$($('.magazine')[0]).offset().left - $('.viewer').offset().left | 		var o = -$($('.magazine')[0]).offset().left - $('.viewer').offset().left | ||||||
| 		var W = $('.viewer').width() | 		var W = $('.viewer').width() | ||||||
| 		var scale = getMagazineScale() |  | ||||||
| 		var cur = -1 | 		var cur = -1 | ||||||
| 		var res = $('.page').map(function(i, e){ | 		var res = $('.page').map(function(i, e){ | ||||||
| 			e = $(e) | 			e = $(e) | ||||||
| @ -267,9 +281,15 @@ function setMagazineScale(scale){ | |||||||
| 	var mag = $('.magazine') | 	var mag = $('.magazine') | ||||||
| 	var cur = $('.current.page') | 	var cur = $('.current.page') | ||||||
| 
 | 
 | ||||||
| 	var left = getMagazineOffset(cur, scale, 'center') | 	// XXX make this check more unversal...
 | ||||||
|  | 	// center-align ribbon view pages...
 | ||||||
|  | 	var align = scale < 1 ? 'center' : null | ||||||
|  | 
 | ||||||
|  | 	var left = getMagazineOffset(cur, scale, align) | ||||||
| 
 | 
 | ||||||
| 	setElementTransform(mag, left, scale) | 	setElementTransform(mag, left, scale) | ||||||
|  | 
 | ||||||
|  | 	return mag | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -291,7 +311,11 @@ function setCurrentPage(n){ | |||||||
| 
 | 
 | ||||||
| 	var cur = $('.current.page') | 	var cur = $('.current.page') | ||||||
| 
 | 
 | ||||||
| 	var left = getMagazineOffset(cur) | 	// XXX make this check more unversal...
 | ||||||
|  | 	// center-align pages in ribbon view...
 | ||||||
|  | 	var align = scale < 1 ? 'center' : null | ||||||
|  | 
 | ||||||
|  | 	var left = getMagazineOffset(cur, null, align) | ||||||
| 
 | 
 | ||||||
| 	setElementTransform($('.magazine'), left, scale) | 	setElementTransform($('.magazine'), left, scale) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user