From dcdcba0627b897aeecfc0d81e9d65c4b2d230086 Mon Sep 17 00:00:00 2001 From: Crayon2000 Date: Tue, 9 Jan 2024 04:33:10 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20GRRLIB/G?= =?UTF-8?q?RRLIB@7ced58bf9a18dd9a83eaa3f2fa3d60d496dc52f9=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PDF-documentation.pdf | Bin 298902 -> 298332 bytes _g_r_r_l_i_b____inline_8h.html | 10 +- _g_r_r_l_i_b____lib_8h.html | 10 +- annotated.html | 10 +- classes.html | 10 +- clipboard.js | 61 + cookie.js | 58 + dir_49e56c817e5e54854c35e136979f97ca.html | 10 +- dir_a738d6a0465574a15e4ded3e16776ff8.html | 10 +- doxygen.css | 252 ++- doxygen_crawl.html | 77 + dynsections.js | 322 ++-- examples.html | 10 +- files.html | 14 +- functions.html | 10 +- functions_vars.html | 10 +- globals.html | 10 +- globals_defs.html | 10 +- globals_enum.html | 10 +- globals_eval.html | 10 +- globals_func.html | 10 +- globals_type.html | 10 +- globals_vars.html | 10 +- group___all_func.html | 1502 +++++------------ grrlib_8h.html | 18 +- index.html | 11 +- ...i_b_2_g_r_r_l_i_b_2_c_h_a_n_g_e_l_o_g.html | 10 +- ...r_l_i_b_2_g_r_r_l_i_b_2_l_i_c_e_n_c_e.html | 12 +- menu.js | 34 +- pages.html | 10 +- search/all_6.js | 196 +-- search/functions_0.js | 186 +- search/search.js | 932 +++++----- struct_g_r_r_l_i_b___font.html | 12 +- struct_g_r_r_l_i_b__bytemap_char.html | 22 +- struct_g_r_r_l_i_b__bytemap_font.html | 20 +- struct_g_r_r_l_i_b__draw_settings.html | 16 +- struct_g_r_r_l_i_b__tex_img.html | 26 +- tabs.css | 2 +- template_2source_2main_8c-example.html | 10 +- topics.html | 10 +- 41 files changed, 1816 insertions(+), 2157 deletions(-) create mode 100644 clipboard.js create mode 100644 cookie.js create mode 100644 doxygen_crawl.html diff --git a/PDF-documentation.pdf b/PDF-documentation.pdf index 5999e8821da7b2745a493cff93215c54f8937f80..bcdcfc05bc3bd715dc31005b38a7f4a155da2299 100644 GIT binary patch delta 57650 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 B*wO$1 delta 58222 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�AF3 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 diff --git a/_g_r_r_l_i_b____inline_8h.html b/_g_r_r_l_i_b____inline_8h.html index da4b6f6..2bbd34c 100644 --- a/_g_r_r_l_i_b____inline_8h.html +++ b/_g_r_r_l_i_b____inline_8h.html @@ -3,12 +3,14 @@ - + GRRLIB: GRRLIB__inline.h File Reference + + @@ -29,7 +31,7 @@ - + @@ -179,7 +181,7 @@ INLINE void GRRLIB_ClipRes

diff --git a/_g_r_r_l_i_b____lib_8h.html b/_g_r_r_l_i_b____lib_8h.html index d5f8f46..4fe1c02 100644 --- a/_g_r_r_l_i_b____lib_8h.html +++ b/_g_r_r_l_i_b____lib_8h.html @@ -3,12 +3,14 @@ - + GRRLIB: GRRLIB__lib.h File Reference + + @@ -29,7 +31,7 @@ - + @@ -297,7 +299,7 @@ void GRRLIB_SetLightOff diff --git a/annotated.html b/annotated.html index fb3495b..679dd4c 100644 --- a/annotated.html +++ b/annotated.html @@ -3,12 +3,14 @@ - + GRRLIB: Data Structures + + @@ -29,7 +31,7 @@ - + @@ -84,7 +86,7 @@ $(function() { diff --git a/classes.html b/classes.html index 83117ad..3f15a86 100644 --- a/classes.html +++ b/classes.html @@ -3,12 +3,14 @@ - + GRRLIB: Data Structure Index + + @@ -29,7 +31,7 @@ - + @@ -81,7 +83,7 @@ $(function() { diff --git a/clipboard.js b/clipboard.js new file mode 100644 index 0000000..42c1fb0 --- /dev/null +++ b/clipboard.js @@ -0,0 +1,61 @@ +/** + +The code below is based on the Doxygen Awesome project, see +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +let clipboard_title = "Copy to clipboard" +let clipboard_icon = `` +let clipboard_successIcon = `` +let clipboard_successDuration = 1000 + +$(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const clipboard_div = document.createElement("div") + clipboard_div.classList.add("clipboard") + clipboard_div.innerHTML = clipboard_icon + clipboard_div.title = clipboard_title + $(clipboard_div).click(function() { + const content = this.parentNode.cloneNode(true) + // filter out line number and folded fragments from file listings + content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() }) + let text = content.textContent + // remove trailing newlines and trailing spaces from empty lines + text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'') + navigator.clipboard.writeText(text); + this.classList.add("success") + this.innerHTML = clipboard_successIcon + window.setTimeout(() => { // switch back to normal icon after timeout + this.classList.remove("success") + this.innerHTML = clipboard_icon + }, clipboard_successDuration); + }) + fragment.insertBefore(clipboard_div, fragment.firstChild) + } + } +}) diff --git a/cookie.js b/cookie.js new file mode 100644 index 0000000..53ad21d --- /dev/null +++ b/cookie.js @@ -0,0 +1,58 @@ +/*! + Cookie helper functions + Copyright (c) 2023 Dimitri van Heesch + Released under MIT license. +*/ +let Cookie = { + cookie_namespace: 'doxygen_', + + readSetting(cookie,defVal) { + if (window.chrome) { + const val = localStorage.getItem(this.cookie_namespace+cookie) || + sessionStorage.getItem(this.cookie_namespace+cookie); + if (val) return val; + } else { + let myCookie = this.cookie_namespace+cookie+"="; + if (document.cookie) { + const index = document.cookie.indexOf(myCookie); + if (index != -1) { + const valStart = index + myCookie.length; + let valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + return document.cookie.substring(valStart, valEnd); + } + } + } + return defVal; + }, + + writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete + if (window.chrome) { + if (days==0) { + sessionStorage.setItem(this.cookie_namespace+cookie,val); + } else { + localStorage.setItem(this.cookie_namespace+cookie,val); + } + } else { + let date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + const expiration = days!=0 ? "expires="+date.toGMTString()+";" : ""; + document.cookie = this.cookie_namespace + cookie + "=" + + val + "; SameSite=Lax;" + expiration + "path=/"; + } + }, + + eraseSetting(cookie) { + if (window.chrome) { + if (localStorage.getItem(this.cookie_namespace+cookie)) { + localStorage.removeItem(this.cookie_namespace+cookie); + } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) { + sessionStorage.removeItem(this.cookie_namespace+cookie); + } + } else { + this.writeSetting(cookie,'',-1); + } + }, +} diff --git a/dir_49e56c817e5e54854c35e136979f97ca.html b/dir_49e56c817e5e54854c35e136979f97ca.html index ee30559..da159c1 100644 --- a/dir_49e56c817e5e54854c35e136979f97ca.html +++ b/dir_49e56c817e5e54854c35e136979f97ca.html @@ -3,12 +3,14 @@ - + GRRLIB: docs Directory Reference + + @@ -29,7 +31,7 @@ - + @@ -79,7 +81,7 @@ $(function() { diff --git a/dir_a738d6a0465574a15e4ded3e16776ff8.html b/dir_a738d6a0465574a15e4ded3e16776ff8.html index a49fd98..7ba1247 100644 --- a/dir_a738d6a0465574a15e4ded3e16776ff8.html +++ b/dir_a738d6a0465574a15e4ded3e16776ff8.html @@ -3,12 +3,14 @@ - + GRRLIB: grrlib Directory Reference + + @@ -29,7 +31,7 @@ - + @@ -89,7 +91,7 @@ Files diff --git a/doxygen.css b/doxygen.css index 009a9b5..7b7d851 100644 --- a/doxygen.css +++ b/doxygen.css @@ -1,4 +1,4 @@ -/* The standard CSS for doxygen 1.9.8*/ +/* The standard CSS for doxygen 1.10.0*/ html { /* page base colors */ @@ -145,6 +145,7 @@ html { --fragment-lineno-link-bg-color: #D8D8D8; --fragment-lineno-link-hover-fg-color: #4665A2; --fragment-lineno-link-hover-bg-color: #C8C8C8; +--fragment-copy-ok-color: #2EC82E; --tooltip-foreground-color: black; --tooltip-background-color: white; --tooltip-border-color: gray; @@ -168,6 +169,28 @@ html { --font-family-icon: Arial,Helvetica; --font-family-tooltip: Roboto,sans-serif; +/** special sections */ +--warning-color-bg: #f8d1cc; +--warning-color-hl: #b61825; +--warning-color-text: #75070f; +--note-color-bg: #faf3d8; +--note-color-hl: #f3a600; +--note-color-text: #5f4204; +--todo-color-bg: #e4f3ff; +--todo-color-hl: #1879C4; +--todo-color-text: #274a5c; +--test-color-bg: #e8e8ff; +--test-color-hl: #3939C4; +--test-color-text: #1a1a5c; +--deprecated-color-bg: #ecf0f3; +--deprecated-color-hl: #5b6269; +--deprecated-color-text: #43454a; +--bug-color-bg: #e4dafd; +--bug-color-hl: #5b2bdd; +--bug-color-text: #2a0d72; +--invariant-color-bg: #d8f1e3; +--invariant-color-hl: #44b86f; +--invariant-color-text: #265532; } @media (prefers-color-scheme: dark) { @@ -309,7 +332,7 @@ html { --code-link-color: #79C0FF; --code-external-link-color: #79C0FF; --fragment-foreground-color: #C9D1D9; ---fragment-background-color: black; +--fragment-background-color: #090D16; --fragment-border-color: #30363D; --fragment-lineno-border-color: #30363D; --fragment-lineno-background-color: black; @@ -318,6 +341,7 @@ html { --fragment-lineno-link-bg-color: #303030; --fragment-lineno-link-hover-fg-color: #8E96A1; --fragment-lineno-link-hover-bg-color: #505050; +--fragment-copy-ok-color: #0EA80E; --tooltip-foreground-color: #C9D1D9; --tooltip-background-color: #202020; --tooltip-border-color: #C9D1D9; @@ -341,6 +365,28 @@ html { --font-family-icon: Arial,Helvetica; --font-family-tooltip: Roboto,sans-serif; +/** special sections */ +--warning-color-bg: #2e1917; +--warning-color-hl: #ad2617; +--warning-color-text: #f5b1aa; +--note-color-bg: #3b2e04; +--note-color-hl: #f1b602; +--note-color-text: #ceb670; +--todo-color-bg: #163750; +--todo-color-hl: #1982D2; +--todo-color-text: #dcf0fa; +--test-color-bg: #121258; +--test-color-hl: #4242cf; +--test-color-text: #c0c0da; +--deprecated-color-bg: #2e323b; +--deprecated-color-hl: #738396; +--deprecated-color-text: #abb0bd; +--bug-color-bg: #2a2536; +--bug-color-hl: #7661b3; +--bug-color-text: #ae9ed6; +--invariant-color-bg: #303a35; +--invariant-color-hl: #76ce96; +--invariant-color-text: #cceed5; }} body { background-color: var(--page-background-color); @@ -357,8 +403,6 @@ body, table, div, p, dl { /* @group Heading Levels */ .title { - font-weight: 400; - font-size: 14px; font-family: var(--font-family-normal); line-height: 28px; font-size: 150%; @@ -556,7 +600,13 @@ a { } a:hover { - text-decoration: underline; + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); +} + +a:hover > span.arrow { + text-decoration: none; + background : var(--nav-background-color); } a.el { @@ -632,30 +682,63 @@ ul.multicol { .fragment { text-align: left; direction: ltr; - overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-x: auto; overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); } pre.fragment { - border: 1px solid var(--fragment-border-color); - background-color: var(--fragment-background-color); - color: var(--fragment-foreground-color); - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: var(--font-family-monospace); - font-size: 105%; + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); } -div.fragment { - padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ - margin: 4px 8px 4px 2px; - color: var(--fragment-foreground-color); - background-color: var(--fragment-background-color); - border: 1px solid var(--fragment-border-color); +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; + overflow: auto; + fill: var(--fragment-foreground-color); + justify-content: center; + align-items: center; + cursor: pointer; +} + +.clipboard.success { + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; +} + +.fragment:hover .clipboard, .clipboard.success { + opacity: .28; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); +} + +.clipboard.success svg { + fill: var(--fragment-copy-ok-color); +} + +.clipboard.success { + border-color: var(--fragment-copy-ok-color); } div.line { @@ -778,10 +861,6 @@ img.light-mode-visible { display: none; } -img.formulaDsp { - -} - img.formulaInl, img.inline { vertical-align: middle; } @@ -1081,17 +1160,25 @@ dl.reflist dd { .paramtype { white-space: nowrap; + padding: 0px; + padding-bottom: 1px; } .paramname { - color: var(--memdef-param-name-color); white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; } + .paramname em { + color: var(--memdef-param-name-color); font-style: normal; + margin-right: 1px; } -.paramname code { - line-height: 14px; + +.paramname .paramdefval { + font-family: var(--font-family-monospace); } .params, .retval, .exception, .tparams { @@ -1425,7 +1512,6 @@ table.fieldtable { { height:32px; display:block; - text-decoration: none; outline: none; color: var(--nav-text-normal-color); font-family: var(--font-family-nav); @@ -1514,7 +1600,8 @@ dl { padding: 0 0 0 0; } -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +/* + dl.section { margin-left: 0px; padding-left: 0px; @@ -1569,8 +1656,101 @@ dl.bug { border-color: #C08050; } +*/ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; +} + dl.section dd { - margin-bottom: 6px; + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-hl); +} + +dl.note, dl.remark { + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-hl); +} + +dl.todo { + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); +} + +dl.todo dt { + color: var(--todo-color-hl); +} + +dl.test { + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); +} + +dl.test dt { + color: var(--test-color-hl); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.bug { + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.deprecated { + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); +} + +dl.deprecated dt a { + color: var(--deprecated-color-hl) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-hl); } @@ -1585,12 +1765,12 @@ dl.section dd { vertical-align: bottom; border-collapse: separate; } - + #projectlogo img -{ +{ border: 0px none; } - + #projectalign { vertical-align: middle; diff --git a/doxygen_crawl.html b/doxygen_crawl.html new file mode 100644 index 0000000..87192d2 --- /dev/null +++ b/doxygen_crawl.html @@ -0,0 +1,77 @@ + + + +Validator / crawler helper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynsections.js b/dynsections.js index b73c828..8f49326 100644 --- a/dynsections.js +++ b/dynsections.js @@ -22,171 +22,173 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -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'); - $('table.directory tr'). - removeClass('odd').filter(':visible:odd').addClass('odd'); -} +let dynsection = { -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'); - // add vertical lines to other rows - $('span[class=lineno]').not(':eq(0)').append(''); - // add toggle controls to lines with fold divs - $('div[class=foldopen]').each(function() { - // extract specific id to use - var id = $(this).attr('id').replace('foldopen',''); - // extract start and end foldable fragment attributes - var start = $(this).attr('data-start'); - var end = $(this).attr('data-end'); - // replace normal fold span with controls for the first line of a foldable fragment - $(this).find('span[class=fold]:first').replaceWith(''); - // append div for folded (closed) representation - $(this).after(''); - // extract the first line from the "open" section to represent closed content - var line = $(this).children().first().clone(); - // remove any glow that might still be active on the original line - $(line).removeClass('glow'); - if (start) { - // if line already ends with a start marker (e.g. trailing {), remove it - $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); - } - // replace minus with plus symbol - $(line).find('span[class=fold]').css('background-image',plusImg[relPath]); - // append ellipsis - $(line).append(' '+start+''+end); - // insert constructed line into closed div - $('#foldclosed'+id).html(line); - }); -} + this.updateStripes(); + }, + toggleFolder : function(id) { + // the clicked row + const currentRow = $('#row_'+id); + + // all rows after the clicked row + const rows = currentRow.nextAll("tr"); + + const re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub + + // only match elements AFTER this one (can't hide elements before) + const childRows = rows.filter(function() { return this.id.match(re); }); + + // first row is visible we are HIDING + if (childRows.filter(':first').is(':visible')===true) { + // replace down arrow by right arrow for current row + const currentRowSpans = currentRow.find("span"); + currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); + currentRowSpans.filter(".arrow").html('►'); + rows.filter("[id^=row_"+id+"]").hide(); // hide all children + } else { // we are SHOWING + // replace right arrow by down arrow for current row + const currentRowSpans = currentRow.find("span"); + currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen"); + currentRowSpans.filter(".arrow").html('▼'); + // replace down arrows by right arrows for child rows + const childRowsSpans = childRows.find("span"); + childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed"); + childRowsSpans.filter(".arrow").html('►'); + childRows.show(); //show all children + } + this.updateStripes(); + }, + + toggleInherit : function(id) { + const rows = $('tr.inherit.'+id); + const img = $('tr.inherit_header.'+id+' img'); + const 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'); + } + }, +}; + +let codefold = { + opened : true, + + // in case HTML_COLORSTYLE is LIGHT or DARK the vars will be replaced, so we write them out explicitly and use double quotes + plusImg: [ "var(--fold-plus-image)", "var(--fold-plus-image-relpath)" ], + minusImg: [ "var(--fold-minus-image)", "var(--fold-minus-image-relpath)" ], + + // toggle all folding blocks + toggle_all : function(relPath) { + if (this.opened) { + $('#fold_all').css('background-image',this.plusImg[relPath]); + $('div[id^=foldopen]').hide(); + $('div[id^=foldclosed]').show(); + } else { + $('#fold_all').css('background-image',this.minusImg[relPath]); + $('div[id^=foldopen]').show(); + $('div[id^=foldclosed]').hide(); + } + this.opened=!this.opened; + }, + + // toggle single folding block + toggle : function(id) { + $('#foldopen'+id).toggle(); + $('#foldclosed'+id).toggle(); + }, + + init : function(relPath) { + $('span[class=lineno]').css({ + 'padding-right':'4px', + 'margin-right':'2px', + 'display':'inline-block', + 'width':'54px', + 'background':'linear-gradient(var(--fold-line-color),var(--fold-line-color)) no-repeat 46px/2px 100%' + }); + // add global toggle to first line + $('span[class=lineno]:first').append(''); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + const id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + const start = $(this).attr('data-start'); + const end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + const line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; /* @license-end */ diff --git a/examples.html b/examples.html index d59f991..606cb82 100644 --- a/examples.html +++ b/examples.html @@ -3,12 +3,14 @@ - + GRRLIB: Examples + + @@ -29,7 +31,7 @@ - + @@ -78,7 +80,7 @@ $(function() { diff --git a/files.html b/files.html index 5a4a3f0..c05d79a 100644 --- a/files.html +++ b/files.html @@ -3,12 +3,14 @@ - + GRRLIB: File List + + @@ -29,7 +31,7 @@ - + @@ -73,8 +75,8 @@ $(function() {
Here is a list of all documented files with brief descriptions:
-
[detail level 12]
- +
[detail level 12]
  grrlib
+ @@ -83,7 +85,7 @@ $(function() { diff --git a/functions.html b/functions.html index f01076c..92de3b1 100644 --- a/functions.html +++ b/functions.html @@ -3,12 +3,14 @@ - +GRRLIB: Data Fields + + @@ -29,7 +31,7 @@
  grrlib
 GRRLIB__inline.hGRRLIB inline function prototypes
 GRRLIB__lib.hGRRLIB library function prototypes
 grrlib.hGRRLIB user include file
- + @@ -162,7 +164,7 @@ $(function() {
diff --git a/functions_vars.html b/functions_vars.html index 5fdbad7..a6d7440 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -3,12 +3,14 @@ - + GRRLIB: Data Fields - Variables + + @@ -29,7 +31,7 @@ - + @@ -162,7 +164,7 @@ $(function() { diff --git a/globals.html b/globals.html index a152e01..4a26d3c 100644 --- a/globals.html +++ b/globals.html @@ -3,12 +3,14 @@ - + GRRLIB: Globals + + @@ -29,7 +31,7 @@ - + @@ -202,7 +204,7 @@ $(function() { diff --git a/globals_defs.html b/globals_defs.html index 63ad4dc..33584a5 100644 --- a/globals_defs.html +++ b/globals_defs.html @@ -3,12 +3,14 @@ - + GRRLIB: Globals + + @@ -29,7 +31,7 @@ - + @@ -83,7 +85,7 @@ $(function() { diff --git a/globals_enum.html b/globals_enum.html index 9fcf486..c3f9e18 100644 --- a/globals_enum.html +++ b/globals_enum.html @@ -3,12 +3,14 @@ - + GRRLIB: Globals + + @@ -29,7 +31,7 @@ - + @@ -75,7 +77,7 @@ $(function() { diff --git a/globals_eval.html b/globals_eval.html index bf8f51d..56b98df 100644 --- a/globals_eval.html +++ b/globals_eval.html @@ -3,12 +3,14 @@ - + GRRLIB: Globals + + @@ -29,7 +31,7 @@ - + @@ -79,7 +81,7 @@ $(function() { diff --git a/globals_func.html b/globals_func.html index d28334b..6376442 100644 --- a/globals_func.html +++ b/globals_func.html @@ -3,12 +3,14 @@ - + GRRLIB: Globals + + @@ -29,7 +31,7 @@ - + @@ -169,7 +171,7 @@ $(function() { diff --git a/globals_type.html b/globals_type.html index 5142155..db2a19b 100644 --- a/globals_type.html +++ b/globals_type.html @@ -3,12 +3,14 @@ - + GRRLIB: Globals + + @@ -29,7 +31,7 @@ - + @@ -80,7 +82,7 @@ $(function() { diff --git a/globals_vars.html b/globals_vars.html index eaa1493..0401ca3 100644 --- a/globals_vars.html +++ b/globals_vars.html @@ -3,12 +3,14 @@ - + GRRLIB: Globals + + @@ -29,7 +31,7 @@ - + @@ -75,7 +77,7 @@ $(function() { diff --git a/group___all_func.html b/group___all_func.html index c7b9fab..7f539f1 100644 --- a/group___all_func.html +++ b/group___all_func.html @@ -3,12 +3,14 @@ - + GRRLIB: Everything in GRRLIB + + @@ -29,7 +31,7 @@ - + @@ -123,19 +125,19 @@ Macros #define A(c)   ( (c) &0xFF)  Extract alpha component of colour.
  -#define RGBA(r, g, b, a) +#define RGBA(r, g, b, a)  Build an RGB pixel from components.
  -#define GRRLIB_BLEND_NONE   (GRRLIB_BLEND_ALPHA) +#define GRRLIB_BLEND_NONE   (GRRLIB_BLEND_ALPHA)  Alias for GRRLIB_BLEND_ALPHA.
  -#define GRRLIB_BLEND_LIGHT   (GRRLIB_BLEND_ADD) +#define GRRLIB_BLEND_LIGHT   (GRRLIB_BLEND_ADD)  Alias for GRRLIB_BLEND_ADD.
  -#define GRRLIB_BLEND_SHADE   (GRRLIB_BLEND_MULTI) +#define GRRLIB_BLEND_SHADE   (GRRLIB_BLEND_MULTI)  Alias for GRRLIB_BLEND_MULTI.
  @@ -154,23 +156,23 @@ Macros

Typedefs

-typedef enum GRRLIB_blendMode GRRLIB_blendMode +typedef enum GRRLIB_blendMode GRRLIB_blendMode  GRRLIB Blending Modes.
  -typedef struct GRRLIB_drawSettings GRRLIB_drawSettings +typedef struct GRRLIB_drawSettings GRRLIB_drawSettings  Structure to hold the current drawing settings.
  -typedef struct GRRLIB_texImg GRRLIB_texImg +typedef struct GRRLIB_texImg GRRLIB_texImg  Structure to hold the texture information.
  -typedef struct GRRLIB_bytemapChar GRRLIB_bytemapChar +typedef struct GRRLIB_bytemapChar GRRLIB_bytemapChar  Structure to hold the bytemap character information.
  -typedef struct GRRLIB_bytemapFont GRRLIB_bytemapFont +typedef struct GRRLIB_bytemapFont GRRLIB_bytemapFont  Structure to hold the bytemap font information.
  @@ -180,16 +182,16 @@ typedef struct GRRLIB_Font - - +

Enumerations

enum  GRRLIB_blendMode {
-  GRRLIB_BLEND_ALPHA = 0 -, GRRLIB_BLEND_ADD = 1 -, GRRLIB_BLEND_SCREEN = 2 -, GRRLIB_BLEND_MULTI = 3 +
enum  GRRLIB_blendMode {
+  GRRLIB_BLEND_ALPHA = 0 +, GRRLIB_BLEND_ADD = 1 +, GRRLIB_BLEND_SCREEN = 2 +, GRRLIB_BLEND_MULTI = 3 ,
-  GRRLIB_BLEND_INV = 4 +  GRRLIB_BLEND_INV = 4
}
 GRRLIB Blending Modes. More...
 GRRLIB Blending Modes. More...
 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

@@ -204,203 +206,203 @@ GRR_EXTERN u32 fb 

GRR_INIT INLINE void GRRLIB_ClipReset (void)
 Reset the clipping to normal.
 
INLINE void GRRLIB_ClipDrawing (const u32 x, const u32 y, const u32 width, const u32 height)
INLINE void GRRLIB_ClipDrawing (const u32 x, const u32 y, const u32 width, const u32 height)
 Clip the drawing area to an rectangle.
 
INLINE bool GRRLIB_PtInRect (const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady)
INLINE bool GRRLIB_PtInRect (const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady)
 Determine whether the specified point lies within the specified rectangle.
 
INLINE bool GRRLIB_RectInRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
INLINE bool GRRLIB_RectInRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
 Determine whether a specified rectangle lies within another rectangle.
 
INLINE bool GRRLIB_RectOnRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
INLINE bool GRRLIB_RectOnRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
 Determine whether a part of a specified rectangle lies on another rectangle.
 
INLINE void GRRLIB_NPlot (const guVector v[], const u32 color[], const u16 n)
INLINE void GRRLIB_NPlot (const guVector v[], const u32 color[], const u16 n)
 Draw an array of points.
 
INLINE void GRRLIB_NGone (const guVector v[], const u32 color[], const u16 n)
INLINE void GRRLIB_NGone (const guVector v[], const u32 color[], const u16 n)
 Draw a polygon.
 
INLINE void GRRLIB_NGoneFilled (const guVector v[], const u32 color[], const u16 n)
INLINE void GRRLIB_NGoneFilled (const guVector v[], const u32 color[], const u16 n)
 Draw a filled polygon.
 
INLINE void GRRLIB_GXEngine (const guVector v[], const u32 color[], const u16 n, const u8 fmt)
INLINE void GRRLIB_GXEngine (const guVector v[], const u32 color[], const u16 n, const u8 fmt)
 Draws a vector.
 
INLINE void GRRLIB_FillScreen (const u32 color)
INLINE void GRRLIB_FillScreen (const u32 color)
 Clear screen with a specific color.
 
INLINE void GRRLIB_Plot (const f32 x, const f32 y, const u32 color)
INLINE void GRRLIB_Plot (const f32 x, const f32 y, const u32 color)
 Draw a dot.
 
INLINE void GRRLIB_Line (const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color)
INLINE void GRRLIB_Line (const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color)
 Draw a line.
 
INLINE void GRRLIB_Rectangle (const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled)
INLINE void GRRLIB_Rectangle (const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled)
 Draw a rectangle.
 
INLINE void GRRLIB_SetHandle (GRRLIB_texImg *tex, const int x, const int y)
INLINE void GRRLIB_SetHandle (GRRLIB_texImg *tex, const int x, const int y)
 Set a texture's X and Y handles.
 
INLINE void GRRLIB_SetMidHandle (GRRLIB_texImg *tex, const bool enabled)
INLINE void GRRLIB_SetMidHandle (GRRLIB_texImg *tex, const bool enabled)
 Center a texture's handles.
 
INLINE u32 GRRLIB_GetPixelFromtexImg (const int x, const int y, const GRRLIB_texImg *tex)
INLINE u32 GRRLIB_GetPixelFromtexImg (const int x, const int y, const GRRLIB_texImg *tex)
 Return the color value of a pixel from a GRRLIB_texImg.
 
INLINE void GRRLIB_SetPixelTotexImg (const int x, const int y, GRRLIB_texImg *tex, const u32 color)
INLINE void GRRLIB_SetPixelTotexImg (const int x, const int y, GRRLIB_texImg *tex, const u32 color)
 Set the color value of a pixel to a GRRLIB_texImg.
 
INLINE u32 GRRLIB_GetPixelFromFB (int x, int y)
INLINE u32 GRRLIB_GetPixelFromFB (int x, int y)
 Reads a pixel directly from the FrontBuffer.
 
INLINE void GRRLIB_SetPixelToFB (int x, int y, u32 pokeColor)
INLINE void GRRLIB_SetPixelToFB (int x, int y, u32 pokeColor)
 Writes a pixel directly from the FrontBuffer.
 
INLINE void GRRLIB_SetBlend (const GRRLIB_blendMode blendmode)
INLINE void GRRLIB_SetBlend (const GRRLIB_blendMode blendmode)
 Set a blending mode.
 
INLINE GRRLIB_blendMode GRRLIB_GetBlend (void)
INLINE GRRLIB_blendMode GRRLIB_GetBlend (void)
 Get the current blending mode.
 
INLINE void GRRLIB_SetAntiAliasing (const bool aa)
INLINE void GRRLIB_SetAntiAliasing (const bool aa)
 Turn anti-aliasing on/off.
 
INLINE bool GRRLIB_GetAntiAliasing (void)
INLINE bool GRRLIB_GetAntiAliasing (void)
 Get current anti-aliasing setting.
 
INLINE void GRRLIB_ClearTex (GRRLIB_texImg *tex)
INLINE void GRRLIB_ClearTex (GRRLIB_texImg *tex)
 Clear a texture to transparent black.
 
INLINE void GRRLIB_FlushTex (GRRLIB_texImg *tex)
INLINE void GRRLIB_FlushTex (GRRLIB_texImg *tex)
 Write the contents of a texture in the data cache down to main memory.
 
INLINE void GRRLIB_FreeTexture (GRRLIB_texImg *tex)
INLINE void GRRLIB_FreeTexture (GRRLIB_texImg *tex)
 Free memory allocated for texture.
 
GRRLIB_bytemapFontGRRLIB_LoadBMF (const u8 my_bmf[])
GRRLIB_bytemapFontGRRLIB_LoadBMF (const u8 my_bmf[])
 Load a ByteMap font structure from a buffer.
 
void GRRLIB_FreeBMF (GRRLIB_bytemapFont *bmf)
void GRRLIB_FreeBMF (GRRLIB_bytemapFont *bmf)
 Free memory allocated by ByteMap fonts.
 
void GRRLIB_InitTileSet (GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart)
void GRRLIB_InitTileSet (GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart)
 Initialize a tile set.
 
void GRRLIB_BMFX_FlipH (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
void GRRLIB_BMFX_FlipH (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Flip texture horizontal.
 
void GRRLIB_BMFX_FlipV (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
void GRRLIB_BMFX_FlipV (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Flip texture vertical.
 
void GRRLIB_BMFX_Grayscale (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
void GRRLIB_BMFX_Grayscale (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Change a texture to gray scale.
 
void GRRLIB_BMFX_Sepia (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
void GRRLIB_BMFX_Sepia (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Change a texture to sepia (old photo style).
 
void GRRLIB_BMFX_Invert (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
void GRRLIB_BMFX_Invert (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Invert colors of the texture.
 
void GRRLIB_BMFX_Blur (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
void GRRLIB_BMFX_Blur (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Blur).
 
void GRRLIB_BMFX_Scatter (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
void GRRLIB_BMFX_Scatter (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Scatter).
 
void GRRLIB_BMFX_Pixelate (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
void GRRLIB_BMFX_Pixelate (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Pixelate).
 
int GRRLIB_Init (void)
int GRRLIB_Init (void)
 Initialize GRRLIB.
 
void GRRLIB_Exit (void)
void GRRLIB_Exit (void)
 Call this before exiting your application.
 
void GRRLIB_Ellipse (const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled)
void GRRLIB_Ellipse (const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled)
 Draw an ellipse.
 
void GRRLIB_Circle (const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled)
void GRRLIB_Circle (const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled)
 Draw a circle.
 
int GRRLIB_LoadFile (const char *filename, u8 **data)
int GRRLIB_LoadFile (const char *filename, u8 **data)
 Load a file to memory.
 
GRRLIB_texImgGRRLIB_LoadTextureFromFile (const char *filename)
GRRLIB_texImgGRRLIB_LoadTextureFromFile (const char *filename)
 Load a texture from a file.
 
GRRLIB_ttfFontGRRLIB_LoadTTFFromFile (const char *filename)
GRRLIB_ttfFontGRRLIB_LoadTTFFromFile (const char *filename)
 Load a TTF from a file.
 
bool GRRLIB_ScrShot (const char *filename)
bool GRRLIB_ScrShot (const char *filename)
 Make a PNG screenshot.
 
void GRRLIB_Printf (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...)
void GRRLIB_Printf (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...)
 Print formatted output.
 
void GRRLIB_PrintBMF (const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...)
void GRRLIB_PrintBMF (const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...)
 Print formatted output with a ByteMap font.
 
void GRRLIB_DrawImg (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
void GRRLIB_DrawImg (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
 Draw a texture.
 
void GRRLIB_DrawImgQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color)
void GRRLIB_DrawImgQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color)
 Draw a textured quad.
 
void GRRLIB_DrawTile (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame)
void GRRLIB_DrawTile (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame)
 Draw a tile.
 
void GRRLIB_DrawPart (const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
void GRRLIB_DrawPart (const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
 Draw a part of a texture.
 
void GRRLIB_DrawTileQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame)
void GRRLIB_DrawTileQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame)
 Draw a tile in a quad.
 
void GRRLIB_Render (void)
 Call this function after drawing.
 
void GRRLIB_Screen2Texture (u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear)
void GRRLIB_Screen2Texture (u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear)
 Make a snapshot of the screen in a texture WITHOUT ALPHA LAYER.
 
void GRRLIB_CompoStart (void)
void GRRLIB_CompoStart (void)
 Start GX compositing process.
 
void GRRLIB_CompoEnd (u16 posx, u16 posy, GRRLIB_texImg *tex)
void GRRLIB_CompoEnd (u16 posx, u16 posy, GRRLIB_texImg *tex)
 End GX compositing process (Make a snapshot of the screen in a texture WITH ALPHA LAYER).
 
GRRLIB_texImgGRRLIB_CreateEmptyTexture (const u32 width, const u32 height)
GRRLIB_texImgGRRLIB_CreateEmptyTexture (const u32 width, const u32 height)
 Create an empty texture.
 
GRRLIB_texImgGRRLIB_LoadTexture (const u8 *my_img)
GRRLIB_texImgGRRLIB_LoadTexture (const u8 *my_img)
 Load a texture from a buffer.
 
GRRLIB_texImgGRRLIB_LoadTexturePNG (const u8 *my_png)
GRRLIB_texImgGRRLIB_LoadTexturePNG (const u8 *my_png)
 Load a texture from a buffer.
 
GRRLIB_texImgGRRLIB_LoadTextureJPG (const u8 *my_jpg)
GRRLIB_texImgGRRLIB_LoadTextureJPG (const u8 *my_jpg)
 Load a texture from a buffer.
 
GRRLIB_texImgGRRLIB_LoadTextureJPGEx (const u8 *my_jpg, const u32 my_size)
GRRLIB_texImgGRRLIB_LoadTextureJPGEx (const u8 *my_jpg, const u32 my_size)
 Load a texture from a buffer.
 
GRRLIB_texImgGRRLIB_LoadTextureBMP (const u8 *my_bmp)
GRRLIB_texImgGRRLIB_LoadTextureBMP (const u8 *my_bmp)
 Load a texture from a buffer.
 
bool GRRLIB_GeckoInit ()
bool GRRLIB_GeckoInit ()
 Initialize USB Gecko.
 
void GRRLIB_GeckoPrintf (const char *text,...)
void GRRLIB_GeckoPrintf (const char *text,...)
 Print Gecko.
 
void GRRLIB_SetBackgroundColour (u8 r, u8 g, u8 b, u8 a)
void GRRLIB_SetBackgroundColour (u8 r, u8 g, u8 b, u8 a)
 Set the background parameter when screen is cleared.
 
void GRRLIB_Camera3dSettings (f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz)
void GRRLIB_Camera3dSettings (f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz)
 Set the camera parameter (contributed by chris_c aka DaShAmAn).
 
void GRRLIB_3dMode (f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode)
void GRRLIB_3dMode (f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode)
 Set up the position matrix (contributed by chris_c aka DaShAmAn).
 
@@ -411,78 +413,78 @@ void GRRLIB_2dMode ()< void GRRLIB_ObjectViewBegin (void)
 Init the object matrix to draw object.
 
void GRRLIB_ObjectViewScale (f32 scalx, f32 scaly, f32 scalz)
void GRRLIB_ObjectViewScale (f32 scalx, f32 scaly, f32 scalz)
 Scale the object matrix to draw object.
 
void GRRLIB_ObjectViewRotate (f32 angx, f32 angy, f32 angz)
void GRRLIB_ObjectViewRotate (f32 angx, f32 angy, f32 angz)
 Rotate the object matrix to draw object.
 
void GRRLIB_ObjectViewTrans (f32 posx, f32 posy, f32 posz)
void GRRLIB_ObjectViewTrans (f32 posx, f32 posy, f32 posz)
 Translate the object matrix to draw object.
 
void GRRLIB_ObjectViewEnd (void)
 Concat the object and the view matrix and calculate the inverse normal matrix.
 
void GRRLIB_ObjectView (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
void GRRLIB_ObjectView (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
 Set the view matrix to draw object (in this order scale, rotate AND trans).
 
void GRRLIB_ObjectViewInv (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
void GRRLIB_ObjectViewInv (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
 Set the view matrix to draw object (in this order scale, trans AND rotate).
 
void GRRLIB_SetTexture (GRRLIB_texImg *tex, bool rep)
void GRRLIB_SetTexture (GRRLIB_texImg *tex, bool rep)
 Set the texture to an object (contributed by chris_c aka DaShAmAn).
 
void GRRLIB_DrawTorus (f32 r, f32 R, int nsides, int rings, bool filled, u32 col)
void GRRLIB_DrawTorus (f32 r, f32 R, int nsides, int rings, bool filled, u32 col)
 Draw a torus (with normal).
 
void GRRLIB_DrawSphere (f32 r, int lats, int longs, bool filled, u32 col)
void GRRLIB_DrawSphere (f32 r, int lats, int longs, bool filled, u32 col)
 Draw a sphere (with normal).
 
void GRRLIB_DrawCube (f32 size, bool filled, u32 col)
void GRRLIB_DrawCube (f32 size, bool filled, u32 col)
 Draw a cube (with normal).
 
void GRRLIB_DrawCylinder (f32 r, f32 h, u16 d, bool filled, u32 col)
void GRRLIB_DrawCylinder (f32 r, f32 h, u16 d, bool filled, u32 col)
 Draw a cylinder (with normal).
 
void GRRLIB_DrawCone (f32 r, f32 h, u16 d, bool filled, u32 col)
void GRRLIB_DrawCone (f32 r, f32 h, u16 d, bool filled, u32 col)
 Draw a cone (with normal).
 
void GRRLIB_DrawTessPanel (f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col)
void GRRLIB_DrawTessPanel (f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col)
 Draw a Tesselated panel (with normal).
 
void GRRLIB_SetLightAmbient (u32 ambientcolor)
void GRRLIB_SetLightAmbient (u32 ambientcolor)
 Set ambient color.
 
void GRRLIB_SetLightDiff (u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor)
void GRRLIB_SetLightDiff (u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor)
 Set diffuse light parameters.
 
void GRRLIB_SetLightSpec (u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor)
void GRRLIB_SetLightSpec (u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor)
 Set specular light parameters.
 
void GRRLIB_SetLightSpot (u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor)
void GRRLIB_SetLightSpot (u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor)
 Set Spot light parameters.
 
void GRRLIB_SetLightOff (void)
 Set all lights off, like at init.
 
GRRLIB_ttfFontGRRLIB_LoadTTF (const u8 *file_base, s32 file_size)
GRRLIB_ttfFontGRRLIB_LoadTTF (const u8 *file_base, s32 file_size)
 Load a TTF from a buffer.
 
void GRRLIB_FreeTTF (GRRLIB_ttfFont *myFont)
void GRRLIB_FreeTTF (GRRLIB_ttfFont *myFont)
 Free memory allocated by TTF fonts.
 
void GRRLIB_PrintfTTF (int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color)
void GRRLIB_PrintfTTF (int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color)
 Print function for TTF font.
 
void GRRLIB_PrintfTTFW (int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color)
void GRRLIB_PrintfTTFW (int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color)
 Print function for TTF font.
 
u32 GRRLIB_WidthTTF (GRRLIB_ttfFont *myFont, const char *, unsigned int)
u32 GRRLIB_WidthTTF (GRRLIB_ttfFont *myFont, const char *, unsigned int)
 Get the width of a text in pixel.
 
u32 GRRLIB_WidthTTFW (GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int)
u32 GRRLIB_WidthTTFW (GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int)
 Get the width of a text in pixel.
 
@@ -506,31 +508,22 @@ GRR_EXTERN GXRModeObj *  - - + - - + - - + - - - - - - - +
rm
#define RGBA ( r, r,
 g, g,
 b, b,
 
) a )
@@ -560,7 +553,7 @@ GRR_EXTERN GXRModeObj * rm
@@ -591,37 +584,27 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_3dMode ( - f32  - minDist, + f32 minDist, - f32  - maxDist, + f32 maxDist, - f32  - fov, + f32 fov, - bool  - texturemode, + bool texturemode, - bool  - normalmode  - - - - ) - + bool normalmode )
@@ -649,31 +632,23 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_BMFX_Blur ( - const GRRLIB_texImg *  - texsrc, + const GRRLIB_texImg * texsrc, - GRRLIB_texImg *  - texdest, + GRRLIB_texImg * texdest, - const u32  - factor  - - - - ) - + const u32 factor )

A texture effect (Blur).

-
See also
GRRLIB_FlushTex
+
See also
GRRLIB_FlushTex
Parameters
@@ -694,25 +669,18 @@ GRR_EXTERN GXRModeObj *  - - + - - - - - - - +
texsrcThe texture source.
rm
void GRRLIB_BMFX_FlipH (const GRRLIB_texImgtexsrc, const GRRLIB_texImg * texsrc,
GRRLIB_texImgtexdest 
)GRRLIB_texImg * texdest )

Flip texture horizontal.

-
See also
GRRLIB_FlushTex
+
See also
GRRLIB_FlushTex
Parameters
@@ -732,25 +700,18 @@ GRR_EXTERN GXRModeObj *  - - + - - - - - - - +
texsrcThe texture source.
rm
void GRRLIB_BMFX_FlipV (const GRRLIB_texImgtexsrc, const GRRLIB_texImg * texsrc,
GRRLIB_texImgtexdest 
)GRRLIB_texImg * texdest )

Flip texture vertical.

-
See also
GRRLIB_FlushTex
+
See also
GRRLIB_FlushTex
Parameters
@@ -770,25 +731,18 @@ GRR_EXTERN GXRModeObj *  - - + - - - - - - - +
texsrcThe texture source.
rm
void GRRLIB_BMFX_Grayscale (const GRRLIB_texImgtexsrc, const GRRLIB_texImg * texsrc,
GRRLIB_texImgtexdest 
)GRRLIB_texImg * texdest )

Change a texture to gray scale.

-
See also
GRRLIB_FlushTex
+
See also
GRRLIB_FlushTex
Parameters
@@ -808,25 +762,18 @@ GRR_EXTERN GXRModeObj *  - - + - - - - - - - +
texsrcThe texture source.
rm
void GRRLIB_BMFX_Invert (const GRRLIB_texImgtexsrc, const GRRLIB_texImg * texsrc,
GRRLIB_texImgtexdest 
)GRRLIB_texImg * texdest )

Invert colors of the texture.

-
See also
GRRLIB_FlushTex
+
See also
GRRLIB_FlushTex
Parameters
@@ -846,31 +793,23 @@ GRR_EXTERN GXRModeObj *  - - + - - + - - - - - - - +
texsrcThe texture source.
rm
void GRRLIB_BMFX_Pixelate (const GRRLIB_texImgtexsrc, const GRRLIB_texImg * texsrc,
GRRLIB_texImgtexdest, GRRLIB_texImg * texdest,
const u32 factor 
)const u32 factor )

A texture effect (Pixelate).

-
See also
GRRLIB_FlushTex
+
See also
GRRLIB_FlushTex
Parameters
@@ -891,31 +830,23 @@ GRR_EXTERN GXRModeObj *  - - + - - + - - - - - - - +
texsrcThe texture source.
rm
void GRRLIB_BMFX_Scatter (const GRRLIB_texImgtexsrc, const GRRLIB_texImg * texsrc,
GRRLIB_texImgtexdest, GRRLIB_texImg * texdest,
const u32 factor 
)const u32 factor )

A texture effect (Scatter).

-
See also
GRRLIB_FlushTex
+
See also
GRRLIB_FlushTex
Parameters
@@ -936,25 +867,18 @@ GRR_EXTERN GXRModeObj *  - - + - - - - - - - +
texsrcThe texture source.
rm
void GRRLIB_BMFX_Sepia (const GRRLIB_texImgtexsrc, const GRRLIB_texImg * texsrc,
GRRLIB_texImgtexdest 
)GRRLIB_texImg * texdest )

Change a texture to sepia (old photo style).

-
See also
GRRLIB_FlushTex
+
See also
GRRLIB_FlushTex
Parameters
@@ -975,61 +899,47 @@ GRR_EXTERN GXRModeObj *  - - + - - + - - + - - + - - + - - + - - + - - + - - - - - - - +
texsrcThe texture source.
rm
void GRRLIB_Camera3dSettings (f32 posx, f32 posx,
f32 posy, f32 posy,
f32 posz, f32 posz,
f32 upx, f32 upx,
f32 upy, f32 upy,
f32 upz, f32 upz,
f32 lookx, f32 lookx,
f32 looky, f32 looky,
f32 lookz 
)f32 lookz )
@@ -1061,37 +971,27 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_Circle ( - const f32  - x, + const f32 x, - const f32  - y, + const f32 y, - const f32  - radius, + const f32 radius, - const u32  - color, + const u32 color, - const u8  - filled  - - - - ) - + const u8 filled )
@@ -1119,8 +1019,7 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_ClearTex ( - GRRLIB_texImg *  - tex) + GRRLIB_texImg * tex) @@ -1145,31 +1044,22 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_ClipDrawing ( - const u32  - x, + const u32 x, - const u32  - y, + const u32 y, - const u32  - width, + const u32 width, - const u32  - height  - - - - ) - + const u32 height )
@@ -1196,31 +1086,23 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_CompoEnd ( - u16  - posx, + u16 posx, - u16  - posy, + u16 posy, - GRRLIB_texImg *  - tex  - - - - ) - + GRRLIB_texImg * tex )

End GX compositing process (Make a snapshot of the screen in a texture WITH ALPHA LAYER).

-

EFB is cleared after this function.

See also
GRRLIB_CompoStart
+

EFB is cleared after this function.

See also
GRRLIB_CompoStart
Parameters
@@ -1241,15 +1123,14 @@ GRR_EXTERN GXRModeObj *  - - +
posxTop left corner of the grabbed part.
rm
void GRRLIB_CompoStart (void )void )

Start GX compositing process.

-
See also
GRRLIB_CompoEnd
+
See also
GRRLIB_CompoEnd
@@ -1262,19 +1143,12 @@ GRR_EXTERN GXRModeObj * rm GRRLIB_texImg * GRRLIB_CreateEmptyTexture ( - const u32  - width, + const u32 width, - const u32  - height  - - - - ) - + const u32 height )
@@ -1300,37 +1174,27 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawCone ( - f32  - r, + f32 r, - f32  - h, + f32 h, - u16  - d, + u16 d, - bool  - filled, + bool filled, - u32  - col  - - - - ) - + u32 col )
@@ -1358,25 +1222,17 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawCube ( - f32  - size, + f32 size, - bool  - filled, + bool filled, - u32  - col  - - - - ) - + u32 col )
@@ -1402,37 +1258,27 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawCylinder ( - f32  - r, + f32 r, - f32  - h, + f32 h, - u16  - d, + u16 d, - bool  - filled, + bool filled, - u32  - col  - - - - ) - + u32 col )
@@ -1460,49 +1306,37 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawImg ( - const f32  - xpos, + const f32 xpos, - const f32  - ypos, + const f32 ypos, - const GRRLIB_texImg *  - tex, + const GRRLIB_texImg * tex, - const f32  - degrees, + const f32 degrees, - const f32  - scaleX, + const f32 scaleX, - const f32  - scaleY, + const f32 scaleY, - const u32  - color  - - - - ) - + const u32 color )
@@ -1532,25 +1366,17 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawImgQuad ( - const guVector  - pos[4], + const guVector pos[4], - GRRLIB_texImg *  - tex, + GRRLIB_texImg * tex, - const u32  - color  - - - - ) - + const u32 color )
@@ -1576,73 +1402,57 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawPart ( - const f32  - xpos, + const f32 xpos, - const f32  - ypos, + const f32 ypos, - const f32  - partx, + const f32 partx, - const f32  - party, + const f32 party, - const f32  - partw, + const f32 partw, - const f32  - parth, + const f32 parth, - const GRRLIB_texImg *  - tex, + const GRRLIB_texImg * tex, - const f32  - degrees, + const f32 degrees, - const f32  - scaleX, + const f32 scaleX, - const f32  - scaleY, + const f32 scaleY, - const u32  - color  - - - - ) - + const u32 color )
@@ -1676,37 +1486,27 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawSphere ( - f32  - r, + f32 r, - int  - lats, + int lats, - int  - longs, + int longs, - bool  - filled, + bool filled, - u32  - col  - - - - ) - + u32 col )
@@ -1734,43 +1534,32 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawTessPanel ( - f32  - w, + f32 w, - f32  - wstep, + f32 wstep, - f32  - h, + f32 h, - f32  - hstep, + f32 hstep, - bool  - filled, + bool filled, - u32  - col  - - - - ) - + u32 col )
@@ -1799,55 +1588,42 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawTile ( - const f32  - xpos, + const f32 xpos, - const f32  - ypos, + const f32 ypos, - const GRRLIB_texImg *  - tex, + const GRRLIB_texImg * tex, - const f32  - degrees, + const f32 degrees, - const f32  - scaleX, + const f32 scaleX, - const f32  - scaleY, + const f32 scaleY, - const u32  - color, + const u32 color, - const int  - frame  - - - - ) - + const int frame )
@@ -1878,31 +1654,22 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawTileQuad ( - const guVector  - pos[4], + const guVector pos[4], - GRRLIB_texImg *  - tex, + GRRLIB_texImg * tex, - const u32  - color, + const u32 color, - const int  - frame  - - - - ) - + const int frame )
@@ -1929,43 +1696,32 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_DrawTorus ( - f32  - r, + f32 r, - f32  - R, + f32 R, - int  - nsides, + int nsides, - int  - rings, + int rings, - bool  - filled, + bool filled, - u32  - col  - - - - ) - + u32 col )
@@ -1994,43 +1750,32 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_Ellipse ( - const f32  - x, + const f32 x, - const f32  - y, + const f32 y, - const f32  - radiusX, + const f32 radiusX, - const f32  - radiusY, + const f32 radiusY, - const u32  - color, + const u32 color, - const u8  - filled  - - - - ) - + const u8 filled )
@@ -2060,8 +1805,7 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_Exit ( - void  - ) + void ) @@ -2081,8 +1825,7 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_FillScreen ( - const u32  - color) + const u32 color) @@ -2107,8 +1850,7 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_FlushTex ( - GRRLIB_texImg *  - tex) + GRRLIB_texImg * tex) @@ -2133,8 +1875,7 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_FreeBMF ( - GRRLIB_bytemapFont *  - bmf) + GRRLIB_bytemapFont * bmf) @@ -2160,8 +1901,7 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_FreeTexture ( - GRRLIB_texImg *  - tex) + GRRLIB_texImg * tex) @@ -2187,8 +1927,7 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_FreeTTF ( - GRRLIB_ttfFont *  - myFont) + GRRLIB_ttfFont * myFont) @@ -2214,7 +1953,7 @@ GRR_EXTERN GXRModeObj * rm bool GRRLIB_GeckoInit ( - ) + ) @@ -2234,19 +1973,12 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_GeckoPrintf ( - const char *  - text, + const char * text, -   - ...  - - - - ) - + ... )
@@ -2271,8 +2003,7 @@ GRR_EXTERN GXRModeObj * rm INLINE bool GRRLIB_GetAntiAliasing ( - void  - ) + void ) @@ -2290,10 +2021,9 @@ GRR_EXTERN GXRModeObj * rm
- + - - +
INLINE GRRLIB_blendMode GRRLIB_GetBlend INLINE GRRLIB_blendMode GRRLIB_GetBlend (void )void )
@@ -2313,19 +2043,12 @@ GRR_EXTERN GXRModeObj * rm INLINE u32 GRRLIB_GetPixelFromFB ( - int  - x, + int x, - int  - y  - - - - ) - + int y )
@@ -2351,25 +2074,17 @@ GRR_EXTERN GXRModeObj * rm INLINE u32 GRRLIB_GetPixelFromtexImg ( - const int  - x, + const int x, - const int  - y, + const int y, - const GRRLIB_texImg *  - tex  - - - - ) - + const GRRLIB_texImg * tex )
@@ -2396,31 +2111,22 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_GXEngine ( - const guVector  - v[], + const guVector v[], - const u32  - color[], + const u32 color[], - const u16  - n, + const u16 n, - const u8  - fmt  - - - - ) - + const u8 fmt )
@@ -2447,8 +2153,7 @@ GRR_EXTERN GXRModeObj * rm int GRRLIB_Init ( - void  - ) + void ) @@ -2462,7 +2167,7 @@ GRR_EXTERN GXRModeObj * rm
  • -3 : Failed to initialize the font engine.
  • -
    See also
    GRRLIB_Exit
    +
    See also
    GRRLIB_Exit
    @@ -2475,31 +2180,22 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_InitTileSet ( - GRRLIB_texImg *  - tex, + GRRLIB_texImg * tex, - const u32  - tilew, + const u32 tilew, - const u32  - tileh, + const u32 tileh, - const u32  - tilestart  - - - - ) - + const u32 tilestart )
    @@ -2526,37 +2222,27 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_Line ( - const f32  - x1, + const f32 x1, - const f32  - y1, + const f32 y1, - const f32  - x2, + const f32 x2, - const f32  - y2, + const f32 y2, - const u32  - color  - - - - ) - + const u32 color )
    @@ -2585,8 +2271,7 @@ GRR_EXTERN GXRModeObj * rm GRRLIB_bytemapFont * GRRLIB_LoadBMF ( - const u8  - my_bmf[]) + const u8 my_bmf[]) @@ -2600,7 +2285,7 @@ GRR_EXTERN GXRModeObj * rm
    Returns
    A GRRLIB_bytemapFont structure filled with BMF information.
    -
    See also
    GRRLIB_FreeBMF
    +
    See also
    GRRLIB_FreeBMF
    @@ -2613,19 +2298,12 @@ GRR_EXTERN GXRModeObj * rm int GRRLIB_LoadFile ( - const char *  - filename, + const char * filename, - u8 **  - data  - - - - ) - + u8 ** data )
    @@ -2658,8 +2336,7 @@ GRR_EXTERN GXRModeObj * rm GRRLIB_texImg * GRRLIB_LoadTexture ( - const u8 *  - my_img) + const u8 * my_img) @@ -2685,8 +2362,7 @@ GRR_EXTERN GXRModeObj * rm GRRLIB_texImg * GRRLIB_LoadTextureBMP ( - const u8 *  - my_bmp) + const u8 * my_bmp) @@ -2712,8 +2388,7 @@ GRR_EXTERN GXRModeObj * rm GRRLIB_texImg * GRRLIB_LoadTextureFromFile ( - const char *  - filename) + const char * filename) @@ -2739,8 +2414,7 @@ GRR_EXTERN GXRModeObj * rm GRRLIB_texImg * GRRLIB_LoadTextureJPG ( - const u8 *  - my_jpg) + const u8 * my_jpg) @@ -2766,19 +2440,12 @@ GRR_EXTERN GXRModeObj * rm GRRLIB_texImg * GRRLIB_LoadTextureJPGEx ( - const u8 *  - my_jpg, + const u8 * my_jpg, - const u32  - my_size  - - - - ) - + const u32 my_size )
    @@ -2805,8 +2472,7 @@ GRR_EXTERN GXRModeObj * rm GRRLIB_texImg * GRRLIB_LoadTexturePNG ( - const u8 *  - my_png) + const u8 * my_png) @@ -2830,21 +2496,14 @@ GRR_EXTERN GXRModeObj * rm
    - + - - + - - - - - - - +
    GRRLIB_ttfFont * GRRLIB_LoadTTF GRRLIB_ttfFont * GRRLIB_LoadTTF (const u8 * file_base, const u8 * file_base,
    s32 file_size 
    )s32 file_size )
    @@ -2858,7 +2517,7 @@ GRR_EXTERN GXRModeObj * rm
    Returns
    A handle to a given TTF font object or NULL if it fails to load the font.
    -
    See also
    GRRLIB_FreeTTF
    +
    See also
    GRRLIB_FreeTTF
    @@ -2869,10 +2528,9 @@ GRR_EXTERN GXRModeObj * rm
    - + - - +
    GRRLIB_ttfFont * GRRLIB_LoadTTFFromFile GRRLIB_ttfFont * GRRLIB_LoadTTFFromFile (const char * filename)const char * filename)
    @@ -2898,25 +2556,17 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_NGone ( - const guVector  - v[], + const guVector v[], - const u32  - color[], + const u32 color[], - const u16  - n  - - - - ) - + const u16 n )
    @@ -2942,25 +2592,17 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_NGoneFilled ( - const guVector  - v[], + const guVector v[], - const u32  - color[], + const u32 color[], - const u16  - n  - - - - ) - + const u16 n )
    @@ -2986,25 +2628,17 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_NPlot ( - const guVector  - v[], + const guVector v[], - const u32  - color[], + const u32 color[], - const u16  - n  - - - - ) - + const u16 n )
    @@ -3030,61 +2664,47 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_ObjectView ( - f32  - posx, + f32 posx, - f32  - posy, + f32 posy, - f32  - posz, + f32 posz, - f32  - angx, + f32 angx, - f32  - angy, + f32 angy, - f32  - angz, + f32 angz, - f32  - scalx, + f32 scalx, - f32  - scaly, + f32 scaly, - f32  - scalz  - - - - ) - + f32 scalz )
    @@ -3116,61 +2736,47 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_ObjectViewInv ( - f32  - posx, + f32 posx, - f32  - posy, + f32 posy, - f32  - posz, + f32 posz, - f32  - angx, + f32 angx, - f32  - angy, + f32 angy, - f32  - angz, + f32 angz, - f32  - scalx, + f32 scalx, - f32  - scaly, + f32 scaly, - f32  - scalz  - - - - ) - + f32 scalz )
    @@ -3202,25 +2808,17 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_ObjectViewRotate ( - f32  - angx, + f32 angx, - f32  - angy, + f32 angy, - f32  - angz  - - - - ) - + f32 angz )
    @@ -3246,25 +2844,17 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_ObjectViewScale ( - f32  - scalx, + f32 scalx, - f32  - scaly, + f32 scaly, - f32  - scalz  - - - - ) - + f32 scalz )
    @@ -3290,25 +2880,17 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_ObjectViewTrans ( - f32  - posx, + f32 posx, - f32  - posy, + f32 posy, - f32  - posz  - - - - ) - + f32 posz )
    @@ -3334,25 +2916,17 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_Plot ( - const f32  - x, + const f32 x, - const f32  - y, + const f32 y, - const u32  - color  - - - - ) - + const u32 color )
    @@ -3379,37 +2953,27 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_PrintBMF ( - const f32  - xpos, + const f32 xpos, - const f32  - ypos, + const f32 ypos, - const GRRLIB_bytemapFont *  - bmf, + const GRRLIB_bytemapFont * bmf, - const char *  - text, + const char * text, -   - ...  - - - - ) - + ... )
    @@ -3437,49 +3001,37 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_Printf ( - const f32  - xpos, + const f32 xpos, - const f32  - ypos, + const f32 ypos, - const GRRLIB_texImg *  - tex, + const GRRLIB_texImg * tex, - const u32  - color, + const u32 color, - const f32  - zoom, + const f32 zoom, - const char *  - text, + const char * text, -   - ...  - - - - ) - + ... )
    @@ -3509,43 +3061,32 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_PrintfTTF ( - int  - x, + int x, - int  - y, + int y, - GRRLIB_ttfFont *  - myFont, + GRRLIB_ttfFont * myFont, - const char *  - string, + const char * string, - unsigned int  - fontSize, + unsigned int fontSize, - const u32  - color  - - - - ) - + const u32 color )
    @@ -3574,43 +3115,32 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_PrintfTTFW ( - int  - x, + int x, - int  - y, + int y, - GRRLIB_ttfFont *  - myFont, + GRRLIB_ttfFont * myFont, - const wchar_t *  - utf32, + const wchar_t * utf32, - unsigned int  - fontSize, + unsigned int fontSize, - const u32  - color  - - - - ) - + const u32 color )
    @@ -3640,43 +3170,32 @@ GRR_EXTERN GXRModeObj * rm INLINE bool GRRLIB_PtInRect ( - const int  - hotx, + const int hotx, - const int  - hoty, + const int hoty, - const int  - hotw, + const int hotw, - const int  - hoth, + const int hoth, - const int  - wpadx, + const int wpadx, - const int  - wpady  - - - - ) - + const int wpady )
    @@ -3706,43 +3225,32 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_Rectangle ( - const f32  - x, + const f32 x, - const f32  - y, + const f32 y, - const f32  - width, + const f32 width, - const f32  - height, + const f32 height, - const u32  - color, + const u32 color, - const bool  - filled  - - - - ) - + const bool filled )
    @@ -3771,55 +3279,42 @@ GRR_EXTERN GXRModeObj * rm INLINE bool GRRLIB_RectInRect ( - const int  - rect1x, + const int rect1x, - const int  - rect1y, + const int rect1y, - const int  - rect1w, + const int rect1w, - const int  - rect1h, + const int rect1h, - const int  - rect2x, + const int rect2x, - const int  - rect2y, + const int rect2y, - const int  - rect2w, + const int rect2w, - const int  - rect2h  - - - - ) - + const int rect2h )
    @@ -3851,55 +3346,42 @@ GRR_EXTERN GXRModeObj * rm INLINE bool GRRLIB_RectOnRect ( - const int  - rect1x, + const int rect1x, - const int  - rect1y, + const int rect1y, - const int  - rect1w, + const int rect1w, - const int  - rect1h, + const int rect1h, - const int  - rect2x, + const int rect2x, - const int  - rect2y, + const int rect2y, - const int  - rect2w, + const int rect2w, - const int  - rect2h  - - - - ) - + const int rect2h )
    @@ -3931,31 +3413,22 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_Screen2Texture ( - u16  - posx, + u16 posx, - u16  - posy, + u16 posy, - GRRLIB_texImg *  - tex, + GRRLIB_texImg * tex, - bool  - clear  - - - - ) - + bool clear )
    @@ -3982,15 +3455,14 @@ GRR_EXTERN GXRModeObj * rm bool GRRLIB_ScrShot ( - const char *  - filename) + const char * filename)

    Make a PNG screenshot.

    -

    It should be called after drawing stuff on the screen, but before GRRLIB_Render(). libfat is required to use the function.

    Parameters
    +

    It should be called after drawing stuff on the screen, but before GRRLIB_Render(). libfat is required to use the function.

    Parameters
    filenameName of the file to write.
    @@ -4009,8 +3481,7 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_SetAntiAliasing ( - const bool  - aa) + const bool aa) @@ -4035,31 +3506,22 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_SetBackgroundColour ( - u8  - r, + u8 r, - u8  - g, + u8 g, - u8  - b, + u8 b, - u8  - a  - - - - ) - + u8 a )
    @@ -4086,8 +3548,7 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_SetBlend ( - const GRRLIB_blendMode  - blendmode) + const GRRLIB_blendMode blendmode) @@ -4112,25 +3573,17 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_SetHandle ( - GRRLIB_texImg *  - tex, + GRRLIB_texImg * tex, - const int  - x, + const int x, - const int  - y  - - - - ) - + const int y )
    @@ -4156,8 +3609,7 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_SetLightAmbient ( - u32  - ambientcolor) + u32 ambientcolor) @@ -4182,37 +3634,27 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_SetLightDiff ( - u8  - num, + u8 num, - guVector  - pos, + guVector pos, - f32  - distattn, + f32 distattn, - f32  - brightness, + f32 brightness, - u32  - lightcolor  - - - - ) - + u32 lightcolor )
    @@ -4240,37 +3682,27 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_SetLightSpec ( - u8  - num, + u8 num, - guVector  - dir, + guVector dir, - f32  - shininess, + f32 shininess, - u32  - lightcolor, + u32 lightcolor, - u32  - speccolor  - - - - ) - + u32 speccolor )
    @@ -4298,67 +3730,52 @@ GRR_EXTERN GXRModeObj * rm void GRRLIB_SetLightSpot ( - u8  - num, + u8 num, - guVector  - pos, + guVector pos, - guVector  - lookat, + guVector lookat, - f32  - angAttn0, + f32 angAttn0, - f32  - angAttn1, + f32 angAttn1, - f32  - angAttn2, + f32 angAttn2, - f32  - distAttn0, + f32 distAttn0, - f32  - distAttn1, + f32 distAttn1, - f32  - distAttn2, + f32 distAttn2, - u32  - lightcolor  - - - - ) - + u32 lightcolor )
    @@ -4391,19 +3808,12 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_SetMidHandle ( - GRRLIB_texImg *  - tex, + GRRLIB_texImg * tex, - const bool  - enabled  - - - - ) - + const bool enabled )
    @@ -4428,25 +3838,17 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_SetPixelToFB ( - int  - x, + int x, - int  - y, + int y, - u32  - pokeColor  - - - - ) - + u32 pokeColor )
    @@ -4472,37 +3874,28 @@ GRR_EXTERN GXRModeObj * rm INLINE void GRRLIB_SetPixelTotexImg ( - const int  - x, + const int x, - const int  - y, + const int y, - GRRLIB_texImg *  - tex, + GRRLIB_texImg * tex, - const u32  - color  - - - - ) - + const u32 color )

    Set the color value of a pixel to a GRRLIB_texImg.

    -
    See also
    GRRLIB_FlushTex
    +
    See also
    GRRLIB_FlushTex
    Parameters
    @@ -4524,19 +3917,12 @@ GRR_EXTERN GXRModeObj *  - - + - - - - - - - +
    xSpecifies the x-coordinate of the pixel in the texture.
    rm
    void GRRLIB_SetTexture (GRRLIB_texImgtex, GRRLIB_texImg * tex,
    bool rep 
    )bool rep )
    @@ -4561,25 +3947,17 @@ GRR_EXTERN GXRModeObj * rm u32 GRRLIB_WidthTTF ( - GRRLIB_ttfFont *  - myFont, + GRRLIB_ttfFont * myFont, - const char *  - string, + const char * string, - unsigned int  - fontSize  - - - - ) - + unsigned int fontSize )
    @@ -4606,25 +3984,17 @@ GRR_EXTERN GXRModeObj * rm u32 GRRLIB_WidthTTFW ( - GRRLIB_ttfFont *  - myFont, + GRRLIB_ttfFont * myFont, - const wchar_t *  - utf32, + const wchar_t * utf32, - unsigned int  - fontSize  - - - - ) - + unsigned int fontSize )
    @@ -4645,7 +4015,7 @@ GRR_EXTERN GXRModeObj * rm
    diff --git a/grrlib_8h.html b/grrlib_8h.html index edf00d7..1e2fbdb 100644 --- a/grrlib_8h.html +++ b/grrlib_8h.html @@ -3,12 +3,14 @@ - + GRRLIB: grrlib.h File Reference + + @@ -29,7 +31,7 @@ - + @@ -161,19 +163,19 @@ typedef enum  GRRLIB Blending Modes.
      -typedef struct
    GRRLIB_drawSettings GRRLIB_drawSettings +typedef struct GRRLIB_drawSettings GRRLIB_drawSettings  Structure to hold the current drawing settings.
      -typedef struct GRRLIB_texImg GRRLIB_texImg +typedef struct GRRLIB_texImg GRRLIB_texImg  Structure to hold the texture information.
      -typedef struct GRRLIB_bytemapChar GRRLIB_bytemapChar +typedef struct GRRLIB_bytemapChar GRRLIB_bytemapChar  Structure to hold the bytemap character information.
      -typedef struct GRRLIB_bytemapFont GRRLIB_bytemapFont +typedef struct GRRLIB_bytemapFont GRRLIB_bytemapFont  Structure to hold the bytemap font information.
      @@ -216,7 +218,7 @@ GRR_EXTERN GXRModeObj * rm diff --git a/index.html b/index.html index f8c88ca..71286d8 100644 --- a/index.html +++ b/index.html @@ -3,12 +3,14 @@ - + GRRLIB: GRRLIB Documentation + + @@ -29,7 +31,7 @@ - + @@ -96,10 +98,11 @@ Advisors : RedShade, Jespa
    Licence

    See the LICENCE file for licence rights and limitations (MIT).

    + diff --git a/md__2home_2runner_2work_2_g_r_r_l_i_b_2_g_r_r_l_i_b_2_c_h_a_n_g_e_l_o_g.html b/md__2home_2runner_2work_2_g_r_r_l_i_b_2_g_r_r_l_i_b_2_c_h_a_n_g_e_l_o_g.html index ebb78d2..44f1904 100644 --- a/md__2home_2runner_2work_2_g_r_r_l_i_b_2_g_r_r_l_i_b_2_c_h_a_n_g_e_l_o_g.html +++ b/md__2home_2runner_2work_2_g_r_r_l_i_b_2_g_r_r_l_i_b_2_c_h_a_n_g_e_l_o_g.html @@ -3,12 +3,14 @@ - + GRRLIB: Changelog + + @@ -29,7 +31,7 @@ - + @@ -195,7 +197,7 @@ $(function() { diff --git a/md__2home_2runner_2work_2_g_r_r_l_i_b_2_g_r_r_l_i_b_2_l_i_c_e_n_c_e.html b/md__2home_2runner_2work_2_g_r_r_l_i_b_2_g_r_r_l_i_b_2_l_i_c_e_n_c_e.html index 4590ed2..3b2b186 100644 --- a/md__2home_2runner_2work_2_g_r_r_l_i_b_2_g_r_r_l_i_b_2_l_i_c_e_n_c_e.html +++ b/md__2home_2runner_2work_2_g_r_r_l_i_b_2_g_r_r_l_i_b_2_l_i_c_e_n_c_e.html @@ -3,12 +3,14 @@ - + GRRLIB: LICENCE + + @@ -29,7 +31,7 @@ - + @@ -72,7 +74,7 @@ $(function() {
    LICENCE
    -

    Copyright (c) 2009-2023 The GRRLIB Team

    +

    Copyright (c) 2009-2024 The GRRLIB Team

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    @@ -80,7 +82,7 @@ $(function() {
    diff --git a/menu.js b/menu.js index b0b2693..717761d 100644 --- a/menu.js +++ b/menu.js @@ -24,13 +24,12 @@ */ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { function makeTree(data,relPath) { - var result=''; + let result=''; if ('children' in data) { result+='
      '; - for (var i in data.children) { - var url; - var link; - link = data.children[i].url; + for (let i in data.children) { + let url; + const link = data.children[i].url; if (link.substring(0,1)=='^') { url = link.substring(1); } else { @@ -44,7 +43,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { } return result; } - var searchBoxHtml; + let searchBoxHtml; if (searchEnabled) { if (serverSide) { searchBoxHtml='
      '+ @@ -88,29 +87,28 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { if (searchBoxHtml) { $('#main-menu').append('
    • '); } - var $mainMenuState = $('#main-menu-state'); - var prevWidth = 0; + const $mainMenuState = $('#main-menu-state'); + let prevWidth = 0; if ($mainMenuState.length) { - function initResizableIfExists() { + const initResizableIfExists = function() { if (typeof initResizable==='function') initResizable(); } // animate mobile menu - $mainMenuState.change(function(e) { - var $menu = $('#main-menu'); - var options = { duration: 250, step: initResizableIfExists }; + $mainMenuState.change(function() { + const $menu = $('#main-menu'); + let options = { duration: 250, step: initResizableIfExists }; if (this.checked) { - options['complete'] = function() { $menu.css('display', 'block') }; + options['complete'] = () => $menu.css('display', 'block'); $menu.hide().slideDown(options); } else { - options['complete'] = function() { $menu.css('display', 'none') }; + options['complete'] = () => $menu.css('display', 'none'); $menu.show().slideUp(options); } }); // set default menu visibility - function resetState() { - var $menu = $('#main-menu'); - var $mainMenuState = $('#main-menu-state'); - var newWidth = $(window).outerWidth(); + const resetState = function() { + const $menu = $('#main-menu'); + const newWidth = $(window).outerWidth(); if (newWidth!=prevWidth) { if ($(window).outerWidth()<768) { $mainMenuState.prop('checked',false); $menu.hide(); diff --git a/pages.html b/pages.html index a0b7934..62ef083 100644 --- a/pages.html +++ b/pages.html @@ -3,12 +3,14 @@ - + GRRLIB: Related Pages + + @@ -29,7 +31,7 @@
      - + @@ -81,7 +83,7 @@ $(function() {
    diff --git a/search/all_6.js b/search/all_6.js index d85d1f3..a3bb86a 100644 --- a/search/all_6.js +++ b/search/all_6.js @@ -4,8 +4,8 @@ var searchData= ['grrlib_1',['Everything in GRRLIB',['../group___all_func.html',1,'']]], ['grrlib_20documentation_2',['GRRLIB Documentation',['../index.html',1,'']]], ['grrlib_2eh_3',['grrlib.h',['../grrlib_8h.html',1,'']]], - ['grrlib_5f2dmode_4',['grrlib_2dmode',['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c'],['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c']]], - ['grrlib_5f3dmode_5',['grrlib_3dmode',['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c'],['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c']]], + ['grrlib_5f2dmode_4',['GRRLIB_2dMode',['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c'],['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c']]], + ['grrlib_5f3dmode_5',['GRRLIB_3dMode',['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c'],['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c']]], ['grrlib_5f_5finline_2eh_6',['GRRLIB__inline.h',['../_g_r_r_l_i_b____inline_8h.html',1,'']]], ['grrlib_5f_5flib_2eh_7',['GRRLIB__lib.h',['../_g_r_r_l_i_b____lib_8h.html',1,'']]], ['grrlib_5fblend_5fadd_8',['GRRLIB_BLEND_ADD',['../group___all_func.html#gga84c65877bb197763cda6669c473be692ad4f0554f7bfc19410c4fedaeab1a10fd',1,'grrlib.h']]], @@ -16,103 +16,103 @@ var searchData= ['grrlib_5fblend_5fnone_13',['GRRLIB_BLEND_NONE',['../group___all_func.html#gaa1595302fa27df7d3e5913865659ca71',1,'grrlib.h']]], ['grrlib_5fblend_5fscreen_14',['GRRLIB_BLEND_SCREEN',['../group___all_func.html#gga84c65877bb197763cda6669c473be692ad026c10937b34f2e3e5dd462f528ef00',1,'grrlib.h']]], ['grrlib_5fblend_5fshade_15',['GRRLIB_BLEND_SHADE',['../group___all_func.html#ga2308b6e9df5946957149bfa693c6a93e',1,'grrlib.h']]], - ['grrlib_5fblendmode_16',['grrlib_blendmode',['../group___all_func.html#ga84c65877bb197763cda6669c473be692',1,'GRRLIB_blendMode: grrlib.h'],['../group___all_func.html#gaadb8b5eb7000391e477ed8221fa3f2c9',1,'GRRLIB_blendMode: grrlib.h']]], - ['grrlib_5fbmfx_5fblur_17',['grrlib_bmfx_blur',['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5ffliph_18',['grrlib_bmfx_fliph',['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fflipv_19',['grrlib_bmfx_flipv',['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fgrayscale_20',['grrlib_bmfx_grayscale',['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5finvert_21',['grrlib_bmfx_invert',['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fpixelate_22',['grrlib_bmfx_pixelate',['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fscatter_23',['grrlib_bmfx_scatter',['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fsepia_24',['grrlib_bmfx_sepia',['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbytemapchar_25',['grrlib_bytemapchar',['../group___all_func.html#ga3afef19dc5b9ad7c6e89fe06f9bfe1e0',1,'GRRLIB_bytemapChar: grrlib.h'],['../struct_g_r_r_l_i_b__bytemap_char.html',1,'GRRLIB_bytemapChar']]], - ['grrlib_5fbytemapfont_26',['grrlib_bytemapfont',['../group___all_func.html#ga08ac096c30fe4b6becaa039a97905c73',1,'GRRLIB_bytemapFont: grrlib.h'],['../struct_g_r_r_l_i_b__bytemap_font.html',1,'GRRLIB_bytemapFont']]], - ['grrlib_5fcamera3dsettings_27',['grrlib_camera3dsettings',['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c'],['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c']]], - ['grrlib_5fcircle_28',['grrlib_circle',['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], - ['grrlib_5fcleartex_29',['grrlib_cleartex',['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], - ['grrlib_5fclipdrawing_30',['grrlib_clipdrawing',['../group___all_func.html#gac59a40807579d718a2c139245b599472',1,'GRRLIB_ClipDrawing(const u32 x, const u32 y, const u32 width, const u32 height): GRRLIB_clipping.h'],['../group___all_func.html#gac59a40807579d718a2c139245b599472',1,'GRRLIB_ClipDrawing(const u32 x, const u32 y, const u32 width, const u32 height): GRRLIB_clipping.h']]], - ['grrlib_5fclipreset_31',['grrlib_clipreset',['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h'],['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h']]], - ['grrlib_5fcompoend_32',['grrlib_compoend',['../group___all_func.html#ga0af29f5435a5cbdee720afb8c375ca71',1,'GRRLIB_CompoEnd(u16 posx, u16 posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c'],['../group___all_func.html#ga0af29f5435a5cbdee720afb8c375ca71',1,'GRRLIB_CompoEnd(u16 posx, u16 posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c']]], - ['grrlib_5fcompostart_33',['grrlib_compostart',['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c'],['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c']]], - ['grrlib_5fcreateemptytexture_34',['grrlib_createemptytexture',['../group___all_func.html#ga5ace4f7f4fae5016fe7c009b0e6331c9',1,'GRRLIB_CreateEmptyTexture(const u32 width, const u32 height): GRRLIB_texEdit.c'],['../group___all_func.html#ga5ace4f7f4fae5016fe7c009b0e6331c9',1,'GRRLIB_CreateEmptyTexture(const u32 width, const u32 height): GRRLIB_texEdit.c']]], - ['grrlib_5fdrawcone_35',['grrlib_drawcone',['../group___all_func.html#ga09c1572feadf21c46678b3a7bb0944e2',1,'GRRLIB_DrawCone(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga09c1572feadf21c46678b3a7bb0944e2',1,'GRRLIB_DrawCone(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawcube_36',['grrlib_drawcube',['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawcylinder_37',['grrlib_drawcylinder',['../group___all_func.html#gac6ecd421da6885c7ee3f1b41f36acad2',1,'GRRLIB_DrawCylinder(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gac6ecd421da6885c7ee3f1b41f36acad2',1,'GRRLIB_DrawCylinder(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawimg_38',['grrlib_drawimg',['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], - ['grrlib_5fdrawimgquad_39',['grrlib_drawimgquad',['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c'],['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c']]], - ['grrlib_5fdrawpart_40',['grrlib_drawpart',['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], - ['grrlib_5fdrawsettings_41',['grrlib_drawsettings',['../struct_g_r_r_l_i_b__draw_settings.html',1,'GRRLIB_drawSettings'],['../group___all_func.html#ga5832d092436ee56d5f83b6792d309290',1,'GRRLIB_drawSettings: grrlib.h']]], - ['grrlib_5fdrawsphere_42',['grrlib_drawsphere',['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawtesspanel_43',['grrlib_drawtesspanel',['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawtile_44',['grrlib_drawtile',['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c']]], - ['grrlib_5fdrawtilequad_45',['grrlib_drawtilequad',['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c']]], - ['grrlib_5fdrawtorus_46',['grrlib_drawtorus',['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fellipse_47',['grrlib_ellipse',['../group___all_func.html#ga6bef7c5bd9550225b7ee0cc3da207738',1,'GRRLIB_Ellipse(const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga6bef7c5bd9550225b7ee0cc3da207738',1,'GRRLIB_Ellipse(const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], - ['grrlib_5fexit_48',['grrlib_exit',['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c'],['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c']]], - ['grrlib_5ffillscreen_49',['grrlib_fillscreen',['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h']]], - ['grrlib_5fflushtex_50',['grrlib_flushtex',['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5fblendmode_16',['GRRLIB_blendMode',['../group___all_func.html#ga84c65877bb197763cda6669c473be692',1,'GRRLIB_blendMode: grrlib.h'],['../group___all_func.html#gaadb8b5eb7000391e477ed8221fa3f2c9',1,'GRRLIB_blendMode: grrlib.h']]], + ['grrlib_5fbmfx_5fblur_17',['GRRLIB_BMFX_Blur',['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5ffliph_18',['GRRLIB_BMFX_FlipH',['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fflipv_19',['GRRLIB_BMFX_FlipV',['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fgrayscale_20',['GRRLIB_BMFX_Grayscale',['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5finvert_21',['GRRLIB_BMFX_Invert',['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fpixelate_22',['GRRLIB_BMFX_Pixelate',['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fscatter_23',['GRRLIB_BMFX_Scatter',['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fsepia_24',['GRRLIB_BMFX_Sepia',['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbytemapchar_25',['GRRLIB_bytemapChar',['../struct_g_r_r_l_i_b__bytemap_char.html',1,'GRRLIB_bytemapChar'],['../group___all_func.html#ga3afef19dc5b9ad7c6e89fe06f9bfe1e0',1,'GRRLIB_bytemapChar: grrlib.h']]], + ['grrlib_5fbytemapfont_26',['GRRLIB_bytemapFont',['../struct_g_r_r_l_i_b__bytemap_font.html',1,'GRRLIB_bytemapFont'],['../group___all_func.html#ga08ac096c30fe4b6becaa039a97905c73',1,'GRRLIB_bytemapFont: grrlib.h']]], + ['grrlib_5fcamera3dsettings_27',['GRRLIB_Camera3dSettings',['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c'],['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c']]], + ['grrlib_5fcircle_28',['GRRLIB_Circle',['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], + ['grrlib_5fcleartex_29',['GRRLIB_ClearTex',['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5fclipdrawing_30',['GRRLIB_ClipDrawing',['../group___all_func.html#gac59a40807579d718a2c139245b599472',1,'GRRLIB_ClipDrawing(const u32 x, const u32 y, const u32 width, const u32 height): GRRLIB_clipping.h'],['../group___all_func.html#gac59a40807579d718a2c139245b599472',1,'GRRLIB_ClipDrawing(const u32 x, const u32 y, const u32 width, const u32 height): GRRLIB_clipping.h']]], + ['grrlib_5fclipreset_31',['GRRLIB_ClipReset',['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h'],['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h']]], + ['grrlib_5fcompoend_32',['GRRLIB_CompoEnd',['../group___all_func.html#ga0af29f5435a5cbdee720afb8c375ca71',1,'GRRLIB_CompoEnd(u16 posx, u16 posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c'],['../group___all_func.html#ga0af29f5435a5cbdee720afb8c375ca71',1,'GRRLIB_CompoEnd(u16 posx, u16 posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c']]], + ['grrlib_5fcompostart_33',['GRRLIB_CompoStart',['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c'],['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c']]], + ['grrlib_5fcreateemptytexture_34',['GRRLIB_CreateEmptyTexture',['../group___all_func.html#ga5ace4f7f4fae5016fe7c009b0e6331c9',1,'GRRLIB_CreateEmptyTexture(const u32 width, const u32 height): GRRLIB_texEdit.c'],['../group___all_func.html#ga5ace4f7f4fae5016fe7c009b0e6331c9',1,'GRRLIB_CreateEmptyTexture(const u32 width, const u32 height): GRRLIB_texEdit.c']]], + ['grrlib_5fdrawcone_35',['GRRLIB_DrawCone',['../group___all_func.html#ga09c1572feadf21c46678b3a7bb0944e2',1,'GRRLIB_DrawCone(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga09c1572feadf21c46678b3a7bb0944e2',1,'GRRLIB_DrawCone(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawcube_36',['GRRLIB_DrawCube',['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawcylinder_37',['GRRLIB_DrawCylinder',['../group___all_func.html#gac6ecd421da6885c7ee3f1b41f36acad2',1,'GRRLIB_DrawCylinder(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gac6ecd421da6885c7ee3f1b41f36acad2',1,'GRRLIB_DrawCylinder(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawimg_38',['GRRLIB_DrawImg',['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawimgquad_39',['GRRLIB_DrawImgQuad',['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c'],['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawpart_40',['GRRLIB_DrawPart',['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawsettings_41',['GRRLIB_drawSettings',['../struct_g_r_r_l_i_b__draw_settings.html',1,'GRRLIB_drawSettings'],['../group___all_func.html#ga5832d092436ee56d5f83b6792d309290',1,'GRRLIB_drawSettings: grrlib.h']]], + ['grrlib_5fdrawsphere_42',['GRRLIB_DrawSphere',['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawtesspanel_43',['GRRLIB_DrawTessPanel',['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawtile_44',['GRRLIB_DrawTile',['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c']]], + ['grrlib_5fdrawtilequad_45',['GRRLIB_DrawTileQuad',['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c']]], + ['grrlib_5fdrawtorus_46',['GRRLIB_DrawTorus',['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fellipse_47',['GRRLIB_Ellipse',['../group___all_func.html#ga6bef7c5bd9550225b7ee0cc3da207738',1,'GRRLIB_Ellipse(const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga6bef7c5bd9550225b7ee0cc3da207738',1,'GRRLIB_Ellipse(const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], + ['grrlib_5fexit_48',['GRRLIB_Exit',['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c'],['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c']]], + ['grrlib_5ffillscreen_49',['GRRLIB_FillScreen',['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5fflushtex_50',['GRRLIB_FlushTex',['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], ['grrlib_5ffont_51',['GRRLIB_Font',['../struct_g_r_r_l_i_b___font.html',1,'']]], - ['grrlib_5ffreebmf_52',['grrlib_freebmf',['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c'],['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c']]], - ['grrlib_5ffreetexture_53',['grrlib_freetexture',['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], - ['grrlib_5ffreettf_54',['grrlib_freettf',['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c'],['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c']]], - ['grrlib_5fgeckoinit_55',['grrlib_geckoinit',['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c'],['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c']]], - ['grrlib_5fgeckoprintf_56',['grrlib_geckoprintf',['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c'],['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c']]], - ['grrlib_5fgetantialiasing_57',['grrlib_getantialiasing',['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h'],['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h']]], - ['grrlib_5fgetblend_58',['grrlib_getblend',['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h'],['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h']]], - ['grrlib_5fgetpixelfromfb_59',['grrlib_getpixelfromfb',['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h'],['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h']]], - ['grrlib_5fgetpixelfromteximg_60',['grrlib_getpixelfromteximg',['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h'],['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h']]], - ['grrlib_5fgxengine_61',['grrlib_gxengine',['../group___all_func.html#ga5aad414db04673ea5142519600856419',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const u16 n, const u8 fmt): GRRLIB_fbGX.h'],['../group___all_func.html#ga5aad414db04673ea5142519600856419',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const u16 n, const u8 fmt): GRRLIB_fbGX.h']]], - ['grrlib_5finit_62',['grrlib_init',['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c'],['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c']]], - ['grrlib_5finittileset_63',['grrlib_inittileset',['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c'],['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c']]], - ['grrlib_5fline_64',['grrlib_line',['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h']]], - ['grrlib_5floadbmf_65',['grrlib_loadbmf',['../group___all_func.html#gab2bdca506ed98e85f6543137738a1aa2',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c'],['../group___all_func.html#gab2bdca506ed98e85f6543137738a1aa2',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c']]], - ['grrlib_5floadfile_66',['grrlib_loadfile',['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c'],['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c']]], - ['grrlib_5floadtexture_67',['grrlib_loadtexture',['../group___all_func.html#ga3bcf05b86d1d2345eef642fd6eb9912d',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c'],['../group___all_func.html#ga3bcf05b86d1d2345eef642fd6eb9912d',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c']]], - ['grrlib_5floadtexturebmp_68',['grrlib_loadtexturebmp',['../group___all_func.html#gaac10127eaaf08e2668b25d34e9077d24',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c'],['../group___all_func.html#gaac10127eaaf08e2668b25d34e9077d24',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c']]], - ['grrlib_5floadtexturefromfile_69',['grrlib_loadtexturefromfile',['../group___all_func.html#ga30161fbcf1c4c3538faf923742562f8d',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga30161fbcf1c4c3538faf923742562f8d',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c']]], - ['grrlib_5floadtexturejpg_70',['grrlib_loadtexturejpg',['../group___all_func.html#ga0ae563450041c8a09e3121ba39fba777',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c'],['../group___all_func.html#ga0ae563450041c8a09e3121ba39fba777',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c']]], - ['grrlib_5floadtexturejpgex_71',['grrlib_loadtexturejpgex',['../group___all_func.html#ga2bcf92846d3a47066e4303c889a5c784',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const u32 my_size): GRRLIB_texEdit.c'],['../group___all_func.html#ga2bcf92846d3a47066e4303c889a5c784',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const u32 my_size): GRRLIB_texEdit.c']]], - ['grrlib_5floadtexturepng_72',['grrlib_loadtexturepng',['../group___all_func.html#gae95b019b590751cdc6bc64c823ca84e0',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c'],['../group___all_func.html#gae95b019b590751cdc6bc64c823ca84e0',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c']]], - ['grrlib_5floadttf_73',['grrlib_loadttf',['../group___all_func.html#gac5989e925eceea3da6a44a90ac431dd7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c'],['../group___all_func.html#gac5989e925eceea3da6a44a90ac431dd7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c']]], - ['grrlib_5floadttffromfile_74',['grrlib_loadttffromfile',['../group___all_func.html#ga402b52f044c46e147e32cc1da4153829',1,'GRRLIB_LoadTTFFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga402b52f044c46e147e32cc1da4153829',1,'GRRLIB_LoadTTFFromFile(const char *filename): GRRLIB_fileIO.c']]], - ['grrlib_5fngone_75',['grrlib_ngone',['../group___all_func.html#gaaaad869c6b2cd0ac502b8ab261fe34e9',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gaaaad869c6b2cd0ac502b8ab261fe34e9',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], - ['grrlib_5fngonefilled_76',['grrlib_ngonefilled',['../group___all_func.html#gab848be8b56929c0706da29fe66549ff0',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gab848be8b56929c0706da29fe66549ff0',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], - ['grrlib_5fnplot_77',['grrlib_nplot',['../group___all_func.html#gaad6d71991d8257d06591bdee6fe600f5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gaad6d71991d8257d06591bdee6fe600f5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], - ['grrlib_5fobjectview_78',['grrlib_objectview',['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewbegin_79',['grrlib_objectviewbegin',['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c'],['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewend_80',['grrlib_objectviewend',['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c'],['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewinv_81',['grrlib_objectviewinv',['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewrotate_82',['grrlib_objectviewrotate',['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c'],['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewscale_83',['grrlib_objectviewscale',['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewtrans_84',['grrlib_objectviewtrans',['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c'],['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c']]], - ['grrlib_5fplot_85',['grrlib_plot',['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h']]], - ['grrlib_5fprintbmf_86',['grrlib_printbmf',['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c']]], - ['grrlib_5fprintf_87',['grrlib_printf',['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c']]], - ['grrlib_5fprintfttf_88',['grrlib_printfttf',['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], - ['grrlib_5fprintfttfw_89',['grrlib_printfttfw',['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], - ['grrlib_5fptinrect_90',['grrlib_ptinrect',['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h'],['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h']]], - ['grrlib_5frectangle_91',['grrlib_rectangle',['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h'],['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h']]], - ['grrlib_5frectinrect_92',['grrlib_rectinrect',['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], - ['grrlib_5frectonrect_93',['grrlib_rectonrect',['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], - ['grrlib_5frender_94',['grrlib_render',['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c'],['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c']]], - ['grrlib_5fscreen2texture_95',['grrlib_screen2texture',['../group___all_func.html#ga2679d0fa70341fa428857a776b9db970',1,'GRRLIB_Screen2Texture(u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c'],['../group___all_func.html#ga2679d0fa70341fa428857a776b9db970',1,'GRRLIB_Screen2Texture(u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c']]], - ['grrlib_5fscrshot_96',['grrlib_scrshot',['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c']]], - ['grrlib_5fsetantialiasing_97',['grrlib_setantialiasing',['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h'],['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h']]], - ['grrlib_5fsetbackgroundcolour_98',['grrlib_setbackgroundcolour',['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c'],['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c']]], - ['grrlib_5fsetblend_99',['grrlib_setblend',['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h'],['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h']]], - ['grrlib_5fsethandle_100',['grrlib_sethandle',['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h'],['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h']]], - ['grrlib_5fsetlightambient_101',['grrlib_setlightambient',['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c'],['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c']]], - ['grrlib_5fsetlightdiff_102',['grrlib_setlightdiff',['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c']]], - ['grrlib_5fsetlightoff_103',['grrlib_setlightoff',['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c'],['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c']]], - ['grrlib_5fsetlightspec_104',['grrlib_setlightspec',['../group___all_func.html#gab7f3bf4fbc8b4dad8902e95894f1419f',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor): GRRLIB_3D.c'],['../group___all_func.html#gab7f3bf4fbc8b4dad8902e95894f1419f',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor): GRRLIB_3D.c']]], - ['grrlib_5fsetlightspot_105',['grrlib_setlightspot',['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c']]], - ['grrlib_5fsetmidhandle_106',['grrlib_setmidhandle',['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h'],['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h']]], - ['grrlib_5fsetpixeltofb_107',['grrlib_setpixeltofb',['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h'],['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h']]], - ['grrlib_5fsetpixeltoteximg_108',['grrlib_setpixeltoteximg',['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h'],['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h']]], - ['grrlib_5fsettexture_109',['grrlib_settexture',['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c'],['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c']]], - ['grrlib_5fteximg_110',['grrlib_teximg',['../struct_g_r_r_l_i_b__tex_img.html',1,'GRRLIB_texImg'],['../group___all_func.html#ga7f5b59ff4d8d339dcb303b660339d9bb',1,'GRRLIB_texImg: grrlib.h']]], + ['grrlib_5ffreebmf_52',['GRRLIB_FreeBMF',['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c'],['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c']]], + ['grrlib_5ffreetexture_53',['GRRLIB_FreeTexture',['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5ffreettf_54',['GRRLIB_FreeTTF',['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c'],['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c']]], + ['grrlib_5fgeckoinit_55',['GRRLIB_GeckoInit',['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c'],['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c']]], + ['grrlib_5fgeckoprintf_56',['GRRLIB_GeckoPrintf',['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c'],['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c']]], + ['grrlib_5fgetantialiasing_57',['GRRLIB_GetAntiAliasing',['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h'],['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h']]], + ['grrlib_5fgetblend_58',['GRRLIB_GetBlend',['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h'],['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h']]], + ['grrlib_5fgetpixelfromfb_59',['GRRLIB_GetPixelFromFB',['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h'],['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h']]], + ['grrlib_5fgetpixelfromteximg_60',['GRRLIB_GetPixelFromtexImg',['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h'],['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h']]], + ['grrlib_5fgxengine_61',['GRRLIB_GXEngine',['../group___all_func.html#ga5aad414db04673ea5142519600856419',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const u16 n, const u8 fmt): GRRLIB_fbGX.h'],['../group___all_func.html#ga5aad414db04673ea5142519600856419',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const u16 n, const u8 fmt): GRRLIB_fbGX.h']]], + ['grrlib_5finit_62',['GRRLIB_Init',['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c'],['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c']]], + ['grrlib_5finittileset_63',['GRRLIB_InitTileSet',['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c'],['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c']]], + ['grrlib_5fline_64',['GRRLIB_Line',['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5floadbmf_65',['GRRLIB_LoadBMF',['../group___all_func.html#gab2bdca506ed98e85f6543137738a1aa2',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c'],['../group___all_func.html#gab2bdca506ed98e85f6543137738a1aa2',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c']]], + ['grrlib_5floadfile_66',['GRRLIB_LoadFile',['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c'],['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c']]], + ['grrlib_5floadtexture_67',['GRRLIB_LoadTexture',['../group___all_func.html#ga3bcf05b86d1d2345eef642fd6eb9912d',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c'],['../group___all_func.html#ga3bcf05b86d1d2345eef642fd6eb9912d',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturebmp_68',['GRRLIB_LoadTextureBMP',['../group___all_func.html#gaac10127eaaf08e2668b25d34e9077d24',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c'],['../group___all_func.html#gaac10127eaaf08e2668b25d34e9077d24',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturefromfile_69',['GRRLIB_LoadTextureFromFile',['../group___all_func.html#ga30161fbcf1c4c3538faf923742562f8d',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga30161fbcf1c4c3538faf923742562f8d',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5floadtexturejpg_70',['GRRLIB_LoadTextureJPG',['../group___all_func.html#ga0ae563450041c8a09e3121ba39fba777',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c'],['../group___all_func.html#ga0ae563450041c8a09e3121ba39fba777',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturejpgex_71',['GRRLIB_LoadTextureJPGEx',['../group___all_func.html#ga2bcf92846d3a47066e4303c889a5c784',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const u32 my_size): GRRLIB_texEdit.c'],['../group___all_func.html#ga2bcf92846d3a47066e4303c889a5c784',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const u32 my_size): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturepng_72',['GRRLIB_LoadTexturePNG',['../group___all_func.html#gae95b019b590751cdc6bc64c823ca84e0',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c'],['../group___all_func.html#gae95b019b590751cdc6bc64c823ca84e0',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c']]], + ['grrlib_5floadttf_73',['GRRLIB_LoadTTF',['../group___all_func.html#gac5989e925eceea3da6a44a90ac431dd7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c'],['../group___all_func.html#gac5989e925eceea3da6a44a90ac431dd7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c']]], + ['grrlib_5floadttffromfile_74',['GRRLIB_LoadTTFFromFile',['../group___all_func.html#ga402b52f044c46e147e32cc1da4153829',1,'GRRLIB_LoadTTFFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga402b52f044c46e147e32cc1da4153829',1,'GRRLIB_LoadTTFFromFile(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5fngone_75',['GRRLIB_NGone',['../group___all_func.html#gaaaad869c6b2cd0ac502b8ab261fe34e9',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gaaaad869c6b2cd0ac502b8ab261fe34e9',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], + ['grrlib_5fngonefilled_76',['GRRLIB_NGoneFilled',['../group___all_func.html#gab848be8b56929c0706da29fe66549ff0',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gab848be8b56929c0706da29fe66549ff0',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], + ['grrlib_5fnplot_77',['GRRLIB_NPlot',['../group___all_func.html#gaad6d71991d8257d06591bdee6fe600f5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gaad6d71991d8257d06591bdee6fe600f5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], + ['grrlib_5fobjectview_78',['GRRLIB_ObjectView',['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewbegin_79',['GRRLIB_ObjectViewBegin',['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c'],['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewend_80',['GRRLIB_ObjectViewEnd',['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c'],['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewinv_81',['GRRLIB_ObjectViewInv',['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewrotate_82',['GRRLIB_ObjectViewRotate',['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c'],['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewscale_83',['GRRLIB_ObjectViewScale',['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewtrans_84',['GRRLIB_ObjectViewTrans',['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c'],['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c']]], + ['grrlib_5fplot_85',['GRRLIB_Plot',['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5fprintbmf_86',['GRRLIB_PrintBMF',['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c']]], + ['grrlib_5fprintf_87',['GRRLIB_Printf',['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c']]], + ['grrlib_5fprintfttf_88',['GRRLIB_PrintfTTF',['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], + ['grrlib_5fprintfttfw_89',['GRRLIB_PrintfTTFW',['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], + ['grrlib_5fptinrect_90',['GRRLIB_PtInRect',['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h'],['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h']]], + ['grrlib_5frectangle_91',['GRRLIB_Rectangle',['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h'],['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h']]], + ['grrlib_5frectinrect_92',['GRRLIB_RectInRect',['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], + ['grrlib_5frectonrect_93',['GRRLIB_RectOnRect',['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], + ['grrlib_5frender_94',['GRRLIB_Render',['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c'],['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c']]], + ['grrlib_5fscreen2texture_95',['GRRLIB_Screen2Texture',['../group___all_func.html#ga2679d0fa70341fa428857a776b9db970',1,'GRRLIB_Screen2Texture(u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c'],['../group___all_func.html#ga2679d0fa70341fa428857a776b9db970',1,'GRRLIB_Screen2Texture(u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c']]], + ['grrlib_5fscrshot_96',['GRRLIB_ScrShot',['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5fsetantialiasing_97',['GRRLIB_SetAntiAliasing',['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h'],['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h']]], + ['grrlib_5fsetbackgroundcolour_98',['GRRLIB_SetBackgroundColour',['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c'],['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c']]], + ['grrlib_5fsetblend_99',['GRRLIB_SetBlend',['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h'],['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h']]], + ['grrlib_5fsethandle_100',['GRRLIB_SetHandle',['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h'],['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h']]], + ['grrlib_5fsetlightambient_101',['GRRLIB_SetLightAmbient',['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c'],['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightdiff_102',['GRRLIB_SetLightDiff',['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightoff_103',['GRRLIB_SetLightOff',['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c'],['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c']]], + ['grrlib_5fsetlightspec_104',['GRRLIB_SetLightSpec',['../group___all_func.html#gab7f3bf4fbc8b4dad8902e95894f1419f',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor): GRRLIB_3D.c'],['../group___all_func.html#gab7f3bf4fbc8b4dad8902e95894f1419f',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightspot_105',['GRRLIB_SetLightSpot',['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetmidhandle_106',['GRRLIB_SetMidHandle',['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h'],['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h']]], + ['grrlib_5fsetpixeltofb_107',['GRRLIB_SetPixelToFB',['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h'],['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h']]], + ['grrlib_5fsetpixeltoteximg_108',['GRRLIB_SetPixelTotexImg',['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h'],['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h']]], + ['grrlib_5fsettexture_109',['GRRLIB_SetTexture',['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c'],['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c']]], + ['grrlib_5fteximg_110',['GRRLIB_texImg',['../struct_g_r_r_l_i_b__tex_img.html',1,'GRRLIB_texImg'],['../group___all_func.html#ga7f5b59ff4d8d339dcb303b660339d9bb',1,'GRRLIB_texImg: grrlib.h']]], ['grrlib_5fttffont_111',['GRRLIB_ttfFont',['../group___all_func.html#gac8a079ae4566c590762c46b8210bb9f4',1,'grrlib.h']]], ['grrlib_5fver_5fstring_112',['GRRLIB_VER_STRING',['../group___all_func.html#gad36e97f844e145cd811f40ee306eb11f',1,'grrlib.h']]], - ['grrlib_5fwidthttf_113',['grrlib_widthttf',['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *, unsigned int): GRRLIB_ttf.c']]], - ['grrlib_5fwidthttfw_114',['grrlib_widthttfw',['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int): GRRLIB_ttf.c']]] + ['grrlib_5fwidthttf_113',['GRRLIB_WidthTTF',['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *, unsigned int): GRRLIB_ttf.c']]], + ['grrlib_5fwidthttfw_114',['GRRLIB_WidthTTFW',['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int): GRRLIB_ttf.c']]] ]; diff --git a/search/functions_0.js b/search/functions_0.js index ee6f3a6..751c6f8 100644 --- a/search/functions_0.js +++ b/search/functions_0.js @@ -1,96 +1,96 @@ var searchData= [ - ['grrlib_5f2dmode_0',['grrlib_2dmode',['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c'],['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c']]], - ['grrlib_5f3dmode_1',['grrlib_3dmode',['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c'],['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c']]], - ['grrlib_5fbmfx_5fblur_2',['grrlib_bmfx_blur',['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5ffliph_3',['grrlib_bmfx_fliph',['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fflipv_4',['grrlib_bmfx_flipv',['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fgrayscale_5',['grrlib_bmfx_grayscale',['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5finvert_6',['grrlib_bmfx_invert',['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fpixelate_7',['grrlib_bmfx_pixelate',['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fscatter_8',['grrlib_bmfx_scatter',['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], - ['grrlib_5fbmfx_5fsepia_9',['grrlib_bmfx_sepia',['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], - ['grrlib_5fcamera3dsettings_10',['grrlib_camera3dsettings',['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c'],['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c']]], - ['grrlib_5fcircle_11',['grrlib_circle',['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], - ['grrlib_5fcleartex_12',['grrlib_cleartex',['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], - ['grrlib_5fclipdrawing_13',['grrlib_clipdrawing',['../group___all_func.html#gac59a40807579d718a2c139245b599472',1,'GRRLIB_ClipDrawing(const u32 x, const u32 y, const u32 width, const u32 height): GRRLIB_clipping.h'],['../group___all_func.html#gac59a40807579d718a2c139245b599472',1,'GRRLIB_ClipDrawing(const u32 x, const u32 y, const u32 width, const u32 height): GRRLIB_clipping.h']]], - ['grrlib_5fclipreset_14',['grrlib_clipreset',['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h'],['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h']]], - ['grrlib_5fcompoend_15',['grrlib_compoend',['../group___all_func.html#ga0af29f5435a5cbdee720afb8c375ca71',1,'GRRLIB_CompoEnd(u16 posx, u16 posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c'],['../group___all_func.html#ga0af29f5435a5cbdee720afb8c375ca71',1,'GRRLIB_CompoEnd(u16 posx, u16 posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c']]], - ['grrlib_5fcompostart_16',['grrlib_compostart',['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c'],['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c']]], - ['grrlib_5fcreateemptytexture_17',['grrlib_createemptytexture',['../group___all_func.html#ga5ace4f7f4fae5016fe7c009b0e6331c9',1,'GRRLIB_CreateEmptyTexture(const u32 width, const u32 height): GRRLIB_texEdit.c'],['../group___all_func.html#ga5ace4f7f4fae5016fe7c009b0e6331c9',1,'GRRLIB_CreateEmptyTexture(const u32 width, const u32 height): GRRLIB_texEdit.c']]], - ['grrlib_5fdrawcone_18',['grrlib_drawcone',['../group___all_func.html#ga09c1572feadf21c46678b3a7bb0944e2',1,'GRRLIB_DrawCone(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga09c1572feadf21c46678b3a7bb0944e2',1,'GRRLIB_DrawCone(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawcube_19',['grrlib_drawcube',['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawcylinder_20',['grrlib_drawcylinder',['../group___all_func.html#gac6ecd421da6885c7ee3f1b41f36acad2',1,'GRRLIB_DrawCylinder(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gac6ecd421da6885c7ee3f1b41f36acad2',1,'GRRLIB_DrawCylinder(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawimg_21',['grrlib_drawimg',['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], - ['grrlib_5fdrawimgquad_22',['grrlib_drawimgquad',['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c'],['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c']]], - ['grrlib_5fdrawpart_23',['grrlib_drawpart',['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], - ['grrlib_5fdrawsphere_24',['grrlib_drawsphere',['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawtesspanel_25',['grrlib_drawtesspanel',['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fdrawtile_26',['grrlib_drawtile',['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c']]], - ['grrlib_5fdrawtilequad_27',['grrlib_drawtilequad',['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c']]], - ['grrlib_5fdrawtorus_28',['grrlib_drawtorus',['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c']]], - ['grrlib_5fellipse_29',['grrlib_ellipse',['../group___all_func.html#ga6bef7c5bd9550225b7ee0cc3da207738',1,'GRRLIB_Ellipse(const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga6bef7c5bd9550225b7ee0cc3da207738',1,'GRRLIB_Ellipse(const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], - ['grrlib_5fexit_30',['grrlib_exit',['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c'],['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c']]], - ['grrlib_5ffillscreen_31',['grrlib_fillscreen',['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h']]], - ['grrlib_5fflushtex_32',['grrlib_flushtex',['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], - ['grrlib_5ffreebmf_33',['grrlib_freebmf',['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c'],['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c']]], - ['grrlib_5ffreetexture_34',['grrlib_freetexture',['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], - ['grrlib_5ffreettf_35',['grrlib_freettf',['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c'],['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c']]], - ['grrlib_5fgeckoinit_36',['grrlib_geckoinit',['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c'],['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c']]], - ['grrlib_5fgeckoprintf_37',['grrlib_geckoprintf',['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c'],['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c']]], - ['grrlib_5fgetantialiasing_38',['grrlib_getantialiasing',['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h'],['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h']]], - ['grrlib_5fgetblend_39',['grrlib_getblend',['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h'],['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h']]], - ['grrlib_5fgetpixelfromfb_40',['grrlib_getpixelfromfb',['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h'],['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h']]], - ['grrlib_5fgetpixelfromteximg_41',['grrlib_getpixelfromteximg',['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h'],['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h']]], - ['grrlib_5fgxengine_42',['grrlib_gxengine',['../group___all_func.html#ga5aad414db04673ea5142519600856419',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const u16 n, const u8 fmt): GRRLIB_fbGX.h'],['../group___all_func.html#ga5aad414db04673ea5142519600856419',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const u16 n, const u8 fmt): GRRLIB_fbGX.h']]], - ['grrlib_5finit_43',['grrlib_init',['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c'],['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c']]], - ['grrlib_5finittileset_44',['grrlib_inittileset',['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c'],['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c']]], - ['grrlib_5fline_45',['grrlib_line',['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h']]], - ['grrlib_5floadbmf_46',['grrlib_loadbmf',['../group___all_func.html#gab2bdca506ed98e85f6543137738a1aa2',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c'],['../group___all_func.html#gab2bdca506ed98e85f6543137738a1aa2',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c']]], - ['grrlib_5floadfile_47',['grrlib_loadfile',['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c'],['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c']]], - ['grrlib_5floadtexture_48',['grrlib_loadtexture',['../group___all_func.html#ga3bcf05b86d1d2345eef642fd6eb9912d',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c'],['../group___all_func.html#ga3bcf05b86d1d2345eef642fd6eb9912d',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c']]], - ['grrlib_5floadtexturebmp_49',['grrlib_loadtexturebmp',['../group___all_func.html#gaac10127eaaf08e2668b25d34e9077d24',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c'],['../group___all_func.html#gaac10127eaaf08e2668b25d34e9077d24',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c']]], - ['grrlib_5floadtexturefromfile_50',['grrlib_loadtexturefromfile',['../group___all_func.html#ga30161fbcf1c4c3538faf923742562f8d',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga30161fbcf1c4c3538faf923742562f8d',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c']]], - ['grrlib_5floadtexturejpg_51',['grrlib_loadtexturejpg',['../group___all_func.html#ga0ae563450041c8a09e3121ba39fba777',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c'],['../group___all_func.html#ga0ae563450041c8a09e3121ba39fba777',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c']]], - ['grrlib_5floadtexturejpgex_52',['grrlib_loadtexturejpgex',['../group___all_func.html#ga2bcf92846d3a47066e4303c889a5c784',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const u32 my_size): GRRLIB_texEdit.c'],['../group___all_func.html#ga2bcf92846d3a47066e4303c889a5c784',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const u32 my_size): GRRLIB_texEdit.c']]], - ['grrlib_5floadtexturepng_53',['grrlib_loadtexturepng',['../group___all_func.html#gae95b019b590751cdc6bc64c823ca84e0',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c'],['../group___all_func.html#gae95b019b590751cdc6bc64c823ca84e0',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c']]], - ['grrlib_5floadttf_54',['grrlib_loadttf',['../group___all_func.html#gac5989e925eceea3da6a44a90ac431dd7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c'],['../group___all_func.html#gac5989e925eceea3da6a44a90ac431dd7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c']]], - ['grrlib_5floadttffromfile_55',['grrlib_loadttffromfile',['../group___all_func.html#ga402b52f044c46e147e32cc1da4153829',1,'GRRLIB_LoadTTFFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga402b52f044c46e147e32cc1da4153829',1,'GRRLIB_LoadTTFFromFile(const char *filename): GRRLIB_fileIO.c']]], - ['grrlib_5fngone_56',['grrlib_ngone',['../group___all_func.html#gaaaad869c6b2cd0ac502b8ab261fe34e9',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gaaaad869c6b2cd0ac502b8ab261fe34e9',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], - ['grrlib_5fngonefilled_57',['grrlib_ngonefilled',['../group___all_func.html#gab848be8b56929c0706da29fe66549ff0',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gab848be8b56929c0706da29fe66549ff0',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], - ['grrlib_5fnplot_58',['grrlib_nplot',['../group___all_func.html#gaad6d71991d8257d06591bdee6fe600f5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gaad6d71991d8257d06591bdee6fe600f5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], - ['grrlib_5fobjectview_59',['grrlib_objectview',['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewbegin_60',['grrlib_objectviewbegin',['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c'],['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewend_61',['grrlib_objectviewend',['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c'],['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewinv_62',['grrlib_objectviewinv',['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewrotate_63',['grrlib_objectviewrotate',['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c'],['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewscale_64',['grrlib_objectviewscale',['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], - ['grrlib_5fobjectviewtrans_65',['grrlib_objectviewtrans',['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c'],['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c']]], - ['grrlib_5fplot_66',['grrlib_plot',['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h']]], - ['grrlib_5fprintbmf_67',['grrlib_printbmf',['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c']]], - ['grrlib_5fprintf_68',['grrlib_printf',['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c']]], - ['grrlib_5fprintfttf_69',['grrlib_printfttf',['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], - ['grrlib_5fprintfttfw_70',['grrlib_printfttfw',['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], - ['grrlib_5fptinrect_71',['grrlib_ptinrect',['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h'],['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h']]], - ['grrlib_5frectangle_72',['grrlib_rectangle',['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h'],['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h']]], - ['grrlib_5frectinrect_73',['grrlib_rectinrect',['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], - ['grrlib_5frectonrect_74',['grrlib_rectonrect',['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], - ['grrlib_5frender_75',['grrlib_render',['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c'],['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c']]], - ['grrlib_5fscreen2texture_76',['grrlib_screen2texture',['../group___all_func.html#ga2679d0fa70341fa428857a776b9db970',1,'GRRLIB_Screen2Texture(u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c'],['../group___all_func.html#ga2679d0fa70341fa428857a776b9db970',1,'GRRLIB_Screen2Texture(u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c']]], - ['grrlib_5fscrshot_77',['grrlib_scrshot',['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c']]], - ['grrlib_5fsetantialiasing_78',['grrlib_setantialiasing',['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h'],['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h']]], - ['grrlib_5fsetbackgroundcolour_79',['grrlib_setbackgroundcolour',['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c'],['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c']]], - ['grrlib_5fsetblend_80',['grrlib_setblend',['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h'],['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h']]], - ['grrlib_5fsethandle_81',['grrlib_sethandle',['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h'],['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h']]], - ['grrlib_5fsetlightambient_82',['grrlib_setlightambient',['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c'],['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c']]], - ['grrlib_5fsetlightdiff_83',['grrlib_setlightdiff',['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c']]], - ['grrlib_5fsetlightoff_84',['grrlib_setlightoff',['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c'],['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c']]], - ['grrlib_5fsetlightspec_85',['grrlib_setlightspec',['../group___all_func.html#gab7f3bf4fbc8b4dad8902e95894f1419f',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor): GRRLIB_3D.c'],['../group___all_func.html#gab7f3bf4fbc8b4dad8902e95894f1419f',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor): GRRLIB_3D.c']]], - ['grrlib_5fsetlightspot_86',['grrlib_setlightspot',['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c']]], - ['grrlib_5fsetmidhandle_87',['grrlib_setmidhandle',['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h'],['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h']]], - ['grrlib_5fsetpixeltofb_88',['grrlib_setpixeltofb',['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h'],['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h']]], - ['grrlib_5fsetpixeltoteximg_89',['grrlib_setpixeltoteximg',['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h'],['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h']]], - ['grrlib_5fsettexture_90',['grrlib_settexture',['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c'],['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c']]], - ['grrlib_5fwidthttf_91',['grrlib_widthttf',['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *, unsigned int): GRRLIB_ttf.c']]], - ['grrlib_5fwidthttfw_92',['grrlib_widthttfw',['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int): GRRLIB_ttf.c']]] + ['grrlib_5f2dmode_0',['GRRLIB_2dMode',['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c'],['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c']]], + ['grrlib_5f3dmode_1',['GRRLIB_3dMode',['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c'],['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c']]], + ['grrlib_5fbmfx_5fblur_2',['GRRLIB_BMFX_Blur',['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5ffliph_3',['GRRLIB_BMFX_FlipH',['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fflipv_4',['GRRLIB_BMFX_FlipV',['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fgrayscale_5',['GRRLIB_BMFX_Grayscale',['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5finvert_6',['GRRLIB_BMFX_Invert',['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fpixelate_7',['GRRLIB_BMFX_Pixelate',['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fscatter_8',['GRRLIB_BMFX_Scatter',['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fsepia_9',['GRRLIB_BMFX_Sepia',['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fcamera3dsettings_10',['GRRLIB_Camera3dSettings',['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c'],['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c']]], + ['grrlib_5fcircle_11',['GRRLIB_Circle',['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], + ['grrlib_5fcleartex_12',['GRRLIB_ClearTex',['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5fclipdrawing_13',['GRRLIB_ClipDrawing',['../group___all_func.html#gac59a40807579d718a2c139245b599472',1,'GRRLIB_ClipDrawing(const u32 x, const u32 y, const u32 width, const u32 height): GRRLIB_clipping.h'],['../group___all_func.html#gac59a40807579d718a2c139245b599472',1,'GRRLIB_ClipDrawing(const u32 x, const u32 y, const u32 width, const u32 height): GRRLIB_clipping.h']]], + ['grrlib_5fclipreset_14',['GRRLIB_ClipReset',['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h'],['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h']]], + ['grrlib_5fcompoend_15',['GRRLIB_CompoEnd',['../group___all_func.html#ga0af29f5435a5cbdee720afb8c375ca71',1,'GRRLIB_CompoEnd(u16 posx, u16 posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c'],['../group___all_func.html#ga0af29f5435a5cbdee720afb8c375ca71',1,'GRRLIB_CompoEnd(u16 posx, u16 posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c']]], + ['grrlib_5fcompostart_16',['GRRLIB_CompoStart',['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c'],['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c']]], + ['grrlib_5fcreateemptytexture_17',['GRRLIB_CreateEmptyTexture',['../group___all_func.html#ga5ace4f7f4fae5016fe7c009b0e6331c9',1,'GRRLIB_CreateEmptyTexture(const u32 width, const u32 height): GRRLIB_texEdit.c'],['../group___all_func.html#ga5ace4f7f4fae5016fe7c009b0e6331c9',1,'GRRLIB_CreateEmptyTexture(const u32 width, const u32 height): GRRLIB_texEdit.c']]], + ['grrlib_5fdrawcone_18',['GRRLIB_DrawCone',['../group___all_func.html#ga09c1572feadf21c46678b3a7bb0944e2',1,'GRRLIB_DrawCone(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga09c1572feadf21c46678b3a7bb0944e2',1,'GRRLIB_DrawCone(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawcube_19',['GRRLIB_DrawCube',['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawcylinder_20',['GRRLIB_DrawCylinder',['../group___all_func.html#gac6ecd421da6885c7ee3f1b41f36acad2',1,'GRRLIB_DrawCylinder(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gac6ecd421da6885c7ee3f1b41f36acad2',1,'GRRLIB_DrawCylinder(f32 r, f32 h, u16 d, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawimg_21',['GRRLIB_DrawImg',['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawimgquad_22',['GRRLIB_DrawImgQuad',['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c'],['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawpart_23',['GRRLIB_DrawPart',['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawsphere_24',['GRRLIB_DrawSphere',['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawtesspanel_25',['GRRLIB_DrawTessPanel',['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawtile_26',['GRRLIB_DrawTile',['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c']]], + ['grrlib_5fdrawtilequad_27',['GRRLIB_DrawTileQuad',['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c']]], + ['grrlib_5fdrawtorus_28',['GRRLIB_DrawTorus',['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fellipse_29',['GRRLIB_Ellipse',['../group___all_func.html#ga6bef7c5bd9550225b7ee0cc3da207738',1,'GRRLIB_Ellipse(const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga6bef7c5bd9550225b7ee0cc3da207738',1,'GRRLIB_Ellipse(const f32 x, const f32 y, const f32 radiusX, const f32 radiusY, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], + ['grrlib_5fexit_30',['GRRLIB_Exit',['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c'],['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c']]], + ['grrlib_5ffillscreen_31',['GRRLIB_FillScreen',['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5fflushtex_32',['GRRLIB_FlushTex',['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5ffreebmf_33',['GRRLIB_FreeBMF',['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c'],['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c']]], + ['grrlib_5ffreetexture_34',['GRRLIB_FreeTexture',['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5ffreettf_35',['GRRLIB_FreeTTF',['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c'],['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c']]], + ['grrlib_5fgeckoinit_36',['GRRLIB_GeckoInit',['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c'],['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c']]], + ['grrlib_5fgeckoprintf_37',['GRRLIB_GeckoPrintf',['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c'],['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c']]], + ['grrlib_5fgetantialiasing_38',['GRRLIB_GetAntiAliasing',['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h'],['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h']]], + ['grrlib_5fgetblend_39',['GRRLIB_GetBlend',['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h'],['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h']]], + ['grrlib_5fgetpixelfromfb_40',['GRRLIB_GetPixelFromFB',['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h'],['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h']]], + ['grrlib_5fgetpixelfromteximg_41',['GRRLIB_GetPixelFromtexImg',['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h'],['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h']]], + ['grrlib_5fgxengine_42',['GRRLIB_GXEngine',['../group___all_func.html#ga5aad414db04673ea5142519600856419',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const u16 n, const u8 fmt): GRRLIB_fbGX.h'],['../group___all_func.html#ga5aad414db04673ea5142519600856419',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const u16 n, const u8 fmt): GRRLIB_fbGX.h']]], + ['grrlib_5finit_43',['GRRLIB_Init',['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c'],['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c']]], + ['grrlib_5finittileset_44',['GRRLIB_InitTileSet',['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c'],['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c']]], + ['grrlib_5fline_45',['GRRLIB_Line',['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5floadbmf_46',['GRRLIB_LoadBMF',['../group___all_func.html#gab2bdca506ed98e85f6543137738a1aa2',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c'],['../group___all_func.html#gab2bdca506ed98e85f6543137738a1aa2',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c']]], + ['grrlib_5floadfile_47',['GRRLIB_LoadFile',['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c'],['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c']]], + ['grrlib_5floadtexture_48',['GRRLIB_LoadTexture',['../group___all_func.html#ga3bcf05b86d1d2345eef642fd6eb9912d',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c'],['../group___all_func.html#ga3bcf05b86d1d2345eef642fd6eb9912d',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturebmp_49',['GRRLIB_LoadTextureBMP',['../group___all_func.html#gaac10127eaaf08e2668b25d34e9077d24',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c'],['../group___all_func.html#gaac10127eaaf08e2668b25d34e9077d24',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturefromfile_50',['GRRLIB_LoadTextureFromFile',['../group___all_func.html#ga30161fbcf1c4c3538faf923742562f8d',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga30161fbcf1c4c3538faf923742562f8d',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5floadtexturejpg_51',['GRRLIB_LoadTextureJPG',['../group___all_func.html#ga0ae563450041c8a09e3121ba39fba777',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c'],['../group___all_func.html#ga0ae563450041c8a09e3121ba39fba777',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturejpgex_52',['GRRLIB_LoadTextureJPGEx',['../group___all_func.html#ga2bcf92846d3a47066e4303c889a5c784',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const u32 my_size): GRRLIB_texEdit.c'],['../group___all_func.html#ga2bcf92846d3a47066e4303c889a5c784',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const u32 my_size): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturepng_53',['GRRLIB_LoadTexturePNG',['../group___all_func.html#gae95b019b590751cdc6bc64c823ca84e0',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c'],['../group___all_func.html#gae95b019b590751cdc6bc64c823ca84e0',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c']]], + ['grrlib_5floadttf_54',['GRRLIB_LoadTTF',['../group___all_func.html#gac5989e925eceea3da6a44a90ac431dd7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c'],['../group___all_func.html#gac5989e925eceea3da6a44a90ac431dd7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c']]], + ['grrlib_5floadttffromfile_55',['GRRLIB_LoadTTFFromFile',['../group___all_func.html#ga402b52f044c46e147e32cc1da4153829',1,'GRRLIB_LoadTTFFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga402b52f044c46e147e32cc1da4153829',1,'GRRLIB_LoadTTFFromFile(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5fngone_56',['GRRLIB_NGone',['../group___all_func.html#gaaaad869c6b2cd0ac502b8ab261fe34e9',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gaaaad869c6b2cd0ac502b8ab261fe34e9',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], + ['grrlib_5fngonefilled_57',['GRRLIB_NGoneFilled',['../group___all_func.html#gab848be8b56929c0706da29fe66549ff0',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gab848be8b56929c0706da29fe66549ff0',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], + ['grrlib_5fnplot_58',['GRRLIB_NPlot',['../group___all_func.html#gaad6d71991d8257d06591bdee6fe600f5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h'],['../group___all_func.html#gaad6d71991d8257d06591bdee6fe600f5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const u16 n): GRRLIB_fbComplex.h']]], + ['grrlib_5fobjectview_59',['GRRLIB_ObjectView',['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewbegin_60',['GRRLIB_ObjectViewBegin',['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c'],['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewend_61',['GRRLIB_ObjectViewEnd',['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c'],['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewinv_62',['GRRLIB_ObjectViewInv',['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewrotate_63',['GRRLIB_ObjectViewRotate',['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c'],['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewscale_64',['GRRLIB_ObjectViewScale',['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewtrans_65',['GRRLIB_ObjectViewTrans',['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c'],['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c']]], + ['grrlib_5fplot_66',['GRRLIB_Plot',['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5fprintbmf_67',['GRRLIB_PrintBMF',['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c']]], + ['grrlib_5fprintf_68',['GRRLIB_Printf',['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c']]], + ['grrlib_5fprintfttf_69',['GRRLIB_PrintfTTF',['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], + ['grrlib_5fprintfttfw_70',['GRRLIB_PrintfTTFW',['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], + ['grrlib_5fptinrect_71',['GRRLIB_PtInRect',['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h'],['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h']]], + ['grrlib_5frectangle_72',['GRRLIB_Rectangle',['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h'],['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h']]], + ['grrlib_5frectinrect_73',['GRRLIB_RectInRect',['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], + ['grrlib_5frectonrect_74',['GRRLIB_RectOnRect',['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], + ['grrlib_5frender_75',['GRRLIB_Render',['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c'],['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c']]], + ['grrlib_5fscreen2texture_76',['GRRLIB_Screen2Texture',['../group___all_func.html#ga2679d0fa70341fa428857a776b9db970',1,'GRRLIB_Screen2Texture(u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c'],['../group___all_func.html#ga2679d0fa70341fa428857a776b9db970',1,'GRRLIB_Screen2Texture(u16 posx, u16 posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c']]], + ['grrlib_5fscrshot_77',['GRRLIB_ScrShot',['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5fsetantialiasing_78',['GRRLIB_SetAntiAliasing',['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h'],['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h']]], + ['grrlib_5fsetbackgroundcolour_79',['GRRLIB_SetBackgroundColour',['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c'],['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c']]], + ['grrlib_5fsetblend_80',['GRRLIB_SetBlend',['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h'],['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h']]], + ['grrlib_5fsethandle_81',['GRRLIB_SetHandle',['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h'],['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h']]], + ['grrlib_5fsetlightambient_82',['GRRLIB_SetLightAmbient',['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c'],['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightdiff_83',['GRRLIB_SetLightDiff',['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightoff_84',['GRRLIB_SetLightOff',['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c'],['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c']]], + ['grrlib_5fsetlightspec_85',['GRRLIB_SetLightSpec',['../group___all_func.html#gab7f3bf4fbc8b4dad8902e95894f1419f',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor): GRRLIB_3D.c'],['../group___all_func.html#gab7f3bf4fbc8b4dad8902e95894f1419f',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shininess, u32 lightcolor, u32 speccolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightspot_86',['GRRLIB_SetLightSpot',['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetmidhandle_87',['GRRLIB_SetMidHandle',['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h'],['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h']]], + ['grrlib_5fsetpixeltofb_88',['GRRLIB_SetPixelToFB',['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h'],['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h']]], + ['grrlib_5fsetpixeltoteximg_89',['GRRLIB_SetPixelTotexImg',['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h'],['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h']]], + ['grrlib_5fsettexture_90',['GRRLIB_SetTexture',['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c'],['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c']]], + ['grrlib_5fwidthttf_91',['GRRLIB_WidthTTF',['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *, unsigned int): GRRLIB_ttf.c']]], + ['grrlib_5fwidthttfw_92',['GRRLIB_WidthTTFW',['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int): GRRLIB_ttf.c']]] ]; diff --git a/search/search.js b/search/search.js index 6fd40c6..666af01 100644 --- a/search/search.js +++ b/search/search.js @@ -22,58 +22,9 @@ @licend The above is the entire license notice for the JavaScript code in this file */ -function convertToId(search) -{ - var result = ''; - for (i=0;i document.getElementById("MSearchField"); + this.DOMSearchSelect = () => document.getElementById("MSearchSelect"); + this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow"); + this.DOMPopupSearchResults = () => document.getElementById("MSearchResults"); + this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow"); + this.DOMSearchClose = () => document.getElementById("MSearchClose"); + this.DOMSearchBox = () => document.getElementById("MSearchBox"); // ------------ Event Handlers // Called when focus is added or removed from the search field. - this.OnSearchFieldFocus = function(isActive) - { + this.OnSearchFieldFocus = function(isActive) { this.Activate(isActive); } - this.OnSearchSelectShow = function() - { - var searchSelectWindow = this.DOMSearchSelectWindow(); - var searchField = this.DOMSearchSelect(); + this.OnSearchSelectShow = function() { + const searchSelectWindow = this.DOMSearchSelectWindow(); + const searchField = this.DOMSearchSelect(); - var left = getXPos(searchField); - var top = getYPos(searchField); - top += searchField.offsetHeight; + const left = getXPos(searchField); + const top = getYPos(searchField) + searchField.offsetHeight; // show search selection popup searchSelectWindow.style.display='block'; @@ -146,55 +102,43 @@ function SearchBox(name, resultsPath, extension) searchSelectWindow.style.top = top + 'px'; // stop selection hide timer - if (this.hideTimeout) - { + if (this.hideTimeout) { clearTimeout(this.hideTimeout); this.hideTimeout=0; } return false; // to avoid "image drag" default event } - this.OnSearchSelectHide = function() - { + this.OnSearchSelectHide = function() { this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this), this.closeSelectionTimeout); } // Called when the content of the search field is changed. - this.OnSearchFieldChange = function(evt) - { - if (this.keyTimeout) // kill running timer - { + 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) - { + const 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 do a search - { + const 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.searchIndex0) // Up - { + } else if (e.keyCode==38 && this.searchIndex>0) { // Up this.searchIndex--; this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { + } else if (e.keyCode==13 || e.keyCode==27) { e.stopPropagation(); this.OnSelectItem(this.searchIndex); this.CloseSelectionWindow(); @@ -301,82 +239,75 @@ function SearchBox(name, resultsPath, extension) // --------- Actions // Closes the results window. - this.CloseResultsWindow = function() - { + this.CloseResultsWindow = function() { this.DOMPopupSearchResultsWindow().style.display = 'none'; this.DOMSearchClose().style.display = 'none'; this.Activate(false); } - this.CloseSelectionWindow = function() - { + this.CloseSelectionWindow = function() { this.DOMSearchSelectWindow().style.display = 'none'; } // Performs a search. - this.Search = function() - { + this.Search = function() { this.keyTimeout = 0; // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + const searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { + const code = searchValue.toLowerCase().charCodeAt(0); + let idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair idxChar = searchValue.substr(0, 2); } - var jsFile; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; + let jsFile; + let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) { + const hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; } - var loadJS = function(url, impl, loc){ - var scriptTag = document.createElement('script'); + const loadJS = function(url, impl, loc) { + const scriptTag = document.createElement('script'); scriptTag.src = url; scriptTag.onload = impl; scriptTag.onreadystatechange = impl; loc.appendChild(scriptTag); } - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - var domSearchBox = this.DOMSearchBox(); - var domPopupSearchResults = this.DOMPopupSearchResults(); - var domSearchClose = this.DOMSearchClose(); - var resultsPath = this.resultsPath; + const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + const domSearchBox = this.DOMSearchBox(); + const domPopupSearchResults = this.DOMPopupSearchResults(); + const domSearchClose = this.DOMSearchClose(); + const resultsPath = this.resultsPath; - var handleResults = function() { + const handleResults = function() { document.getElementById("Loading").style.display="none"; if (typeof searchData !== 'undefined') { createResults(resultsPath); document.getElementById("NoMatches").style.display="none"; } - + if (idx!=-1) { searchResults.Search(searchValue); } else { // no file with search results => force empty search results searchResults.Search('===='); } - if (domPopupSearchResultsWindow.style.display!='block') - { + if (domPopupSearchResultsWindow.style.display!='block') { domSearchClose.style.display = 'inline-block'; - var left = getXPos(domSearchBox) + 150; - var top = getYPos(domSearchBox) + 20; + let left = getXPos(domSearchBox) + 150; + let top = getYPos(domSearchBox) + 20; domPopupSearchResultsWindow.style.display = 'block'; left -= domPopupSearchResults.offsetWidth; - var maxWidth = document.body.clientWidth; - var maxHeight = document.body.clientHeight; - var width = 300; + const maxWidth = document.body.clientWidth; + const maxHeight = document.body.clientHeight; + let width = 300; if (left<10) left=10; if (width+left+8>maxWidth) width=maxWidth-left-8; - var height = 400; + let height = 400; if (height+top+8>maxHeight) height=maxHeight-top-8; domPopupSearchResultsWindow.style.top = top + 'px'; domPopupSearchResultsWindow.style.left = left + 'px'; @@ -398,17 +329,13 @@ function SearchBox(name, resultsPath, extension) // Activates or deactivates the search panel, resetting things to // their default values if necessary. - this.Activate = function(isActive) - { + this.Activate = function(isActive) { if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) { this.DOMSearchBox().className = 'MSearchBoxActive'; this.searchActive = true; - } - else if (!isActive) // directly remove the panel - { + } else if (!isActive) { // directly remove the panel this.DOMSearchBox().className = 'MSearchBoxInactive'; this.searchActive = false; this.lastSearchValue = '' @@ -421,409 +348,333 @@ function SearchBox(name, resultsPath, extension) // ----------------------------------------------------------------------- // The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; +function SearchResults() { - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; + function convertToId(search) { + let result = ''; + for (let i=0;i. + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) { + const parentElement = document.getElementById(id); + let element = parentElement.firstChild; + + while (element && element!=parentElement) { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { + return element; + } + + if (element.nodeName.toLowerCase() == '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.nodeName.toLowerCase() == '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; - } + 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'; - } + this.Toggle = function(id) { + const 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); + // 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); + + const resultRows = document.getElementsByTagName("div"); + let matches = 0; + + let i = 0; + while (i < resultRows.length) { + const row = resultRows.item(i); + if (row.className == "SRResult") { + let 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; + } - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); + // return the first item with index index or higher that is visible + this.NavNext = function(index) { + let focusItem; + for (;;) { + const 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; + } - var resultRows = document.getElementsByTagName("div"); - var matches = 0; + this.NavPrev = function(index) { + let focusItem; + for (;;) { + const 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; + } - 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_' + 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; + } - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; + this.Nav = function(evt,itemIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + const newIndex = itemIndex-1; + let focusItem = this.NavPrev(newIndex); + if (focusItem) { + let child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') { // children visible + let n=0; + let tmpElem; + for (;;) { // search for last child + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) { + focusItem = tmpElem; + } else { // found it! + break; + } + n++; } } - i++; } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; + if (focusItem) { + focusItem.focus(); + } else { // return focus to search field + document.getElementById("MSearchField").focus(); } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; + } else if (this.lastKey==40) { // Down + const newIndex = itemIndex+1; + let focusItem; + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') { // children visible + focusItem = document.getElementById('Item'+itemIndex+'_c0'); } - this.lastMatchCount = matches; + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } else if (this.lastKey==39) { // Right + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } else if (this.lastKey==37) { // Left + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter return true; } + return false; + } - // 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++; + this.NavChild = function(evt,itemIndex,childIndex) { + const 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) { + const newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } else { // already at first child, jump to parent + document.getElementById('Item'+itemIndex).focus(); } - 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 - { - 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 - { - e.stopPropagation(); - searchBox.CloseResultsWindow(); - 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 - { - e.stopPropagation(); - searchBox.CloseResultsWindow(); - document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; + } else if (this.lastKey==40) { // Down + const newIndex = childIndex+1; + let 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 + e.stopPropagation(); + searchBox.CloseResultsWindow(); + 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 createResults(resultsPath) { -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} + function setKeyActions(elem,action) { + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); + } -function createResults(resultsPath) -{ - var results = document.getElementById("SRResults"); + function setClassAttr(elem,attr) { + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); + } + + const results = document.getElementById("SRResults"); results.innerHTML = ''; - for (var e=0; e { + const id = elem[0]; + const srResult = document.createElement('div'); srResult.setAttribute('id','SR_'+id); setClassAttr(srResult,'SRResult'); - var srEntry = document.createElement('div'); + const srEntry = document.createElement('div'); setClassAttr(srEntry,'SREntry'); - var srLink = document.createElement('a'); - srLink.setAttribute('id','Item'+e); - setKeyActions(srLink,'return searchResults.Nav(event,'+e+')'); + const srLink = document.createElement('a'); + srLink.setAttribute('id','Item'+index); + setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); setClassAttr(srLink,'SRSymbol'); - srLink.innerHTML = searchData[e][1][0]; + srLink.innerHTML = elem[1][0]; srEntry.appendChild(srLink); - if (searchData[e][1].length==2) // single result - { - srLink.setAttribute('href',resultsPath+searchData[e][1][1][0]); + if (elem[1].length==2) { // single result + srLink.setAttribute('href',resultsPath+elem[1][1][0]); srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); - if (searchData[e][1][1][1]) - { + if (elem[1][1][1]) { srLink.setAttribute('target','_parent'); - } - else - { + } else { srLink.setAttribute('target','_blank'); } - var srScope = document.createElement('span'); + const srScope = document.createElement('span'); setClassAttr(srScope,'SRScope'); - srScope.innerHTML = searchData[e][1][1][2]; + srScope.innerHTML = elem[1][1][2]; srEntry.appendChild(srScope); - } - else // multiple results - { + } else { // multiple results srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); - var srChildren = document.createElement('div'); + const srChildren = document.createElement('div'); setClassAttr(srChildren,'SRChildren'); - for (var c=0; c - + GRRLIB: GRRLIB_Font Struct Reference + + @@ -29,7 +31,7 @@
    - + @@ -76,7 +78,7 @@ $(function() {

    Structure to hold the TTF information. - More...

    + More...

    #include <grrlib.h>

    @@ -99,7 +101,7 @@ bool  diff --git a/struct_g_r_r_l_i_b__bytemap_char.html b/struct_g_r_r_l_i_b__bytemap_char.html index 82be16c..cc33d8e 100644 --- a/struct_g_r_r_l_i_b__bytemap_char.html +++ b/struct_g_r_r_l_i_b__bytemap_char.html @@ -3,12 +3,14 @@ - +GRRLIB: GRRLIB_bytemapChar Struct Reference + + @@ -29,7 +31,7 @@
    kerning
    - + @@ -76,29 +78,29 @@ $(function() {

    Structure to hold the bytemap character information. - More...

    + More...

    #include <grrlib.h>

    - + - + - + - + - +

    Data Fields

    u8 width
    u8 width
     Character width.
     
    u8 height
    u8 height
     Character height.
     
    s8 relx
    s8 relx
     Horizontal offset relative to cursor (-128 to 127).
     
    s8 rely
    s8 rely
     Vertical offset relative to cursor (-128 to 127).
     
    u8 kerning
     Kerning (Horizontal cursor shift after drawing the character).
     
    u8 * data
    u8 * data
     Character data (uncompressed, 8 bits per pixel).
     
    @@ -201,7 +203,7 @@ u8 kerning
    diff --git a/struct_g_r_r_l_i_b__bytemap_font.html b/struct_g_r_r_l_i_b__bytemap_font.html index dd3accf..bed2a7a 100644 --- a/struct_g_r_r_l_i_b__bytemap_font.html +++ b/struct_g_r_r_l_i_b__bytemap_font.html @@ -3,12 +3,14 @@ - + GRRLIB: GRRLIB_bytemapFont Struct Reference + + @@ -29,7 +31,7 @@ - + @@ -76,7 +78,7 @@ $(function() {

    Structure to hold the bytemap font information. - More...

    + More...

    #include <grrlib.h>

    @@ -92,16 +94,16 @@ Collaboration diagram for GRRLIB_bytemapFont:
    - + - + - + - + diff --git a/struct_g_r_r_l_i_b__draw_settings.html b/struct_g_r_r_l_i_b__draw_settings.html index c9fd995..623c0dc 100644 --- a/struct_g_r_r_l_i_b__draw_settings.html +++ b/struct_g_r_r_l_i_b__draw_settings.html @@ -3,12 +3,14 @@ - +GRRLIB: GRRLIB_drawSettings Struct Reference + + @@ -29,7 +31,7 @@

    Data Fields

    char * name
    char * name
     Font name.
     
    u32 * palette
    u32 * palette
     Font palette.
     
    u16 nbChar
    u16 nbChar
     Number of characters in font.
     
    u8 version
    u8 version
     Version.
     
    @@ -194,7 +196,7 @@ s8 tracking
    - + @@ -76,7 +78,7 @@ $(function() {

    Structure to hold the current drawing settings. - More...

    + More...

    #include <grrlib.h>

    @@ -86,10 +88,10 @@ Data Fields bool  - + - +
    antialias
     AntiAlias is enabled when set to true.
     
    GRRLIB_blendMode blend
    GRRLIB_blendMode blend
     Blending Mode.
     
    int lights
    int lights
     Active lights.
     
    @@ -138,7 +140,7 @@ bool antialias diff --git a/struct_g_r_r_l_i_b__tex_img.html b/struct_g_r_r_l_i_b__tex_img.html index d02e821..7d166be 100644 --- a/struct_g_r_r_l_i_b__tex_img.html +++ b/struct_g_r_r_l_i_b__tex_img.html @@ -3,12 +3,14 @@ - + GRRLIB: GRRLIB_texImg Struct Reference + + @@ -29,7 +31,7 @@
    - + @@ -76,13 +78,13 @@ $(function() {

    Structure to hold the texture information. - More...

    + More...

    #include <grrlib.h>

    - + int  - + - + - + - + - + - + diff --git a/tabs.css b/tabs.css index 71c8a47..fe4854a 100644 --- a/tabs.css +++ b/tabs.css @@ -1 +1 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file diff --git a/template_2source_2main_8c-example.html b/template_2source_2main_8c-example.html index 9abd10a..15557ea 100644 --- a/template_2source_2main_8c-example.html +++ b/template_2source_2main_8c-example.html @@ -3,12 +3,14 @@ - +GRRLIB: template/source/main.c + + @@ -29,7 +31,7 @@

    Data Fields

    u32 w
    u32 w
     The width of the texture in pixels.
     
    @@ -105,22 +107,22 @@ int offsetx
    offsety
     Texture offset y.
     
    bool tiledtex
    bool tiledtex
     Texture is tiled if set to true.
     
    u32 tilew
    u32 tilew
     The width of one tile in pixels.
     
    u32 tileh
    u32 tileh
     The height of one tile in pixels.
     
    u32 nbtilew
    u32 nbtilew
     Number of tiles for the x axis.
     
    u32 nbtileh
    u32 nbtileh
     Number of tiles for the y axis.
     
    u32 tilestart
    u32 tilestart
     Offset to tile starting position.
     
    @@ -271,7 +273,7 @@ void * data
    - + @@ -118,7 +120,7 @@ $(function() { diff --git a/topics.html b/topics.html index bdccab0..23e5e18 100644 --- a/topics.html +++ b/topics.html @@ -3,12 +3,14 @@ - + GRRLIB: Topics + + @@ -29,7 +31,7 @@ - + @@ -80,7 +82,7 @@ $(function() {