Tizen 2.1 base
[platform/framework/web/web-ui-fw.git] / libs / js / jquery-mobile-1.2.0 / js / jquery.mobile.zoom.js
1 //>>excludeStart("jqmBuildExclude", pragmas.jqmBuildExclude);
2 //>>description: Utility methods for enabling and disabling user scaling (pinch zoom)
3 //>>label: Zoom Handling
4 //>>group: Utilities
5
6 define( [ "jquery", "./jquery.mobile.core" ], function( $ ) {
7 //>>excludeEnd("jqmBuildExclude");
8 (function( $ ) {
9         var     meta = $( "meta[name=viewport]" ),
10                 initialContent = meta.attr( "content" ),
11                 disabledZoom = initialContent + ",maximum-scale=1, user-scalable=no",
12                 enabledZoom = initialContent + ",maximum-scale=10, user-scalable=yes",
13                 disabledInitially = /(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test( initialContent );
14
15         $.mobile.zoom = $.extend( {}, {
16                 enabled: !disabledInitially,
17                 locked: false,
18                 disable: function( lock ) {
19                         if ( !disabledInitially && !$.mobile.zoom.locked ) {
20                                 meta.attr( "content", disabledZoom );
21                                 $.mobile.zoom.enabled = false;
22                                 $.mobile.zoom.locked = lock || false;
23                         }
24                 },
25                 enable: function( unlock ) {
26                         if ( !disabledInitially && ( !$.mobile.zoom.locked || unlock === true ) ) {
27                                 meta.attr( "content", enabledZoom );
28                                 $.mobile.zoom.enabled = true;
29                                 $.mobile.zoom.locked = false;
30                         }
31                 },
32                 restore: function() {
33                         if ( !disabledInitially ) {
34                                 meta.attr( "content", initialContent );
35                                 $.mobile.zoom.enabled = true;
36                         }
37                 }
38         });
39
40 }( jQuery ));
41 //>>excludeStart("jqmBuildExclude", pragmas.jqmBuildExclude);
42 });
43 //>>excludeEnd("jqmBuildExclude");