# HG changeset patch # User hertzhaft # Date 1298023909 -3600 # Node ID d742bd92b05a03544c3298fccd07962c6d75647e # Parent 304488c72344af422cc836e8d10e45f69c68eb90 first step to a regions plugin diff -r 304488c72344 -r d742bd92b05a client/digitallibrary/jquery/img/fullscreen/addregion.png Binary file client/digitallibrary/jquery/img/fullscreen/addregion.png has changed diff -r 304488c72344 -r d742bd92b05a client/digitallibrary/jquery/img/fullscreen/delregion.png Binary file client/digitallibrary/jquery/img/fullscreen/delregion.png has changed diff -r 304488c72344 -r d742bd92b05a client/digitallibrary/jquery/img/fullscreen/regioninfo.png Binary file client/digitallibrary/jquery/img/fullscreen/regioninfo.png has changed diff -r 304488c72344 -r d742bd92b05a client/digitallibrary/jquery/img/fullscreen/regions.png Binary file client/digitallibrary/jquery/img/fullscreen/regions.png has changed diff -r 304488c72344 -r d742bd92b05a client/digitallibrary/jquery/jquery-test-full.html --- a/client/digitallibrary/jquery/jquery-test-full.html Fri Feb 18 10:39:40 2011 +0100 +++ b/client/digitallibrary/jquery/jquery-test-full.html Fri Feb 18 11:11:49 2011 +0100 @@ -59,6 +59,7 @@ + diff -r 304488c72344 -r d742bd92b05a client/digitallibrary/jquery/jquery.digilib.css --- a/client/digitallibrary/jquery/jquery.digilib.css Fri Feb 18 10:39:40 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.css Fri Feb 18 11:11:49 2011 +0100 @@ -56,6 +56,11 @@ z-index: 1000; } +div.digilib div.region { + background-color: red; + opacity: 0.5; +} + /* special definitions for fullscreen */ div.digilib.dl_fullscreen div.buttons { position: fixed; diff -r 304488c72344 -r d742bd92b05a client/digitallibrary/jquery/jquery.digilib.js --- a/client/digitallibrary/jquery/jquery.digilib.js Fri Feb 18 10:39:40 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.js Fri Feb 18 11:11:49 2011 +0100 @@ -223,13 +223,13 @@ // path to button images (must end with a slash) 'imagePath' : 'img/fullscreen/', 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","pagewidth","back","fwd","page","bird","help","reset","toggleoptions"], - 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","toggleoptions"], + 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","size","calibrationx","scale","lessoptions"], 'buttonSets' : ['standardSet', 'specialSet'] }, 'embedded' : { 'imagePath' : 'img/embedded/16/', 'standardSet' : ["reference","zoomin","zoomout","zoomarea","zoomfull","bird","help","reset","toggleoptions"], - 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","scale","toggleoptions"], + 'specialSet' : ["mark","delmark","hmir","vmir","rot","brgt","cont","rgb","quality","scale","lessoptions"], 'buttonSets' : ['standardSet', 'specialSet'] } }, @@ -263,6 +263,7 @@ var actions = { // init: digilib initialization init : function(options) { + console.log('init digilib'); // import geometry classes if (plugins.geometry == null) { $.error("jquery.digilib.geometry plugin not found!"); @@ -1806,6 +1807,7 @@ var plugin = arguments[1]; // each plugin needs a name if (plugin.name != null) { + console.log('installing plugin:', plugin.name); plugins[plugin.name] = plugin; } // initialisation of plugins done later diff -r 304488c72344 -r d742bd92b05a client/digitallibrary/jquery/jquery.digilib.regions.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/digitallibrary/jquery/jquery.digilib.regions.js Fri Feb 18 11:11:49 2011 +0100 @@ -0,0 +1,201 @@ +/** optional digilib regions plugin + +markup a digilib image with rectangular regions + +TODO: +- store region in params/cookie, regarding zoom, mirror, rotation (like marks) +- set regions programmatically +- read regions from params/cookie and display +- backlink mechanism +- don't write to data.settings? +*/ + +(function($) { + // the data object passed by digilib + var data; + var buttons; + var fn; + var geom; + + var buttons = { + addregion : { + onclick : "setRegion", + tooltip : "set a region", + icon : "addregion.png" + }, + delregion : { + onclick : "removeRegion", + tooltip : "delete the last region", + icon : "delregion.png" + }, + regions : { + onclick : "toggleRegions", + tooltip : "show or hide regions", + icon : "regions.png" + }, + regioninfo : { + onclick : "infoRegions", + tooltip : "information about regions", + icon : "regioninfo.png" + } + }; + var regionSet = ['addregion', 'delregion', 'regions', 'regioninfo', 'lessoptions']; + + var actions = { + // define a region interactively with two clicked points + "setRegion" : function(data) { + $elem = data.$elem; + $scaler = data.$scaler; + var pt1, pt2; + var $regionDiv = $('