Mistpark/cropper/tests/example-Dimensions.htm
2010-07-01 16:48:07 -07:00

226 lines
5.3 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-us" />
<title>Different dimensions test</title>
<script src="../lib/prototype.js" type="text/javascript"></script>
<script src="../lib/scriptaculous.js?load=builder,dragdrop" type="text/javascript"></script>
<script src="../cropper.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8">
function onEndCrop( coords, dimensions ) {
$( 'x1' ).value = coords.x1;
$( 'y1' ).value = coords.y1;
$( 'x2' ).value = coords.x2;
$( 'y2' ).value = coords.y2;
$( 'width' ).value = dimensions.width;
$( 'height' ).value = dimensions.height;
}
/*
// example with minimum dimensions
Event.observe(
window,
'load',
function() {
new Cropper.Img(
'testImage',
{
minWidth: 200,
minHeight: 120,
maxWidth: 200,
//maxHeight: 120,
displayOnInit: true,
onEndCrop: onEndCrop
}
)
}
);
*/
Event.observe( window, 'load',
function() {
Event.observe( 'dimensionsForm', 'submit', CropManager.attachCropper.bindAsEventListener( CropManager ) );
CropManager.attachCropper();
}
);
/**
* A little manager that allows us to reset the options dynamically
*/
var CropManager = {
/**
* Holds the current Cropper.Img object
* @var obj
*/
curCrop: null,
/**
* Gets a min/max parameter from the form
*
* @access private
* @param string Form element ID
* @return int
*/
getParam: function( name ) {
var val = $F( name );
console.log( name + ' :: ' + val );
return parseInt( val );
},
/**
* Attaches/resets the image cropper
*
* @access private
* @param obj Event object
* @return void
*/
attachCropper: function( e ) {
if( this.curCrop == null ) {
this.curCrop = new Cropper.Img(
'testImage',
{
minWidth: this.getParam( 'minWidth' ),
minHeight: this.getParam( 'minHeight' ),
maxWidth: this.getParam( 'maxWidth' ),
maxHeight: this.getParam( 'maxHeight' ),
onEndCrop: onEndCrop
}
);
} else {
this.removeCropper();
this.curCrop.initialize(
'testImage',
{
minWidth: this.getParam( 'minWidth' ),
minHeight: this.getParam( 'minHeight' ),
maxWidth: this.getParam( 'maxWidth' ),
maxHeight: this.getParam( 'maxHeight' ),
onEndCrop: onEndCrop
}
);
}
if( e != null ) Event.stop( e );
},
/**
* Removes the cropper
*
* @access public
* @return void
*/
removeCropper: function() {
if( this.curCrop != null ) {
this.curCrop.remove();
}
},
/**
* Resets the cropper, either re-setting or re-applying
*
* @access public
* @return void
*/
resetCropper: function() {
this.attachCropper();
}
};
/*
if( typeof(dump) != 'function' ) {
Debug.init(true, '/');
function dump( msg ) {
// Debug.raise( msg );
};
} else dump( '---------------------------------------\n' );
*/
</script>
<link rel="stylesheet" type="text/css" href="debug.css" media="all" />
<style type="text/css">
label {
clear: left;
margin-left: 50px;
float: left;
width: 5em;
}
#testWrap {
margin: 20px 0 0 50px; /* Just while testing, to make sure we return the correct positions for the image & not the window */
}
#dimensionsForm {
float: right;
width: 350px;
}
</style>
</head>
<body>
<h2>Multiple dimensions tests</h2>
<p>
Test of applying different dimension restrictions to the cropper
</p>
<form action="#" id="dimensionsForm">
<fieldset>
Set the cropper with the following dimension restrictions:
<p>
<label for="minWidth">Min Width</label>
<input type="text" size="10" maxlength="3" value="200" id="minWidth" name="minWidth" />
</p>
<p>
<label for="maxWidth">Max Width</label>
<input type="text" size="10" maxlength="3" value="200" id="maxWidth" name="maxWidth" />
</p>
<p>
<label for="minHeight">Min Height</label>
<input type="text" size="10" maxlength="3" value="120" id="minHeight" name="minHeight" />
</p>
<p>
<label for="maxHeight">Max Height</label>
<input type="text" size="10" maxlength="3" value="120" id="maxHeight" name="maxHeight" />
</p>
<input type="submit" value="Set Cropper" />
</fieldset>
</form>
<div id="testWrap">
<img src="castle.jpg" alt="test image" id="testImage" width="500" height="333" />
</div>
<p>
<label for="x1">x1:</label>
<input type="text" name="x1" id="x1" />
</p>
<p>
<label for="y1">y1:</label>
<input type="text" name="y1" id="y1" />
</p>
<p>
<label for="x2">x2:</label>
<input type="text" name="x2" id="x2" />
</p>
<p>
<label for="y2">y2:</label>
<input type="text" name="y2" id="y2" />
</p>
<p>
<label for="width">width:</label>
<input type="text" name="width" id="width" />
</p>
<p>
<label for="height">height</label>
<input type="text" name="height" id="height" />
</p>
</body>
</html>