55 lines
No EOL
1.7 KiB
JavaScript
55 lines
No EOL
1.7 KiB
JavaScript
/* global Site_Icon_Crop_Data, jQuery */
|
|
(function($) {
|
|
var jcrop_api, Site_Icon_Crop;
|
|
jcrop_api = {};
|
|
Site_Icon_Crop = {
|
|
|
|
updateCoords : function ( coords ) {
|
|
|
|
$('#crop-x').val( coords.x );
|
|
$('#crop-y').val( coords.y );
|
|
$('#crop-width').val( coords.w );
|
|
$('#crop-height').val( coords.h );
|
|
|
|
Site_Icon_Crop.showPreview( coords );
|
|
},
|
|
|
|
showPreview : function( coords ){
|
|
var rx, ry, crop_image, home_icon, preview_rx, preview_ry, favicon;
|
|
rx = 64 / coords.w;
|
|
ry = 64 / coords.h;
|
|
crop_image = $('#crop-image');
|
|
home_icon = $('#preview-homeicon');
|
|
home_icon.css({
|
|
width: Math.round(rx * crop_image.attr( 'width' ) ) + 'px',
|
|
height: Math.round(ry * crop_image.attr( 'height' ) ) + 'px',
|
|
marginLeft: '-' + Math.round(rx * coords.x) + 'px',
|
|
marginTop: '-' + Math.round(ry * coords.y) + 'px'
|
|
});
|
|
preview_rx = 16 / coords.w;
|
|
preview_ry = 16 / coords.h;
|
|
favicon = $('#preview-favicon');
|
|
favicon.css({
|
|
width: Math.round( preview_rx * crop_image.attr( 'width' ) ) + 'px',
|
|
height: Math.round( preview_ry * crop_image.attr( 'height' ) ) + 'px',
|
|
marginLeft: '-' + Math.round( preview_rx * coords.x ) + 'px',
|
|
marginTop: '-' + Math.floor( preview_ry* coords.y ) + 'px'
|
|
});
|
|
},
|
|
|
|
ready: function() {
|
|
jcrop_api = $.Jcrop('#crop-image');
|
|
jcrop_api.setOptions({
|
|
aspectRatio: 1,
|
|
onSelect: Site_Icon_Crop.updateCoords,
|
|
onChange: Site_Icon_Crop.updateCoords,
|
|
minSize: [ Site_Icon_Crop_Data.min_size, Site_Icon_Crop_Data.min_size ]
|
|
});
|
|
jcrop_api.animateTo([Site_Icon_Crop_Data.init_x, Site_Icon_Crop_Data.init_y, Site_Icon_Crop_Data.init_size, Site_Icon_Crop_Data.init_size]);
|
|
}
|
|
|
|
};
|
|
|
|
Site_Icon_Crop.ready();
|
|
|
|
})(jQuery); |