mirror of
				https://github.com/flynx/PortableMag.git
				synced 2025-10-30 03:30:09 +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 = true | ||||
| //var NAVIGATE_RELATIVE_TO_VISIBLE = true
 | ||||
| 
 | ||||
| var USE_PAGE_ALIGN = true | ||||
| 
 | ||||
| @ -78,6 +78,8 @@ var togglePageView = createCSSClassToggler( | ||||
| 
 | ||||
| /************************************************** event handlers ***/ | ||||
| 
 | ||||
| // XXX make this more universal...
 | ||||
| // XXX should we use a callback or an event???
 | ||||
| function makeScrollHandler(root, callback){ | ||||
| 
 | ||||
| 	// local data...
 | ||||
| @ -113,6 +115,7 @@ function makeScrollHandler(root, callback){ | ||||
| 		return false | ||||
| 	} | ||||
| 	// XXX add limits to this...
 | ||||
| 	// XXX slow down drag when at limit...
 | ||||
| 	// XXX try and make this adaptive to stay ahead of the lags...
 | ||||
| 	function moveHandler(evt){ | ||||
| 		evt.preventDefault() | ||||
| @ -185,6 +188,9 @@ function makeScrollHandler(root, callback){ | ||||
| 			} | ||||
| 			return this | ||||
| 		}, | ||||
| 		setCallback: function(func){ | ||||
| 			this.callback = func | ||||
| 		}, | ||||
| 		// NOTE: this is updated live but not used by the system in any way...
 | ||||
| 		state: 'stopped' | ||||
| 	} | ||||
| @ -195,6 +201,13 @@ function makeScrollHandler(root, callback){ | ||||
| 
 | ||||
| /********************************************************* 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 
 | ||||
| // 		compensated, or is over compensated...
 | ||||
| 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...
 | ||||
| function getPageNumber(page){ | ||||
| 	// a page is given...
 | ||||
| 	// a page is given explicitly, get the next one...
 | ||||
| 	if(page != null){ | ||||
| 		return $('.page').index($(page)) | ||||
| 	} | ||||
| 
 | ||||
| 	// get the next page... 
 | ||||
| 	if(!NAVIGATE_RELATIVE_TO_VISIBLE){ | ||||
| 	// get the next page relative to the current... 
 | ||||
| 	//if(!NAVIGATE_RELATIVE_TO_VISIBLE){
 | ||||
| 	if(!isNavigationViewRelative()){ | ||||
| 		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 { | ||||
| 		// XXX this gets crazy when magazine is scaled...
 | ||||
| 		//var s = $('.viewer').scrollLeft()
 | ||||
| 		var scale = getMagazineScale() | ||||
| 		var o = -$($('.magazine')[0]).offset().left - $('.viewer').offset().left | ||||
| 		var W = $('.viewer').width() | ||||
| 		var scale = getMagazineScale() | ||||
| 		var cur = -1 | ||||
| 		var res = $('.page').map(function(i, e){ | ||||
| 			e = $(e) | ||||
| @ -267,9 +281,15 @@ function setMagazineScale(scale){ | ||||
| 	var mag = $('.magazine') | ||||
| 	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) | ||||
| 
 | ||||
| 	return mag | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| @ -291,7 +311,11 @@ function setCurrentPage(n){ | ||||
| 
 | ||||
| 	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) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user