After Width: | Height: | Size: 676 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 132 B |
After Width: | Height: | Size: 3.7 KiB |
@ -0,0 +1,104 @@ |
||||
function toggleVisibility(linkObj) |
||||
{ |
||||
var base = $(linkObj).attr('id'); |
||||
var summary = $('#'+base+'-summary'); |
||||
var content = $('#'+base+'-content'); |
||||
var trigger = $('#'+base+'-trigger'); |
||||
var src=$(trigger).attr('src'); |
||||
if (content.is(':visible')===true) { |
||||
content.hide(); |
||||
summary.show(); |
||||
$(linkObj).addClass('closed').removeClass('opened'); |
||||
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); |
||||
} else { |
||||
content.show(); |
||||
summary.hide(); |
||||
$(linkObj).removeClass('closed').addClass('opened'); |
||||
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); |
||||
}
|
||||
return false; |
||||
} |
||||
|
||||
function updateStripes() |
||||
{ |
||||
$('table.directory tr'). |
||||
removeClass('even').filter(':visible:even').addClass('even'); |
||||
} |
||||
function toggleLevel(level) |
||||
{ |
||||
$('table.directory tr').each(function(){
|
||||
var l = this.id.split('_').length-1; |
||||
var i = $('#img'+this.id.substring(3)); |
||||
var a = $('#arr'+this.id.substring(3)); |
||||
if (l<level+1) { |
||||
i.attr('src','ftv2folderopen.png'); |
||||
a.attr('src','ftv2mnode.png'); |
||||
$(this).show(); |
||||
} else if (l==level+1) { |
||||
i.attr('src','ftv2folderclosed.png'); |
||||
a.attr('src','ftv2pnode.png'); |
||||
$(this).show(); |
||||
} else { |
||||
$(this).hide(); |
||||
} |
||||
}); |
||||
updateStripes(); |
||||
} |
||||
|
||||
function toggleFolder(id) |
||||
{ |
||||
//The clicked row
|
||||
var currentRow = $('#row_'+id); |
||||
var currentRowImages = currentRow.find("img"); |
||||
|
||||
//All rows after the clicked row
|
||||
var rows = currentRow.nextAll("tr"); |
||||
|
||||
//Only match elements AFTER this one (can't hide elements before)
|
||||
var childRows = rows.filter(function() { |
||||
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
||||
return this.id.match(re); |
||||
}); |
||||
|
||||
//First row is visible we are HIDING
|
||||
if (childRows.filter(':first').is(':visible')===true) { |
||||
currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png'); |
||||
currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png'); |
||||
rows.filter("[id^=row_"+id+"]").hide(); |
||||
} else { //We are SHOWING
|
||||
//All sub images
|
||||
var childImages = childRows.find("img"); |
||||
var childImg = childImages.filter("[id^=img]"); |
||||
var childArr = childImages.filter("[id^=arr]"); |
||||
|
||||
currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
|
||||
currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
|
||||
childImg.attr('src','ftv2folderclosed.png'); //children closed
|
||||
childArr.attr('src','ftv2pnode.png'); //children closed
|
||||
childRows.show(); //show all children
|
||||
} |
||||
updateStripes(); |
||||
} |
||||
|
||||
|
||||
function toggleInherit(id) |
||||
{ |
||||
var rows = $('tr.inherit.'+id); |
||||
var img = $('tr.inherit_header.'+id+' img'); |
||||
var src = $(img).attr('src'); |
||||
if (rows.filter(':first').is(':visible')===true) { |
||||
rows.css('display','none'); |
||||
$(img).attr('src',src.substring(0,src.length-8)+'closed.png'); |
||||
} else { |
||||
rows.css('display','table-row'); // using show() causes jump in firefox
|
||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png'); |
||||
} |
||||
} |
||||
|
||||
|
||||
$(document).ready(function() { |
||||
$('.code,.codeRef').each(function() { |
||||
$(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); |
||||
$(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); |
||||
}); |
||||
}); |
After Width: | Height: | Size: 86 B |
After Width: | Height: | Size: 453 B |
After Width: | Height: | Size: 746 B |
After Width: | Height: | Size: 616 B |
After Width: | Height: | Size: 597 B |
After Width: | Height: | Size: 86 B |
After Width: | Height: | Size: 746 B |
After Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 403 B |
After Width: | Height: | Size: 86 B |
After Width: | Height: | Size: 388 B |
After Width: | Height: | Size: 229 B |
After Width: | Height: | Size: 229 B |
After Width: | Height: | Size: 314 B |
After Width: | Height: | Size: 86 B |
@ -0,0 +1,92 @@ |
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> |
||||
<meta name="generator" content="Doxygen 1.8.5"/> |
||||
<title>Hak Cipta Pustaka GPU-Cuda Untuk Poisson Solver: Halaman Utama</title> |
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
||||
<script type="text/javascript" src="jquery.js"></script> |
||||
<script type="text/javascript" src="dynsections.js"></script> |
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/> |
||||
<script type="text/javascript" src="search/search.js"></script> |
||||
<script type="text/javascript"> |
||||
$(document).ready(function() { searchBox.OnSelectItem(0); }); |
||||
</script> |
||||
<script type="text/x-mathjax-config"> |
||||
MathJax.Hub.Config({ |
||||
extensions: ["tex2jax.js"], |
||||
jax: ["input/TeX","output/HTML-CSS"], |
||||
}); |
||||
</script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script> |
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" /> |
||||
</head> |
||||
<body> |
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
||||
<div id="titlearea"> |
||||
<table cellspacing="0" cellpadding="0"> |
||||
<tbody> |
||||
<tr style="height: 56px;"> |
||||
<td style="padding-left: 0.5em;"> |
||||
<div id="projectname">Hak Cipta Pustaka GPU-Cuda Untuk Poisson Solver |
||||
</div> |
||||
</td> |
||||
</tr> |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
<!-- end header part --> |
||||
<!-- Dibangkitkan oleh Doxygen 1.8.5 --> |
||||
<script type="text/javascript"> |
||||
var searchBox = new SearchBox("searchBox", "search",false,'Cari'); |
||||
</script> |
||||
<div id="navrow1" class="tabs"> |
||||
<ul class="tablist"> |
||||
<li class="current"><a href="index.html"><span>Halaman Utama</span></a></li> |
||||
<li> |
||||
<div id="MSearchBox" class="MSearchBoxInactive"> |
||||
<span class="left"> |
||||
<img id="MSearchSelect" src="search/mag_sel.png" |
||||
onmouseover="return searchBox.OnSearchSelectShow()" |
||||
onmouseout="return searchBox.OnSearchSelectHide()" |
||||
alt=""/> |
||||
<input type="text" id="MSearchField" value="Cari" accesskey="S" |
||||
onfocus="searchBox.OnSearchFieldFocus(true)" |
||||
onblur="searchBox.OnSearchFieldFocus(false)" |
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/> |
||||
</span><span class="right"> |
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> |
||||
</span> |
||||
</div> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</div><!-- top --> |
||||
<!-- window showing the filter options --> |
||||
<div id="MSearchSelectWindow" |
||||
onmouseover="return searchBox.OnSearchSelectShow()" |
||||
onmouseout="return searchBox.OnSearchSelectHide()" |
||||
onkeydown="return searchBox.OnSearchSelectKey(event)"> |
||||
</div> |
||||
|
||||
<!-- iframe showing the search results (closed by default) --> |
||||
<div id="MSearchResultsWindow"> |
||||
<iframe src="javascript:void(0)" frameborder="0" |
||||
name="MSearchResults" id="MSearchResults"> |
||||
</iframe> |
||||
</div> |
||||
|
||||
<div class="header"> |
||||
<div class="headertitle"> |
||||
<div class="title">Hak Cipta Pustaka GPU-Cuda Untuk Poisson Solver Dokumentasi</div> </div> |
||||
</div><!--header--> |
||||
<div class="contents"> |
||||
</div><!-- contents --> |
||||
<!-- start footer part --> |
||||
<hr class="footer"/><address class="footer"><small> |
||||
Dibangkitkan oleh  <a href="http://www.doxygen.org/index.html"> |
||||
<img class="footer" src="doxygen.png" alt="doxygen"/> |
||||
</a> 1.8.5 |
||||
</small></address> |
||||
</body> |
||||
</html> |
After Width: | Height: | Size: 153 B |
After Width: | Height: | Size: 108 B |
After Width: | Height: | Size: 98 B |
After Width: | Height: | Size: 123 B |
After Width: | Height: | Size: 273 B |
After Width: | Height: | Size: 563 B |
@ -0,0 +1,12 @@ |
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html><head><title></title> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<link rel="stylesheet" type="text/css" href="search.css"/> |
||||
<script type="text/javascript" src="search.js"></script> |
||||
</head> |
||||
<body class="SRPage"> |
||||
<div id="SRIndex"> |
||||
<div class="SRStatus" id="NoMatches">Tidak Ditemukan</div> |
||||
</div> |
||||
</body> |
||||
</html> |
@ -0,0 +1,271 @@ |
||||
/*---------------- Search Box */ |
||||
|
||||
#FSearchBox { |
||||
float: left; |
||||
} |
||||
|
||||
#MSearchBox { |
||||
white-space : nowrap; |
||||
position: absolute; |
||||
float: none; |
||||
display: inline; |
||||
margin-top: 8px; |
||||
right: 0px; |
||||
width: 170px; |
||||
z-index: 102; |
||||
background-color: white; |
||||
} |
||||
|
||||
#MSearchBox .left |
||||
{ |
||||
display:block; |
||||
position:absolute; |
||||
left:10px; |
||||
width:20px; |
||||
height:19px; |
||||
background:url('search_l.png') no-repeat; |
||||
background-position:right; |
||||
} |
||||
|
||||
#MSearchSelect { |
||||
display:block; |
||||
position:absolute; |
||||
width:20px; |
||||
height:19px; |
||||
} |
||||
|
||||
.left #MSearchSelect { |
||||
left:4px; |
||||
} |
||||
|
||||
.right #MSearchSelect { |
||||
right:5px; |
||||
} |
||||
|
||||
#MSearchField { |
||||
display:block; |
||||
position:absolute; |
||||
height:19px; |
||||
background:url('search_m.png') repeat-x; |
||||
border:none; |
||||
width:111px; |
||||
margin-left:20px; |
||||
padding-left:4px; |
||||
color: #909090; |
||||
outline: none; |
||||
font: 9pt Arial, Verdana, sans-serif; |
||||
} |
||||
|
||||
#FSearchBox #MSearchField { |
||||
margin-left:15px; |
||||
} |
||||
|
||||
#MSearchBox .right { |
||||
display:block; |
||||
position:absolute; |
||||
right:10px; |
||||
top:0px; |
||||
width:20px; |
||||
height:19px; |
||||
background:url('search_r.png') no-repeat; |
||||
background-position:left; |
||||
} |
||||
|
||||
#MSearchClose { |
||||
display: none; |
||||
position: absolute; |
||||
top: 4px; |
||||
background : none; |
||||
border: none; |
||||
margin: 0px 4px 0px 0px; |
||||
padding: 0px 0px; |
||||
outline: none; |
||||
} |
||||
|
||||
.left #MSearchClose { |
||||
left: 6px; |
||||
} |
||||
|
||||
.right #MSearchClose { |
||||
right: 2px; |
||||
} |
||||
|
||||
.MSearchBoxActive #MSearchField { |
||||
color: #000000; |
||||
} |
||||
|
||||
/*---------------- Search filter selection */ |
||||
|
||||
#MSearchSelectWindow { |
||||
display: none; |
||||
position: absolute; |
||||
left: 0; top: 0; |
||||
border: 1px solid #90A5CE; |
||||
background-color: #F9FAFC; |
||||
z-index: 1; |
||||
padding-top: 4px; |
||||
padding-bottom: 4px; |
||||
-moz-border-radius: 4px; |
||||
-webkit-border-top-left-radius: 4px; |
||||
-webkit-border-top-right-radius: 4px; |
||||
-webkit-border-bottom-left-radius: 4px; |
||||
-webkit-border-bottom-right-radius: 4px; |
||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); |
||||
} |
||||
|
||||
.SelectItem { |
||||
font: 8pt Arial, Verdana, sans-serif; |
||||
padding-left: 2px; |
||||
padding-right: 12px; |
||||
border: 0px; |
||||
} |
||||
|
||||
span.SelectionMark { |
||||
margin-right: 4px; |
||||
font-family: monospace; |
||||
outline-style: none; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
a.SelectItem { |
||||
display: block; |
||||
outline-style: none; |
||||
color: #000000; |
||||
text-decoration: none; |
||||
padding-left: 6px; |
||||
padding-right: 12px; |
||||
} |
||||
|
||||
a.SelectItem:focus, |
||||
a.SelectItem:active { |
||||
color: #000000; |
||||
outline-style: none; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
a.SelectItem:hover { |
||||
color: #FFFFFF; |
||||
background-color: #3D578C; |
||||
outline-style: none; |
||||
text-decoration: none; |
||||
cursor: pointer; |
||||
display: block; |
||||
} |
||||
|
||||
/*---------------- Search results window */ |
||||
|
||||
iframe#MSearchResults { |
||||
width: 60ex; |
||||
height: 15em; |
||||
} |
||||
|
||||
#MSearchResultsWindow { |
||||
display: none; |
||||
position: absolute; |
||||
left: 0; top: 0; |
||||
border: 1px solid #000; |
||||
background-color: #EEF1F7; |
||||
} |
||||
|
||||
/* ----------------------------------- */ |
||||
|
||||
|
||||
#SRIndex { |
||||
clear:both; |
||||
padding-bottom: 15px; |
||||
} |
||||
|
||||
.SREntry { |
||||
font-size: 10pt; |
||||
padding-left: 1ex; |
||||
} |
||||
|
||||
.SRPage .SREntry { |
||||
font-size: 8pt; |
||||
padding: 1px 5px; |
||||
} |
||||
|
||||
body.SRPage { |
||||
margin: 5px 2px; |
||||
} |
||||
|
||||
.SRChildren { |
||||
padding-left: 3ex; padding-bottom: .5em |
||||
} |
||||
|
||||
.SRPage .SRChildren { |
||||
display: none; |
||||
} |
||||
|
||||
.SRSymbol { |
||||
font-weight: bold; |
||||
color: #425E97; |
||||
font-family: Arial, Verdana, sans-serif; |
||||
text-decoration: none; |
||||
outline: none; |
||||
} |
||||
|
||||
a.SRScope { |
||||
display: block; |
||||
color: #425E97; |
||||
font-family: Arial, Verdana, sans-serif; |
||||
text-decoration: none; |
||||
outline: none; |
||||
} |
||||
|
||||
a.SRSymbol:focus, a.SRSymbol:active, |
||||
a.SRScope:focus, a.SRScope:active { |
||||
text-decoration: underline; |
||||
} |
||||
|
||||
span.SRScope { |
||||
padding-left: 4px; |
||||
} |
||||
|
||||
.SRPage .SRStatus { |
||||
padding: 2px 5px; |
||||
font-size: 8pt; |
||||
font-style: italic; |
||||
} |
||||
|
||||
.SRResult { |
||||
display: none; |
||||
} |
||||
|
||||
DIV.searchresults { |
||||
margin-left: 10px; |
||||
margin-right: 10px; |
||||
} |
||||
|
||||
/*---------------- External search page results */ |
||||
|
||||
.searchresult { |
||||
background-color: #F0F3F8; |
||||
} |
||||
|
||||
.pages b { |
||||
color: white; |
||||
padding: 5px 5px 3px 5px; |
||||
background-image: url("../tab_a.png"); |
||||
background-repeat: repeat-x; |
||||
text-shadow: 0 1px 1px #000000; |
||||
} |
||||
|
||||
.pages { |
||||
line-height: 17px; |
||||
margin-left: 4px; |
||||
text-decoration: none; |
||||
} |
||||
|
||||
.hl { |
||||
font-weight: bold; |
||||
} |
||||
|
||||
#searchresults { |
||||
margin-bottom: 20px; |
||||
} |
||||
|
||||
.searchpages { |
||||
margin-top: 10px; |
||||
} |
||||
|
@ -0,0 +1,793 @@ |
||||
// Search script generated by doxygen
|
||||
// Copyright (C) 2009 by Dimitri van Heesch.
|
||||
|
||||
// The code in this file is loosly based on main.js, part of Natural Docs,
|
||||
// which is Copyright (C) 2003-2008 Greg Valure
|
||||
// Natural Docs is licensed under the GPL.
|
||||
|
||||
var indexSectionsWithContent = |
||||
{ |
||||
}; |
||||
|
||||
var indexSectionNames = |
||||
{ |
||||
}; |
||||
|
||||
function convertToId(search) |
||||
{ |
||||
var result = ''; |
||||
for (i=0;i<search.length;i++) |
||||
{ |
||||
var c = search.charAt(i); |
||||
var cn = c.charCodeAt(0); |
||||
if (c.match(/[a-z0-9]/)) |
||||
{ |
||||
result+=c; |
||||
} |
||||
else if (cn<16)
|
||||
{ |
||||
result+="_0"+cn.toString(16); |
||||
} |
||||
else
|
||||
{ |
||||
result+="_"+cn.toString(16); |
||||
} |
||||
} |
||||
return result; |
||||
} |
||||
|
||||
function getXPos(item) |
||||
{ |
||||
var x = 0; |
||||
if (item.offsetWidth) |
||||
{ |
||||
while (item && item!=document.body) |
||||
{ |
||||
x += item.offsetLeft; |
||||
item = item.offsetParent; |
||||
} |
||||
} |
||||
return x; |
||||
} |
||||
|
||||
function getYPos(item) |
||||
{ |
||||
var y = 0; |
||||
if (item.offsetWidth) |
||||
{ |
||||
while (item && item!=document.body) |
||||
{ |
||||
y += item.offsetTop; |
||||
item = item.offsetParent; |
||||
} |
||||
} |
||||
return y; |
||||
} |
||||
|
||||
/* A class handling everything associated with the search panel. |
||||
|
||||
Parameters: |
||||
name - The name of the global variable that will be
|
||||
storing this instance. Is needed to be able to set timeouts. |
||||
resultPath - path to use for external files |
||||
*/ |
||||
function SearchBox(name, resultsPath, inFrame, label) |
||||
{ |
||||
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } |
||||
|
||||
// ---------- Instance variables
|
||||
this.name = name; |
||||
this.resultsPath = resultsPath; |
||||
this.keyTimeout = 0; |
||||
this.keyTimeoutLength = 500; |
||||
this.closeSelectionTimeout = 300; |
||||
this.lastSearchValue = ""; |
||||
this.lastResultsPage = ""; |
||||
this.hideTimeout = 0; |
||||
this.searchIndex = 0; |
||||
this.searchActive = false; |
||||
this.insideFrame = inFrame; |
||||
this.searchLabel = label; |
||||
|
||||
// ----------- DOM Elements
|
||||
|
||||
this.DOMSearchField = function() |
||||
{ return document.getElementById("MSearchField"); } |
||||
|
||||
this.DOMSearchSelect = function() |
||||
{ return document.getElementById("MSearchSelect"); } |
||||
|
||||
this.DOMSearchSelectWindow = function() |
||||
{ return document.getElementById("MSearchSelectWindow"); } |
||||
|
||||
this.DOMPopupSearchResults = function() |
||||
{ return document.getElementById("MSearchResults"); } |
||||
|
||||
this.DOMPopupSearchResultsWindow = function() |
||||
{ return document.getElementById("MSearchResultsWindow"); } |
||||
|
||||
this.DOMSearchClose = function() |
||||
{ return document.getElementById("MSearchClose"); } |
||||
|
||||
this.DOMSearchBox = function() |
||||
{ return document.getElementById("MSearchBox"); } |
||||
|
||||
// ------------ Event Handlers
|
||||
|
||||
// Called when focus is added or removed from the search field.
|
||||
this.OnSearchFieldFocus = function(isActive) |
||||
{ |
||||
this.Activate(isActive); |
||||
} |
||||
|
||||
this.OnSearchSelectShow = function() |
||||
{ |
||||
var searchSelectWindow = this.DOMSearchSelectWindow(); |
||||
var searchField = this.DOMSearchSelect(); |
||||
|
||||
if (this.insideFrame) |
||||
{ |
||||
var left = getXPos(searchField); |
||||
var top = getYPos(searchField); |
||||
left += searchField.offsetWidth + 6; |
||||
top += searchField.offsetHeight; |
||||
|
||||
// show search selection popup
|
||||
searchSelectWindow.style.display='block'; |
||||
left -= searchSelectWindow.offsetWidth; |
||||
searchSelectWindow.style.left = left + 'px'; |
||||
searchSelectWindow.style.top = top + 'px'; |
||||
} |
||||
else |
||||
{ |
||||
var left = getXPos(searchField); |
||||
var top = getYPos(searchField); |
||||
top += searchField.offsetHeight; |
||||
|
||||
// show search selection popup
|
||||
searchSelectWindow.style.display='block'; |
||||
searchSelectWindow.style.left = left + 'px'; |
||||
searchSelectWindow.style.top = top + 'px'; |
||||
} |
||||
|
||||
// stop selection hide timer
|
||||
if (this.hideTimeout)
|
||||
{ |
||||
clearTimeout(this.hideTimeout); |
||||
this.hideTimeout=0; |
||||
} |
||||
return false; // to avoid "image drag" default event
|
||||
} |
||||
|
||||
this.OnSearchSelectHide = function() |
||||
{ |
||||
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()", |
||||
this.closeSelectionTimeout); |
||||
} |
||||
|
||||
// Called when the content of the search field is changed.
|
||||
this.OnSearchFieldChange = function(evt) |
||||
{ |
||||
if (this.keyTimeout) // kill running timer
|
||||
{ |
||||
clearTimeout(this.keyTimeout); |
||||
this.keyTimeout = 0; |
||||
} |
||||
|
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==40 || e.keyCode==13) |
||||
{ |
||||
if (e.shiftKey==1) |
||||
{ |
||||
this.OnSearchSelectShow(); |
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++) |
||||
{ |
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem') |
||||
{ |
||||
child.focus(); |
||||
return; |
||||
} |
||||
} |
||||
return; |
||||
} |
||||
else if (window.frames.MSearchResults.searchResults) |
||||
{ |
||||
var elem = window.frames.MSearchResults.searchResults.NavNext(0); |
||||
if (elem) elem.focus(); |
||||
} |
||||
} |
||||
else if (e.keyCode==27) // Escape out of the search field
|
||||
{ |
||||
this.DOMSearchField().blur(); |
||||
this.DOMPopupSearchResultsWindow().style.display = 'none'; |
||||
this.DOMSearchClose().style.display = 'none'; |
||||
this.lastSearchValue = ''; |
||||
this.Activate(false); |
||||
return; |
||||
} |
||||
|
||||
// strip whitespaces
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, ""); |
||||
|
||||
if (searchValue != this.lastSearchValue) // search value has changed
|
||||
{ |
||||
if (searchValue != "") // non-empty search
|
||||
{ |
||||
// set timer for search update
|
||||
this.keyTimeout = setTimeout(this.name + '.Search()', |
||||
this.keyTimeoutLength); |
||||
} |
||||
else // empty search field
|
||||
{ |
||||
this.DOMPopupSearchResultsWindow().style.display = 'none'; |
||||
this.DOMSearchClose().style.display = 'none'; |
||||
this.lastSearchValue = ''; |
||||
} |
||||
} |
||||
} |
||||
|
||||
this.SelectItemCount = function(id) |
||||
{ |
||||
var count=0; |
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++) |
||||
{ |
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem') |
||||
{ |
||||
count++; |
||||
} |
||||
} |
||||
return count; |
||||
} |
||||
|
||||
this.SelectItemSet = function(id) |
||||
{ |
||||
var i,j=0; |
||||
var win=this.DOMSearchSelectWindow();
|
||||
for (i=0;i<win.childNodes.length;i++) |
||||
{ |
||||
var child = win.childNodes[i]; // get span within a
|
||||
if (child.className=='SelectItem') |
||||
{ |
||||
var node = child.firstChild; |
||||
if (j==id) |
||||
{ |
||||
node.innerHTML='•'; |
||||
} |
||||
else |
||||
{ |
||||
node.innerHTML=' '; |
||||
} |
||||
j++; |
||||
} |
||||
} |
||||
} |
||||
|
||||
// Called when an search filter selection is made.
|
||||
// set item with index id as the active item
|
||||
this.OnSelectItem = function(id) |
||||
{ |
||||
this.searchIndex = id; |
||||
this.SelectItemSet(id); |
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, ""); |
||||
if (searchValue!="" && this.searchActive) // something was found -> do a search
|
||||
{ |
||||
this.Search(); |
||||
} |
||||
} |
||||
|
||||
this.OnSearchSelectKey = function(evt) |
||||
{ |
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
|
||||
{ |
||||
this.searchIndex++; |
||||
this.OnSelectItem(this.searchIndex); |
||||
} |
||||
else if (e.keyCode==38 && this.searchIndex>0) // Up
|
||||
{ |
||||
this.searchIndex--; |
||||
this.OnSelectItem(this.searchIndex); |
||||
} |
||||
else if (e.keyCode==13 || e.keyCode==27) |
||||
{ |
||||
this.OnSelectItem(this.searchIndex); |
||||
this.CloseSelectionWindow(); |
||||
this.DOMSearchField().focus(); |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
// --------- Actions
|
||||
|
||||
// Closes the results window.
|
||||
this.CloseResultsWindow = function() |
||||
{ |
||||
this.DOMPopupSearchResultsWindow().style.display = 'none'; |
||||
this.DOMSearchClose().style.display = 'none'; |
||||
this.Activate(false); |
||||
} |
||||
|
||||
this.CloseSelectionWindow = function() |
||||
{ |
||||
this.DOMSearchSelectWindow().style.display = 'none'; |
||||
} |
||||
|
||||
// Performs a search.
|
||||
this.Search = function() |
||||
{ |
||||
this.keyTimeout = 0; |
||||
|
||||
// strip leading whitespace
|
||||
var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); |
||||
|
||||
var code = searchValue.toLowerCase().charCodeAt(0); |
||||
var hexCode; |
||||
if (code<16)
|
||||
{ |
||||
hexCode="0"+code.toString(16); |
||||
} |
||||
else
|
||||
{ |
||||
hexCode=code.toString(16); |
||||
} |
||||
|
||||
var resultsPage; |
||||
var resultsPageWithSearch; |
||||
var hasResultsPage; |
||||
|
||||
if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1') |
||||
{ |
||||
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; |
||||
resultsPageWithSearch = resultsPage+'?'+escape(searchValue); |
||||
hasResultsPage = true; |
||||
} |
||||
else // nothing available for this search term
|
||||
{ |
||||
resultsPage = this.resultsPath + '/nomatches.html'; |
||||
resultsPageWithSearch = resultsPage; |
||||
hasResultsPage = false; |
||||
} |
||||
|
||||
window.frames.MSearchResults.location = resultsPageWithSearch;
|
||||
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); |
||||
|
||||
if (domPopupSearchResultsWindow.style.display!='block') |
||||
{ |
||||
var domSearchBox = this.DOMSearchBox(); |
||||
this.DOMSearchClose().style.display = 'inline'; |
||||
if (this.insideFrame) |
||||
{ |
||||
var domPopupSearchResults = this.DOMPopupSearchResults(); |
||||
domPopupSearchResultsWindow.style.position = 'relative'; |
||||
domPopupSearchResultsWindow.style.display = 'block'; |
||||
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
|
||||
domPopupSearchResultsWindow.style.width = width + 'px'; |
||||
domPopupSearchResults.style.width = width + 'px'; |
||||
} |
||||
else |
||||
{ |
||||
var domPopupSearchResults = this.DOMPopupSearchResults(); |
||||
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
|
||||
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
|
||||
domPopupSearchResultsWindow.style.display = 'block'; |
||||
left -= domPopupSearchResults.offsetWidth; |
||||
domPopupSearchResultsWindow.style.top = top + 'px'; |
||||
domPopupSearchResultsWindow.style.left = left + 'px'; |
||||
} |
||||
} |
||||
|
||||
this.lastSearchValue = searchValue; |
||||
this.lastResultsPage = resultsPage; |
||||
} |
||||
|
||||
// -------- Activation Functions
|
||||
|
||||
// Activates or deactivates the search panel, resetting things to
|
||||
// their default values if necessary.
|
||||
this.Activate = function(isActive) |
||||
{ |
||||
if (isActive || // open it
|
||||
this.DOMPopupSearchResultsWindow().style.display == 'block'
|
||||
) |
||||
{ |
||||
this.DOMSearchBox().className = 'MSearchBoxActive'; |
||||
|
||||
var searchField = this.DOMSearchField(); |
||||
|
||||
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
|
||||
{
|
||||
searchField.value = '';
|
||||
this.searchActive = true; |
||||
} |
||||
} |
||||
else if (!isActive) // directly remove the panel
|
||||
{ |
||||
this.DOMSearchBox().className = 'MSearchBoxInactive'; |
||||
this.DOMSearchField().value = this.searchLabel; |
||||
this.searchActive = false; |
||||
this.lastSearchValue = '' |
||||
this.lastResultsPage = ''; |
||||
} |
||||
} |
||||
} |
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// The class that handles everything on the search results page.
|
||||
function SearchResults(name) |
||||
{ |
||||
// The number of matches from the last run of <Search()>.
|
||||
this.lastMatchCount = 0; |
||||
this.lastKey = 0; |
||||
this.repeatOn = false; |
||||
|
||||
// Toggles the visibility of the passed element ID.
|
||||
this.FindChildElement = function(id) |
||||
{ |
||||
var parentElement = document.getElementById(id); |
||||
var element = parentElement.firstChild; |
||||
|
||||
while (element && element!=parentElement) |
||||
{ |
||||
if (element.nodeName == 'DIV' && element.className == 'SRChildren') |
||||
{ |
||||
return element; |
||||
} |
||||
|
||||
if (element.nodeName == 'DIV' && element.hasChildNodes()) |
||||
{
|
||||
element = element.firstChild;
|
||||
} |
||||
else if (element.nextSibling) |
||||
{
|
||||
element = element.nextSibling;
|
||||
} |
||||
else |
||||
{ |
||||
do |
||||
{ |
||||
element = element.parentNode; |
||||
} |
||||
while (element && element!=parentElement && !element.nextSibling); |
||||
|
||||
if (element && element!=parentElement) |
||||
{
|
||||
element = element.nextSibling;
|
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
this.Toggle = function(id) |
||||
{ |
||||
var element = this.FindChildElement(id); |
||||
if (element) |
||||
{ |
||||
if (element.style.display == 'block') |
||||
{ |
||||
element.style.display = 'none'; |
||||
} |
||||
else |
||||
{ |
||||
element.style.display = 'block'; |
||||
} |
||||
} |
||||
} |
||||
|
||||
// Searches for the passed string. If there is no parameter,
|
||||
// it takes it from the URL query.
|
||||
//
|
||||
// Always returns true, since other documents may try to call it
|
||||
// and that may or may not be possible.
|
||||
this.Search = function(search) |
||||
{ |
||||
if (!search) // get search word from URL
|
||||
{ |
||||
search = window.location.search; |
||||
search = search.substring(1); // Remove the leading '?'
|
||||
search = unescape(search); |
||||
} |
||||
|
||||
search = search.replace(/^ +/, ""); // strip leading spaces
|
||||
search = search.replace(/ +$/, ""); // strip trailing spaces
|
||||
search = search.toLowerCase(); |
||||
search = convertToId(search); |
||||
|
||||
var resultRows = document.getElementsByTagName("div"); |
||||
var matches = 0; |
||||
|
||||
var i = 0; |
||||
while (i < resultRows.length) |
||||
{ |
||||
var row = resultRows.item(i); |
||||
if (row.className == "SRResult") |
||||
{ |
||||
var rowMatchName = row.id.toLowerCase(); |
||||
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
|
||||
|
||||
if (search.length<=rowMatchName.length &&
|
||||
rowMatchName.substr(0, search.length)==search) |
||||
{ |
||||
row.style.display = 'block'; |
||||
matches++; |
||||
} |
||||
else |
||||
{ |
||||
row.style.display = 'none'; |
||||
} |
||||
} |
||||
i++; |
||||
} |
||||
document.getElementById("Searching").style.display='none'; |
||||
if (matches == 0) // no results
|
||||
{ |
||||
document.getElementById("NoMatches").style.display='block'; |
||||
} |
||||
else // at least one result
|
||||
{ |
||||
document.getElementById("NoMatches").style.display='none'; |
||||
} |
||||
this.lastMatchCount = matches; |
||||
return true; |
||||
} |
||||
|
||||
// return the first item with index index or higher that is visible
|
||||
this.NavNext = function(index) |
||||
{ |
||||
var focusItem; |
||||
while (1) |
||||
{ |
||||
var focusName = 'Item'+index; |
||||
focusItem = document.getElementById(focusName); |
||||
if (focusItem && focusItem.parentNode.parentNode.style.display=='block') |
||||
{ |
||||
break; |
||||
} |
||||
else if (!focusItem) // last element
|
||||
{ |
||||
break; |
||||
} |
||||
focusItem=null; |
||||
index++; |
||||
} |
||||
return focusItem; |
||||
} |
||||
|
||||
this.NavPrev = function(index) |
||||
{ |
||||
var focusItem; |
||||
while (1) |
||||
{ |
||||
var focusName = 'Item'+index; |
||||
focusItem = document.getElementById(focusName); |
||||
if (focusItem && focusItem.parentNode.parentNode.style.display=='block') |
||||
{ |
||||
break; |
||||
} |
||||
else if (!focusItem) // last element
|
||||
{ |
||||
break; |
||||
} |
||||
focusItem=null; |
||||
index--; |
||||
} |
||||
return focusItem; |
||||
} |
||||
|
||||
this.ProcessKeys = function(e) |
||||
{ |
||||
if (e.type == "keydown")
|
||||
{ |
||||
this.repeatOn = false; |
||||
this.lastKey = e.keyCode; |
||||
} |
||||
else if (e.type == "keypress") |
||||
{ |
||||
if (!this.repeatOn) |
||||
{ |
||||
if (this.lastKey) this.repeatOn = true; |
||||
return false; // ignore first keypress after keydown
|
||||
} |
||||
} |
||||
else if (e.type == "keyup") |
||||
{ |
||||
this.lastKey = 0; |
||||
this.repeatOn = false; |
||||
} |
||||
return this.lastKey!=0; |
||||
} |
||||
|
||||
this.Nav = function(evt,itemIndex)
|
||||
{ |
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==13) return true; |
||||
if (!this.ProcessKeys(e)) return false; |
||||
|
||||
if (this.lastKey==38) // Up
|
||||
{ |
||||
var newIndex = itemIndex-1; |
||||
var focusItem = this.NavPrev(newIndex); |
||||
if (focusItem) |
||||
{ |
||||
var child = this.FindChildElement(focusItem.parentNode.parentNode.id); |
||||
if (child && child.style.display == 'block') // children visible
|
||||
{
|
||||
var n=0; |
||||
var tmpElem; |
||||
while (1) // search for last child
|
||||
{ |
||||
tmpElem = document.getElementById('Item'+newIndex+'_c'+n); |
||||
if (tmpElem) |
||||
{ |
||||
focusItem = tmpElem; |
||||
} |
||||
else // found it!
|
||||
{ |
||||
break; |
||||
} |
||||
n++; |
||||
} |
||||
} |
||||
} |
||||
if (focusItem) |
||||
{ |
||||
focusItem.focus(); |
||||
} |
||||
else // return focus to search field
|
||||
{ |
||||
parent.document.getElementById("MSearchField").focus(); |
||||
} |
||||
} |
||||
else if (this.lastKey==40) // Down
|
||||
{ |
||||
var newIndex = itemIndex+1; |
||||
var focusItem; |
||||
var item = document.getElementById('Item'+itemIndex); |
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id); |
||||
if (elem && elem.style.display == 'block') // children visible
|
||||
{ |
||||
focusItem = document.getElementById('Item'+itemIndex+'_c0'); |
||||
} |
||||
if (!focusItem) focusItem = this.NavNext(newIndex); |
||||
if (focusItem) focusItem.focus(); |
||||
} |
||||
else if (this.lastKey==39) // Right
|
||||
{ |
||||
var item = document.getElementById('Item'+itemIndex); |
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id); |
||||
if (elem) elem.style.display = 'block'; |
||||
} |
||||
else if (this.lastKey==37) // Left
|
||||
{ |
||||
var item = document.getElementById('Item'+itemIndex); |
||||
var elem = this.FindChildElement(item.parentNode.parentNode.id); |
||||
if (elem) elem.style.display = 'none'; |
||||
} |
||||
else if (this.lastKey==27) // Escape
|
||||
{ |
||||
parent.searchBox.CloseResultsWindow(); |
||||
parent.document.getElementById("MSearchField").focus(); |
||||
} |
||||
else if (this.lastKey==13) // Enter
|
||||
{ |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
this.NavChild = function(evt,itemIndex,childIndex) |
||||
{ |
||||
var e = (evt) ? evt : window.event; // for IE
|
||||
if (e.keyCode==13) return true; |
||||
if (!this.ProcessKeys(e)) return false; |
||||
|
||||
if (this.lastKey==38) // Up
|
||||
{ |
||||
if (childIndex>0) |
||||
{ |
||||
var newIndex = childIndex-1; |
||||
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); |
||||
} |
||||
else // already at first child, jump to parent
|
||||
{ |
||||
document.getElementById('Item'+itemIndex).focus(); |
||||
} |
||||
} |
||||
else if (this.lastKey==40) // Down
|
||||
{ |
||||
var newIndex = childIndex+1; |
||||
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); |
||||
if (!elem) // last child, jump to parent next parent
|
||||
{ |
||||
elem = this.NavNext(itemIndex+1); |
||||
} |
||||
if (elem) |
||||
{ |
||||
elem.focus(); |
||||
}
|
||||
} |
||||
else if (this.lastKey==27) // Escape
|
||||
{ |
||||
parent.searchBox.CloseResultsWindow(); |
||||
parent.document.getElementById("MSearchField").focus(); |
||||
} |
||||
else if (this.lastKey==13) // Enter
|
||||
{ |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
} |
||||
|
||||
function setKeyActions(elem,action) |
||||
{ |
||||
elem.setAttribute('onkeydown',action); |
||||
elem.setAttribute('onkeypress',action); |
||||
elem.setAttribute('onkeyup',action); |
||||
} |
||||
|
||||
function setClassAttr(elem,attr) |
||||
{ |
||||
elem.setAttribute('class',attr); |
||||
elem.setAttribute('className',attr); |
||||
} |
||||
|
||||
function createResults() |
||||
{ |
||||
var results = document.getElementById("SRResults"); |
||||
for (var e=0; e<searchData.length; e++) |
||||
{ |
||||
var id = searchData[e][0]; |
||||
var srResult = document.createElement('div'); |
||||
srResult.setAttribute('id','SR_'+id); |
||||
setClassAttr(srResult,'SRResult'); |
||||
var srEntry = document.createElement('div'); |
||||
setClassAttr(srEntry,'SREntry'); |
||||
var srLink = document.createElement('a'); |
||||
srLink.setAttribute('id','Item'+e); |
||||
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')'); |
||||
setClassAttr(srLink,'SRSymbol'); |
||||
srLink.innerHTML = searchData[e][1][0]; |
||||
srEntry.appendChild(srLink); |
||||
if (searchData[e][1].length==2) // single result
|
||||
{ |
||||
srLink.setAttribute('href',searchData[e][1][1][0]); |
||||
if (searchData[e][1][1][1]) |
||||
{ |
||||
srLink.setAttribute('target','_parent'); |
||||
} |
||||
var srScope = document.createElement('span'); |
||||
setClassAttr(srScope,'SRScope'); |
||||
srScope.innerHTML = searchData[e][1][1][2]; |
||||
srEntry.appendChild(srScope); |
||||
} |
||||
else // multiple results
|
||||
{ |
||||
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); |
||||
var srChildren = document.createElement('div'); |
||||
setClassAttr(srChildren,'SRChildren'); |
||||
for (var c=0; c<searchData[e][1].length-1; c++) |
||||
{ |
||||
var srChild = document.createElement('a'); |
||||
srChild.setAttribute('id','Item'+e+'_c'+c); |
||||
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')'); |
||||
setClassAttr(srChild,'SRScope'); |
||||
srChild.setAttribute('href',searchData[e][1][c+1][0]); |
||||
if (searchData[e][1][c+1][1]) |
||||
{ |
||||
srChild.setAttribute('target','_parent'); |
||||
} |
||||
srChild.innerHTML = searchData[e][1][c+1][2]; |
||||
srChildren.appendChild(srChild); |
||||
} |
||||
srEntry.appendChild(srChildren); |
||||
} |
||||
srResult.appendChild(srEntry); |
||||
results.appendChild(srResult); |
||||
} |
||||
} |
||||
|
After Width: | Height: | Size: 604 B |
After Width: | Height: | Size: 158 B |
After Width: | Height: | Size: 612 B |
After Width: | Height: | Size: 853 B |
After Width: | Height: | Size: 845 B |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 169 B |
After Width: | Height: | Size: 177 B |
After Width: | Height: | Size: 184 B |
@ -0,0 +1,60 @@ |
||||
.tabs, .tabs2, .tabs3 { |
||||
background-image: url('tab_b.png'); |
||||
width: 100%; |
||||
z-index: 101; |
||||
font-size: 13px; |
||||
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; |
||||
} |
||||
|
||||
.tabs2 { |
||||
font-size: 10px; |
||||
} |
||||
.tabs3 { |
||||
font-size: 9px; |
||||
} |
||||
|
||||
.tablist { |
||||
margin: 0; |
||||
padding: 0; |
||||
display: table; |
||||
} |
||||
|
||||
.tablist li { |
||||
float: left; |
||||
display: table-cell; |
||||
background-image: url('tab_b.png'); |
||||
line-height: 36px; |
||||
list-style: none; |
||||
} |
||||
|
||||
.tablist a { |
||||
display: block; |
||||
padding: 0 20px; |
||||
font-weight: bold; |
||||
background-image:url('tab_s.png'); |
||||
background-repeat:no-repeat; |
||||
background-position:right; |
||||
color: #283A5D; |
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); |
||||
text-decoration: none; |
||||
outline: none; |
||||
} |
||||
|
||||
.tabs3 .tablist a { |
||||
padding: 0 10px; |
||||
} |
||||
|
||||
.tablist a:hover { |
||||
background-image: url('tab_h.png'); |
||||
background-repeat:repeat-x; |
||||
color: #fff; |
||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); |
||||
text-decoration: none; |
||||
} |
||||
|
||||
.tablist li.current a { |
||||
background-image: url('tab_a.png'); |
||||
background-repeat:repeat-x; |
||||
color: #fff; |
||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); |
||||
} |
@ -0,0 +1,21 @@ |
||||
all: refman.pdf |
||||
|
||||
pdf: refman.pdf |
||||
|
||||
refman.pdf: clean refman.tex |
||||
pdflatex refman
|
||||
makeindex refman.idx
|
||||
pdflatex refman
|
||||
latex_count=5 ; \
|
||||
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
|
||||
do \
|
||||
echo "Rerunning latex...." ;\
|
||||
pdflatex refman ;\
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
makeindex refman.idx
|
||||
pdflatex refman
|
||||
|
||||
|
||||
clean: |
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
|
@ -0,0 +1,464 @@ |
||||
\NeedsTeXFormat{LaTeX2e} |
||||
\ProvidesPackage{doxygen} |
||||
|
||||
% Packages used by this style file |
||||
\RequirePackage{alltt} |
||||
\RequirePackage{array} |
||||
\RequirePackage{calc} |
||||
\RequirePackage{float} |
||||
\RequirePackage{ifthen} |
||||
\RequirePackage{verbatim} |
||||
\RequirePackage[table]{xcolor} |
||||
\RequirePackage{xtab} |
||||
|
||||
%---------- Internal commands used in this style file ---------------- |
||||
|
||||
\newcommand{\ensurespace}[1]{% |
||||
\begingroup% |
||||
\setlength{\dimen@}{#1}% |
||||
\vskip\z@\@plus\dimen@% |
||||
\penalty -100\vskip\z@\@plus -\dimen@% |
||||
\vskip\dimen@% |
||||
\penalty 9999% |
||||
\vskip -\dimen@% |
||||
\vskip\z@skip% hide the previous |\vskip| from |\addvspace| |
||||
\endgroup% |
||||
} |
||||
|
||||
\newcommand{\DoxyLabelFont}{} |
||||
\newcommand{\entrylabel}[1]{% |
||||
{% |
||||
\parbox[b]{\labelwidth-4pt}{% |
||||
\makebox[0pt][l]{\DoxyLabelFont#1}% |
||||
\vspace{1.5\baselineskip}% |
||||
}% |
||||
}% |
||||
} |
||||
|
||||
\newenvironment{DoxyDesc}[1]{% |
||||
\ensurespace{4\baselineskip}% |
||||
\begin{list}{}{% |
||||
\settowidth{\labelwidth}{20pt}% |
||||
\setlength{\parsep}{0pt}% |
||||
\setlength{\itemsep}{0pt}% |
||||
\setlength{\leftmargin}{\labelwidth+\labelsep}% |
||||
\renewcommand{\makelabel}{\entrylabel}% |
||||
}% |
||||
\item[#1]% |
||||
}{% |
||||
\end{list}% |
||||
} |
||||
|
||||
\newsavebox{\xrefbox} |
||||
\newlength{\xreflength} |
||||
\newcommand{\xreflabel}[1]{% |
||||
\sbox{\xrefbox}{#1}% |
||||
\setlength{\xreflength}{\wd\xrefbox}% |
||||
\ifthenelse{\xreflength>\labelwidth}{% |
||||
\begin{minipage}{\textwidth}% |
||||
\setlength{\parindent}{0pt}% |
||||
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% |
||||
\end{minipage}% |
||||
}{% |
||||
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% |
||||
}% |
||||
} |
||||
|
||||
%---------- Commands used by doxygen LaTeX output generator ---------- |
||||
|
||||
% Used by <pre> ... </pre> |
||||
\newenvironment{DoxyPre}{% |
||||
\small% |
||||
\begin{alltt}% |
||||
}{% |
||||
\end{alltt}% |
||||
\normalsize% |
||||
} |
||||
|
||||
% Used by @code ... @endcode |
||||
\newenvironment{DoxyCode}{% |
||||
\par% |
||||
\scriptsize% |
||||
\begin{alltt}% |
||||
}{% |
||||
\end{alltt}% |
||||
\normalsize% |
||||
} |
||||
|
||||
% Used by @example, @include, @includelineno and @dontinclude |
||||
\newenvironment{DoxyCodeInclude}{% |
||||
\DoxyCode% |
||||
}{% |
||||
\endDoxyCode% |
||||
} |
||||
|
||||
% Used by @verbatim ... @endverbatim |
||||
\newenvironment{DoxyVerb}{% |
||||
\footnotesize% |
||||
\verbatim% |
||||
}{% |
||||
\endverbatim% |
||||
\normalsize% |
||||
} |
||||
|
||||
% Used by @verbinclude |
||||
\newenvironment{DoxyVerbInclude}{% |
||||
\DoxyVerb% |
||||
}{% |
||||
\endDoxyVerb% |
||||
} |
||||
|
||||
% Used by numbered lists (using '-#' or <ol> ... </ol>) |
||||
\newenvironment{DoxyEnumerate}{% |
||||
\enumerate% |
||||
}{% |
||||
\endenumerate% |
||||
} |
||||
|
||||
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>) |
||||
\newenvironment{DoxyItemize}{% |
||||
\itemize% |
||||
}{% |
||||
\enditemize% |
||||
} |
||||
|
||||
% Used by description lists (using <dl> ... </dl>) |
||||
\newenvironment{DoxyDescription}{% |
||||
\description% |
||||
}{% |
||||
\enddescription% |
||||
} |
||||
|
||||
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc |
||||
% (only if caption is specified) |
||||
\newenvironment{DoxyImage}{% |
||||
\begin{figure}[H]% |
||||
\begin{center}% |
||||
}{% |
||||
\end{center}% |
||||
\end{figure}% |
||||
} |
||||
|
||||
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc |
||||
% (only if no caption is specified) |
||||
\newenvironment{DoxyImageNoCaption}{% |
||||
}{% |
||||
} |
||||
|
||||
% Used by @attention |
||||
\newenvironment{DoxyAttention}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @author and @authors |
||||
\newenvironment{DoxyAuthor}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @date |
||||
\newenvironment{DoxyDate}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @invariant |
||||
\newenvironment{DoxyInvariant}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @note |
||||
\newenvironment{DoxyNote}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @post |
||||
\newenvironment{DoxyPostcond}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @pre |
||||
\newenvironment{DoxyPrecond}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @copyright |
||||
\newenvironment{DoxyCopyright}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @remark |
||||
\newenvironment{DoxyRemark}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @return and @returns |
||||
\newenvironment{DoxyReturn}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @since |
||||
\newenvironment{DoxySince}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @see |
||||
\newenvironment{DoxySeeAlso}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @version |
||||
\newenvironment{DoxyVersion}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @warning |
||||
\newenvironment{DoxyWarning}[1]{% |
||||
\begin{DoxyDesc}{#1}% |
||||
}{% |
||||
\end{DoxyDesc}% |
||||
} |
||||
|
||||
% Used by @internal |
||||
\newenvironment{DoxyInternal}[1]{% |
||||
\paragraph*{#1}% |
||||
}{% |
||||
} |
||||
|
||||
% Used by @par and @paragraph |
||||
\newenvironment{DoxyParagraph}[1]{% |
||||
\begin{list}{}{% |
||||
\settowidth{\labelwidth}{40pt}% |
||||
\setlength{\leftmargin}{\labelwidth}% |
||||
\setlength{\parsep}{0pt}% |
||||
\setlength{\itemsep}{-4pt}% |
||||
\renewcommand{\makelabel}{\entrylabel}% |
||||
}% |
||||
\item[#1]% |
||||
}{% |
||||
\end{list}% |
||||
} |
||||
|
||||
% Used by parameter lists |
||||
\newenvironment{DoxyParams}[2][]{% |
||||
\par% |
||||
\tabletail{\hline}% |
||||
\tablelasttail{\hline}% |
||||
\tablefirsthead{}% |
||||
\tablehead{}% |
||||
\ifthenelse{\equal{#1}{}}% |
||||
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% |
||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% |
||||
p{0.805\textwidth}|}}% |
||||
{\ifthenelse{\equal{#1}{1}}% |
||||
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% |
||||
\begin{xtabular}{|>{\centering}p{0.10\textwidth}|% |
||||
>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% |
||||
p{0.678\textwidth}|}}% |
||||
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% |
||||
\begin{xtabular}{|>{\centering}p{0.10\textwidth}|% |
||||
>{\centering\hspace{0pt}}p{0.15\textwidth}|% |
||||
>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% |
||||
p{0.501\textwidth}|}}% |
||||
}\hline% |
||||
}{% |
||||
\end{xtabular}% |
||||
\tablefirsthead{}% |
||||
\vspace{6pt}% |
||||
} |
||||
|
||||
% Used for fields of simple structs |
||||
\newenvironment{DoxyFields}[1]{% |
||||
\par% |
||||
\tabletail{\hline}% |
||||
\tablelasttail{\hline}% |
||||
\tablehead{}% |
||||
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% |
||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% |
||||
p{0.15\textwidth}|% |
||||
p{0.63\textwidth}|}% |
||||
\hline% |
||||
}{% |
||||
\end{xtabular}% |
||||
\tablefirsthead{}% |
||||
\vspace{6pt}% |
||||
} |
||||
|
||||
% Used for parameters within a detailed function description |
||||
\newenvironment{DoxyParamCaption}{% |
||||
\renewcommand{\item}[2][]{##1 {\em ##2}}% |
||||
}{% |
||||
} |
||||
|
||||
% Used by return value lists |
||||
\newenvironment{DoxyRetVals}[1]{% |
||||
\par% |
||||
\tabletail{\hline}% |
||||
\tablelasttail{\hline}% |
||||
\tablehead{}% |
||||
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% |
||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% |
||||
p{0.705\textwidth}|}% |
||||
\hline% |
||||
}{% |
||||
\end{xtabular}% |
||||
\tablefirsthead{}% |
||||
\vspace{6pt}% |
||||
} |
||||
|
||||
% Used by exception lists |
||||
\newenvironment{DoxyExceptions}[1]{% |
||||
\par% |
||||
\tabletail{\hline}% |
||||
\tablelasttail{\hline}% |
||||
\tablehead{}% |
||||
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% |
||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% |
||||
p{0.705\textwidth}|}% |
||||
\hline% |
||||
}{% |
||||
\end{xtabular}% |
||||
\tablefirsthead{}% |
||||
\vspace{6pt}% |
||||
} |
||||
|
||||
% Used by template parameter lists |
||||
\newenvironment{DoxyTemplParams}[1]{% |
||||
\par% |
||||
\tabletail{\hline}% |
||||
\tablelasttail{\hline}% |
||||
\tablehead{}% |
||||
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% |
||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% |
||||
p{0.705\textwidth}|}% |
||||
\hline% |
||||
}{% |
||||
\end{xtabular}% |
||||
\tablefirsthead{}% |
||||
\vspace{6pt}% |
||||
} |
||||
|
||||
% Used for member lists |
||||
\newenvironment{DoxyCompactItemize}{% |
||||
\begin{itemize}% |
||||
\setlength{\itemsep}{-3pt}% |
||||
\setlength{\parsep}{0pt}% |
||||
\setlength{\topsep}{0pt}% |
||||
\setlength{\partopsep}{0pt}% |
||||
}{% |
||||
\end{itemize}% |
||||
} |
||||
|
||||
% Used for member descriptions |
||||
\newenvironment{DoxyCompactList}{% |
||||
\begin{list}{}{% |
||||
\setlength{\leftmargin}{0.5cm}% |
||||
\setlength{\itemsep}{0pt}% |
||||
\setlength{\parsep}{0pt}% |
||||
\setlength{\topsep}{0pt}% |
||||
\renewcommand{\makelabel}{\hfill}% |
||||
}% |
||||
}{% |
||||
\end{list}% |
||||
} |
||||
|
||||
% Used for reference lists (@bug, @deprecated, @todo, etc.) |
||||
\newenvironment{DoxyRefList}{% |
||||
\begin{list}{}{% |
||||
\setlength{\labelwidth}{10pt}% |
||||
\setlength{\leftmargin}{\labelwidth}% |
||||
\addtolength{\leftmargin}{\labelsep}% |
||||
\renewcommand{\makelabel}{\xreflabel}% |
||||
}% |
||||
}{% |
||||
\end{list}% |
||||
} |
||||
|
||||
% Used by @bug, @deprecated, @todo, etc. |
||||
\newenvironment{DoxyRefDesc}[1]{% |
||||
\begin{list}{}{% |
||||
\renewcommand\makelabel[1]{\textbf{##1}}% |
||||
\settowidth\labelwidth{\makelabel{#1}}% |
||||
\setlength\leftmargin{\labelwidth+\labelsep}% |
||||
}% |
||||
}{% |
||||
\end{list}% |
||||
} |
||||
|
||||
% Used by parameter lists and simple sections |
||||
\newenvironment{Desc} |
||||
{\begin{list}{}{% |
||||
\settowidth{\labelwidth}{40pt}% |
||||
\setlength{\leftmargin}{\labelwidth}% |
||||
\setlength{\parsep}{0pt}% |
||||
\setlength{\itemsep}{-4pt}% |
||||
\renewcommand{\makelabel}{\entrylabel}% |
||||
} |
||||
}{% |
||||
\end{list}% |
||||
} |
||||
|
||||
% Used by tables |
||||
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% |
||||
\newlength{\tmplength}% |
||||
\newenvironment{TabularC}[1]% |
||||
{% |
||||
\setlength{\tmplength}% |
||||
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}% |
||||
\par\begin{xtabular*}{\linewidth}% |
||||
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}% |
||||
}% |
||||
{\end{xtabular*}\par}% |
||||
|
||||
% Used for member group headers |
||||
\newenvironment{Indent}{% |
||||
\begin{list}{}{% |
||||
\setlength{\leftmargin}{0.5cm}% |
||||
}% |
||||
\item[]\ignorespaces% |
||||
}{% |
||||
\unskip% |
||||
\end{list}% |
||||
} |
||||
|
||||
% Used when hyperlinks are turned off |
||||
\newcommand{\doxyref}[3]{% |
||||
\textbf{#1} (\textnormal{#2}\,\pageref{#3})% |
||||
} |
||||
|
||||
% Used for syntax highlighting |
||||
\definecolor{comment}{rgb}{0.5,0.0,0.0} |
||||
\definecolor{keyword}{rgb}{0.0,0.5,0.0} |
||||
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} |
||||
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} |
||||
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} |
||||
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} |
||||
\definecolor{charliteral}{rgb}{0.0,0.5,0.5} |
||||
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} |
||||
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} |
||||
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} |
||||
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} |
@ -0,0 +1,143 @@ |
||||
\documentclass[twoside]{book} |
||||
|
||||
% Packages required by doxygen |
||||
\usepackage{calc} |
||||
\usepackage{doxygen} |
||||
\usepackage{graphicx} |
||||
\usepackage[utf8]{inputenc} |
||||
\usepackage{makeidx} |
||||
\usepackage{multicol} |
||||
\usepackage{multirow} |
||||
\usepackage{textcomp} |
||||
\usepackage[table]{xcolor} |
||||
|
||||
% NLS support packages |
||||
\usepackage[bahasa]{babel} |
||||
% Font selection |
||||
\usepackage[T1]{fontenc} |
||||
\usepackage{mathptmx} |
||||
\usepackage[scaled=.90]{helvet} |
||||
\usepackage{courier} |
||||
\usepackage{amssymb} |
||||
\usepackage{sectsty} |
||||
\renewcommand{\familydefault}{\sfdefault} |
||||
\allsectionsfont{% |
||||
\fontseries{bc}\selectfont% |
||||
\color{darkgray}% |
||||
} |
||||
\renewcommand{\DoxyLabelFont}{% |
||||
\fontseries{bc}\selectfont% |
||||
\color{darkgray}% |
||||
} |
||||
|
||||
% Page & text layout |
||||
\usepackage{geometry} |
||||
\geometry{% |
||||
a4paper,% |
||||
top=2.5cm,% |
||||
bottom=2.5cm,% |
||||
left=2.5cm,% |
||||
right=2.5cm% |
||||
} |
||||
\tolerance=750 |
||||
\hfuzz=15pt |
||||
\hbadness=750 |
||||
\setlength{\emergencystretch}{15pt} |
||||
\setlength{\parindent}{0cm} |
||||
\setlength{\parskip}{0.2cm} |
||||
\makeatletter |
||||
\renewcommand{\paragraph}{% |
||||
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% |
||||
\normalfont\normalsize\bfseries\SS@parafont% |
||||
}% |
||||
} |
||||
\renewcommand{\subparagraph}{% |
||||
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% |
||||
\normalfont\normalsize\bfseries\SS@subparafont% |
||||
}% |
||||
} |
||||
\makeatother |
||||
|
||||
% Headers & footers |
||||
\usepackage{fancyhdr} |
||||
\pagestyle{fancyplain} |
||||
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} |
||||
\fancyhead[CE]{\fancyplain{}{}} |
||||
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} |
||||
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} |
||||
\fancyhead[CO]{\fancyplain{}{}} |
||||
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} |
||||
\fancyfoot[LE]{\fancyplain{}{}} |
||||
\fancyfoot[CE]{\fancyplain{}{}} |
||||
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Dibangkitkan pada tanggal Kamis 8 November 2018 15\-:44\-:16 untuk Hak Cipta Pustaka G\-P\-U-\/\-Cuda Untuk Poisson Solver oleh Doxygen }} |
||||
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Dibangkitkan pada tanggal Kamis 8 November 2018 15\-:44\-:16 untuk Hak Cipta Pustaka G\-P\-U-\/\-Cuda Untuk Poisson Solver oleh Doxygen }} |
||||
\fancyfoot[CO]{\fancyplain{}{}} |
||||
\fancyfoot[RO]{\fancyplain{}{}} |
||||
\renewcommand{\footrulewidth}{0.4pt} |
||||
\renewcommand{\chaptermark}[1]{% |
||||
\markboth{#1}{}% |
||||
} |
||||
\renewcommand{\sectionmark}[1]{% |
||||
\markright{\thesection\ #1}% |
||||
} |
||||
|
||||
% Indices & bibliography |
||||
\usepackage{natbib} |
||||
\usepackage[titles]{tocloft} |
||||
\setcounter{tocdepth}{3} |
||||
\setcounter{secnumdepth}{5} |
||||
\makeindex |
||||
|
||||
% Hyperlinks (required, but should be loaded last) |
||||
\usepackage{ifpdf} |
||||
\ifpdf |
||||
\usepackage[pdftex,pagebackref=true]{hyperref} |
||||
\else |
||||
\usepackage[ps2pdf,pagebackref=true]{hyperref} |
||||
\fi |
||||
\hypersetup{% |
||||
colorlinks=true,% |
||||
linkcolor=blue,% |
||||
citecolor=blue,% |
||||
unicode% |
||||
} |
||||
|
||||
% Custom commands |
||||
\newcommand{\clearemptydoublepage}{% |
||||
\newpage{\pagestyle{empty}\cleardoublepage}% |
||||
} |
||||
|
||||
|
||||
%===== C O N T E N T S ===== |
||||
|
||||
\begin{document} |
||||
|
||||
% Titlepage & ToC |
||||
\hypersetup{pageanchor=false} |
||||
\pagenumbering{roman} |
||||
\begin{titlepage} |
||||
\vspace*{7cm} |
||||
\begin{center}% |
||||
{\Large Hak Cipta Pustaka G\-P\-U-\/\-Cuda Untuk Poisson Solver }\\ |
||||
\vspace*{1cm} |
||||
{\large Dibangkitkan oleh Doxygen 1.8.5}\\ |
||||
\vspace*{0.5cm} |
||||
{\small Kamis 8 November 2018 15:44:16}\\ |
||||
\end{center} |
||||
\end{titlepage} |
||||
\clearemptydoublepage |
||||
\tableofcontents |
||||
\clearemptydoublepage |
||||
\pagenumbering{arabic} |
||||
\hypersetup{pageanchor=true} |
||||
|
||||
%--- Begin generated contents --- |
||||
%--- End generated contents --- |
||||
|
||||
% Index |
||||
\newpage |
||||
\phantomsection |
||||
\addcontentsline{toc}{part}{Indeks} |
||||
\printindex |
||||
|
||||
\end{document} |