From 02bff4b976056db5ad5ccb3b44164b776d2ed72c Mon Sep 17 00:00:00 2001 From: Andreas Unterkircher Date: Sat, 19 Jan 2008 18:29:43 +0100 Subject: issue101, zooming Signed-off-by: Andreas Unterkircher --- phpfspot.js | 60 ++++++++++++++++++++++++++++++ resources/zoom-100.png | Bin 0 -> 2075 bytes resources/zoom-in.png | Bin 0 -> 2062 bytes resources/zoom-out.png | Bin 0 -> 1947 bytes themes/default/stylesheet.css | 3 ++ themes/default/templates/single_photo.tpl | 9 ++++- 6 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 resources/zoom-100.png create mode 100644 resources/zoom-in.png create mode 100644 resources/zoom-out.png diff --git a/phpfspot.js b/phpfspot.js index 74ad4b9..d8290ad 100644 --- a/phpfspot.js +++ b/phpfspot.js @@ -13,6 +13,11 @@ function showImage(id, scrollup) if(scrollup != undefined) { window.scrollTo(0,0); } + + /* delete some global vars */ + delete(origHeight); + delete(origWidth); + delete(photo_details_pos); } function moveToThumb(thumb_id) @@ -249,6 +254,58 @@ function getPhotoToShow() return photo_to_show; } +function zoom(mod) +{ + if(mod == undefined) + return; + + if(photo = document.getElementById('photo')) { + + if(origWidth == undefined) + origWidth = photo.width; + if(origHeight == undefined) + origHeight = photo.height; + + if(mod != 0) { + new_w = photo.width * (1 + mod/100); + new_h = photo.height * (1 + mod/100); + photo.width = new_w; + photo.height = new_h; + + if(photo_details_pos == undefined) { + photo_details_pos = document.getElementById('photo_details').offsetLeft; + } + + if((photo.offsetLeft + new_w) >= photo_details_pos-20) { + hidePhotoDetails('true'); + } + else { + hidePhotoDetails('false'); + } + } + else { + photo.width = origWidth; + photo.height = origHeight; + hidePhotoDetails('false'); + } + } + +} // zoom() + +function hidePhotoDetails(mode) +{ + if(photo_details = document.getElementById('photo_details')) { + if(mode == 'true') { + photo_details.style.visibility = 'hidden'; + photo_details.style.display = 'none'; + } + else { + photo_details.style.visibility = 'visible'; + photo_details.style.display = 'inline'; + } + } +} // hidePhotoDetails() + function showCalendar(date_box, click_obj) { var calendar = document.getElementById('calendar'); @@ -509,3 +566,6 @@ var autobrowse = 0; var sliding = 0; var sliding_paused = 0; var sliding_time = 3; +var origHeight; +var origWidth; +var photo_details_pos; diff --git a/resources/zoom-100.png b/resources/zoom-100.png new file mode 100644 index 0000000..aad8b32 Binary files /dev/null and b/resources/zoom-100.png differ diff --git a/resources/zoom-in.png b/resources/zoom-in.png new file mode 100644 index 0000000..b63f0e5 Binary files /dev/null and b/resources/zoom-in.png differ diff --git a/resources/zoom-out.png b/resources/zoom-out.png new file mode 100644 index 0000000..31034a0 Binary files /dev/null and b/resources/zoom-out.png differ diff --git a/themes/default/stylesheet.css b/themes/default/stylesheet.css index 7eede84..ebe9892 100644 --- a/themes/default/stylesheet.css +++ b/themes/default/stylesheet.css @@ -158,6 +158,9 @@ div.thumb a.thumblink:hover { border-radius: 1em; border: dashed 1px #888888; z-index: 100; + float: right; + margin-top: 20px; + margin-right: 20px; } #available_tags,#selected_tags { diff --git a/themes/default/templates/single_photo.tpl b/themes/default/templates/single_photo.tpl index 62a2bf7..b9693c6 100644 --- a/themes/default/templates/single_photo.tpl +++ b/themes/default/templates/single_photo.tpl @@ -15,6 +15,9 @@ {/if}
+ + + {if $extern_link } @@ -62,16 +65,20 @@ { /if}
+ +
{ if $next_url == "" } { else } { /if } - {$image_filename} + {$image_filename}
+ +
{ if $previous_url == "" } first photo reached -- cgit v1.2.3-18-g5258