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)+6+"px"}); //account for 6px-wide handle-bar |
---|
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 | |
---|
93 | |
---|