added next/prev screen-width navigation...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2013-05-03 02:27:54 +04:00
parent 0605570b2d
commit 6ab3ce5505
3 changed files with 29 additions and 7 deletions

View File

@ -43,6 +43,16 @@ function getRelativeVisualPosition(outer, inner){
}
function getVisibleImageSize(){
return $('.image').outerWidth() * getElementScale($('.ribbon-set'))
}
function getScreenWidthInImages(){
return $('.viewer').innerWidth() / getVisibleImageSize()
}
// NOTE: if this can't find an image if an order less, it will return
// the first image in ribbon...
// NOTE: this might return an empty target if the ribbon is empty...
@ -368,21 +378,29 @@ var NAV_DEFAULT = NAV_VISIBLE
// basic navigation actions...
function nextImage(mode){
function nextImage(n, mode){
if(mode == null){
mode = NAV_DEFAULT
}
n = n == null ? 1 : n
return centerImage(
focusImage(
$('.current.image').nextAll('.image' + mode).first()))
$('.current.image').nextAll('.image' + mode).eq(n-1)))
}
function prevImage(mode){
function prevImage(n, mode){
if(mode == null){
mode = NAV_DEFAULT
}
n = n == null ? 1 : n
return centerImage(
focusImage(
$('.current.image').prevAll('.image' + mode).first()))
$('.current.image').prevAll('.image' + mode).eq(n-1)))
}
function nextScreenImages(mode){
return nextImage(Math.round(getScreenWidthInImages()), mode)
}
function prevScreenImages(mode){
return prevImage(Math.round(getScreenWidthInImages()), mode)
}
function firstImage(mode){
if(mode == null){

View File

@ -5,6 +5,11 @@
<style>
/*
* XXX move the CSS to a separate file...
* XXX split-off styling/coloring from layout...
*/
.viewer {
position: relative;
width: 800px;
@ -199,7 +204,6 @@
<script>
/*********************************************************************/
// setup...
$(function(){

View File

@ -35,7 +35,7 @@ var KEYBOARD_CONFIG = {
},
// XXX prevScreenImages...
ctrl: function(){
console.log('NotImplemented: screen images back.')
prevScreenImages()
},
// XXX need to keep shift explicitly clear for editor...
/*
@ -64,7 +64,7 @@ var KEYBOARD_CONFIG = {
},
// XXX nextScreenImages...
ctrl: function(){
console.log('NotImplemented: screen images forward.')
nextScreenImages()
},
// XXX need to keep shift explicitly clear for editor...
/*