Home | History | Annotate | Download | only in html
      1 var cookie_namespace = 'doxygen';
      2 var sidenav,navtree,content,header;
      3 
      4 function readCookie(cookie)
      5 {
      6   var myCookie = cookie_namespace+"_"+cookie+"=";
      7   if (document.cookie)
      8   {
      9     var index = document.cookie.indexOf(myCookie);
     10     if (index != -1)
     11     {
     12       var valStart = index + myCookie.length;
     13       var valEnd = document.cookie.indexOf(";", valStart);
     14       if (valEnd == -1)
     15       {
     16         valEnd = document.cookie.length;
     17       }
     18       var val = document.cookie.substring(valStart, valEnd);
     19       return val;
     20     }
     21   }
     22   return 0;
     23 }
     24 
     25 function writeCookie(cookie, val, expiration)
     26 {
     27   if (val==undefined) return;
     28   if (expiration == null)
     29   {
     30     var date = new Date();
     31     date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
     32     expiration = date.toGMTString();
     33   }
     34   document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
     35 }
     36 
     37 function resizeWidth()
     38 {
     39   var windowWidth = $(window).width() + "px";
     40   var sidenavWidth = $(sidenav).outerWidth();
     41   content.css({marginLeft:parseInt(sidenavWidth)+"px"});
     42   writeCookie('width',sidenavWidth, null);
     43 }
     44 
     45 function restoreWidth(navWidth)
     46 {
     47   var windowWidth = $(window).width() + "px";
     48   content.css({marginLeft:parseInt(navWidth)+6+"px"});
     49   sidenav.css({width:navWidth + "px"});
     50 }
     51 
     52 function resizeHeight()
     53 {
     54   var headerHeight = header.outerHeight();
     55   var footerHeight = footer.outerHeight();
     56   var windowHeight = $(window).height() - headerHeight - footerHeight;
     57   content.css({height:windowHeight + "px"});
     58   navtree.css({height:windowHeight + "px"});
     59   sidenav.css({height:windowHeight + "px",top: headerHeight+"px"});
     60 }
     61 
     62 function initResizable()
     63 {
     64   header  = $("#top");
     65   sidenav = $("#side-nav");
     66   content = $("#doc-content");
     67   navtree = $("#nav-tree");
     68   footer  = $("#nav-path");
     69   $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
     70   $(window).resize(function() { resizeHeight(); });
     71   var width = readCookie('width');
     72   if (width) { restoreWidth(width); } else { resizeWidth(); }
     73   resizeHeight();
     74   var url = location.href;
     75   var i=url.indexOf("#");
     76   if (i>=0) window.location.hash=url.substr(i);
     77   var _preventDefault = function(evt) { evt.preventDefault(); };
     78   $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
     79   $(document).bind('touchmove',function(e){
     80     try {
     81       var target = e.target;
     82       while (target) {
     83         if ($(target).css('-webkit-overflow-scrolling')=='touch') return;
     84         target = target.parentNode;
     85       }
     86       e.preventDefault();
     87     } catch(err) {
     88       e.preventDefault();
     89     }
     90   });
     91 }
     92