]> git.mxchange.org Git - friendica.git/blobdiff - library/cropper/tests/example-Dimensions.htm
bug #96 move libraries to library - better alignment of like rotator
[friendica.git] / library / cropper / tests / example-Dimensions.htm
diff --git a/library/cropper/tests/example-Dimensions.htm b/library/cropper/tests/example-Dimensions.htm
new file mode 100644 (file)
index 0000000..f54f996
--- /dev/null
@@ -0,0 +1,225 @@
+<!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>
+
+