fw4spl
resize.js
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"});
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  var device = navigator.userAgent.toLowerCase();
81  var ios = device.match(/(iphone|ipod|ipad)/);
82  if (ios) {
83  try {
84  var target = e.target;
85  while (target) {
86  if ($(target).css('-webkit-overflow-scrolling')=='touch') return;
87  target = target.parentNode;
88  }
89  e.preventDefault();
90  } catch(err) {
91  e.preventDefault();
92  }
93  }
94  });
95 }
96 
97