]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | 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 |