Merge pull request #2334 from openmv/add_dave2d_driver
drivers/dave2d: Add D/AVE 2D GPU driver.
@ -62,6 +62,7 @@ MLX90641_DIR=drivers/mlx90641
|
||||
VL53L5CX_DIR=drivers/vl53l5cx
|
||||
PIXART_DIR=drivers/pixart
|
||||
DISPLAY_DIR=drivers/display
|
||||
DAVE2D_DIR=drivers/dave2d
|
||||
LIBPDM_DIR=lib/libpdm
|
||||
TENSORFLOW_DIR=lib/tflm
|
||||
CYW4343_FW_DIR=drivers/cyw4343/firmware/
|
||||
|
||||
44
src/drivers/dave2d/LICENSE
Normal file
@ -0,0 +1,44 @@
|
||||
## Renesas Open License v1.0
|
||||
|
||||
Copyright (c) 2020 - 2024, Renesas Electronics Corporation and/or its affiliates
|
||||
|
||||
|
||||
By installing, copying, downloading, accessing, or otherwise using this software
|
||||
or any part thereof and the related documentation from Renesas Electronics Corporation
|
||||
and/or its affiliates ("Renesas"), You, either individually or on behalf of an entity
|
||||
employing or engaging You, agree to be bound by this Software License Agreement. If you
|
||||
do not agree or no longer agree, you are not permitted to use this software or related
|
||||
documentation.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form, except as embedded into a Renesas
|
||||
integrated circuit in a product or a software update for
|
||||
such product, must reproduce the above copyright notice, this list of
|
||||
conditions and the following disclaimer in the documentation and/or other
|
||||
materials provided with the distribution.
|
||||
|
||||
3. Neither the name of Renesas nor the names of its
|
||||
contributors may be used to endorse or promote products derived from this
|
||||
software without specific prior written permission.
|
||||
|
||||
4. This software, with or without modification, must only be used with a
|
||||
Renesas integrated circuit, or other such integrated circuit permitted by Renesas in writing.
|
||||
|
||||
5. Any software provided in binary form under this license must not be reverse
|
||||
engineered, decompiled, modified and/or disassembled.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY RENESAS "AS IS" AND ANY EXPRESS
|
||||
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL RENESAS OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
60
src/drivers/dave2d/Makefile
Normal file
@ -0,0 +1,60 @@
|
||||
# This file is part of the OpenMV project.
|
||||
#
|
||||
# Copyright (c) 2024 Ibrahim Abdelkader <iabdalkader@openmv.io>
|
||||
# Copyright (c) 2024 Kwabena W. Agyeman <kwagyeman@openmv.io>
|
||||
#
|
||||
# This work is licensed under the MIT license, see the file LICENSE for details.
|
||||
#
|
||||
# D/AVE 2D Makefile
|
||||
SRC_C += $(addprefix src/, \
|
||||
dave_d0lib.c \
|
||||
dave_d0_mm_dynamic.c \
|
||||
dave_d0_mm_fixed_range.c \
|
||||
dave_d0_mm_fixed_range_fixed_blkcnt.c \
|
||||
dave_64bitoperation.c \
|
||||
dave_blit.c \
|
||||
dave_box.c \
|
||||
dave_circle.c \
|
||||
dave_context.c \
|
||||
dave_curve.c \
|
||||
dave_dlist.c \
|
||||
dave_driver.c \
|
||||
dave_edge.c \
|
||||
dave_errorcodes.c \
|
||||
dave_gradient.c \
|
||||
dave_hardware.c \
|
||||
dave_line.c \
|
||||
dave_math.c \
|
||||
dave_memory.c \
|
||||
dave_pattern.c \
|
||||
dave_perfcount.c \
|
||||
dave_polyline.c \
|
||||
dave_quad.c \
|
||||
dave_rbuffer.c \
|
||||
dave_render.c \
|
||||
dave_texture.c \
|
||||
dave_triangle.c \
|
||||
dave_utility.c \
|
||||
dave_viewport.c \
|
||||
dave_wedge.c \
|
||||
)
|
||||
|
||||
OBJS = $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
|
||||
OBJ_DIRS = $(sort $(dir $(OBJS)))
|
||||
|
||||
all: | $(OBJ_DIRS) $(OBJS)
|
||||
$(OBJ_DIRS):
|
||||
$(MKDIR) -p $@
|
||||
|
||||
$(BUILD)/%.o : %.c
|
||||
$(ECHO) "CC $<"
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
$(BUILD)/%.o : %.s
|
||||
$(ECHO) "AS $<"
|
||||
$(AS) $(AFLAGS) $< -o $@
|
||||
|
||||
$(BUILD)/src/dave_d0lib.o: override CFLAGS += -Wno-unused-value
|
||||
$(BUILD)/src/dave_d0_mm_fixed_range.o: override CFLAGS += -Wno-unused-value
|
||||
|
||||
-include $(OBJS:%.o=%.d)
|
||||
66
src/drivers/dave2d/docs/files/code/dave_blit-c.html
Normal file
136
src/drivers/dave2d/docs/files/code/dave_context-c.html
Normal file
44
src/drivers/dave2d/docs/files/code/dave_dlist-c.html
Normal file
90
src/drivers/dave2d/docs/files/code/dave_driver-c.html
Normal file
46
src/drivers/dave2d/docs/files/code/dave_perfcount-c.html
Normal file
@ -0,0 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Profiling</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Profiling"></a>Profiling</h1><div class=CBody><p>Performance measurement counter functions</p><p>Check D2FB_PERFCOUNT bit of <a href="dave_driver-c.html#d2_getrevisionhw" class=LFunction id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">d2_getrevisionhw</a> to see if performance counters are available.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Profiling" >Profiling</a></td><td class=SDescription>Performance measurement counter functions</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Performance_counting" >Performance counting</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setperfcountevent" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">d2_setperfcountevent</a></td><td class=SDescription>Set the event to be counted by performance counter.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setperfcountvalue" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">d2_setperfcountvalue</a></td><td class=SDescription>Set the current performance counter value.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getperfcountvalue" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">d2_getperfcountvalue</a></td><td class=SDescription>Get the current performance counter value.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
|
||||
|
||||
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Performance_counting"></a>Performance counting</h3></div></div>
|
||||
|
||||
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setperfcountevent"></a>d2_setperfcountevent</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_setperfcountevent(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>counter,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>event</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the event to be counted by performance counter.</p><p>Does not work while D/AVE is active! When calling this while D/AVE is active executing a display list, rendering errors or even hangups can occur.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>counter</td><td class=CDLDescription>0 or 1: which of both available performance counters to use</td></tr><tr><td class=CDLEntry>event</td><td class=CDLDescription>which events the selected performance counter has to count</td></tr></table><h4 class=CHeading>events</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_pc_disable</td><td class=CDLDescription>disable performance counter</td></tr><tr><td class=CDLEntry>d2_pc_davecycles</td><td class=CDLDescription>DAVE active cycles</td></tr><tr><td class=CDLEntry>d2_pc_fbreads</td><td class=CDLDescription>framebuffer read access</td></tr><tr><td class=CDLEntry>d2_pc_fbwrites</td><td class=CDLDescription>framebuffer write access</td></tr><tr><td class=CDLEntry>d2_pc_texreads</td><td class=CDLDescription>texture read access</td></tr><tr><td class=CDLEntry>d2_pc_invpixels</td><td class=CDLDescription>invisible pixels (enumerated but selected with alpha 0%)</td></tr><tr><td class=CDLEntry>d2_pc_invpixels_miss</td><td class=CDLDescription>invisible pixels while internal fifo is empty (lost cycles)</td></tr><tr><td class=CDLEntry>d2_pc_dlrcycles</td><td class=CDLDescription>displaylist reader active cycles</td></tr><tr><td class=CDLEntry>d2_pc_fbreadhits</td><td class=CDLDescription>framebuffer read hits</td></tr><tr><td class=CDLEntry>d2_pc_fbreadmisses</td><td class=CDLDescription>framebuffer read misses</td></tr><tr><td class=CDLEntry>d2_pc_fbwritehits</td><td class=CDLDescription>framebuffer write hits</td></tr><tr><td class=CDLEntry>d2_pc_fbwritemisses</td><td class=CDLDescription>framebuffer write misses</td></tr><tr><td class=CDLEntry>d2_pc_texreadhits</td><td class=CDLDescription>texture read hits</td></tr><tr><td class=CDLEntry>d2_pc_texreadmisses</td><td class=CDLDescription>texture read misses</td></tr><tr><td class=CDLEntry>d2_pc_clkcycles</td><td class=CDLDescription>every clock cycle (for use as timer)</td></tr><tr><td class=CDLEntry>d2_pc_dlrburstreads</td><td class=CDLDescription>displaylist reader burst reads</td></tr><tr><td class=CDLEntry>d2_pc_dlrwordsread</td><td class=CDLDescription>displaylist reader words read</td></tr><tr><td class=CDLEntry>d2_pc_rlerewinds</td><td class=CDLDescription>texture rle decoder rewinds</td></tr><tr><td class=CDLEntry>d2_pc_texburstreads</td><td class=CDLDescription>texture cache burst reads</td></tr><tr><td class=CDLEntry>d2_pc_texwordsread</td><td class=CDLDescription>texture cache words read</td></tr><tr><td class=CDLEntry>d2_pc_fbburstreads</td><td class=CDLDescription>framebuffer cache burst reads</td></tr><tr><td class=CDLEntry>d2_pc_fbwordsread</td><td class=CDLDescription>framebuffer cache words read</td></tr><tr><td class=CDLEntry>d2_pc_fbburstwrites</td><td class=CDLDescription>framebuffer cache burst writes</td></tr><tr><td class=CDLEntry>d2_pc_fbwordswritten</td><td class=CDLDescription>framebuffer cache words written</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">Errorcodes</a> for details</p></div></div></div>
|
||||
|
||||
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setperfcountvalue"></a>d2_setperfcountvalue</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_setperfcountvalue(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>counter,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_slong </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>value</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set the current performance counter value.</p><p>Does not work while D/AVE is active! When calling this while D/AVE is active executing a display list, rendering errors or even hangups can occur.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>counter</td><td class=CDLDescription>0 or 1: which of both available performance counters to use</td></tr><tr><td class=CDLEntry>value</td><td class=CDLDescription>value to be set: 0 for reset</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successfull) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link8 onMouseOver="ShowTip(event, 'tt6', 'link8')" onMouseOut="HideTip('tt6')">Errorcodes</a> for details</p></div></div></div>
|
||||
|
||||
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getperfcountvalue"></a>d2_getperfcountvalue</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_slong d2_getperfcountvalue(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>counter</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Get the current performance counter value.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>handle</td><td class=CDLDescription>device pointer (see: <a href="dave_driver-c.html#d2_opendevice" class=LFunction id=link9 onMouseOver="ShowTip(event, 'tt5', 'link9')" onMouseOut="HideTip('tt5')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>counter</td><td class=CDLDescription>0 or 1: which of both available performance counters to use</td></tr></table><h4 class=CHeading>returns</h4><p>current counter register value</p></div></div></div>
|
||||
|
||||
</div><!--Content-->
|
||||
|
||||
|
||||
<div id=Footer>© 2016 by TES Electronic Solutions · <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
|
||||
|
||||
|
||||
<div id=Menu><div class=MEntry><div class=MFile><a href="../doc/overview-txt.html">Driver Overview</a></div></div><div class=MEntry><div class=MFile><a href="../doc/limitations-txt.html">Limitations</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_driver-h.html">Basic Types</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">API</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="dave_driver-c.html">Basic Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_viewport-c.html">Viewport Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_context-c.html">Context Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_texture-c.html">Texture Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_render-c.html">Rendering Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_blit-c.html">Blit Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_rbuffer-c.html">Render Buffers</a></div></div><div class=MEntry><div class=MFile id=MSelected>Profiling</div></div><div class=MEntry><div class=MFile><a href="dave_utility-c.html">Utility Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_64bitoperation-c.html">Functions for 64bit operations</a></div></div><div class=MEntry><div class=MFile><a href="dave_dlist-c.html">Dlist Functions</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_math-h.html">Math Functions</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_errorcodes-h.html">Errorcodes</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Index</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
|
||||
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
|
||||
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Functions">Functions</option><option value="Types">Types</option></select></div></div><!--Menu-->
|
||||
|
||||
|
||||
|
||||
<!--START_ND_TOOLTIPS-->
|
||||
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_setperfcountevent(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>counter,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>event</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the event to be counted by performance counter.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_setperfcountvalue(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>counter,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_slong </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>value</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set the current performance counter value.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_slong d2_getperfcountvalue(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>counter</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Get the current performance counter value.</div></div><div class=CToolTip id="tt4"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_u32 d2_getrevisionhw(</td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Query hw revisionID. </div></div><div class=CToolTip id="tt5"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_device * d2_opendevice(</td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Create a new device handle.</div></div><div class=CToolTip id="tt6"><div class=CSection>List of all dave driver errorcodes.</div></div><!--END_ND_TOOLTIPS-->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
|
||||
|
||||
|
||||
<script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
92
src/drivers/dave2d/docs/files/code/dave_rbuffer-c.html
Normal file
82
src/drivers/dave2d/docs/files/code/dave_render-c.html
Normal file
78
src/drivers/dave2d/docs/files/code/dave_texture-c.html
Normal file
53
src/drivers/dave2d/docs/files/code/dave_utility-c.html
Normal file
50
src/drivers/dave2d/docs/files/code/dave_viewport-c.html
Normal file
BIN
src/drivers/dave2d/docs/files/doc/images/blit_mapping.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
src/drivers/dave2d/docs/files/doc/images/pattern.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/drivers/dave2d/docs/files/doc/images/pwe.gif
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
src/drivers/dave2d/docs/files/doc/images/trifan.gif
Normal file
|
After Width: | Height: | Size: 582 B |
BIN
src/drivers/dave2d/docs/files/doc/images/trilist.gif
Normal file
|
After Width: | Height: | Size: 568 B |
BIN
src/drivers/dave2d/docs/files/doc/images/tristrip.gif
Normal file
|
After Width: | Height: | Size: 591 B |
BIN
src/drivers/dave2d/docs/files/doc/images/wedge.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
src/drivers/dave2d/docs/files/doc/images/wedgeconcave.png
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
46
src/drivers/dave2d/docs/files/doc/limitations-txt.html
Normal file
80
src/drivers/dave2d/docs/files/doc/overview-txt.html
Normal file
@ -0,0 +1,80 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Driver Overview</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Driver_Overview"></a>Driver Overview</h1><div class=CBody><p>Overview of D/AVE 2D driver V3.14</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Driver_Overview" >Driver Overview</a></td><td class=SDescription>Overview of D/AVE 2D driver V3.14</td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Coding_conventions" >Coding conventions</a></td><td class=SDescription>Quickinfo about Dave2d Driver implementation</td></tr><tr class="SGeneric SIndent1"><td class=SEntry><a href="#Concept" >Concept</a></td><td class=SDescription>Basic objects and principles</td></tr><tr class="SGeneric SIndent1 SMarked"><td class=SEntry><a href="#Sample_code" >Sample code</a></td><td class=SDescription>Simple example of using the dave driver</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
|
||||
|
||||
<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Coding_conventions"></a>Coding conventions</h3><div class=CBody><p>Quickinfo about Dave2d Driver implementation</p><ul><li>interface and driver are pure ansi C</li><li>code is fully reentrant</li><li>all exports prefixed by <b>d2_</b></li><li>all files are prefixed by <b>dave_</b></li><li>all functions and types are entierly lowercase</li><li>all macros are entierly uppercase</li><li>all functions set an errorcode</li><li>only a single include is necessary from the clientside (dave_driver.h)</li></ul></div></div></div>
|
||||
|
||||
<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Concept"></a>Concept</h3><div class=CBody><p>Basic objects and principles</p><p>The driver allows direct access to all hardware features. Functionality not directly supported by hardware is not offered (emulated) by the driver.</p><ul><li>basic object is called a <b>device</b>. all functions require a device pointer as first parameter (see <opendevice>)</li><li>devices are assigned to a hardware unit before anything is rendered through them (see <inithw>)</li><li>material settings like color, texture, blending etc.. are stored in a context</li><li>shapes are rendered by <a href="../code/dave_render-c.html#Rendering_Functions" class=LSection id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">Rendering Functions</a> using the current context(s)</li><li>rendering does not happen immediately but fills a renderbuffer (see <a href="../code/dave_rbuffer-c.html#Render_Buffers" class=LSection id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">Render Buffers</a>)</li><li>renderbuffers can be executed totally in parallel (without any cpu interaction)</li><li>calling d2 functions from interrupt service routines is not recommended in general and must be done with care</li></ul></div></div></div>
|
||||
|
||||
<div class="CGeneric"><div class=CTopic><h3 class=CTitle><a name="Sample_code"></a>Sample code</h3><div class=CBody><p>Simple example of using the dave driver</p><p>Further information and examples can be found in the Driver Tutorial (software/tutorial/driver_tutorial.doc).</p><p>To create a device, allocate and initialize the hardware (errorchecks omitted for clarity) :</p><blockquote><pre class="prettyprint">#include "dave_driver.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
void *framebuffer;
|
||||
|
||||
// Use the default memory management functions and register a wrapper for the normal malloc, free and msize commands of the system.
|
||||
// Note: On some platforms a different memory manager for video and heap management may be required.
|
||||
// A different memory manager can be chosen by calling d0_initheapmanager(..) instead of d0_initdefaultheapmanager().
|
||||
|
||||
d0_initdefaultheapmanager(); // initialize D/AVE driver memory management interface
|
||||
|
||||
d2_device *handle = d2_opendevice( 0 ); // create a device
|
||||
d2_setdlistblocksize( handle, 25 ); // set blocksize for default displaylist
|
||||
d2_lowlocalmemmode( handle, 20, 10 ); // systems with low local CPU memory need this mode
|
||||
d2_inithw( handle, 0 ); // bind the hardware</pre></blockquote><p>now we setup a 32bit 640x480 pixel framebuffer using the lowlevel driver</p><blockquote><pre class="prettyprint">framebuffer = d1_allocvidmem(d2_level1interface(handle), d1_mem_display, 640*480*4);
|
||||
|
||||
// define address and memory organisation of framebuffer
|
||||
d2_framebuffer( handle, framebuffer, 640, 640, 480, d2_mode_rgb888 );</pre></blockquote><p>using the default context we can directly start and setup our material attributes</p><blockquote><pre class="prettyprint">d2_setcolor( handle, 0, 0xffffff ); // just simple white
|
||||
d2_setblendmode( handle, d2_bm_alpha, d2_bm_one_minus_alpha );
|
||||
d2_setalphamode( handle, d2_am_constant );
|
||||
d2_setalpha( handle, 0x7f ); // 50% transparency
|
||||
d2_setblur( handle, 4*16 );</pre></blockquote><p>the rendering happens inside an endless loop, as it is the case for most realtime animated graphics. In order to avoid having to deal with renderbuffers manual, we use the utility functions startframe and endframe to get automatic buffer management.</p><blockquote><pre class="prettyprint">d2_point x = 320*16;
|
||||
d2_point y = 240*16;
|
||||
//
|
||||
while (1)
|
||||
{
|
||||
d2_startframe( handle );
|
||||
d2_clear( handle, 0x000000 ); // clear the background
|
||||
|
||||
d2_rendercircle( handle, x, y, 64*16, 0 ); // draw our circle
|
||||
|
||||
d2_endframe( handle );
|
||||
|
||||
x += 1;
|
||||
y += 8;
|
||||
}</pre></blockquote></div></div></div>
|
||||
|
||||
</div><!--Content-->
|
||||
|
||||
|
||||
<div id=Footer>© 2016 by TES Electronic Solutions · <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
|
||||
|
||||
|
||||
<div id=Menu><div class=MEntry><div class=MFile id=MSelected>Driver Overview</div></div><div class=MEntry><div class=MFile><a href="limitations-txt.html">Limitations</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_driver-h.html">Basic Types</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">API</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../code/dave_driver-c.html">Basic Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_viewport-c.html">Viewport Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_context-c.html">Context Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_texture-c.html">Texture Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_render-c.html">Rendering Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_blit-c.html">Blit Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_rbuffer-c.html">Render Buffers</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_perfcount-c.html">Profiling</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_utility-c.html">Utility Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_64bitoperation-c.html">Functions for 64bit operations</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_dlist-c.html">Dlist Functions</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_math-h.html">Math Functions</a></div></div><div class=MEntry><div class=MFile><a href="../inc/dave_errorcodes-h.html">Errorcodes</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Index</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
|
||||
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
|
||||
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Functions">Functions</option><option value="Types">Types</option></select></div></div><!--Menu-->
|
||||
|
||||
|
||||
|
||||
<!--START_ND_TOOLTIPS-->
|
||||
<div class=CToolTip id="tt1"><div class=CSection>There is a rendering function for each supported geometric shape.</div></div><div class=CToolTip id="tt2"><div class=CSection>Renderbuffers (similar in concept to OpenGL display lists) are the main interface between driver and hardware.</div></div><!--END_ND_TOOLTIPS-->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
|
||||
|
||||
|
||||
<script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
60
src/drivers/dave2d/docs/files/inc/dave_driver-h.html
Normal file
38
src/drivers/dave2d/docs/files/inc/dave_errorcodes-h.html
Normal file
@ -0,0 +1,38 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Errorcodes</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Errorcodes"></a>Errorcodes</h1><div class=CBody><p>List of all dave driver errorcodes.</p><p>Every device stores the errorcode returned by the last function executed for this device. Successfull operations reset this code to D2_OK.</p><p>Latest errorcode can be queried by <a href="../code/dave_driver-c.html#d2_geterror" class=LFunction id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">d2_geterror</a> / <a href="../code/dave_driver-c.html#d2_geterrorstring" class=LFunction id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">d2_geterrorstring</a> functions</p><h4 class=CHeading>Errorcodes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>D2_OK</td><td class=CDLDescription>success</td></tr><tr><td class=CDLEntry>D2_NOMEMORY</td><td class=CDLDescription>memory allocation failed</td></tr><tr><td class=CDLEntry>D2_INVALIDDEVICE</td><td class=CDLDescription>invalid device</td></tr><tr><td class=CDLEntry>D2_INVALIDCONTEXT</td><td class=CDLDescription>invalid rendering context</td></tr><tr><td class=CDLEntry>D2_INVALIDBUFFER</td><td class=CDLDescription>invalid renderbuffer context</td></tr><tr><td class=CDLEntry>D2_HWINUSE</td><td class=CDLDescription>hardware device already in use</td></tr><tr><td class=CDLEntry>D2_DEVASSIGNED</td><td class=CDLDescription>device already assigned</td></tr><tr><td class=CDLEntry>D2_DEFCONTEXT</td><td class=CDLDescription>cannot operate on default context</td></tr><tr><td class=CDLEntry>D2_INVALIDINDEX</td><td class=CDLDescription>index is out of bounds</td></tr><tr><td class=CDLEntry>D2_ILLEGALMODE</td><td class=CDLDescription>rendermode not supported</td></tr><tr><td class=CDLEntry>D2_INVALIDWIDTH</td><td class=CDLDescription>width out of legal range</td></tr><tr><td class=CDLEntry>D2_INVALIDHEIGHT</td><td class=CDLDescription>height out of legal range</td></tr><tr><td class=CDLEntry>D2_NOVIDEOMEM</td><td class=CDLDescription>illegal framebuffer address</td></tr><tr><td class=CDLEntry>D2_VALUETOOSMALL</td><td class=CDLDescription>parameter too close to zero</td></tr><tr><td class=CDLEntry>D2_VALUENEGATIVE</td><td class=CDLDescription>parameter is negative</td></tr><tr><td class=CDLEntry>D2_VALUETOOBIG</td><td class=CDLDescription>parameter value is too large</td></tr><tr><td class=CDLEntry>D2_INVALIDENUM</td><td class=CDLDescription>unsupported mode</td></tr><tr><td class=CDLEntry>D2_NULLPOINTER</td><td class=CDLDescription>source pointer may not be null</td></tr><tr><td class=CDLEntry>D2_DEVICEBUSY</td><td class=CDLDescription>operation cannot execute while hardware is busy</td></tr><tr><td class=CDLEntry>D2_DEFBUFFER</td><td class=CDLDescription>cannot operate on default buffer</td></tr><tr><td class=CDLEntry>D2_NO_DISPLAYLIST</td><td class=CDLDescription>usage of displaylists a mandatory in d2_low_localmemmode</td></tr><tr><td class=CDLEntry>D2_NOT_ENOUGH_DLISTBLOCKS</td><td class=CDLDescription>amount of displaylist blocks as specified in <a href="../code/dave_driver-c.html#d2_lowlocalmemmode" class=LFunction id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">d2_lowlocalmemmode</a> is not sufficient</td></tr></table></div></div></div>
|
||||
|
||||
</div><!--Content-->
|
||||
|
||||
|
||||
<div id=Footer>© 2016 by TES Electronic Solutions · <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
|
||||
|
||||
|
||||
<div id=Menu><div class=MEntry><div class=MFile><a href="../doc/overview-txt.html">Driver Overview</a></div></div><div class=MEntry><div class=MFile><a href="../doc/limitations-txt.html">Limitations</a></div></div><div class=MEntry><div class=MFile><a href="dave_driver-h.html">Basic Types</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">API</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../code/dave_driver-c.html">Basic Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_viewport-c.html">Viewport Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_context-c.html">Context Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_texture-c.html">Texture Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_render-c.html">Rendering Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_blit-c.html">Blit Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_rbuffer-c.html">Render Buffers</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_perfcount-c.html">Profiling</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_utility-c.html">Utility Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_64bitoperation-c.html">Functions for 64bit operations</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_dlist-c.html">Dlist Functions</a></div></div><div class=MEntry><div class=MFile><a href="dave_math-h.html">Math Functions</a></div></div><div class=MEntry><div class=MFile id=MSelected>Errorcodes</div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Index</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
|
||||
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
|
||||
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Functions">Functions</option><option value="Types">Types</option></select></div></div><!--Menu-->
|
||||
|
||||
|
||||
|
||||
<!--START_ND_TOOLTIPS-->
|
||||
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_geterror(</td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Query device error information.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>const d2_char * d2_geterrorstring(</td><td class="PTypePrefix prettyprint " nowrap>const </td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Query detailed device error information.</div></div><div class=CToolTip id="tt3"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>d2_s32 d2_lowlocalmemmode(</td><td class="PType prettyprint " nowrap>d2_device </td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dlistblockfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dlistblocks</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Enable and configure the ‘low localmem’ mode.</div></div><!--END_ND_TOOLTIPS-->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
|
||||
|
||||
|
||||
<script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
68
src/drivers/dave2d/docs/files/inc/dave_math-h.html
Normal file
@ -0,0 +1,68 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Math Functions</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/prettify.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad();prettyPrint();"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Math_Functions"></a>Math Functions</h1><div class=CBody><p>Package of useful macros and functions e.g. for fixedpoint operations.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#Math_Functions" >Math Functions</a></td><td class=SDescription>Package of useful macros and functions e.g. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Fixedpoint_Macros" >Fixedpoint Macros</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#D2_FIX4(x)" >D2_FIX4(x)</a></td><td class=SDescription>Integer to n:4 fixedpoint conversion</td></tr><tr class="SMacro SIndent2"><td class=SEntry><a href="#D2_INT4(x)" >D2_INT4(x)</a></td><td class=SDescription>n:4 to integer conversion</td></tr><tr class="SMacro SIndent2 SMarked"><td class=SEntry><a href="#D2_FLOOR4(x)" >D2_FLOOR4(x)</a></td><td class=SDescription>n:4 fixedpoint unsigned floor (round towards -inf)</td></tr><tr class="SMacro SIndent2"><td class=SEntry><a href="#D2_CEIL4(x)" >D2_CEIL4(x)</a></td><td class=SDescription>n:4 fixedpoint unsigned ceil (round towards +inf)</td></tr><tr class="SMacro SIndent2 SMarked"><td class=SEntry><a href="#D2_FRAC4(x)" >D2_FRAC4(x)</a></td><td class=SDescription>n:4 fixedpoint fractional part only</td></tr><tr class="SMacro SIndent2"><td class=SEntry><a href="#D2_FIX16(x)" >D2_FIX16(x)</a></td><td class=SDescription>integer to n:16 fixedpoint conversion</td></tr><tr class="SMacro SIndent2 SMarked"><td class=SEntry><a href="#D2_INT16(x)" >D2_INT16(x)</a></td><td class=SDescription>n:16 to integer conversion</td></tr><tr class="SMacro SIndent2"><td class=SEntry><a href="#D2_FLOOR16(x)" >D2_FLOOR16(x)</a></td><td class=SDescription>n:16 fixedpoint unsigned floor (round towards -inf)</td></tr><tr class="SMacro SIndent2 SMarked"><td class=SEntry><a href="#D2_CEIL16(x)" >D2_CEIL16(x)</a></td><td class=SDescription>n:16 fixedpoint unsigned ceil (round towards +inf)</td></tr><tr class="SMacro SIndent2"><td class=SEntry><a href="#D2_FRAC16(x)" >D2_FRAC16(x)</a></td><td class=SDescription>n:16 fixedpoint fractional part only</td></tr><tr class="SMacro SIndent2 SMarked"><td class=SEntry><a href="#D2_EPSILON" >D2_EPSILON</a></td><td class=SDescription>Smallest representable positive number (all fixedpoint formats)</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Math_Functions" >Math Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_sqrt" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">d2_sqrt</a></td><td class=SDescription>Minimalistic 32->16 bit integer square root (no hw divide/multiply needed) unrolled for speed.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_pow2mask" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">d2_pow2mask</a></td><td class=SDescription>Find next larger power of two minus 1</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
|
||||
|
||||
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Fixedpoint_Macros"></a>Fixedpoint Macros</h3></div></div>
|
||||
|
||||
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="D2_FIX4(x)"></a>D2_FIX4(x)</h3><div class=CBody><p>Integer to n:4 fixedpoint conversion</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_INT4(x)"></a>D2_INT4(x)</h3><div class=CBody><p>n:4 to integer conversion</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_FLOOR4(x)"></a>D2_FLOOR4(x)</h3><div class=CBody><p>n:4 fixedpoint unsigned floor (round towards -inf)</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_CEIL4(x)"></a>D2_CEIL4(x)</h3><div class=CBody><p>n:4 fixedpoint unsigned ceil (round towards +inf)</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_FRAC4(x)"></a>D2_FRAC4(x)</h3><div class=CBody><p>n:4 fixedpoint fractional part only</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_FIX16(x)"></a>D2_FIX16(x)</h3><div class=CBody><p>integer to n:16 fixedpoint conversion</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_INT16(x)"></a>D2_INT16(x)</h3><div class=CBody><p>n:16 to integer conversion</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_FLOOR16(x)"></a>D2_FLOOR16(x)</h3><div class=CBody><p>n:16 fixedpoint unsigned floor (round towards -inf)</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_CEIL16(x)"></a>D2_CEIL16(x)</h3><div class=CBody><p>n:16 fixedpoint unsigned ceil (round towards +inf)</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_FRAC16(x)"></a>D2_FRAC16(x)</h3><div class=CBody><p>n:16 fixedpoint fractional part only</p></div></div></div>
|
||||
|
||||
<div class="CMacro"><div class=CTopic><h3 class=CTitle><a name="D2_EPSILON"></a>D2_EPSILON</h3><div class=CBody><p>Smallest representable positive number (all fixedpoint formats)</p></div></div></div>
|
||||
|
||||
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Math_Functions"></a>Math Functions</h3></div></div>
|
||||
|
||||
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_sqrt"></a>d2_sqrt</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>D2_EXTERN d2_s32 d2_sqrt(</td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameter prettyprint " nowrap>x</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Minimalistic 32->16 bit integer square root (no hw divide/multiply needed) unrolled for speed.</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>fixedpoint number</td></tr></table><h4 class=CHeading>returns</h4><p>the square root of x</p></div></div></div>
|
||||
|
||||
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_pow2mask"></a>d2_pow2mask</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>D2_EXTERN d2_u32 d2_pow2mask(</td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameter prettyprint " nowrap>x</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Find next larger power of two minus 1</p><p>E.g. given number x=73 -> next larger power of two is 128, the result is 128 minus 1 = 127 (number with all bits set)</p><h4 class=CHeading>parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>positive number</td></tr></table><h4 class=CHeading>returns</h4><p>the next larger number of two minus 1 of x</p></div></div></div>
|
||||
|
||||
</div><!--Content-->
|
||||
|
||||
|
||||
<div id=Footer>© 2016 by TES Electronic Solutions · <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
|
||||
|
||||
|
||||
<div id=Menu><div class=MEntry><div class=MFile><a href="../doc/overview-txt.html">Driver Overview</a></div></div><div class=MEntry><div class=MFile><a href="../doc/limitations-txt.html">Limitations</a></div></div><div class=MEntry><div class=MFile><a href="dave_driver-h.html">Basic Types</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">API</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../code/dave_driver-c.html">Basic Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_viewport-c.html">Viewport Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_context-c.html">Context Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_texture-c.html">Texture Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_render-c.html">Rendering Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_blit-c.html">Blit Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_rbuffer-c.html">Render Buffers</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_perfcount-c.html">Profiling</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_utility-c.html">Utility Functions</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_64bitoperation-c.html">Functions for 64bit operations</a></div></div><div class=MEntry><div class=MFile><a href="../code/dave_dlist-c.html">Dlist Functions</a></div></div><div class=MEntry><div class=MFile id=MSelected>Math Functions</div></div><div class=MEntry><div class=MFile><a href="dave_errorcodes-h.html">Errorcodes</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Index</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Types.html">Types</a></div></div></div></div></div><script type="text/javascript"><!--
|
||||
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
|
||||
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Functions">Functions</option><option value="Types">Types</option></select></div></div><!--Menu-->
|
||||
|
||||
|
||||
|
||||
<!--START_ND_TOOLTIPS-->
|
||||
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>D2_EXTERN d2_s32 d2_sqrt(</td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameter prettyprint " nowrap>x</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Minimalistic 32->16 bit integer square root (no hw divide/multiply needed) unrolled for speed.</div></div><div class=CToolTip id="tt2"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>D2_EXTERN d2_u32 d2_pow2mask(</td><td class="PType prettyprint " nowrap>d2_u32 </td><td class="PParameter prettyprint " nowrap>x</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Find next larger power of two minus 1</div></div><!--END_ND_TOOLTIPS-->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
|
||||
|
||||
|
||||
<script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
1
src/drivers/dave2d/docs/index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><head><meta http-equiv="Refresh" CONTENT="0; URL=files/doc/overview-txt.html"></head></html>
|
||||
53
src/drivers/dave2d/docs/index/Functions.html
Normal file
61
src/drivers/dave2d/docs/index/Functions2.html
Normal file
33
src/drivers/dave2d/docs/index/Functions3.html
Normal file
37
src/drivers/dave2d/docs/index/Functions4.html
Normal file
53
src/drivers/dave2d/docs/index/General.html
Normal file
61
src/drivers/dave2d/docs/index/General2.html
Normal file
33
src/drivers/dave2d/docs/index/General3.html
Normal file
45
src/drivers/dave2d/docs/index/General4.html
Normal file
33
src/drivers/dave2d/docs/index/Types.html
Normal file
@ -0,0 +1,33 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Type Index</title><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="IndexPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=IPageTitle>Type Index</div><div class=INavigationBar>$#! · 0-9 · A · B · C · <a href="#D">D</a> · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z</div><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading><a name="D"></a>D</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_alpha" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')" class=ISymbol>d2_alpha</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_blitpos" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')" class=ISymbol>d2_blitpos</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_border" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')" class=ISymbol>d2_border</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_color" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')" class=ISymbol>d2_color</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_context" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')" class=ISymbol>d2_context</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_device" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')" class=ISymbol>d2_device</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_pattern" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')" class=ISymbol>d2_pattern</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_point" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')" class=ISymbol>d2_point</a></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_renderbuffer" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')" class=ISymbol>d2_renderbuffer</a></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><a href="../files/inc/dave_driver-h.html#d2_width" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')" class=ISymbol>d2_width</a></td></tr></table>
|
||||
<!--START_ND_TOOLTIPS-->
|
||||
<div class=CToolTip id="tt1"><div class=CType>unsigned char</div></div><div class=CToolTip id="tt2"><div class=CType>unsigned short</div></div><div class=CToolTip id="tt3"><div class=CType>short</div></div><div class=CToolTip id="tt4"><div class=CType>unsigned long</div></div><div class=CToolTip id="tt5"><div class=CType>void</div></div><div class=CToolTip id="tt6"><div class=CType>void</div></div><div class=CToolTip id="tt7"><div class=CType>unsigned long</div></div><div class=CToolTip id="tt8"><div class=CType>short (<b>fixedpoint</b>)</div></div><div class=CToolTip id="tt9"><div class=CType>void</div></div><div class=CToolTip id="tt10"><div class=CType>short (<b>fixedpoint</b>)</div></div><!--END_ND_TOOLTIPS-->
|
||||
|
||||
</div><!--Index-->
|
||||
|
||||
|
||||
<div id=Footer>© 2016 by TES Electronic Solutions · <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->
|
||||
|
||||
|
||||
<div id=Menu><div class=MEntry><div class=MFile><a href="../files/doc/overview-txt.html">Driver Overview</a></div></div><div class=MEntry><div class=MFile><a href="../files/doc/limitations-txt.html">Limitations</a></div></div><div class=MEntry><div class=MFile><a href="../files/inc/dave_driver-h.html">Basic Types</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">API</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../files/code/dave_driver-c.html">Basic Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_viewport-c.html">Viewport Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_context-c.html">Context Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_texture-c.html">Texture Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_render-c.html">Rendering Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_blit-c.html">Blit Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_rbuffer-c.html">Render Buffers</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_perfcount-c.html">Profiling</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_utility-c.html">Utility Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_64bitoperation-c.html">Functions for 64bit operations</a></div></div><div class=MEntry><div class=MFile><a href="../files/code/dave_dlist-c.html">Dlist Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/inc/dave_math-h.html">Math Functions</a></div></div><div class=MEntry><div class=MFile><a href="../files/inc/dave_errorcodes-h.html">Errorcodes</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Index</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MIndex><a href="General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex id=MSelected>Types</div></div></div></div></div><script type="text/javascript"><!--
|
||||
var searchPanel = new SearchPanel("searchPanel", "HTML", "../search");
|
||||
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option id=MSearchEverything selected value="General">Everything</option><option value="Functions">Functions</option><option value="Types">Types</option></select></div></div><!--Menu-->
|
||||
|
||||
|
||||
<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>
|
||||
|
||||
|
||||
<script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
841
src/drivers/dave2d/docs/javascript/main.js
Normal file
@ -0,0 +1,841 @@
|
||||
// This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure
|
||||
// Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL)
|
||||
// Refer to License.txt for the complete details
|
||||
|
||||
// This file may be distributed with documentation files generated by Natural Docs.
|
||||
// Such documentation is not covered by Natural Docs' copyright and licensing,
|
||||
// and may have its own copyright and distribution terms as decided by its author.
|
||||
|
||||
|
||||
//
|
||||
// Browser Styles
|
||||
// ____________________________________________________________________________
|
||||
|
||||
var agt=navigator.userAgent.toLowerCase();
|
||||
var browserType;
|
||||
var browserVer;
|
||||
|
||||
if (agt.indexOf("opera") != -1)
|
||||
{
|
||||
browserType = "Opera";
|
||||
|
||||
if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
|
||||
{ browserVer = "Opera7"; }
|
||||
else if (agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1)
|
||||
{ browserVer = "Opera8"; }
|
||||
else if (agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1)
|
||||
{ browserVer = "Opera9"; }
|
||||
}
|
||||
|
||||
else if (agt.indexOf("applewebkit") != -1)
|
||||
{
|
||||
browserType = "Safari";
|
||||
|
||||
if (agt.indexOf("version/3") != -1)
|
||||
{ browserVer = "Safari3"; }
|
||||
else if (agt.indexOf("safari/4") != -1)
|
||||
{ browserVer = "Safari2"; }
|
||||
}
|
||||
|
||||
else if (agt.indexOf("khtml") != -1)
|
||||
{
|
||||
browserType = "Konqueror";
|
||||
}
|
||||
|
||||
else if (agt.indexOf("msie") != -1)
|
||||
{
|
||||
browserType = "IE";
|
||||
|
||||
if (agt.indexOf("msie 6") != -1)
|
||||
{ browserVer = "IE6"; }
|
||||
else if (agt.indexOf("msie 7") != -1)
|
||||
{ browserVer = "IE7"; }
|
||||
}
|
||||
|
||||
else if (agt.indexOf("gecko") != -1)
|
||||
{
|
||||
browserType = "Firefox";
|
||||
|
||||
if (agt.indexOf("rv:1.7") != -1)
|
||||
{ browserVer = "Firefox1"; }
|
||||
else if (agt.indexOf("rv:1.8)") != -1 || agt.indexOf("rv:1.8.0") != -1)
|
||||
{ browserVer = "Firefox15"; }
|
||||
else if (agt.indexOf("rv:1.8.1") != -1)
|
||||
{ browserVer = "Firefox2"; }
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Support Functions
|
||||
// ____________________________________________________________________________
|
||||
|
||||
|
||||
function GetXPosition(item)
|
||||
{
|
||||
var position = 0;
|
||||
|
||||
if (item.offsetWidth != null)
|
||||
{
|
||||
while (item != document.body && item != null)
|
||||
{
|
||||
position += item.offsetLeft;
|
||||
item = item.offsetParent;
|
||||
};
|
||||
};
|
||||
|
||||
return position;
|
||||
};
|
||||
|
||||
|
||||
function GetYPosition(item)
|
||||
{
|
||||
var position = 0;
|
||||
|
||||
if (item.offsetWidth != null)
|
||||
{
|
||||
while (item != document.body && item != null)
|
||||
{
|
||||
position += item.offsetTop;
|
||||
item = item.offsetParent;
|
||||
};
|
||||
};
|
||||
|
||||
return position;
|
||||
};
|
||||
|
||||
|
||||
function MoveToPosition(item, x, y)
|
||||
{
|
||||
// Opera 5 chokes on the px extension, so it can use the Microsoft one instead.
|
||||
|
||||
if (item.style.left != null)
|
||||
{
|
||||
item.style.left = x + "px";
|
||||
item.style.top = y + "px";
|
||||
}
|
||||
else if (item.style.pixelLeft != null)
|
||||
{
|
||||
item.style.pixelLeft = x;
|
||||
item.style.pixelTop = y;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// Menu
|
||||
// ____________________________________________________________________________
|
||||
|
||||
|
||||
function ToggleMenu(id)
|
||||
{
|
||||
if (!window.document.getElementById)
|
||||
{ return; };
|
||||
|
||||
var display = window.document.getElementById(id).style.display;
|
||||
|
||||
if (display == "none")
|
||||
{ display = "block"; }
|
||||
else
|
||||
{ display = "none"; }
|
||||
|
||||
window.document.getElementById(id).style.display = display;
|
||||
}
|
||||
|
||||
function HideAllBut(ids, max)
|
||||
{
|
||||
if (document.getElementById)
|
||||
{
|
||||
ids.sort( function(a,b) { return a - b; } );
|
||||
var number = 1;
|
||||
|
||||
while (number < max)
|
||||
{
|
||||
if (ids.length > 0 && number == ids[0])
|
||||
{ ids.shift(); }
|
||||
else
|
||||
{
|
||||
document.getElementById("MGroupContent" + number).style.display = "none";
|
||||
};
|
||||
|
||||
number++;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Tooltips
|
||||
// ____________________________________________________________________________
|
||||
|
||||
|
||||
var tooltipTimer = 0;
|
||||
|
||||
function ShowTip(event, tooltipID, linkID)
|
||||
{
|
||||
if (tooltipTimer)
|
||||
{ clearTimeout(tooltipTimer); };
|
||||
|
||||
var docX = event.clientX + window.pageXOffset;
|
||||
var docY = event.clientY + window.pageYOffset;
|
||||
|
||||
var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")";
|
||||
|
||||
tooltipTimer = setTimeout(showCommand, 1000);
|
||||
}
|
||||
|
||||
function ReallyShowTip(tooltipID, linkID, docX, docY)
|
||||
{
|
||||
tooltipTimer = 0;
|
||||
|
||||
var tooltip;
|
||||
var link;
|
||||
|
||||
if (document.getElementById)
|
||||
{
|
||||
tooltip = document.getElementById(tooltipID);
|
||||
link = document.getElementById(linkID);
|
||||
}
|
||||
/* else if (document.all)
|
||||
{
|
||||
tooltip = eval("document.all['" + tooltipID + "']");
|
||||
link = eval("document.all['" + linkID + "']");
|
||||
}
|
||||
*/
|
||||
if (tooltip)
|
||||
{
|
||||
var left = GetXPosition(link);
|
||||
var top = GetYPosition(link);
|
||||
top += link.offsetHeight;
|
||||
|
||||
|
||||
// The fallback method is to use the mouse X and Y relative to the document. We use a separate if and test if its a number
|
||||
// in case some browser snuck through the above if statement but didn't support everything.
|
||||
|
||||
if (!isFinite(top) || top == 0)
|
||||
{
|
||||
left = docX;
|
||||
top = docY;
|
||||
}
|
||||
|
||||
// Some spacing to get it out from under the cursor.
|
||||
|
||||
top += 10;
|
||||
|
||||
// Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the
|
||||
// page. We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right.
|
||||
|
||||
if (tooltip.offsetWidth != null)
|
||||
{
|
||||
var width = tooltip.offsetWidth;
|
||||
var docWidth = document.body.clientWidth;
|
||||
|
||||
if (left + width > docWidth)
|
||||
{ left = docWidth - width - 1; }
|
||||
|
||||
// If there's a horizontal scroll bar we could go past zero because it's using the page width, not the window width.
|
||||
if (left < 0)
|
||||
{ left = 0; };
|
||||
}
|
||||
|
||||
MoveToPosition(tooltip, left, top);
|
||||
tooltip.style.visibility = "visible";
|
||||
}
|
||||
}
|
||||
|
||||
function HideTip(tooltipID)
|
||||
{
|
||||
if (tooltipTimer)
|
||||
{
|
||||
clearTimeout(tooltipTimer);
|
||||
tooltipTimer = 0;
|
||||
}
|
||||
|
||||
var tooltip;
|
||||
|
||||
if (document.getElementById)
|
||||
{ tooltip = document.getElementById(tooltipID); }
|
||||
else if (document.all)
|
||||
{ tooltip = eval("document.all['" + tooltipID + "']"); }
|
||||
|
||||
if (tooltip)
|
||||
{ tooltip.style.visibility = "hidden"; }
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Blockquote fix for IE
|
||||
// ____________________________________________________________________________
|
||||
|
||||
|
||||
function NDOnLoad()
|
||||
{
|
||||
if (browserVer == "IE6")
|
||||
{
|
||||
var scrollboxes = document.getElementsByTagName('blockquote');
|
||||
|
||||
if (scrollboxes.item(0))
|
||||
{
|
||||
NDDoResize();
|
||||
window.onresize=NDOnResize;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
var resizeTimer = 0;
|
||||
|
||||
function NDOnResize()
|
||||
{
|
||||
if (resizeTimer != 0)
|
||||
{ clearTimeout(resizeTimer); };
|
||||
|
||||
resizeTimer = setTimeout(NDDoResize, 250);
|
||||
};
|
||||
|
||||
|
||||
function NDDoResize()
|
||||
{
|
||||
var scrollboxes = document.getElementsByTagName('blockquote');
|
||||
|
||||
var i;
|
||||
var item;
|
||||
|
||||
i = 0;
|
||||
while (item = scrollboxes.item(i))
|
||||
{
|
||||
item.style.width = 100;
|
||||
i++;
|
||||
};
|
||||
|
||||
i = 0;
|
||||
while (item = scrollboxes.item(i))
|
||||
{
|
||||
item.style.width = item.parentNode.offsetWidth;
|
||||
i++;
|
||||
};
|
||||
|
||||
clearTimeout(resizeTimer);
|
||||
resizeTimer = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ________________________________________________________________________________________________________
|
||||
|
||||
Class: SearchPanel
|
||||
________________________________________________________________________________________________________
|
||||
|
||||
A class handling everything associated with the search panel.
|
||||
|
||||
Parameters:
|
||||
|
||||
name - The name of the global variable that will be storing this instance. Is needed to be able to set timeouts.
|
||||
mode - The mode the search is going to work in. Pass <NaturalDocs::Builder::Base->CommandLineOption()>, so the
|
||||
value will be something like "HTML" or "FramedHTML".
|
||||
|
||||
________________________________________________________________________________________________________
|
||||
*/
|
||||
|
||||
|
||||
function SearchPanel(name, mode, resultsPath)
|
||||
{
|
||||
if (!name || !mode || !resultsPath)
|
||||
{ alert("Incorrect parameters to SearchPanel."); };
|
||||
|
||||
|
||||
// Group: Variables
|
||||
// ________________________________________________________________________
|
||||
|
||||
/*
|
||||
var: name
|
||||
The name of the global variable that will be storing this instance of the class.
|
||||
*/
|
||||
this.name = name;
|
||||
|
||||
/*
|
||||
var: mode
|
||||
The mode the search is going to work in, such as "HTML" or "FramedHTML".
|
||||
*/
|
||||
this.mode = mode;
|
||||
|
||||
/*
|
||||
var: resultsPath
|
||||
The relative path from the current HTML page to the results page directory.
|
||||
*/
|
||||
this.resultsPath = resultsPath;
|
||||
|
||||
/*
|
||||
var: keyTimeout
|
||||
The timeout used between a keystroke and when a search is performed.
|
||||
*/
|
||||
this.keyTimeout = 0;
|
||||
|
||||
/*
|
||||
var: keyTimeoutLength
|
||||
The length of <keyTimeout> in thousandths of a second.
|
||||
*/
|
||||
this.keyTimeoutLength = 500;
|
||||
|
||||
/*
|
||||
var: lastSearchValue
|
||||
The last search string executed, or an empty string if none.
|
||||
*/
|
||||
this.lastSearchValue = "";
|
||||
|
||||
/*
|
||||
var: lastResultsPage
|
||||
The last results page. The value is only relevant if <lastSearchValue> is set.
|
||||
*/
|
||||
this.lastResultsPage = "";
|
||||
|
||||
/*
|
||||
var: deactivateTimeout
|
||||
|
||||
The timeout used between when a control is deactivated and when the entire panel is deactivated. Is necessary
|
||||
because a control may be deactivated in favor of another control in the same panel, in which case it should stay
|
||||
active.
|
||||
*/
|
||||
this.deactivateTimout = 0;
|
||||
|
||||
/*
|
||||
var: deactivateTimeoutLength
|
||||
The length of <deactivateTimeout> in thousandths of a second.
|
||||
*/
|
||||
this.deactivateTimeoutLength = 200;
|
||||
|
||||
|
||||
|
||||
|
||||
// Group: DOM Elements
|
||||
// ________________________________________________________________________
|
||||
|
||||
|
||||
// Function: DOMSearchField
|
||||
this.DOMSearchField = function()
|
||||
{ return document.getElementById("MSearchField"); };
|
||||
|
||||
// Function: DOMSearchType
|
||||
this.DOMSearchType = function()
|
||||
{ return document.getElementById("MSearchType"); };
|
||||
|
||||
// Function: DOMPopupSearchResults
|
||||
this.DOMPopupSearchResults = function()
|
||||
{ return document.getElementById("MSearchResults"); };
|
||||
|
||||
// Function: DOMPopupSearchResultsWindow
|
||||
this.DOMPopupSearchResultsWindow = function()
|
||||
{ return document.getElementById("MSearchResultsWindow"); };
|
||||
|
||||
// Function: DOMSearchPanel
|
||||
this.DOMSearchPanel = function()
|
||||
{ return document.getElementById("MSearchPanel"); };
|
||||
|
||||
|
||||
|
||||
|
||||
// Group: Event Handlers
|
||||
// ________________________________________________________________________
|
||||
|
||||
|
||||
/*
|
||||
Function: OnSearchFieldFocus
|
||||
Called when focus is added or removed from the search field.
|
||||
*/
|
||||
this.OnSearchFieldFocus = function(isActive)
|
||||
{
|
||||
this.Activate(isActive);
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
Function: OnSearchFieldChange
|
||||
Called when the content of the search field is changed.
|
||||
*/
|
||||
this.OnSearchFieldChange = function()
|
||||
{
|
||||
if (this.keyTimeout)
|
||||
{
|
||||
clearTimeout(this.keyTimeout);
|
||||
this.keyTimeout = 0;
|
||||
};
|
||||
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
|
||||
|
||||
if (searchValue != this.lastSearchValue)
|
||||
{
|
||||
if (searchValue != "")
|
||||
{
|
||||
this.keyTimeout = setTimeout(this.name + ".Search()", this.keyTimeoutLength);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this.mode == "HTML")
|
||||
{ this.DOMPopupSearchResultsWindow().style.display = "none"; };
|
||||
this.lastSearchValue = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
Function: OnSearchTypeFocus
|
||||
Called when focus is added or removed from the search type.
|
||||
*/
|
||||
this.OnSearchTypeFocus = function(isActive)
|
||||
{
|
||||
this.Activate(isActive);
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
Function: OnSearchTypeChange
|
||||
Called when the search type is changed.
|
||||
*/
|
||||
this.OnSearchTypeChange = function()
|
||||
{
|
||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
|
||||
|
||||
if (searchValue != "")
|
||||
{
|
||||
this.Search();
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
// Group: Action Functions
|
||||
// ________________________________________________________________________
|
||||
|
||||
|
||||
/*
|
||||
Function: CloseResultsWindow
|
||||
Closes the results window.
|
||||
*/
|
||||
this.CloseResultsWindow = function()
|
||||
{
|
||||
this.DOMPopupSearchResultsWindow().style.display = "none";
|
||||
this.Activate(false, true);
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
Function: Search
|
||||
Performs a search.
|
||||
*/
|
||||
this.Search = function()
|
||||
{
|
||||
this.keyTimeout = 0;
|
||||
|
||||
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
|
||||
var searchTopic = this.DOMSearchType().value;
|
||||
|
||||
var pageExtension = searchValue.substr(0,1);
|
||||
|
||||
if (pageExtension.match(/^[a-z]/i))
|
||||
{ pageExtension = pageExtension.toUpperCase(); }
|
||||
else if (pageExtension.match(/^[0-9]/))
|
||||
{ pageExtension = 'Numbers'; }
|
||||
else
|
||||
{ pageExtension = "Symbols"; };
|
||||
|
||||
var resultsPage;
|
||||
var resultsPageWithSearch;
|
||||
var hasResultsPage;
|
||||
|
||||
// indexSectionsWithContent is defined in searchdata.js
|
||||
if (indexSectionsWithContent[searchTopic][pageExtension] == true)
|
||||
{
|
||||
resultsPage = this.resultsPath + '/' + searchTopic + pageExtension + '.html';
|
||||
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
|
||||
hasResultsPage = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
resultsPage = this.resultsPath + '/NoResults.html';
|
||||
resultsPageWithSearch = resultsPage;
|
||||
hasResultsPage = false;
|
||||
};
|
||||
|
||||
var resultsFrame;
|
||||
if (this.mode == "HTML")
|
||||
{ resultsFrame = window.frames.MSearchResults; }
|
||||
else if (this.mode == "FramedHTML")
|
||||
{ resultsFrame = window.top.frames['Content']; };
|
||||
|
||||
|
||||
if (resultsPage != this.lastResultsPage ||
|
||||
|
||||
// Bug in IE. If everything becomes hidden in a run, none of them will be able to be reshown in the next for some
|
||||
// reason. It counts the right number of results, and you can even read the display as "block" after setting it, but it
|
||||
// just doesn't work in IE 6 or IE 7. So if we're on the right page but the previous search had no results, reload the
|
||||
// page anyway to get around the bug.
|
||||
(browserType == "IE" && hasResultsPage &&
|
||||
(!resultsFrame.searchResults || resultsFrame.searchResults.lastMatchCount == 0)) )
|
||||
|
||||
{
|
||||
resultsFrame.location.href = resultsPageWithSearch;
|
||||
}
|
||||
|
||||
// So if the results page is right and there's no IE bug, reperform the search on the existing page. We have to check if there
|
||||
// are results because NoResults.html doesn't have any JavaScript, and it would be useless to do anything on that page even
|
||||
// if it did.
|
||||
else if (hasResultsPage)
|
||||
{
|
||||
// We need to check if this exists in case the frame is present but didn't finish loading.
|
||||
if (resultsFrame.searchResults)
|
||||
{ resultsFrame.searchResults.Search(searchValue); }
|
||||
|
||||
// Otherwise just reload instead of waiting.
|
||||
else
|
||||
{ resultsFrame.location.href = resultsPageWithSearch; };
|
||||
};
|
||||
|
||||
|
||||
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
|
||||
|
||||
if (this.mode == "HTML" && domPopupSearchResultsWindow.style.display != "block")
|
||||
{
|
||||
var domSearchType = this.DOMSearchType();
|
||||
|
||||
var left = GetXPosition(domSearchType);
|
||||
var top = GetYPosition(domSearchType) + domSearchType.offsetHeight;
|
||||
|
||||
MoveToPosition(domPopupSearchResultsWindow, left, top);
|
||||
domPopupSearchResultsWindow.style.display = 'block';
|
||||
};
|
||||
|
||||
|
||||
this.lastSearchValue = searchValue;
|
||||
this.lastResultsPage = resultsPage;
|
||||
};
|
||||
|
||||
|
||||
|
||||
// Group: Activation Functions
|
||||
// Functions that handle whether the entire panel is active or not.
|
||||
// ________________________________________________________________________
|
||||
|
||||
|
||||
/*
|
||||
Function: Activate
|
||||
|
||||
Activates or deactivates the search panel, resetting things to their default values if necessary. You can call this on every
|
||||
control's OnBlur() and it will handle not deactivating the entire panel when focus is just switching between them transparently.
|
||||
|
||||
Parameters:
|
||||
|
||||
isActive - Whether you're activating or deactivating the panel.
|
||||
ignoreDeactivateDelay - Set if you're positive the action will deactivate the panel and thus want to skip the delay.
|
||||
*/
|
||||
this.Activate = function(isActive, ignoreDeactivateDelay)
|
||||
{
|
||||
// We want to ignore isActive being false while the results window is open.
|
||||
if (isActive || (this.mode == "HTML" && this.DOMPopupSearchResultsWindow().style.display == "block"))
|
||||
{
|
||||
if (this.inactivateTimeout)
|
||||
{
|
||||
clearTimeout(this.inactivateTimeout);
|
||||
this.inactivateTimeout = 0;
|
||||
};
|
||||
|
||||
this.DOMSearchPanel().className = 'MSearchPanelActive';
|
||||
|
||||
var searchField = this.DOMSearchField();
|
||||
|
||||
if (searchField.value == 'Search')
|
||||
{ searchField.value = ""; }
|
||||
}
|
||||
else if (!ignoreDeactivateDelay)
|
||||
{
|
||||
this.inactivateTimeout = setTimeout(this.name + ".InactivateAfterTimeout()", this.inactivateTimeoutLength);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.InactivateAfterTimeout();
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
Function: InactivateAfterTimeout
|
||||
|
||||
Called by <inactivateTimeout>, which is set by <Activate()>. Inactivation occurs on a timeout because a control may
|
||||
receive OnBlur() when focus is really transferring to another control in the search panel. In this case we don't want to
|
||||
actually deactivate the panel because not only would that cause a visible flicker but it could also reset the search value.
|
||||
So by doing it on a timeout instead, there's a short period where the second control's OnFocus() can cancel the deactivation.
|
||||
*/
|
||||
this.InactivateAfterTimeout = function()
|
||||
{
|
||||
this.inactivateTimeout = 0;
|
||||
|
||||
this.DOMSearchPanel().className = 'MSearchPanelInactive';
|
||||
this.DOMSearchField().value = "Search";
|
||||
|
||||
this.lastSearchValue = "";
|
||||
this.lastResultsPage = "";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/* ________________________________________________________________________________________________________
|
||||
|
||||
Class: SearchResults
|
||||
_________________________________________________________________________________________________________
|
||||
|
||||
The class that handles everything on the search results page.
|
||||
_________________________________________________________________________________________________________
|
||||
*/
|
||||
|
||||
|
||||
function SearchResults(name, mode)
|
||||
{
|
||||
/*
|
||||
var: mode
|
||||
The mode the search is going to work in, such as "HTML" or "FramedHTML".
|
||||
*/
|
||||
this.mode = mode;
|
||||
|
||||
/*
|
||||
var: lastMatchCount
|
||||
The number of matches from the last run of <Search()>.
|
||||
*/
|
||||
this.lastMatchCount = 0;
|
||||
|
||||
|
||||
/*
|
||||
Function: Toggle
|
||||
Toggles the visibility of the passed element ID.
|
||||
*/
|
||||
this.Toggle = function(id)
|
||||
{
|
||||
if (this.mode == "FramedHTML")
|
||||
{ return; };
|
||||
|
||||
var parentElement = document.getElementById(id);
|
||||
|
||||
var element = parentElement.firstChild;
|
||||
|
||||
while (element && element != parentElement)
|
||||
{
|
||||
if (element.nodeName == 'DIV' && element.className == 'ISubIndex')
|
||||
{
|
||||
if (element.style.display == 'block')
|
||||
{ element.style.display = "none"; }
|
||||
else
|
||||
{ element.style.display = 'block'; }
|
||||
};
|
||||
|
||||
if (element.nodeName == 'DIV' && element.hasChildNodes())
|
||||
{ element = element.firstChild; }
|
||||
else if (element.nextSibling)
|
||||
{ element = element.nextSibling; }
|
||||
else
|
||||
{
|
||||
do
|
||||
{
|
||||
element = element.parentNode;
|
||||
}
|
||||
while (element && element != parentElement && !element.nextSibling);
|
||||
|
||||
if (element && element != parentElement)
|
||||
{ element = element.nextSibling; };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
Function: 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)
|
||||
{
|
||||
search = window.location.search;
|
||||
search = search.substring(1); // Remove the leading ?
|
||||
search = unescape(search);
|
||||
};
|
||||
|
||||
search = search.replace(/^ +/, "");
|
||||
search = search.replace(/ +$/, "");
|
||||
search = search.toLowerCase();
|
||||
|
||||
if (search.match(/[^a-z0-9]/)) // Just a little speedup so it doesn't have to go through the below unnecessarily.
|
||||
{
|
||||
search = search.replace(/\_/g, "_und");
|
||||
search = search.replace(/\ +/gi, "_spc");
|
||||
search = search.replace(/\~/g, "_til");
|
||||
search = search.replace(/\!/g, "_exc");
|
||||
search = search.replace(/\@/g, "_att");
|
||||
search = search.replace(/\#/g, "_num");
|
||||
search = search.replace(/\$/g, "_dol");
|
||||
search = search.replace(/\%/g, "_pct");
|
||||
search = search.replace(/\^/g, "_car");
|
||||
search = search.replace(/\&/g, "_amp");
|
||||
search = search.replace(/\*/g, "_ast");
|
||||
search = search.replace(/\(/g, "_lpa");
|
||||
search = search.replace(/\)/g, "_rpa");
|
||||
search = search.replace(/\-/g, "_min");
|
||||
search = search.replace(/\+/g, "_plu");
|
||||
search = search.replace(/\=/g, "_equ");
|
||||
search = search.replace(/\{/g, "_lbc");
|
||||
search = search.replace(/\}/g, "_rbc");
|
||||
search = search.replace(/\[/g, "_lbk");
|
||||
search = search.replace(/\]/g, "_rbk");
|
||||
search = search.replace(/\:/g, "_col");
|
||||
search = search.replace(/\;/g, "_sco");
|
||||
search = search.replace(/\"/g, "_quo");
|
||||
search = search.replace(/\'/g, "_apo");
|
||||
search = search.replace(/\</g, "_lan");
|
||||
search = search.replace(/\>/g, "_ran");
|
||||
search = search.replace(/\,/g, "_com");
|
||||
search = search.replace(/\./g, "_per");
|
||||
search = search.replace(/\?/g, "_que");
|
||||
search = search.replace(/\//g, "_sla");
|
||||
search = search.replace(/[^a-z0-9\_]i/gi, "_zzz");
|
||||
};
|
||||
|
||||
var resultRows = document.getElementsByTagName("div");
|
||||
var matches = 0;
|
||||
|
||||
var i = 0;
|
||||
while (i < resultRows.length)
|
||||
{
|
||||
var row = resultRows.item(i);
|
||||
|
||||
if (row.className == "SRResult")
|
||||
{
|
||||
var rowMatchName = row.id.toLowerCase();
|
||||
rowMatchName = rowMatchName.replace(/^sr\d*_/, '');
|
||||
|
||||
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)
|
||||
{ document.getElementById("NoMatches").style.display="block"; }
|
||||
else
|
||||
{ document.getElementById("NoMatches").style.display="none"; }
|
||||
|
||||
this.lastMatchCount = matches;
|
||||
|
||||
return true;
|
||||
};
|
||||
};
|
||||
|
||||
1526
src/drivers/dave2d/docs/javascript/prettify.js
Normal file
92
src/drivers/dave2d/docs/javascript/searchdata.js
Normal file
@ -0,0 +1,92 @@
|
||||
var indexSectionsWithContent = {
|
||||
"General": {
|
||||
"Symbols": false,
|
||||
"Numbers": false,
|
||||
"A": true,
|
||||
"B": true,
|
||||
"C": true,
|
||||
"D": true,
|
||||
"E": true,
|
||||
"F": true,
|
||||
"G": true,
|
||||
"H": false,
|
||||
"I": true,
|
||||
"J": false,
|
||||
"K": false,
|
||||
"L": true,
|
||||
"M": true,
|
||||
"N": true,
|
||||
"O": true,
|
||||
"P": true,
|
||||
"Q": false,
|
||||
"R": true,
|
||||
"S": true,
|
||||
"T": true,
|
||||
"U": true,
|
||||
"V": true,
|
||||
"W": true,
|
||||
"X": false,
|
||||
"Y": false,
|
||||
"Z": false
|
||||
},
|
||||
"Functions": {
|
||||
"Symbols": false,
|
||||
"Numbers": false,
|
||||
"A": true,
|
||||
"B": true,
|
||||
"C": true,
|
||||
"D": true,
|
||||
"E": true,
|
||||
"F": true,
|
||||
"G": true,
|
||||
"H": false,
|
||||
"I": true,
|
||||
"J": false,
|
||||
"K": false,
|
||||
"L": true,
|
||||
"M": true,
|
||||
"N": true,
|
||||
"O": true,
|
||||
"P": true,
|
||||
"Q": false,
|
||||
"R": true,
|
||||
"S": true,
|
||||
"T": false,
|
||||
"U": true,
|
||||
"V": false,
|
||||
"W": true,
|
||||
"X": false,
|
||||
"Y": false,
|
||||
"Z": false
|
||||
},
|
||||
"Types": {
|
||||
"Symbols": false,
|
||||
"Numbers": false,
|
||||
"A": false,
|
||||
"B": false,
|
||||
"C": false,
|
||||
"D": true,
|
||||
"E": false,
|
||||
"F": false,
|
||||
"G": false,
|
||||
"H": false,
|
||||
"I": false,
|
||||
"J": false,
|
||||
"K": false,
|
||||
"L": false,
|
||||
"M": false,
|
||||
"N": false,
|
||||
"O": false,
|
||||
"P": false,
|
||||
"Q": false,
|
||||
"R": false,
|
||||
"S": false,
|
||||
"T": false,
|
||||
"U": false,
|
||||
"V": false,
|
||||
"W": false,
|
||||
"X": false,
|
||||
"Y": false,
|
||||
"Z": false
|
||||
}
|
||||
}
|
||||
20
src/drivers/dave2d/docs/search/FunctionsA.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_add64><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_add64" target=_parent class=ISymbol>add64</a></div></div><div class=SRResult id=SR_adddlist><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_dlist-c.html#d2_adddlist" target=_parent class=ISymbol>adddlist</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsB.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_blitcopy><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_blit-c.html#d2_blitcopy" target=_parent class=ISymbol>blitcopy</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsC.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_cast32to64><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_cast32to64" target=_parent class=ISymbol>cast32to64</a></div></div><div class=SRResult id=SR_cast64to32><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_cast64to32" target=_parent class=ISymbol>cast64to32</a></div></div><div class=SRResult id=SR_clear><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_clear" target=_parent class=ISymbol>clear</a></div></div><div class=SRResult id=SR_cliprect><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_viewport-c.html#d2_cliprect" target=_parent class=ISymbol>cliprect</a></div></div><div class=SRResult id=SR_closedevice><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_closedevice" target=_parent class=ISymbol>closedevice</a></div></div><div class=SRResult id=SR_commandspending><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_commandspending" target=_parent class=ISymbol>commandspending</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsD.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_D2_undFIX4_lpax_rpa><div class=IEntry><a href="../files/inc/dave_math-h.html#D2_FIX4(x)" target=_parent class=ISymbol>D2_FIX4(x)</a></div></div><div class=SRResult id=SR_deinithw><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_deinithw" target=_parent class=ISymbol>deinithw</a></div></div><div class=SRResult id=SR_div6432><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_div6432" target=_parent class=ISymbol>div6432</a></div></div><div class=SRResult id=SR_dumprenderbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_dumprenderbuffer" target=_parent class=ISymbol>dumprenderbuffer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsE.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_endframe><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_endframe" target=_parent class=ISymbol>endframe</a></div></div><div class=SRResult id=SR_executedlist><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_dlist-c.html#d2_executedlist" target=_parent class=ISymbol>executedlist</a></div></div><div class=SRResult id=SR_executerenderbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_executerenderbuffer" target=_parent class=ISymbol>executerenderbuffer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsF.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_flushframe><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_flushframe" target=_parent class=ISymbol>flushframe</a></div></div><div class=SRResult id=SR_framebuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_viewport-c.html#d2_framebuffer" target=_parent class=ISymbol>framebuffer</a></div></div><div class=SRResult id=SR_freecontext><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_context-c.html#d2_freecontext" target=_parent class=ISymbol>freecontext</a></div></div><div class=SRResult id=SR_freedumpedbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_freedumpedbuffer" target=_parent class=ISymbol>freedumpedbuffer</a></div></div><div class=SRResult id=SR_freerenderbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_freerenderbuffer" target=_parent class=ISymbol>freerenderbuffer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsG.html
Normal file
20
src/drivers/dave2d/docs/search/FunctionsI.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_inithw><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_inithw" target=_parent class=ISymbol>inithw</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsL.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_layermerge><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_layermerge" target=_parent class=ISymbol>layermerge</a></div></div><div class=SRResult id=SR_level1interface><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_level1interface" target=_parent class=ISymbol>level1interface</a></div></div><div class=SRResult id=SR_lowlocalmemmode><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_lowlocalmemmode" target=_parent class=ISymbol>lowlocalmemmode</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsM.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_mul3232to64><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_mul3232to64" target=_parent class=ISymbol>mul3232to64</a></div></div><div class=SRResult id=SR_mul3264><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_mul3264" target=_parent class=ISymbol>mul3264</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsN.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_newcontext><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_context-c.html#d2_newcontext" target=_parent class=ISymbol>newcontext</a></div></div><div class=SRResult id=SR_newrenderbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_newrenderbuffer" target=_parent class=ISymbol>newrenderbuffer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsO.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_opendevice><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_opendevice" target=_parent class=ISymbol>opendevice</a></div></div><div class=SRResult id=SR_outlinecontext><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_context-c.html#d2_outlinecontext" target=_parent class=ISymbol>outlinecontext</a></div></div><div class=SRResult id=SR_outlinewidth><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_outlinewidth" target=_parent class=ISymbol>outlinewidth</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsP.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_pow2mask><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/inc/dave_math-h.html#d2_pow2mask" target=_parent class=ISymbol>pow2mask</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsR.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_relocateframe><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_relocateframe" target=_parent class=ISymbol>relocateframe</a></div></div><div class=SRResult id=SR_renderbox><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderbox" target=_parent class=ISymbol>renderbox</a></div></div><div class=SRResult id=SR_rendercircle><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendercircle" target=_parent class=ISymbol>rendercircle</a></div></div><div class=SRResult id=SR_rendercircle_undno_undhilimiterprecision><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_utility-c.html#d2_rendercircle_no_hilimiterprecision" target=_parent class=ISymbol>rendercircle_no_hilimiterprecision</a></div></div><div class=SRResult id=SR_renderline><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderline" target=_parent class=ISymbol>renderline</a></div></div><div class=SRResult id=SR_renderline2><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderline2" target=_parent class=ISymbol>renderline2</a></div></div><div class=SRResult id=SR_renderpolygon><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderpolygon" target=_parent class=ISymbol>renderpolygon</a></div></div><div class=SRResult id=SR_renderpolyline><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderpolyline" target=_parent class=ISymbol>renderpolyline</a></div></div><div class=SRResult id=SR_renderpolyline2><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderpolyline2" target=_parent class=ISymbol>renderpolyline2</a></div></div><div class=SRResult id=SR_renderquad><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderquad" target=_parent class=ISymbol>renderquad</a></div></div><div class=SRResult id=SR_rendertri><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendertri" target=_parent class=ISymbol>rendertri</a></div></div><div class=SRResult id=SR_rendertrifan><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendertrifan" target=_parent class=ISymbol>rendertrifan</a></div></div><div class=SRResult id=SR_rendertrilist><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendertrilist" target=_parent class=ISymbol>rendertrilist</a></div></div><div class=SRResult id=SR_rendertristrip><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendertristrip" target=_parent class=ISymbol>rendertristrip</a></div></div><div class=SRResult id=SR_renderwedge><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderwedge" target=_parent class=ISymbol>renderwedge</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsS.html
Normal file
20
src/drivers/dave2d/docs/search/FunctionsU.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_utility_undfbblitcopy><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_utility-c.html#d2_utility_fbblitcopy" target=_parent class=ISymbol>utility_fbblitcopy</a></div></div><div class=SRResult id=SR_utility_undmaptriangle><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_utility-c.html#d2_utility_maptriangle" target=_parent class=ISymbol>utility_maptriangle</a></div></div><div class=SRResult id=SR_utility_undperspectivewarp><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_utility-c.html#d2_utility_perspectivewarp" target=_parent class=ISymbol>utility_perspectivewarp</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/FunctionsW.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_writetexclut_unddirect><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_texture-c.html#d2_writetexclut_direct" target=_parent class=ISymbol>writetexclut_direct</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralA.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_add64><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_add64" target=_parent class=ISymbol>add64</a></div></div><div class=SRResult id=SR_adddlist><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_dlist-c.html#d2_adddlist" target=_parent class=ISymbol>adddlist</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralB.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Basic_spcFunctions><div class=IEntry><a href="../files/code/dave_driver-c.html#Basic_Functions" target=_parent class=ISymbol>Basic Functions</a></div></div><div class=SRResult id=SR_Basic_spcTypes><div class=IEntry><a href="../files/inc/dave_driver-h.html#Basic_Types" target=_parent class=ISymbol>Basic Types</a></div></div><div class=SRResult id=SR_BLIT_spcAttributes_spcWrites><div class=IEntry><a href="../files/code/dave_blit-c.html#BLIT_Attributes_Writes" target=_parent class=ISymbol>BLIT Attributes Writes</a></div></div><div class=SRResult id=SR_Blit_spcFunctions><div class=IEntry><a href="../files/code/dave_blit-c.html#Blit_Functions" target=_parent class=ISymbol>Blit Functions</a></div></div><div class=SRResult id=SR_BLIT_spcRendering_spcFunctions><div class=IEntry><a href="../files/code/dave_blit-c.html#BLIT_Rendering_Functions" target=_parent class=ISymbol>BLIT Rendering Functions</a></div></div><div class=SRResult id=SR_blitcopy><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_blit-c.html#d2_blitcopy" target=_parent class=ISymbol>blitcopy</a></div></div><div class=SRResult id=SR_Buffer_spcRendering><div class=IEntry><a href="../files/code/dave_render-c.html#Buffer_Rendering" target=_parent class=ISymbol>Buffer Rendering</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralC.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_cast32to64><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_cast32to64" target=_parent class=ISymbol>cast32to64</a></div></div><div class=SRResult id=SR_cast64to32><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_cast64to32" target=_parent class=ISymbol>cast64to32</a></div></div><div class=SRResult id=SR_clear><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_clear" target=_parent class=ISymbol>clear</a></div></div><div class=SRResult id=SR_Clipping><div class=IEntry><a href="../files/code/dave_viewport-c.html#Clipping" target=_parent class=ISymbol>Clipping</a></div></div><div class=SRResult id=SR_cliprect><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_viewport-c.html#d2_cliprect" target=_parent class=ISymbol>cliprect</a></div></div><div class=SRResult id=SR_closedevice><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_closedevice" target=_parent class=ISymbol>closedevice</a></div></div><div class=SRResult id=SR_Coding_spcconventions><div class=IEntry><a href="../files/doc/overview-txt.html#Coding_conventions" target=_parent class=ISymbol>Coding conventions</a></div></div><div class=SRResult id=SR_commandspending><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_commandspending" target=_parent class=ISymbol>commandspending</a></div></div><div class=SRResult id=SR_Concept><div class=IEntry><a href="../files/doc/overview-txt.html#Concept" target=_parent class=ISymbol>Concept</a></div></div><div class=SRResult id=SR_Context_spcAttribute_spcQueries><div class=IEntry><a href="../files/code/dave_context-c.html#Context_Attribute_Queries" target=_parent class=ISymbol>Context Attribute Queries</a></div></div><div class=SRResult id=SR_Context_spcAttribute_spcWrites><div class=IEntry><a href="../files/code/dave_context-c.html#Context_Attribute_Writes" target=_parent class=ISymbol>Context Attribute Writes</a></div></div><div class=SRResult id=SR_Context_spcFunctions><div class=IEntry><a href="../files/code/dave_context-c.html#Context_Functions" target=_parent class=ISymbol>Context Functions</a></div></div><div class=SRResult id=SR_Context_spcManagement><div class=IEntry><a href="../files/code/dave_context-c.html#Context_Management" target=_parent class=ISymbol>Context Management</a></div></div><div class=SRResult id=SR_Coordinate_spcrange_spclimitations><div class=IEntry><a href="../files/doc/limitations-txt.html#Coordinate_range_limitations" target=_parent class=ISymbol>Coordinate range limitations</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralD.html
Normal file
20
src/drivers/dave2d/docs/search/GeneralE.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_endframe><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_endframe" target=_parent class=ISymbol>endframe</a></div></div><div class=SRResult id=SR_Errorcodes><div class=IEntry><a href="../files/inc/dave_errorcodes-h.html#Errorcodes" target=_parent class=ISymbol>Errorcodes</a></div></div><div class=SRResult id=SR_executedlist><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_dlist-c.html#d2_executedlist" target=_parent class=ISymbol>executedlist</a></div></div><div class=SRResult id=SR_executerenderbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_executerenderbuffer" target=_parent class=ISymbol>executerenderbuffer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralF.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Fixedpoint_spcMacros><div class=IEntry><a href="../files/inc/dave_math-h.html#Fixedpoint_Macros" target=_parent class=ISymbol>Fixedpoint Macros</a></div></div><div class=SRResult id=SR_flushframe><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_flushframe" target=_parent class=ISymbol>flushframe</a></div></div><div class=SRResult id=SR_framebuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_viewport-c.html#d2_framebuffer" target=_parent class=ISymbol>framebuffer</a></div></div><div class=SRResult id=SR_Framebuffer_spcmanagement><div class=IEntry><a href="../files/code/dave_viewport-c.html#Framebuffer_management" target=_parent class=ISymbol>Framebuffer management</a></div></div><div class=SRResult id=SR_Framebuffer_spcsize_spclimitations><div class=IEntry><a href="../files/doc/limitations-txt.html#Framebuffer_size_limitations" target=_parent class=ISymbol>Framebuffer size limitations</a></div></div><div class=SRResult id=SR_freecontext><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_context-c.html#d2_freecontext" target=_parent class=ISymbol>freecontext</a></div></div><div class=SRResult id=SR_freedumpedbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_freedumpedbuffer" target=_parent class=ISymbol>freedumpedbuffer</a></div></div><div class=SRResult id=SR_freerenderbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_freerenderbuffer" target=_parent class=ISymbol>freerenderbuffer</a></div></div><div class=SRResult id=SR_Functions><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Functions')" class=ISymbol>Functions</a><div class=ISubIndex><a href="../files/code/dave_64bitoperation-c.html#Functions" target=_parent class=IFile>code/<wbr>dave_64bitoperation.c</a><a href="../files/code/dave_dlist-c.html#Functions" target=_parent class=IFile>code/<wbr>dave_dlist.c</a><a href="../files/code/dave_utility-c.html#Functions" target=_parent class=IFile>code/<wbr>dave_utility.c</a></div></div></div><div class=SRResult id=SR_functions_spcfor_spc64bit_spcoperations><div class=IEntry><a href="../files/code/dave_64bitoperation-c.html#functions_for_64bit_operations" target=_parent class=ISymbol>functions for 64bit operations</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralG.html
Normal file
20
src/drivers/dave2d/docs/search/GeneralI.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_inithw><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_inithw" target=_parent class=ISymbol>inithw</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralL.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_layermerge><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_layermerge" target=_parent class=ISymbol>layermerge</a></div></div><div class=SRResult id=SR_level1interface><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_level1interface" target=_parent class=ISymbol>level1interface</a></div></div><div class=SRResult id=SR_Limitations><div class=IEntry><a href="../files/doc/limitations-txt.html#Limitations" target=_parent class=ISymbol>Limitations</a></div></div><div class=SRResult id=SR_lowlocalmemmode><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_lowlocalmemmode" target=_parent class=ISymbol>lowlocalmemmode</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralM.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Math_spcFunctions><div class=IEntry><a href="../files/inc/dave_math-h.html#Math_Functions" target=_parent class=ISymbol>Math Functions</a></div></div><div class=SRResult id=SR_mul3232to64><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_mul3232to64" target=_parent class=ISymbol>mul3232to64</a></div></div><div class=SRResult id=SR_mul3264><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_64bitoperation-c.html#d2_mul3264" target=_parent class=ISymbol>mul3264</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralN.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_newcontext><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_context-c.html#d2_newcontext" target=_parent class=ISymbol>newcontext</a></div></div><div class=SRResult id=SR_newrenderbuffer><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_newrenderbuffer" target=_parent class=ISymbol>newrenderbuffer</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralO.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Object_slaprimitive_spcsize_spclimitations><div class=IEntry><a href="../files/doc/limitations-txt.html#Object/primitive_size_limitations" target=_parent class=ISymbol>Object/<wbr>primitive size limitations</a></div></div><div class=SRResult id=SR_opendevice><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_opendevice" target=_parent class=ISymbol>opendevice</a></div></div><div class=SRResult id=SR_outlinecontext><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_context-c.html#d2_outlinecontext" target=_parent class=ISymbol>outlinecontext</a></div></div><div class=SRResult id=SR_outlinewidth><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_driver-c.html#d2_outlinewidth" target=_parent class=ISymbol>outlinewidth</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralP.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Performance_spccounting><div class=IEntry><a href="../files/code/dave_perfcount-c.html#Performance_counting" target=_parent class=ISymbol>Performance counting</a></div></div><div class=SRResult id=SR_pow2mask><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/inc/dave_math-h.html#d2_pow2mask" target=_parent class=ISymbol>pow2mask</a></div></div><div class=SRResult id=SR_Profiling><div class=IEntry><a href="../files/code/dave_perfcount-c.html#Profiling" target=_parent class=ISymbol>Profiling</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralR.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_relocateframe><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_rbuffer-c.html#d2_relocateframe" target=_parent class=ISymbol>relocateframe</a></div></div><div class=SRResult id=SR_Render_spcBuffers><div class=IEntry><a href="../files/code/dave_rbuffer-c.html#Render_Buffers" target=_parent class=ISymbol>Render Buffers</a></div></div><div class=SRResult id=SR_renderbox><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderbox" target=_parent class=ISymbol>renderbox</a></div></div><div class=SRResult id=SR_Renderbuffer_spcManagement><div class=IEntry><a href="../files/code/dave_rbuffer-c.html#Renderbuffer_Management" target=_parent class=ISymbol>Renderbuffer Management</a></div></div><div class=SRResult id=SR_rendercircle><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendercircle" target=_parent class=ISymbol>rendercircle</a></div></div><div class=SRResult id=SR_rendercircle_undno_undhilimiterprecision><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_utility-c.html#d2_rendercircle_no_hilimiterprecision" target=_parent class=ISymbol>rendercircle_no_hilimiterprecision</a></div></div><div class=SRResult id=SR_Rendering_spcFunctions><div class=IEntry><a href="../files/code/dave_render-c.html#Rendering_Functions" target=_parent class=ISymbol>Rendering Functions</a></div></div><div class=SRResult id=SR_Rendering_spcMode><div class=IEntry><a href="../files/code/dave_driver-c.html#Rendering_Mode" target=_parent class=ISymbol>Rendering Mode</a></div></div><div class=SRResult id=SR_renderline><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderline" target=_parent class=ISymbol>renderline</a></div></div><div class=SRResult id=SR_renderline2><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderline2" target=_parent class=ISymbol>renderline2</a></div></div><div class=SRResult id=SR_renderpolygon><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderpolygon" target=_parent class=ISymbol>renderpolygon</a></div></div><div class=SRResult id=SR_renderpolyline><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderpolyline" target=_parent class=ISymbol>renderpolyline</a></div></div><div class=SRResult id=SR_renderpolyline2><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderpolyline2" target=_parent class=ISymbol>renderpolyline2</a></div></div><div class=SRResult id=SR_renderquad><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderquad" target=_parent class=ISymbol>renderquad</a></div></div><div class=SRResult id=SR_rendertri><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendertri" target=_parent class=ISymbol>rendertri</a></div></div><div class=SRResult id=SR_rendertrifan><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendertrifan" target=_parent class=ISymbol>rendertrifan</a></div></div><div class=SRResult id=SR_rendertrilist><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendertrilist" target=_parent class=ISymbol>rendertrilist</a></div></div><div class=SRResult id=SR_rendertristrip><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_rendertristrip" target=_parent class=ISymbol>rendertristrip</a></div></div><div class=SRResult id=SR_renderwedge><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_render-c.html#d2_renderwedge" target=_parent class=ISymbol>renderwedge</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralS.html
Normal file
20
src/drivers/dave2d/docs/search/GeneralT.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Texture_spcAttribute_spcQueries><div class=IEntry><a href="../files/code/dave_texture-c.html#Texture_Attribute_Queries" target=_parent class=ISymbol>Texture Attribute Queries</a></div></div><div class=SRResult id=SR_Texture_spcAttribute_spcWrites><div class=IEntry><a href="../files/code/dave_texture-c.html#Texture_Attribute_Writes" target=_parent class=ISymbol>Texture Attribute Writes</a></div></div><div class=SRResult id=SR_Texture_spcFunctions><div class=IEntry><a href="../files/code/dave_texture-c.html#Texture_Functions" target=_parent class=ISymbol>Texture Functions</a></div></div><div class=SRResult id=SR_Texture_spcsize_spclimitations><div class=IEntry><a href="../files/doc/limitations-txt.html#Texture_size_limitations" target=_parent class=ISymbol>Texture size limitations</a></div></div><div class=SRResult id=SR_Types><div class=IEntry><a href="../files/inc/dave_driver-h.html#Types" target=_parent class=ISymbol>Types</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralU.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Utility_spcFunctions><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Utility_spcFunctions')" class=ISymbol>Utility Functions</a><div class=ISubIndex><a href="../files/code/dave_driver-c.html#Utility_Functions" target=_parent class=IFile>code/<wbr>dave_driver.c</a><a href="../files/code/dave_rbuffer-c.html#Utility_Functions" target=_parent class=IFile>code/<wbr>dave_rbuffer.c</a><a href="../files/code/dave_utility-c.html#Utility_Functions" target=_parent class=IFile>code/<wbr>dave_utility.c</a></div></div></div><div class=SRResult id=SR_utility_undfbblitcopy><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_utility-c.html#d2_utility_fbblitcopy" target=_parent class=ISymbol>utility_fbblitcopy</a></div></div><div class=SRResult id=SR_utility_undmaptriangle><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_utility-c.html#d2_utility_maptriangle" target=_parent class=ISymbol>utility_maptriangle</a></div></div><div class=SRResult id=SR_utility_undperspectivewarp><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_utility-c.html#d2_utility_perspectivewarp" target=_parent class=ISymbol>utility_perspectivewarp</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralV.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Viewport_spcFunctions><div class=IEntry><a href="../files/code/dave_viewport-c.html#Viewport_Functions" target=_parent class=ISymbol>Viewport Functions</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/GeneralW.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_writetexclut_unddirect><div class=IEntry><span class=ISymbolPrefix>d2_</span><a href="../files/code/dave_texture-c.html#d2_writetexclut_direct" target=_parent class=ISymbol>writetexclut_direct</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
15
src/drivers/dave2d/docs/search/NoResults.html
Normal file
@ -0,0 +1,15 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=NoMatches>No Matches</div></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
20
src/drivers/dave2d/docs/search/TypesD.html
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
|
||||
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
|
||||
|
||||
<!-- Generated by Natural Docs, version 1.52 -->
|
||||
<!-- http://www.naturaldocs.org -->
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_d2_undalpha><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_alpha" target=_parent class=ISymbol>d2_alpha</a></div></div><div class=SRResult id=SR_d2_undblitpos><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_blitpos" target=_parent class=ISymbol>d2_blitpos</a></div></div><div class=SRResult id=SR_d2_undborder><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_border" target=_parent class=ISymbol>d2_border</a></div></div><div class=SRResult id=SR_d2_undcolor><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_color" target=_parent class=ISymbol>d2_color</a></div></div><div class=SRResult id=SR_d2_undcontext><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_context" target=_parent class=ISymbol>d2_context</a></div></div><div class=SRResult id=SR_d2_unddevice><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_device" target=_parent class=ISymbol>d2_device</a></div></div><div class=SRResult id=SR_d2_undpattern><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_pattern" target=_parent class=ISymbol>d2_pattern</a></div></div><div class=SRResult id=SR_d2_undpoint><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_point" target=_parent class=ISymbol>d2_point</a></div></div><div class=SRResult id=SR_d2_undrenderbuffer><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_renderbuffer" target=_parent class=ISymbol>d2_renderbuffer</a></div></div><div class=SRResult id=SR_d2_undwidth><div class=IEntry><a href="../files/inc/dave_driver-h.html#d2_width" target=_parent class=ISymbol>d2_width</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
searchResults.Search();
|
||||
--></script></div><script language=JavaScript><!--
|
||||
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
|
||||
829
src/drivers/dave2d/docs/styles/main.css
Normal file
@ -0,0 +1,829 @@
|
||||
/*
|
||||
IMPORTANT: If you're editing this file in the output directory of one of
|
||||
your projects, your changes will be overwritten the next time you run
|
||||
Natural Docs. Instead, copy this file to your project directory, make your
|
||||
changes, and you can use it with -s. Even better would be to make a CSS
|
||||
file in your project directory with only your changes, which you can then
|
||||
use with -s [original style] [your changes].
|
||||
|
||||
On the other hand, if you're editing this file in the Natural Docs styles
|
||||
directory, the changes will automatically be applied to all your projects
|
||||
that use this style the next time Natural Docs is run on them.
|
||||
|
||||
This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure.
|
||||
Natural Docs is licensed under version 3 of the GNU Affero General Public
|
||||
License (AGPL). Refer to License.txt for the complete details.
|
||||
|
||||
This file may be distributed with documentation files generated by Natural Docs.
|
||||
Such documentation is not covered by Natural Docs' copyright and licensing,
|
||||
and may have its own copyright and distribution terms as decided by its author.
|
||||
*/
|
||||
|
||||
body {
|
||||
font: 10pt Verdana, Arial, sans-serif;
|
||||
color: #000000;
|
||||
margin: 0; padding: 0;
|
||||
}
|
||||
|
||||
.ContentPage,
|
||||
.IndexPage,
|
||||
.FramedMenuPage {
|
||||
background-color: #E8E8E8;
|
||||
}
|
||||
.FramedContentPage,
|
||||
.FramedIndexPage,
|
||||
.FramedSearchResultsPage,
|
||||
.PopupSearchResultsPage {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
|
||||
a:link,
|
||||
a:visited { color: #900000; text-decoration: none }
|
||||
a:hover { color: #900000; text-decoration: underline }
|
||||
a:active { color: #FF0000; text-decoration: underline }
|
||||
|
||||
td {
|
||||
vertical-align: top }
|
||||
|
||||
img { border: 0; }
|
||||
|
||||
|
||||
/*
|
||||
Comment out this line to use web-style paragraphs (blank line between
|
||||
paragraphs, no indent) instead of print-style paragraphs (no blank line,
|
||||
indented.)
|
||||
*/
|
||||
/*
|
||||
p {
|
||||
text-indent: 5ex; margin: 0 }
|
||||
*/
|
||||
|
||||
/* Opera doesn't break with just wbr, but will if you add this. */
|
||||
.Opera wbr:after {
|
||||
content: "\00200B";
|
||||
}
|
||||
|
||||
|
||||
/* Blockquotes are used as containers for things that may need to scroll. */
|
||||
blockquote {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
|
||||
.Firefox1 blockquote {
|
||||
padding-bottom: .5em;
|
||||
}
|
||||
|
||||
/* Turn off scrolling when printing. */
|
||||
@media print {
|
||||
blockquote {
|
||||
overflow: visible;
|
||||
}
|
||||
.IE blockquote {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#Menu {
|
||||
font-size: 9pt;
|
||||
padding: 10px 0 0 0;
|
||||
}
|
||||
.ContentPage #Menu,
|
||||
.IndexPage #Menu {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 31ex;
|
||||
overflow: hidden;
|
||||
}
|
||||
.ContentPage .Firefox #Menu,
|
||||
.IndexPage .Firefox #Menu {
|
||||
width: 27ex;
|
||||
}
|
||||
|
||||
|
||||
.MTitle {
|
||||
font-size: 16pt; font-weight: bold; font-variant: small-caps;
|
||||
text-align: center;
|
||||
padding: 5px 10px 15px 10px;
|
||||
border-bottom: 1px dotted #000000;
|
||||
margin-bottom: 15px }
|
||||
|
||||
.MSubTitle {
|
||||
font-size: 9pt; font-weight: normal; font-variant: normal;
|
||||
margin-top: 1ex; margin-bottom: 5px }
|
||||
|
||||
|
||||
.MEntry a:link,
|
||||
.MEntry a:hover,
|
||||
.MEntry a:visited { color: #606060; margin-right: 0 }
|
||||
.MEntry a:active { color: #A00000; margin-right: 0 }
|
||||
|
||||
|
||||
.MGroup {
|
||||
font-variant: small-caps; font-weight: bold;
|
||||
margin: 1em 0 1em 10px;
|
||||
}
|
||||
|
||||
.MGroupContent {
|
||||
font-variant: normal; font-weight: normal }
|
||||
|
||||
.MGroup a:link,
|
||||
.MGroup a:hover,
|
||||
.MGroup a:visited { color: #545454; margin-right: 10px }
|
||||
.MGroup a:active { color: #A00000; margin-right: 10px }
|
||||
|
||||
|
||||
.MFile,
|
||||
.MText,
|
||||
.MLink,
|
||||
.MIndex {
|
||||
padding: 1px 17px 2px 10px;
|
||||
margin: .25em 0 .25em 0;
|
||||
}
|
||||
|
||||
.MText {
|
||||
font-size: 8pt; font-style: italic }
|
||||
|
||||
.MLink {
|
||||
font-style: italic }
|
||||
|
||||
#MSelected {
|
||||
color: #000000; background-color: #FFFFFF;
|
||||
/* Replace padding with border. */
|
||||
padding: 0 10px 0 10px;
|
||||
border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
/* Close off the left side when its in a group. */
|
||||
.MGroup #MSelected {
|
||||
padding-left: 9px; border-left-width: 1px }
|
||||
|
||||
/* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
|
||||
.Firefox #MSelected {
|
||||
-moz-border-radius-topright: 10px;
|
||||
-moz-border-radius-bottomright: 10px }
|
||||
.Firefox .MGroup #MSelected {
|
||||
-moz-border-radius-topleft: 10px;
|
||||
-moz-border-radius-bottomleft: 10px }
|
||||
|
||||
|
||||
#MSearchPanel {
|
||||
padding: 0px 6px;
|
||||
margin: .25em 0;
|
||||
}
|
||||
|
||||
|
||||
#MSearchField {
|
||||
font: italic 9pt Verdana, sans-serif;
|
||||
color: #606060;
|
||||
background-color: #E8E8E8;
|
||||
border: none;
|
||||
padding: 2px 4px;
|
||||
width: 100%;
|
||||
}
|
||||
/* Only Opera gets it right. */
|
||||
.Firefox #MSearchField,
|
||||
.IE #MSearchField,
|
||||
.Safari #MSearchField {
|
||||
width: 94%;
|
||||
}
|
||||
.Opera9 #MSearchField,
|
||||
.Konqueror #MSearchField {
|
||||
width: 97%;
|
||||
}
|
||||
.FramedMenuPage .Firefox #MSearchField,
|
||||
.FramedMenuPage .Safari #MSearchField,
|
||||
.FramedMenuPage .Konqueror #MSearchField {
|
||||
width: 98%;
|
||||
}
|
||||
|
||||
/* Firefox doesn't do this right in frames without #MSearchPanel added on.
|
||||
It's presence doesn't hurt anything other browsers. */
|
||||
#MSearchPanel.MSearchPanelInactive:hover #MSearchField {
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #C0C0C0;
|
||||
padding: 1px 3px;
|
||||
}
|
||||
.MSearchPanelActive #MSearchField {
|
||||
background-color: #FFFFFF;
|
||||
border: 1px solid #C0C0C0;
|
||||
font-style: normal;
|
||||
padding: 1px 3px;
|
||||
}
|
||||
|
||||
#MSearchType {
|
||||
visibility: hidden;
|
||||
font: 8pt Verdana, sans-serif;
|
||||
width: 98%;
|
||||
padding: 0;
|
||||
border: 1px solid #C0C0C0;
|
||||
}
|
||||
.MSearchPanelActive #MSearchType,
|
||||
/* As mentioned above, Firefox doesn't do this right in frames without #MSearchPanel added on. */
|
||||
#MSearchPanel.MSearchPanelInactive:hover #MSearchType,
|
||||
#MSearchType:focus {
|
||||
visibility: visible;
|
||||
color: #606060;
|
||||
}
|
||||
#MSearchType option#MSearchEverything {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.Opera8 .MSearchPanelInactive:hover,
|
||||
.Opera8 .MSearchPanelActive {
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
|
||||
iframe#MSearchResults {
|
||||
width: 60ex;
|
||||
height: 15em;
|
||||
}
|
||||
#MSearchResultsWindow {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0; top: 0;
|
||||
border: 1px solid #000000;
|
||||
background-color: #E8E8E8;
|
||||
}
|
||||
#MSearchResultsWindowClose {
|
||||
font-weight: bold;
|
||||
font-size: 8pt;
|
||||
display: block;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
#MSearchResultsWindowClose:link,
|
||||
#MSearchResultsWindowClose:visited {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
}
|
||||
#MSearchResultsWindowClose:active,
|
||||
#MSearchResultsWindowClose:hover {
|
||||
color: #800000;
|
||||
text-decoration: none;
|
||||
background-color: #F4F4F4;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#Content {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.ContentPage #Content {
|
||||
border-width: 0 0 1px 1px;
|
||||
border-style: solid;
|
||||
border-color: #000000;
|
||||
background-color: #FFFFFF;
|
||||
font-size: 9pt; /* To make 31ex match the menu's 31ex. */
|
||||
margin-left: 31ex;
|
||||
}
|
||||
.ContentPage .Firefox #Content {
|
||||
margin-left: 27ex;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.CTopic {
|
||||
font-size: 10pt;
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
|
||||
|
||||
.CTitle {
|
||||
font-size: 12pt; font-weight: bold;
|
||||
border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
|
||||
margin: 0 15px .5em 15px }
|
||||
|
||||
.CGroup .CTitle {
|
||||
font-size: 16pt; font-variant: small-caps;
|
||||
padding-left: 15px; padding-right: 15px;
|
||||
border-width: 0 0 2px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
.CClass .CTitle,
|
||||
.CInterface .CTitle,
|
||||
.CDatabase .CTitle,
|
||||
.CDatabaseTable .CTitle,
|
||||
.CSection .CTitle {
|
||||
font-size: 18pt;
|
||||
color: #FFFFFF; background-color: #A0A0A0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 2px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
#MainTopic .CTitle {
|
||||
font-size: 20pt;
|
||||
color: #FFFFFF; background-color: #7070C0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 0 0 3px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
.CBody {
|
||||
margin-left: 15px; margin-right: 15px }
|
||||
|
||||
|
||||
.CToolTip {
|
||||
position: absolute; visibility: hidden;
|
||||
left: 0; top: 0;
|
||||
background-color: #FFFFE0;
|
||||
padding: 5px;
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.Opera .CToolTip {
|
||||
max-width: 98%;
|
||||
}
|
||||
|
||||
/* Scrollbars would be useless. */
|
||||
.CToolTip blockquote {
|
||||
overflow: hidden;
|
||||
}
|
||||
.IE6 .CToolTip blockquote {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.CHeading {
|
||||
font-weight: bold; font-size: 10pt;
|
||||
margin: 1.5em 0 .5em 0;
|
||||
}
|
||||
|
||||
.CBody pre {
|
||||
font: 10pt "Courier New", Courier, monospace;
|
||||
background-color: #FCFCFC;
|
||||
margin: 1em 35px;
|
||||
padding: 10px 15px 10px 10px;
|
||||
border-color: #E0E0E0 #E0E0E0 #E0E0E0 #E4E4E4;
|
||||
border-width: 1px 1px 1px 6px;
|
||||
border-style: dashed dashed dashed solid;
|
||||
}
|
||||
|
||||
.CBody ul {
|
||||
/* I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
|
||||
Reapply it here as padding. */
|
||||
padding-left: 15px; padding-right: 15px;
|
||||
margin: .5em 5ex .5em 5ex;
|
||||
}
|
||||
|
||||
.CDescriptionList {
|
||||
margin: .5em 5ex 0 5ex }
|
||||
|
||||
.CDLEntry {
|
||||
font: 10pt "Courier New", Courier, monospace; color: #808080;
|
||||
padding-bottom: .25em;
|
||||
white-space: nowrap }
|
||||
|
||||
.CDLDescription {
|
||||
font-size: 10pt; /* For browsers that don't inherit correctly, like Opera 5. */
|
||||
padding-bottom: .5em; padding-left: 5ex }
|
||||
|
||||
|
||||
.CTopic img {
|
||||
text-align: center;
|
||||
display: block;
|
||||
margin: 1em auto;
|
||||
}
|
||||
.CImageCaption {
|
||||
font-variant: small-caps;
|
||||
font-size: 8pt;
|
||||
color: #808080;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
top: 1em;
|
||||
}
|
||||
|
||||
.CImageLink {
|
||||
color: #808080;
|
||||
font-style: italic;
|
||||
}
|
||||
a.CImageLink:link,
|
||||
a.CImageLink:visited,
|
||||
a.CImageLink:hover { color: #808080 }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.Prototype {
|
||||
font: 10pt "Courier New", Courier, monospace;
|
||||
padding: 5px 3ex;
|
||||
border-width: 1px; border-style: solid;
|
||||
margin: 0 5ex 1.5em 5ex;
|
||||
}
|
||||
|
||||
.Prototype td {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.PDefaultValue,
|
||||
.PDefaultValuePrefix,
|
||||
.PTypePrefix {
|
||||
color: #8F8F8F;
|
||||
}
|
||||
.PTypePrefix {
|
||||
text-align: right;
|
||||
}
|
||||
.PAfterParameters {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.IE .Prototype table {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.CFunction .Prototype {
|
||||
background-color: #F4F4F4; border-color: #D0D0D0 }
|
||||
.CProperty .Prototype {
|
||||
background-color: #F4F4FF; border-color: #C0C0E8 }
|
||||
.CVariable .Prototype {
|
||||
background-color: #FFFFF0; border-color: #E0E0A0 }
|
||||
|
||||
.CClass .Prototype {
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
|
||||
background-color: #F4F4F4;
|
||||
}
|
||||
.CInterface .Prototype {
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0D0;
|
||||
background-color: #F4F4FF;
|
||||
}
|
||||
|
||||
.CDatabaseIndex .Prototype,
|
||||
.CConstant .Prototype {
|
||||
background-color: #D0D0D0; border-color: #000000 }
|
||||
.CType .Prototype,
|
||||
.CEnumeration .Prototype {
|
||||
background-color: #FAF0F0; border-color: #E0B0B0;
|
||||
}
|
||||
.CDatabaseTrigger .Prototype,
|
||||
.CEvent .Prototype,
|
||||
.CDelegate .Prototype {
|
||||
background-color: #F0FCF0; border-color: #B8E4B8 }
|
||||
|
||||
.CToolTip .Prototype {
|
||||
margin: 0 0 .5em 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.Summary {
|
||||
margin: 1.5em 5ex 0 5ex }
|
||||
|
||||
.STitle {
|
||||
font-size: 12pt; font-weight: bold;
|
||||
margin-bottom: .5em }
|
||||
|
||||
|
||||
.SBorder {
|
||||
background-color: #FFFFF0;
|
||||
padding: 15px;
|
||||
border: 1px solid #C0C060 }
|
||||
|
||||
/* In a frame IE 6 will make them too long unless you set the width to 100%. Without frames it will be correct without a width
|
||||
or slightly too long (but not enough to scroll) with a width. This arbitrary weirdness simply astounds me. IE 7 has the same
|
||||
problem with frames, haven't tested it without. */
|
||||
.FramedContentPage .IE .SBorder {
|
||||
width: 100% }
|
||||
|
||||
/* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
|
||||
.Firefox .SBorder {
|
||||
-moz-border-radius: 20px }
|
||||
|
||||
|
||||
.STable {
|
||||
font-size: 9pt; width: 100% }
|
||||
|
||||
.SEntry {
|
||||
width: 30% }
|
||||
.SDescription {
|
||||
width: 70% }
|
||||
|
||||
|
||||
.SMarked {
|
||||
background-color: #F8F8D8 }
|
||||
|
||||
.SDescription { padding-left: 2ex }
|
||||
.SIndent1 .SEntry { padding-left: 1.5ex } .SIndent1 .SDescription { padding-left: 3.5ex }
|
||||
.SIndent2 .SEntry { padding-left: 3.0ex } .SIndent2 .SDescription { padding-left: 5.0ex }
|
||||
.SIndent3 .SEntry { padding-left: 4.5ex } .SIndent3 .SDescription { padding-left: 6.5ex }
|
||||
.SIndent4 .SEntry { padding-left: 6.0ex } .SIndent4 .SDescription { padding-left: 8.0ex }
|
||||
.SIndent5 .SEntry { padding-left: 7.5ex } .SIndent5 .SDescription { padding-left: 9.5ex }
|
||||
|
||||
.SDescription a { color: #800000}
|
||||
.SDescription a:active { color: #A00000 }
|
||||
|
||||
.SGroup td {
|
||||
padding-top: .5em; padding-bottom: .25em }
|
||||
|
||||
.SGroup .SEntry {
|
||||
font-weight: bold; font-variant: small-caps }
|
||||
|
||||
.SGroup .SEntry a { color: #800000 }
|
||||
.SGroup .SEntry a:active { color: #F00000 }
|
||||
|
||||
|
||||
.SMain td,
|
||||
.SClass td,
|
||||
.SDatabase td,
|
||||
.SDatabaseTable td,
|
||||
.SSection td {
|
||||
font-size: 10pt;
|
||||
padding-bottom: .25em }
|
||||
|
||||
.SClass td,
|
||||
.SDatabase td,
|
||||
.SDatabaseTable td,
|
||||
.SSection td {
|
||||
padding-top: 1em }
|
||||
|
||||
.SMain .SEntry,
|
||||
.SClass .SEntry,
|
||||
.SDatabase .SEntry,
|
||||
.SDatabaseTable .SEntry,
|
||||
.SSection .SEntry {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.SMain .SEntry a,
|
||||
.SClass .SEntry a,
|
||||
.SDatabase .SEntry a,
|
||||
.SDatabaseTable .SEntry a,
|
||||
.SSection .SEntry a { color: #000000 }
|
||||
|
||||
.SMain .SEntry a:active,
|
||||
.SClass .SEntry a:active,
|
||||
.SDatabase .SEntry a:active,
|
||||
.SDatabaseTable .SEntry a:active,
|
||||
.SSection .SEntry a:active { color: #A00000 }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.ClassHierarchy {
|
||||
margin: 0 15px 1em 15px }
|
||||
|
||||
.CHEntry {
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
|
||||
margin-bottom: 3px;
|
||||
padding: 2px 2ex;
|
||||
font-size: 10pt;
|
||||
background-color: #F4F4F4; color: #606060;
|
||||
}
|
||||
|
||||
.Firefox .CHEntry {
|
||||
-moz-border-radius: 4px;
|
||||
}
|
||||
|
||||
.CHCurrent .CHEntry {
|
||||
font-weight: bold;
|
||||
border-color: #000000;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.CHChildNote .CHEntry {
|
||||
font-style: italic;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.CHIndent {
|
||||
margin-left: 3ex;
|
||||
}
|
||||
|
||||
.CHEntry a:link,
|
||||
.CHEntry a:visited,
|
||||
.CHEntry a:hover {
|
||||
color: #606060;
|
||||
}
|
||||
.CHEntry a:active {
|
||||
color: #800000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#Index {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
/* As opposed to .PopupSearchResultsPage #Index */
|
||||
.IndexPage #Index,
|
||||
.FramedIndexPage #Index,
|
||||
.FramedSearchResultsPage #Index {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.IndexPage #Index {
|
||||
border-width: 0 0 1px 1px;
|
||||
border-style: solid;
|
||||
border-color: #000000;
|
||||
font-size: 9pt; /* To make 27ex match the menu's 27ex. */
|
||||
margin-left: 27ex;
|
||||
}
|
||||
|
||||
|
||||
.IPageTitle {
|
||||
font-size: 20pt; font-weight: bold;
|
||||
color: #FFFFFF; background-color: #7070C0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
|
||||
margin: -15px -15px 0 -15px }
|
||||
|
||||
.FramedSearchResultsPage .IPageTitle {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.INavigationBar {
|
||||
font-size: 10pt;
|
||||
text-align: center;
|
||||
background-color: #FFFFF0;
|
||||
padding: 5px;
|
||||
border-bottom: solid 1px black;
|
||||
margin: 0 -15px 15px -15px;
|
||||
}
|
||||
|
||||
.INavigationBar a {
|
||||
font-weight: bold }
|
||||
|
||||
.IHeading {
|
||||
font-size: 16pt; font-weight: bold;
|
||||
padding: 2.5em 0 .5em 0;
|
||||
text-align: center;
|
||||
width: 3.5ex;
|
||||
}
|
||||
#IFirstHeading {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.IEntry {
|
||||
font-size: 10pt;
|
||||
padding-left: 1ex;
|
||||
}
|
||||
.PopupSearchResultsPage .IEntry {
|
||||
font-size: 8pt;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
.PopupSearchResultsPage .Opera9 .IEntry,
|
||||
.FramedSearchResultsPage .Opera9 .IEntry {
|
||||
text-align: left;
|
||||
}
|
||||
.FramedSearchResultsPage .IEntry {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.ISubIndex {
|
||||
padding-left: 3ex; padding-bottom: .5em }
|
||||
.PopupSearchResultsPage .ISubIndex {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* While it may cause some entries to look like links when they aren't, I found it's much easier to read the
|
||||
index if everything's the same color. */
|
||||
.ISymbol {
|
||||
font-weight: bold; color: #900000 }
|
||||
|
||||
.IndexPage .ISymbolPrefix,
|
||||
.FramedIndexPage .ISymbolPrefix {
|
||||
font-size: 10pt;
|
||||
text-align: right;
|
||||
color: #C47C7C;
|
||||
background-color: #F8F8F8;
|
||||
border-right: 3px solid #E0E0E0;
|
||||
border-left: 1px solid #E0E0E0;
|
||||
padding: 0 1px 0 2px;
|
||||
}
|
||||
.PopupSearchResultsPage .ISymbolPrefix,
|
||||
.FramedSearchResultsPage .ISymbolPrefix {
|
||||
color: #900000;
|
||||
}
|
||||
.PopupSearchResultsPage .ISymbolPrefix {
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.IndexPage #IFirstSymbolPrefix,
|
||||
.FramedIndexPage #IFirstSymbolPrefix {
|
||||
border-top: 1px solid #E0E0E0;
|
||||
}
|
||||
.IndexPage #ILastSymbolPrefix,
|
||||
.FramedIndexPage #ILastSymbolPrefix {
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
.IndexPage #IOnlySymbolPrefix,
|
||||
.FramedIndexPage #IOnlySymbolPrefix {
|
||||
border-top: 1px solid #E0E0E0;
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
|
||||
a.IParent,
|
||||
a.IFile {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.PopupSearchResultsPage .SRStatus {
|
||||
padding: 2px 5px;
|
||||
font-size: 8pt;
|
||||
font-style: italic;
|
||||
}
|
||||
.FramedSearchResultsPage .SRStatus {
|
||||
font-size: 10pt;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.SRResult {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#Footer {
|
||||
font-size: 8pt;
|
||||
color: #989898;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#Footer p {
|
||||
text-indent: 0;
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
.ContentPage #Footer,
|
||||
.IndexPage #Footer {
|
||||
text-align: right;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
.FramedMenuPage #Footer {
|
||||
text-align: center;
|
||||
margin: 5em 10px 10px 10px;
|
||||
padding-top: 1em;
|
||||
border-top: 1px solid #C8C8C8;
|
||||
}
|
||||
|
||||
#Footer a:link,
|
||||
#Footer a:hover,
|
||||
#Footer a:visited { color: #989898 }
|
||||
#Footer a:active { color: #A00000 }
|
||||
|
||||
|
||||
|
||||
.prettyprint .kwd { color: #800000; } /* keywords */
|
||||
|
||||
.prettyprint.PDefaultValue .kwd,
|
||||
.prettyprint.PDefaultValuePrefix .kwd,
|
||||
.prettyprint.PTypePrefix .kwd {
|
||||
color: #C88F8F;
|
||||
}
|
||||
|
||||
.prettyprint .com { color: #008000; } /* comments */
|
||||
|
||||
.prettyprint.PDefaultValue .com,
|
||||
.prettyprint.PDefaultValuePrefix .com,
|
||||
.prettyprint.PTypePrefix .com {
|
||||
color: #8FC88F;
|
||||
}
|
||||
|
||||
.prettyprint .str { color: #0000B0; } /* strings */
|
||||
.prettyprint .lit { color: #0000B0; } /* literals */
|
||||
|
||||
.prettyprint.PDefaultValue .str,
|
||||
.prettyprint.PDefaultValuePrefix .str,
|
||||
.prettyprint.PTypePrefix .str,
|
||||
.prettyprint.PDefaultValue .lit,
|
||||
.prettyprint.PDefaultValuePrefix .lit,
|
||||
.prettyprint.PTypePrefix .lit {
|
||||
color: #8F8FC0;
|
||||
}
|
||||
|
||||
.prettyprint .typ { color: #000000; } /* types */
|
||||
.prettyprint .pun { color: #000000; } /* punctuation */
|
||||
.prettyprint .pln { color: #000000; } /* punctuation */
|
||||
|
||||
.prettyprint.PDefaultValue .typ,
|
||||
.prettyprint.PDefaultValuePrefix .typ,
|
||||
.prettyprint.PTypePrefix .typ,
|
||||
.prettyprint.PDefaultValue .pun,
|
||||
.prettyprint.PDefaultValuePrefix .pun,
|
||||
.prettyprint.PTypePrefix .pun,
|
||||
.prettyprint.PDefaultValue .pln,
|
||||
.prettyprint.PDefaultValuePrefix .pln,
|
||||
.prettyprint.PTypePrefix .pln {
|
||||
color: #8F8F8F;
|
||||
}
|
||||
|
||||
.prettyprint .tag { color: #008; }
|
||||
.prettyprint .atn { color: #606; }
|
||||
.prettyprint .atv { color: #080; }
|
||||
.prettyprint .dec { color: #606; }
|
||||
|
||||
1362
src/drivers/dave2d/include/dave_base.h
Normal file
35
src/drivers/dave2d/include/dave_box.h
Normal file
@ -0,0 +1,35 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_box.h (%version: 3 %)
|
||||
* created Tue Feb 08 17:11:45 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Mon Jan 16 17:10:30 2006 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_box_h_H
|
||||
#define __1_dave_box_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderbox_intern( d2_devicedata *handle, d2_contextdata *ctx, d2_point x1, d2_point y1, d2_width w, d2_width h );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderbox_inline( d2_devicedata *handle, d2_contextdata *ctx, d2_point x1, d2_point y1, d2_width w, d2_width h );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderbox_solid( d2_device *handle, d2_point x1, d2_point y1, d2_width w, d2_width h );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderbox_shadow( d2_device *handle, d2_point x1, d2_point y1, d2_width w, d2_width h );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderbox_outline( d2_device *handle, d2_point x1, d2_point y1, d2_width w, d2_width h );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderbox_solidoutline( d2_device *handle, d2_point x1, d2_point y1, d2_width w, d2_width h );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderbox_solidshadow( d2_device *handle, d2_point x1, d2_point y1, d2_width w, d2_width h );
|
||||
|
||||
D2_EXTERN d2_s32 d2_clearbox_solid( d2_device *handle, d2_color clearcolor );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
31
src/drivers/dave2d/include/dave_circle.h
Normal file
@ -0,0 +1,31 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_circle.h (%version: 3 %)
|
||||
* created Mon Jan 24 15:25:42 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Mon Feb 14 14:37:17 2005 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_circle_h_H
|
||||
#define __1_dave_circle_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
d2_s32 d2_rendercircle_intern( d2_devicedata *handle, d2_contextdata *ctx, d2_point x, d2_point y, d2_width r, d2_width w );
|
||||
|
||||
extern d2_s32 d2_rendercircle_solid( d2_device *handle, d2_point x, d2_point y, d2_width r, d2_width w );
|
||||
|
||||
extern d2_s32 d2_rendercircle_shadow( d2_device *handle, d2_point x, d2_point y, d2_width r, d2_width w );
|
||||
|
||||
extern d2_s32 d2_rendercircle_outline( d2_device *handle, d2_point x, d2_point y, d2_width r, d2_width w );
|
||||
|
||||
extern d2_s32 d2_rendercircle_solidoutline( d2_device *handle, d2_point x, d2_point y, d2_width r, d2_width w );
|
||||
|
||||
extern d2_s32 d2_rendercircle_solidshadow( d2_device *handle, d2_point x, d2_point y, d2_width r, d2_width w );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
160
src/drivers/dave2d/include/dave_context.h
Normal file
@ -0,0 +1,160 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_context.h (%version: 20 %)
|
||||
* created Tue Jan 11 16:24:57 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Tue Dec 12 13:43:08 2006 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2008-04-30 MRe added RLE and subbyte formats
|
||||
* 2008-09-25 MRe added circleextendoffset
|
||||
* 2010-02-26 MRe removed srcblend and dstblend from context
|
||||
* 2011-03-17 MRe reduced size of context structure
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_context_h_H
|
||||
#define __1_dave_context_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
#include "dave_gradient.h"
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u8 d2_context_featurebits;
|
||||
|
||||
#define d2_feat_none 0u
|
||||
#define d2_feat_blur 1u /* set if bluring is active */
|
||||
#define d2_feat_aa 2u /* set if antialiasing is active */
|
||||
#define d2_feat_ulim 4u /* set if ulimiter is required */
|
||||
#define d2_feat_vlim 8u /* set if vlimiter is required */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
typedef d2_u8 d2_context_dirtybits;
|
||||
|
||||
#define d2_dirty_material 1u
|
||||
#define d2_dirty_premalpha_p 2u
|
||||
#define d2_dirty_premalpha_t 4u
|
||||
#define d2_dirty_upatlim 8u
|
||||
#define d2_dirty_texlim 16u
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Context structure */
|
||||
|
||||
typedef struct _d2_contextdata
|
||||
{
|
||||
struct _d2_contextdata *next; /* to chain device context's [must be index 0] */
|
||||
struct _d2_devicedata *device;
|
||||
|
||||
/* material parameters */
|
||||
d2_color basecolor[2];
|
||||
d2_alpha patternalpha[2];
|
||||
d2_alpha basealpha[2];
|
||||
d2_width blurring;
|
||||
d2_u8 alphamode;
|
||||
d2_u8 fillmode;
|
||||
d2_u8 alphablendflags;
|
||||
d2_u8 gradients;
|
||||
d2_gradientdata gradient[4];
|
||||
d2_gradientdata patulim[1];
|
||||
d2_gradientdata texlim[2];
|
||||
d2_s32 orgpattern;
|
||||
d2_s32 patlen;
|
||||
d2_s32 patoffset;
|
||||
d2_s32 patscale;
|
||||
d2_u8 patmode;
|
||||
d2_u8 features;
|
||||
d2_u8 linecap;
|
||||
d2_u8 linejoin;
|
||||
d2_width miterlimit;
|
||||
d2_width circleextendoffset;
|
||||
d2_alpha texop_p1[4];
|
||||
d2_alpha texop_p2[4];
|
||||
d2_u8 texamode, texrmode, texgmode, texbmode;
|
||||
d2_u8 texmode;
|
||||
d2_u8 texbpp;
|
||||
d2_u8 texsubppb; /* sub-byte formats: pixel per byte 1, 2, 4 or 8 */
|
||||
d2_u8 rlebpp; /* rle encoded bytes per pixel 1, 2, 3 or 4 */
|
||||
d2_s32 texpitch;
|
||||
d2_s32 texwidth;
|
||||
d2_s32 texheight;
|
||||
void * texbase;
|
||||
d2_s32 texcenterx;
|
||||
d2_s32 texcentery;
|
||||
d2_color * texclut;
|
||||
d2_color * texclut_cached;
|
||||
d2_s8 texclutupload;
|
||||
d2_u8 texclutoffset;
|
||||
/* precalculated values */
|
||||
d2_u8 internaldirty;
|
||||
d2_s8 roundends;
|
||||
d2_u32 invblur;
|
||||
d2_s32 pattern;
|
||||
d2_s32 invpatscale;
|
||||
|
||||
d2_u32 blendmask;
|
||||
d2_u32 alphablendmask;
|
||||
d2_u32 cr2mask;
|
||||
d2_u32 thresholdmask;
|
||||
d2_u32 tbstylemask;
|
||||
d2_u32 patmodemask;
|
||||
d2_u32 texmodemask;
|
||||
d2_u32 texwrapmask;
|
||||
d2_u32 rlemask;
|
||||
d2_u32 clutmask;
|
||||
d2_u32 colkeymask;
|
||||
|
||||
d2_color colorkey;
|
||||
|
||||
d2_color constalpha;
|
||||
d2_color premalpha[2];
|
||||
d2_color texmodecl[2];
|
||||
d2_color texcolreg[2];
|
||||
|
||||
void * blit_src;
|
||||
d2_s32 blit_pitch;
|
||||
d2_s32 blit_width;
|
||||
d2_s32 blit_height;
|
||||
d2_u32 blit_format;
|
||||
|
||||
} d2_contextdata;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Backup data for context content used by blit structure */
|
||||
|
||||
typedef struct _d2_contextdata_backup
|
||||
{
|
||||
d2_u8 fillmode;
|
||||
d2_u8 features;
|
||||
d2_u8 internaldirty;
|
||||
d2_s32 texcenterx;
|
||||
d2_s32 texcentery;
|
||||
d2_u32 tbstylemask;
|
||||
d2_u32 texwrapmask;
|
||||
d2_u32 texmodemask;
|
||||
d2_s32 texpitch;
|
||||
d2_s32 texwidth;
|
||||
d2_s32 texheight;
|
||||
void * texbase;
|
||||
d2_u8 texmode;
|
||||
d2_u8 texbpp;
|
||||
d2_u8 texsubppb;
|
||||
d2_u8 rlebpp;
|
||||
d2_u32 rlemask;
|
||||
d2_u32 clutmask;
|
||||
d2_u32 cr2mask;
|
||||
d2_color texmodecl[2];
|
||||
d2_gradientdata texlim[2];
|
||||
|
||||
} d2_contextdata_backup;
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN void d2_calcpatternalpha_intern( d2_contextdata *ctx );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
27
src/drivers/dave2d/include/dave_curve.h
Normal file
@ -0,0 +1,27 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_curve.h (%version: 12 %)
|
||||
* created Thu Feb 17 15:09:41 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Fri Dec 02 15:16:48 2005 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2008-10-02 MRe fix of blurred circles
|
||||
* 2008-11-24 AJ modify code to support IAR compiler. (no 64bit support)
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_curve_h_H
|
||||
#define __1_dave_curve_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* r must be positive, for negative circles pass 'invert = 1'
|
||||
* */
|
||||
D2_EXTERN void d2_circlesetup_intern(d2_devicedata *handle, const d2_contextdata *ctx, d2_u32 index, d2_point x, d2_point y, d2_width r, d2_s32 band, d2_s32 invert, d2_s32 hiprec );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
21
src/drivers/dave2d/include/dave_d0_mm_dynamic.h
Normal file
@ -0,0 +1,21 @@
|
||||
//--------------------------------------------------------------------------
|
||||
// Project: D/AVE
|
||||
// File: dave_d0_mm_dynamic.h (%version: 1 %)
|
||||
//
|
||||
// Description:
|
||||
// dynamic memory managment functions for dave.
|
||||
// %date_modified: Wed Jan 31 13:56:27 2007 % (%derived_by: hh74036 %)
|
||||
//
|
||||
// Changes:
|
||||
// 2007-01-30 MGe start used old structure of d0_libs as base
|
||||
//
|
||||
|
||||
#ifndef __DAVE_D0_MM_DYNAMIC_H_
|
||||
#define __DAVE_D0_MM_DYNAMIC_H_
|
||||
|
||||
extern void * d0_dyn_allocmem( unsigned int size );
|
||||
extern void d0_dyn_freemem( void *ptr );
|
||||
extern unsigned int d0_dyn_memsize( void *ptr );
|
||||
|
||||
#endif
|
||||
|
||||
36
src/drivers/dave2d/include/dave_d0_mm_fixed_range.h
Normal file
@ -0,0 +1,36 @@
|
||||
//--------------------------------------------------------------------------
|
||||
// Project: D/AVE
|
||||
// File: dave_d0_mm_fixed_range.h (%version: 1 %)
|
||||
//
|
||||
// Description:
|
||||
// Memory management in a fixed range of memory
|
||||
// %date_modified: Wed Jan 31 13:56:41 2007 % (%derived_by: hh74036 %)
|
||||
//
|
||||
// Changes:
|
||||
// 2006-11-21 MGe start
|
||||
//
|
||||
|
||||
#ifndef __DAVE_D0_MM_FIXED_RANGE_H
|
||||
#define __DAVE_D0_MM_FIXED_RANGE_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
extern void * d0_fixed_range_heapalloc(void *ctrlblk, unsigned int size);
|
||||
extern unsigned int d0_fixed_range_heapfree(void *ctrlblk, void *ptr);
|
||||
extern unsigned int d0_fixed_range_heapmsize(void *ctrlblk, void *ptr);
|
||||
extern void d0_fixed_range_setheapmem( void *base, unsigned int size );
|
||||
//---------------------------------------------------------------------------
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
@ -0,0 +1,50 @@
|
||||
//--------------------------------------------------------------------------
|
||||
// Project: D/AVE
|
||||
// File: dave_d0_mm_fixed_range_fixed_blkcnt.h (%version: 1 %)
|
||||
//
|
||||
// Description:
|
||||
// memory management with controlstructure in a separate addressspace
|
||||
// %date_modified: Wed Jan 31 13:56:57 2007 % (%derived_by: hh74036 %)
|
||||
//
|
||||
// Changes:
|
||||
// 2006-11-21 CSe start
|
||||
// 2006-01-31 MGe redesign
|
||||
|
||||
#ifndef __DAVE_D0_MM_FIXED_RANGE_FIXED_BLK_H_
|
||||
#define __DAVE_D0_MM_FIXED_RANGE_FIXED_BLK_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef struct _d0_fixed_range_fixed_blk_memblock {
|
||||
void* addr;
|
||||
unsigned int size;
|
||||
} d0_fixed_range_fixed_blk_memblock;
|
||||
|
||||
typedef struct _d0_fixed_range_fixed_blk_heap {
|
||||
d0_fixed_range_fixed_blk_memblock *freeblocks;
|
||||
d0_fixed_range_fixed_blk_memblock *usedblocks;
|
||||
unsigned int maxidx; // size of both arrays -1
|
||||
} d0_fixed_range_fixed_blkcnt_heap;
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
extern void d0_fixed_range_fixed_blkcnt_heapinit( void* ctrlblk, void* heapaddr, unsigned int heapsize, unsigned int maxblocks);
|
||||
extern void * d0_fixed_range_fixed_blkcnt_heapalloc(void* ctrlblk, unsigned int size);
|
||||
extern unsigned int d0_fixed_range_fixed_blkcnt_heapfree(void* ctrlblk, void *ptr);
|
||||
extern unsigned int d0_fixed_range_fixed_blkcnt_heapmsize(void* ctrlblk, void *ptr);
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
298
src/drivers/dave2d/include/dave_d0lib.h
Normal file
@ -0,0 +1,298 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_d0lib.h (%version: 5 %)
|
||||
*
|
||||
* Description:
|
||||
* memory management
|
||||
* %date_modified: Mon Feb 05 18:57:37 2007 % (%derived_by: hh74036 %)
|
||||
*
|
||||
* Changes:
|
||||
* MGe 013107 redesign
|
||||
* ASc 083007 fix d0_initheapmanager description, changed C++ to C comments
|
||||
* CSe 080422 export d0_preparememorymanager */
|
||||
|
||||
/******************************************************************************
|
||||
* Title: Heap management
|
||||
* Collection of heap managers, which may be used by a d1 driver implementation on
|
||||
* a certain platform. Eases d1 platform porting e.g. on non-UMA platforms or on
|
||||
* platforms which don't have a stdlib with malloc/free/msize
|
||||
*
|
||||
* There are three available types of memory managers. These managers can be
|
||||
* used to manage blocks of memory e.g. video memory, heap memory etc.
|
||||
*
|
||||
* Types of memory managers:
|
||||
*
|
||||
* d0_mm_dynamic - Wrappers for stdlib malloc, free and msize of the system.
|
||||
*
|
||||
* d0_mm_fixed_range - Memory manager which uses one block of memory for
|
||||
* memory allocation and control structures (list
|
||||
* of allocated memory blocks).
|
||||
* This manager is normally used as manager for a heap
|
||||
* on systems that do not provide dynamic memory
|
||||
* allocation.
|
||||
* This memory manager needs 42 bytes of fixed control information.
|
||||
* For each block of allocated memory additional 8 bytes of
|
||||
* control information will be stored.
|
||||
*
|
||||
* d0_mm_fixed_range_fixed_blkcnt - Memory manager which uses two blocks of
|
||||
* memory: one for allocation and one for
|
||||
* control structures (lists for free and
|
||||
* used blocks).
|
||||
* This manager is normally used to manage
|
||||
* memory that isn't directly mapped to the
|
||||
* system memory. Because of this, it needs
|
||||
* a second block of memory in order to
|
||||
* store control information. You have to
|
||||
* predefine a fixed number of memory
|
||||
* blocks that can be used. Typically used
|
||||
* on systems with separate video memory.
|
||||
* This memory manager needs 28 bytes of fixed control information
|
||||
* and 16 bytes for each block of allocatable memory.
|
||||
*
|
||||
* Topic: Usage
|
||||
* How to use the D/AVE driver memory management interface.
|
||||
*
|
||||
* If you want to make use of the d0 memory management functions, your d1 platform
|
||||
* code for <d1_allocmem>, <d1_freemem>, <d1_memsize>, <d1_allocvidmem> and <d1_freevidmem>
|
||||
* should wrap the respective d0_* functions.
|
||||
* You then need to initialize the heap managers somewhere in your application
|
||||
* before you do any d1 or d2 driver calls.
|
||||
* The simplest way is to call <d0_initdefaultheapmanager>.
|
||||
* This function registers a wrapper for the stdlib malloc, free and msize
|
||||
* functions. These functions will be used as managers for the
|
||||
* video and heap memory.
|
||||
* In order to register different managers for the heap and video memory, you
|
||||
* have to use the function <d0_initheapmanager>. This function allows to choose
|
||||
* different memory managers for video and heap management.
|
||||
*
|
||||
* Topic:
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef __1_dave_d0lib_h_H
|
||||
#define __1_dave_d0lib_h_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
{
|
||||
d0_ma_unified =0x0, /* Video memory is in the same address space as the heapmanager */
|
||||
d0_ma_separated = 0x1 /* Video memory is separated from system memory and can be accessed by transfer or mapping functions only. */
|
||||
} d0_memarchitectures;
|
||||
|
||||
|
||||
|
||||
typedef enum {
|
||||
d0_mm_fixed_range,
|
||||
d0_mm_fixed_range_fixed_blkcnt,
|
||||
d0_mm_dynamic
|
||||
} d0_memmanager_type;
|
||||
|
||||
/*****************************************************************************
|
||||
* typedef : d0_fp_allocmem
|
||||
* Function pointer to a memory allocation function.
|
||||
*
|
||||
* parameters :
|
||||
* ctrlblk - pointer to a control block of the current memory manager
|
||||
* size - size of the requested memory block
|
||||
*
|
||||
* returns :
|
||||
* a pointer to the allocated memory block or NULL
|
||||
****************************************************************************/
|
||||
typedef void* (*d0_fp_allocmem)( void*, unsigned int );
|
||||
|
||||
/*****************************************************************************
|
||||
* typedef : d0_fp_freemem
|
||||
* Function pointer to a memory freeing function.
|
||||
*
|
||||
* parameters :
|
||||
* ctrlblk - pointer to a control block of the current memory manager
|
||||
* ptr - pointer to the memory block that shall be freed
|
||||
****************************************************************************/
|
||||
typedef void (*d0_fp_freemem) ( void*, void* );
|
||||
|
||||
/*****************************************************************************
|
||||
* typedef : d0_fp_memsize
|
||||
* Function pointer to the memory size function.
|
||||
*
|
||||
* parameters :
|
||||
* ctrlblk - pointer to a control block of the current memory manager
|
||||
* ptr - pointer to the memory block, whose size is requested
|
||||
*
|
||||
* returns :
|
||||
* the size of the memory block
|
||||
****************************************************************************/
|
||||
typedef unsigned int (*d0_fp_memsize) ( void*, void* );
|
||||
|
||||
/*****************************************************************************
|
||||
* type : struct d0_memmanager
|
||||
* Instance of a memory manager
|
||||
*
|
||||
* fields :
|
||||
* allocmem - function pointer to the memory allocation function <d0_fp_allocmem>
|
||||
* freemem - function pointer to the memory free function <d0_fp_freemem>
|
||||
* memsize - function pointer to the memory size function <d0_fp_memsize>
|
||||
* ctrlblk - points to the control data of the memory manager
|
||||
****************************************************************************/
|
||||
typedef struct {
|
||||
d0_fp_allocmem allocmem;
|
||||
d0_fp_freemem freemem;
|
||||
d0_fp_memsize memsize;
|
||||
void* ctrlblk;
|
||||
} d0_memmanager;
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_preparememorymanager
|
||||
* Initalize a heapmanager.
|
||||
*
|
||||
* parameters:
|
||||
* mgr - pointer to a d0_memmanager structure to be initialized
|
||||
*
|
||||
* memmanagertype - defines which kind of memorymangment will be used
|
||||
*
|
||||
* base - baseaddress of the addressrange( not used for
|
||||
* d0_mm_dynamic memorymanager)
|
||||
*
|
||||
* size - size of the memory in bytes( not used for
|
||||
* d0_mm_dynamic memorymanager)
|
||||
*
|
||||
* ctrlblk - startaddress of memory block used for controlstructure
|
||||
* this block must have a size of:
|
||||
* 2*blockcnt*sizeof( d0_fixed_range_fixed_blk_memblock )
|
||||
* +sizeof(d0_fixed_range_fixed_blkcnt_heap)
|
||||
*
|
||||
* blockcnt - amount of allocatable blocks in memoryrange( only used
|
||||
* for d0_mm_fixed_range_fixed_blkcnt memorymanager)
|
||||
*****************************************************************************/
|
||||
extern void d0_preparememorymanager( d0_memmanager *mgr, d0_memmanager_type memmanagertype, void *base,
|
||||
unsigned int size, void *ctrlblk, unsigned int blkcnt );
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_initheapmanager
|
||||
* Initialize the memory managers for the local heap memory and one for the
|
||||
* video memory.
|
||||
*
|
||||
* parameters:
|
||||
* heapaddress - start address of the local heap memory
|
||||
* heapsize - size of the local heap in bytes
|
||||
* heapmgrtype - type of the memory manager use for the local heap memory (see above)
|
||||
* vidmemaddress - start address of the video memory
|
||||
* vidmemsize - size of the video memory
|
||||
* vidmemblkcnt - amount of allocatable blocks in video memory range
|
||||
* vidmemmgrtype - type of the memory manager use for the video memory (see above)
|
||||
* flags - possible values (d0_ma_unified, d0_ma_separated)
|
||||
*
|
||||
* note:
|
||||
* If 'd0_ma_unified' is passed as flag, the video memory manager parameters
|
||||
* are ignored. The heap memory manager will also be used as video memory manager.
|
||||
*
|
||||
* returns:
|
||||
* 1 on success otherwise 0
|
||||
*****************************************************************************/
|
||||
extern int d0_initheapmanager( void* heapaddress, unsigned int heapsize,
|
||||
d0_memmanager_type heapmgrtype, void* vidmemaddress,
|
||||
unsigned int vidmemsize, unsigned int vidmemblkcnt,
|
||||
d0_memmanager_type vidmemmgrtype,
|
||||
d0_memarchitectures flags
|
||||
);
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_initdefaultheapmanager
|
||||
* Initialize 'd0_mm_dynamic' as default memory manager.
|
||||
*
|
||||
* returns:
|
||||
* This function returns 1
|
||||
*****************************************************************************/
|
||||
extern int d0_initdefaultheapmanager( void ) ;
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_allocvidmem
|
||||
* Allocate a block of video memory.
|
||||
* This is a wrapper for the memory allocation function of the video memory.
|
||||
*
|
||||
* parameters:
|
||||
* size - size of the memory block in bytes
|
||||
*
|
||||
* returns:
|
||||
* a pointer to the newly allocated memory block or NULL if an error occured
|
||||
*****************************************************************************/
|
||||
extern void* d0_allocvidmem( unsigned int size );
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_freevidmem
|
||||
* Free a block of video memory.
|
||||
* This is a wrapper for the memory freeing function of the video memory.
|
||||
*
|
||||
* parameters:
|
||||
* ptr - pointer to the memory block
|
||||
*****************************************************************************/
|
||||
extern void d0_freevidmem( void *ptr );
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_vidmemsize
|
||||
* Returns the size of a video memory block.
|
||||
* This is a wrapper for the memory size function of the video memory.
|
||||
*
|
||||
* parameters:
|
||||
* ptr - points to the memory block
|
||||
*
|
||||
* returns:
|
||||
* the size of the memory block
|
||||
*****************************************************************************/
|
||||
extern unsigned int d0_vidmemsize( void *ptr );
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_allocmem
|
||||
* Allocate local heap memory.
|
||||
* This is a wrapper for the memory allocation function of the local heap memory.
|
||||
*
|
||||
* parameters:
|
||||
* size - size of the memory block in bytes
|
||||
*
|
||||
* returns:
|
||||
* a pointer to the newly allocated memoryblock or NULL if an error occured
|
||||
*****************************************************************************/
|
||||
extern void* d0_allocmem( unsigned int size );
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_freemem
|
||||
* Free a block of local heap memory.
|
||||
* This is a wrapper for the memory freeing function of the local heap memory.
|
||||
*
|
||||
* parameters:
|
||||
* ptr - pointer to the memory block
|
||||
*****************************************************************************/
|
||||
extern void d0_freemem( void *ptr );
|
||||
|
||||
/******************************************************************************
|
||||
* function: d0_memsize
|
||||
* Returns the size of a local memory block.
|
||||
* This is a wrapper for the memory size function of the local heap memory.
|
||||
*
|
||||
* parameters:
|
||||
* ptr - pointer to the memory block
|
||||
*
|
||||
* returns:
|
||||
* the size of the memory block
|
||||
*****************************************************************************/
|
||||
extern unsigned int d0_memsize( void *ptr );
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
258
src/drivers/dave2d/include/dave_dlist.h
Normal file
@ -0,0 +1,258 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_dlist.h (%version: 20 %)
|
||||
* created Thu Feb 17 21:44:45 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Thu Jan 25 17:39:49 2007 % (%derived_by: hh74026 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2005-12-22 CSe - added d2_copydlist_vidmem_intern()
|
||||
* - renamed block->vram to block->vidmem for consistency
|
||||
* - big endian change + define for BIG_ENDIAN
|
||||
* 2005-02-28 CSe - added d2_cacheflushdlist_intern()
|
||||
* 2006-05-10 CSe - added d2_mapdlist_vidmem_intern()
|
||||
* 2006-10-30 CSe - removed counting of dlist used slots
|
||||
* 2006-11-07 CSe - changes for new 'd2_df_low_localmem' mode
|
||||
* 2006-11-30 CSe - fixed insertion of dlist special commands
|
||||
* 2007-01-26 CSe - made 'low localmem' mode configurable
|
||||
* 2007-03-08 CSe - optimized dlist copying and flushing
|
||||
* 2008-01-14 ASc - changed comments from C++ to C, removed tabs
|
||||
* 2012-08-23 MRe - extended dlist structure for dlist lists
|
||||
* 2012-09-25 BSp - MISRA cleanup
|
||||
* 2017-07-27 HFu - clearly commented and renamed d2_insertwait...dlist_intern functions
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_dlist_h_H
|
||||
#define __1_dave_dlist_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
#define D2_DLISTWRITES(x, y) d2_add2dlist_intern( handle, x, y ) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_DLISTWRITEU(x, y) d2_add2dlist_intern( handle, x, (d2_s32) (y) ) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
|
||||
/*-------------------------------------------------------------------------- */
|
||||
#define D2_DLISTBLOCKSIZE 204 /* blocksize: initial number and number of entrys to grow when dlist is full (5*4*204 = approx. 4kBytes) */
|
||||
#define D2_DLISTSCRATCH 64 /* number of scratch buffer entries */
|
||||
#define D2_DLISTSHRINKDELAY 60 /* number of frames, the amount of display list blocks needs to be too large, before it is reduced */
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef struct _d2_dlist_vidmem_blocks
|
||||
{
|
||||
void ** blocks; /* array of dlist blocks in vidmem */
|
||||
d2_u32 num_blocks; /* number of entries in above array */
|
||||
d2_u32 block_size; /* size of blocks in vidmem */
|
||||
void ** currentblock; /* pointer into above array of vidmem blocks */
|
||||
d2_s8 * currentaddress; /* pointer into vidmem inside current block (multiple local blocks are copied into one vidmem block) */
|
||||
d2_u32 num_slices; /* one vidmem blocks consists of multiple slices (see above) */
|
||||
d2_u32 slicesleft; /* number of slices left */
|
||||
d2_u32 blocksleft; /* number of vidmem blocks left */
|
||||
} d2_dlist_vidmem_blocks;
|
||||
|
||||
|
||||
typedef struct _d2_dlist_entry
|
||||
{
|
||||
union d2_addresstag /* register tag field (4 reg indices) */
|
||||
{
|
||||
d2_u32 mask;
|
||||
d2_u8 array[4];
|
||||
} address;
|
||||
|
||||
d2_s32 value[4]; /* register value field */
|
||||
} d2_dlist_entry;
|
||||
|
||||
|
||||
typedef struct _d2_dlist_block
|
||||
{
|
||||
struct _d2_dlist_block *next;
|
||||
|
||||
d2_dlist_entry * block; /* display list memory */
|
||||
d2_u32 quantity; /* number of dlist_entries */
|
||||
d2_s32 * jump; /* pointer to addressentry of next display list or null */
|
||||
void * vidmem; /* address of memoryblock in videoram or null */
|
||||
} d2_dlist_block ;
|
||||
|
||||
|
||||
typedef struct _d2_dlist
|
||||
{
|
||||
d2_device *device;
|
||||
d2_dlist_block *firstblock;
|
||||
d2_dlist_block *currentblock;
|
||||
d2_dlist_block *resumeblock;
|
||||
d2_dlist_entry *position;
|
||||
d2_dlist_vidmem_blocks *vidmem_blocks; /* used in low local memory mode only */
|
||||
|
||||
d2_u32 tagindex;
|
||||
d2_u32 blocksize;
|
||||
d2_u32 stepsize;
|
||||
d2_s32 busy;
|
||||
d2_u32 shrinkcount;
|
||||
d2_u32 count;
|
||||
|
||||
void * dlist_addresses; /* list of dlist start addresses accessible by Dave */
|
||||
d2_s16 dlist_addresses_max; /* max number of dlist start addresses in dlist_addresses */
|
||||
d2_s16 dlist_addresses_cur; /* current number of dlist start addresses in dlist_addresses */
|
||||
} d2_dlist;
|
||||
|
||||
|
||||
typedef struct _d2_dlist_scratch_entry
|
||||
{
|
||||
d2_u32 reg;
|
||||
d2_s32 value;
|
||||
} d2_dlist_scratch_entry;
|
||||
|
||||
|
||||
typedef struct _d2_lowlocalmem_mode
|
||||
{
|
||||
d2_dlist_block *dlist_buffer; /* two dlist blocks linked as ring */
|
||||
d2_u32 vidmemblocksizefactor; /* factor for size of blocks in vidmem relative to local size */
|
||||
d2_u32 vidmemblocks; /* maximum number of dlist blocks in vidmem */
|
||||
} d2_lowlocalmem_mode;
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN void d2_paddlist_intern( d2_dlist *dlist );
|
||||
|
||||
D2_EXTERN void d2_growdlist_intern( d2_dlist *dlist );
|
||||
|
||||
D2_EXTERN d2_dlist_block * d2_alloc_dlistblock_intern( const d2_device *handle, d2_u32 size );
|
||||
|
||||
D2_EXTERN void d2_free_dlistblock_intern( const d2_device *handle, d2_dlist_block *data );
|
||||
|
||||
D2_EXTERN d2_s32 d2_initdlist_intern( d2_device *handle, d2_dlist *dlist, d2_u32 initialsize );
|
||||
|
||||
D2_EXTERN void d2_deinitdlist_intern(const d2_dlist *dlist);
|
||||
|
||||
D2_EXTERN void *d2_preparedlist_read_intern( const d2_device *handle, d2_dlist *dlist, d2_s32 reset );
|
||||
|
||||
D2_EXTERN void d2_nextdlistblock_intern( d2_dlist *dlist );
|
||||
|
||||
D2_EXTERN d2_u32 d2_executedlist_intern( const d2_device *handle, d2_dlist_entry *block );
|
||||
|
||||
D2_EXTERN void d2_copydlist_vidmem_intern( const d2_dlist *dlist );
|
||||
|
||||
D2_EXTERN void d2_mapdlist_vidmem_intern( const d2_dlist *dlist );
|
||||
|
||||
D2_EXTERN void d2_cacheflushdlist_intern( const d2_dlist *dlist );
|
||||
|
||||
D2_EXTERN d2_s32 d2_insertwaitpipedlist_intern( d2_device *handle );
|
||||
|
||||
D2_EXTERN d2_s32 d2_insertwaitfulldlist_intern( d2_device *handle );
|
||||
|
||||
D2_EXTERN void d2_resetdlist_intern( d2_dlist *dlist );
|
||||
|
||||
D2_EXTERN void d2_scratch2dlist_intern( d2_device *handle );
|
||||
|
||||
D2_EXTERN void d2_clear_dlistlist_intern( const d2_device *handle, d2_dlist *dlist );
|
||||
|
||||
D2_EXTERN d2_s32* d2_add_dlistlist_intern( const d2_device *handle, d2_dlist *dlist, const void *dlistaddress );
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
/* call only when usedslots>0
|
||||
* assumes full dlist_entries. padded entries supported at end of list only */
|
||||
static D2_INLINE d2_dlist_entry* d2_getdlist_intern( d2_dlist *dlist ) /* PRQA S 1527 */ /* $Misra: #PERF_INLINE_FUNC $*/ /* PRQA S 3219, 3450, 3480 */ /* $Misra: #UTIL_INLINE_FUNC $*/
|
||||
{
|
||||
d2_dlist_entry *current;
|
||||
|
||||
current = dlist->position;
|
||||
dlist->position++;
|
||||
dlist->blocksize--;
|
||||
|
||||
if (dlist->blocksize < 1)
|
||||
{
|
||||
/* this block ran empty, setup for next read */
|
||||
d2_dlist_block *n = dlist->currentblock->next;
|
||||
if(NULL != n)
|
||||
{
|
||||
/* switch to next block */
|
||||
dlist->position = n->block;
|
||||
dlist->blocksize = n->quantity;
|
||||
dlist->currentblock = n;
|
||||
}
|
||||
}
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
/* insert a jump into the dlist to target, return patch address */
|
||||
static D2_INLINE d2_s32* d2_insertdlistjump_intern( d2_dlist *dlist, const void *target ) /* PRQA S 1527 */ /* $Misra: #PERF_INLINE_FUNC $*/ /* PRQA S 3219, 3450, 3480 */ /* $Misra: #UTIL_INLINE_FUNC $*/
|
||||
{
|
||||
d2_s32 *patch;
|
||||
|
||||
/* this block ran empty. insert dlist-jump and mark end */
|
||||
dlist->position->address.mask = D2_DLISTSTART | 0x80808000u;
|
||||
dlist->position->value[0] = (d2_s32)target;
|
||||
|
||||
/* remember value offset for later patching */
|
||||
patch = & dlist->position->value[0];
|
||||
dlist->currentblock->jump = patch;
|
||||
|
||||
/* skip jump */
|
||||
dlist->position = (d2_dlist_entry*) (((d2_s32 *)dlist->position) + 2);
|
||||
dlist->tagindex = 0;
|
||||
|
||||
return patch;
|
||||
}
|
||||
|
||||
|
||||
/* store a end of dlist special word at current position */
|
||||
static D2_INLINE void d2_insertdlistspecial_intern( d2_dlist *dlist, d2_u32 argument ) /* PRQA S 1527 */ /* $Misra: #PERF_INLINE_FUNC $*/ /* PRQA S 3219, 3450, 3480 */ /* $Misra: #UTIL_INLINE_FUNC $*/
|
||||
{
|
||||
d2_u32 tagIndex = dlist->tagindex;
|
||||
d2_dlist_entry *pos = dlist->position;
|
||||
|
||||
switch(tagIndex)
|
||||
{
|
||||
case 0:
|
||||
/* list already closed -> the address word is not needed */
|
||||
pos->address.mask = 0xffu | (argument << 8);
|
||||
dlist->position = (d2_dlist_entry *) ((d2_s32*)pos + 1);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
/* already one entry in list */
|
||||
pos->address.mask &= 0x000000ffu;
|
||||
pos->address.mask |= 0x80808000u;
|
||||
pos->value[tagIndex] = (d2_s32) (0xffu | (argument << 8));
|
||||
dlist->position = (d2_dlist_entry *) ((d2_s32*)pos + 3);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
/* already two entries in list */
|
||||
pos->address.mask &= 0x0000ffffu;
|
||||
pos->address.mask |= 0x80800000u;
|
||||
pos->value[tagIndex] = (d2_s32) (0xffu | (argument << 8));
|
||||
dlist->position = (d2_dlist_entry *) ((d2_s32*)pos + 4);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
/* already three entries in list */
|
||||
pos->address.mask &= 0x00ffffffu;
|
||||
pos->address.mask |= 0x80000000u;
|
||||
pos->value[tagIndex] = (d2_s32) (0xffu | (argument << 8));
|
||||
dlist->position++;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* fix tag */
|
||||
dlist->tagindex = 0;
|
||||
dlist->blocksize--;
|
||||
|
||||
/* make sure not to go beyond end of block in case the list is not finished!! */
|
||||
if(0 == (argument & 1))
|
||||
{
|
||||
if(dlist->blocksize <= 1)
|
||||
{
|
||||
d2_nextdlistblock_intern(dlist);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
|
||||
696
src/drivers/dave2d/include/dave_driver.h
Normal file
@ -0,0 +1,696 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_driver.h (%version: 69 %)
|
||||
* created Mon Jan 10 13:38:57 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Thu Apr 26 16:21:32 2007 % (%derived_by: hh74036 %)
|
||||
*
|
||||
* This is the only include file that should be read by driver applications
|
||||
* See html documentation
|
||||
*
|
||||
* Changes:
|
||||
* 2007-08-29 ASc Include headers of level0/1 driver and math pkg,
|
||||
* removed tabs, changed C++ to C comments
|
||||
* 2007-09-20 ASc Added blit flags for wrapping
|
||||
* 2008-04-30 MRe added RLE and subbyte formats
|
||||
* 2008-06-12 MRe added CLUT256 and color keying
|
||||
* 2008-07-14 ASt added additional performance counter values
|
||||
* 2009-01-16 MRe added defines for feature bits from dave_registermap.h
|
||||
* 2009-03-06 LBe added enum constant for render buffer execute flags
|
||||
* 2009-03-11 MRe incremented version to 3.2
|
||||
* 2010-02-18 MRe incremented version to 3.3 for Alpha blending feature
|
||||
* 2010-03-18 MRe new enum d2_blendflags
|
||||
* 2010-07-08 MRe new device flag d2_df_no_registercaching
|
||||
* 2010-09-13 MRe incremented version to 3.4 beta (due to merge from branch)
|
||||
* 2010-09-15 MRe removed d0 memory functions, replaced by d1 memory functions
|
||||
* 2010-09-22 MRe fixed typo of dc_cc_rgb, dc_cc_all
|
||||
* 2011-03-11 MRe improved/removed context backup for blit
|
||||
* 2011-03-14 MRe version 3.4
|
||||
* 2011-05-30 MRe version 3.5 beta
|
||||
* 2011-06-16 MRe added Alpha4, Alpha2, Alpha1 texture formats
|
||||
* 2012-09-05 MRe version 3.7
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
* 2012-10-19 MRe version 3.8
|
||||
* 2020-02-05 MRe version 3.18 added d2_inithwburstlengthlimit
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_driver_h_H
|
||||
#define __1_dave_driver_h_H
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
#define D2_VERSION_MAJOR 3
|
||||
#define D2_VERSION_MINOR 18
|
||||
#define D2_VERSION_STATE "" /*"beta"*/
|
||||
#define D2_VERSION_BRANCH 0
|
||||
|
||||
#if (D2_VERSION_BRANCH == 0)
|
||||
#define D2_VERSION_BRANCH_STRING
|
||||
#elif (D2_VERSION_BRANCH == 1)
|
||||
#define D2_VERSION_BRANCH_STRING Branch_1
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Title: Basic Types
|
||||
|
||||
Note that several types represent fixedpoint numbers.
|
||||
The C compiler cannot directly create these from constants.
|
||||
Therefore if you want to pass an integer value of 42 to a
|
||||
function that expects an argument of e.g. type <d2_point> you would have to write :
|
||||
> function( 42 << 4 ); // conversion from integer to fixedpoint
|
||||
see also <D2_FIX4(x)>
|
||||
*/
|
||||
|
||||
#ifndef __1_dave_base_h_H
|
||||
typedef void d1_device;
|
||||
#endif
|
||||
|
||||
#include <dave_types.h>
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#define D2_EXTERN extern
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_device
|
||||
void
|
||||
|
||||
Abstract type. The application uses pointers of this type to hold the address of a device structure
|
||||
without knowing its internal layout.
|
||||
|
||||
see for example : <d2_opendevice>
|
||||
*/
|
||||
typedef void d2_device;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_context
|
||||
void
|
||||
|
||||
Abstract type. The application uses pointers of this type to hold the address of a context structure
|
||||
without knowing its internal layout.
|
||||
|
||||
see for example : <d2_newcontext>
|
||||
*/
|
||||
typedef void d2_context;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_renderbuffer
|
||||
void
|
||||
|
||||
Abstract type. The application uses pointers of this type to hold the address of a renderbuffer structure
|
||||
without knowing its internal layout.
|
||||
|
||||
see for example : <d2_newrenderbuffer>
|
||||
*/
|
||||
typedef void d2_renderbuffer;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_color
|
||||
unsigned long
|
||||
|
||||
32bit RGB value. Upper 8bits are ignored but should be set to zero.
|
||||
All colors are passed to the driver in this format regardless of the framebuffer format.
|
||||
|
||||
see for example : <d2_setcolor>
|
||||
*/
|
||||
typedef d2_u32 d2_color;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_alpha
|
||||
unsigned char
|
||||
|
||||
Alpha information is passed as 8bit values. 255 representing fully opaque and 0 totally
|
||||
transparent colors.
|
||||
|
||||
see for example : <d2_setalpha>
|
||||
*/
|
||||
typedef d2_u8 d2_alpha;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_width
|
||||
short (*fixedpoint*)
|
||||
|
||||
Width is defined as an unsigned 10:4 fixedpoint number (4 bits fraction).
|
||||
So the maximum width is 1023 and the smallest nonzero width is 1/16.
|
||||
*/
|
||||
typedef d2_s16 d2_width;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_point
|
||||
short (*fixedpoint*)
|
||||
|
||||
Point defines a vertex component (e.g. the x coordinate of an endpoint) pixel position
|
||||
and is specified as a signed 1:11:4 fixedpoint number (1bit sign, 11 bits integer, 4 bits fraction).
|
||||
So the integer range is 2047 to -2048 and the smallest positive value is 1/16.
|
||||
|
||||
Points are stored as 16bit quantities because they represent direct screen coordinates
|
||||
and therefor do not become larger than 2047 even for HDTV resolutions.
|
||||
|
||||
see for example : <d2_renderline>
|
||||
*/
|
||||
typedef d2_s16 d2_point;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_border
|
||||
short
|
||||
|
||||
The border type is used only when setting clip borders. In contrast to points, borders do
|
||||
not contain any fractional information (no subpixel clipping) and are simple 11bit signed
|
||||
integers.
|
||||
|
||||
see for example : <d2_cliprect>
|
||||
*/
|
||||
typedef d2_s16 d2_border;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_pattern
|
||||
unsigned long
|
||||
|
||||
Patterns are Nbit bitmasks (N is 32 at most so they are passed as longs)
|
||||
|
||||
see for example : <d2_setpattern>
|
||||
*/
|
||||
typedef d2_u32 d2_pattern;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Type: d2_blitpos
|
||||
unsigned short
|
||||
|
||||
Blitpos defines an integer position in the source bitmap of a blit rendering operation.
|
||||
The allowed range is 0 to 1023.
|
||||
*/
|
||||
typedef d2_u16 d2_blitpos;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* enums */
|
||||
|
||||
typedef d2_u32 d2_rendermodes;
|
||||
|
||||
#define d2_rm_solid 1u
|
||||
#define d2_rm_outline 2u
|
||||
#define d2_rm_solid_outlined ((d2_u32)(1 + 2))
|
||||
#define d2_rm_shadow 4u
|
||||
#define d2_rm_solid_shadow ((d2_u32)(1 + 4))
|
||||
#define d2_rm_postprocess 8u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_blendmodes;
|
||||
|
||||
#define d2_bm_zero 0u
|
||||
#define d2_bm_one 1u
|
||||
#define d2_bm_alpha 2u
|
||||
#define d2_bm_one_minus_alpha 3u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_alphamodes;
|
||||
|
||||
#define d2_am_opaque 0u
|
||||
#define d2_am_constant 1u
|
||||
#define d2_am_gradient1 2u
|
||||
#define d2_am_gradient2 4u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_fillmodes;
|
||||
|
||||
#define d2_fm_color 0u
|
||||
#define d2_fm_twocolor 1u
|
||||
#define d2_fm_pattern 2u
|
||||
#define d2_fm_texture 3u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_edgeflags;
|
||||
|
||||
#define d2_edge0_shared 1u
|
||||
#define d2_edge1_shared 2u
|
||||
#define d2_edge2_shared 4u
|
||||
#define d2_edge3_shared 8u
|
||||
#define d2_edge4_shared 16u
|
||||
#define d2_edge5_shared 32u
|
||||
|
||||
#define d2_all_shared 63u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_wedgeflags;
|
||||
|
||||
#define d2_wf_concave (d2_all_shared + 1)
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_linecapflags;
|
||||
|
||||
#define d2_lc_butt 0u
|
||||
#define d2_lc_square 1u
|
||||
#define d2_lc_round 2u
|
||||
|
||||
#define d2_lc_max 3u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_linejoinflags;
|
||||
|
||||
#define d2_lj_none 0u
|
||||
#define d2_lj_miter 1u
|
||||
#define d2_lj_round 2u
|
||||
#define d2_lj_bevel 4u
|
||||
|
||||
#define d2_lj_max 7u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_lineendflags;
|
||||
|
||||
#define d2_le_exclude_none 0u
|
||||
#define d2_le_exclude_start 1u
|
||||
#define d2_le_exclude_end 2u
|
||||
#define d2_le_exclude_both 3u
|
||||
#define d2_le_closed 4u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_segmentflags;
|
||||
|
||||
#define d2_sf_none 0u
|
||||
#define d2_sf_skip 1u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_modeflags;
|
||||
|
||||
#define d2_mode_alpha8 0u
|
||||
#define d2_mode_rgb565 1u
|
||||
|
||||
#define d2_mode_argb8888 2u
|
||||
#define d2_mode_argb4444 3u
|
||||
#define d2_mode_argb1555 4u
|
||||
|
||||
#define d2_mode_ai44 5u
|
||||
|
||||
#define d2_mode_rgba8888 6u
|
||||
#define d2_mode_rgba4444 7u
|
||||
#define d2_mode_rgba5551 8u
|
||||
|
||||
#define d2_mode_i8 9u
|
||||
#define d2_mode_i4 10u
|
||||
#define d2_mode_i2 11u
|
||||
#define d2_mode_i1 12u
|
||||
|
||||
#define d2_mode_alpha4 13u
|
||||
#define d2_mode_alpha2 14u
|
||||
#define d2_mode_alpha1 15u
|
||||
|
||||
#define d2_mode_rgb888 64u /* used driver internally */
|
||||
#define d2_mode_rgb444 65u /* used driver internally */
|
||||
#define d2_mode_rgb555 66u /* used driver internally */
|
||||
|
||||
/* following additional flags can be ored together with previous modes: */
|
||||
#define d2_mode_rle 16u /* RLE decoder is used */
|
||||
#define d2_mode_clut 32u /* CLUT 256 is used */
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_getcontextmodes;
|
||||
|
||||
#define d2_context_default 0u
|
||||
#define d2_context_selected 1u
|
||||
#define d2_context_solid 2u
|
||||
#define d2_context_outline 3u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_textureoperations;
|
||||
|
||||
#define d2_to_zero 0u
|
||||
#define d2_to_one 1u
|
||||
#define d2_to_replace 2u
|
||||
#define d2_to_copy 3u
|
||||
#define d2_to_invert 4u
|
||||
#define d2_to_multiply 5u
|
||||
#define d2_to_invmultiply 6u
|
||||
#define d2_to_blend 7u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_colorchannels;
|
||||
|
||||
#define d2_cc_alpha 1u
|
||||
#define d2_cc_red 2u
|
||||
#define d2_cc_green 4u
|
||||
#define d2_cc_blue 8u
|
||||
#define d2_cc_rgb 14u
|
||||
#define d2_cc_all 15u
|
||||
#define dc_cc_rgb d2_cc_rgb /* backward compatibility */
|
||||
#define dc_cc_all d2_cc_all /* backward compatibility */
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_texturemodes;
|
||||
|
||||
#define d2_tm_wrapu 1u
|
||||
#define d2_tm_wrapv 2u
|
||||
#define d2_tm_filteru 4u
|
||||
#define d2_tm_filterv 8u
|
||||
#define d2_tm_filter 12u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_patternmodes;
|
||||
|
||||
#define d2_pm_filter 1u
|
||||
#define d2_pm_autoalign 2u
|
||||
#define d2_pm_advance 4u
|
||||
#define d2_pm_orthogonal 8u /* TES unsupported parameter */
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_blitflags;
|
||||
|
||||
#define d2_bf_filteru d2_tm_filteru
|
||||
#define d2_bf_filterv d2_tm_filterv
|
||||
#define d2_bf_filter d2_tm_filter
|
||||
#define d2_bf_wrapu d2_tm_wrapu
|
||||
#define d2_bf_wrapv d2_tm_wrapv
|
||||
#define d2_bf_wrap (d2_tm_wrapu | d2_tm_wrapv)
|
||||
#define d2_bf_colorize (d2_bf_filterv * 2)
|
||||
#define d2_bf_usealpha (d2_bf_colorize * 2)
|
||||
#define d2_bf_colorize2 (d2_bf_usealpha * 2)
|
||||
#define d2_bf_invertalpha (d2_bf_colorize2 * 2)
|
||||
#define d2_bf_no_blitctxbackup (d2_bf_invertalpha * 2)
|
||||
#define d2_bf_mirroru (d2_bf_no_blitctxbackup * 2)
|
||||
#define d2_bf_mirrorv (d2_bf_mirroru * 2)
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_deviceflags;
|
||||
|
||||
#define d2_df_no_dlist 1u
|
||||
#define d2_df_no_irq 2u
|
||||
#define d2_df_no_fbcache 4u
|
||||
#define d2_df_no_texcache 8u
|
||||
#define d2_df_no_dwclear 16u
|
||||
#define d2_df_no_registercaching 32u
|
||||
#define d2_df_no_blitctxbackup 64u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
enum d2_perfcountevents
|
||||
{
|
||||
d2_pc_disable = 0,
|
||||
d2_pc_davecycles = 1,
|
||||
d2_pc_fbreads = 2,
|
||||
d2_pc_fbwrites = 3,
|
||||
d2_pc_texreads = 4,
|
||||
d2_pc_invpixels = 5,
|
||||
d2_pc_invpixels_miss = 6,
|
||||
d2_pc_dlrcycles = 7,
|
||||
d2_pc_fbreadhits = 8,
|
||||
d2_pc_fbreadmisses = 9,
|
||||
d2_pc_fbwritehits = 10,
|
||||
d2_pc_fbwritemisses = 11,
|
||||
d2_pc_texreadhits = 12,
|
||||
d2_pc_texreadmisses = 13,
|
||||
d2_pc_cpudatareads = 14,
|
||||
d2_pc_cpudatawrites = 15,
|
||||
d2_pc_cpuinstrreads = 16,
|
||||
|
||||
d2_pc_dlrburstreads = 17,
|
||||
d2_pc_dlrwordsread = 18,
|
||||
|
||||
d2_pc_rlerewinds = 20,
|
||||
d2_pc_texburstreads = 21,
|
||||
d2_pc_texwordsread = 22,
|
||||
d2_pc_fbburstreads = 23,
|
||||
d2_pc_fbwordsread = 24,
|
||||
d2_pc_fbburstwrites = 25,
|
||||
d2_pc_fbwordswritten = 26,
|
||||
|
||||
d2_pc_fbrwconflicts = 28,
|
||||
d2_pc_fbrwconflictcycles = 29,
|
||||
d2_pc_noevent = 30,
|
||||
d2_pc_clkcycles = 31
|
||||
};
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_executeflags;
|
||||
|
||||
#define d2_ef_default 0u
|
||||
#define d2_ef_execute_once 0u
|
||||
#define d2_ef_execute_multiple 1u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_blendflags;
|
||||
|
||||
#define d2_blendf_default 0u
|
||||
#define d2_blendf_blenddst 0u
|
||||
#define d2_blendf_blendcolor2 1u
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_adddlistflags;
|
||||
|
||||
#define d2_al_default 0u /* default behavior */
|
||||
#define d2_al_copy 0u /* content will be copied */
|
||||
#define d2_al_no_copy 1u /* jump to the dlist will be added */
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_busburstlength;
|
||||
|
||||
#define d2_bbl_1 0u /* single cycle bus access */
|
||||
#define d2_bbl_2 1u /* max bus burst length = 2 */
|
||||
#define d2_bbl_4 2u /* max bus burst length = 4 */
|
||||
#define d2_bbl_8 3u /* max bus burst length = 8 */
|
||||
#define d2_bbl_16 4u /* max bus burst length = 16 */
|
||||
#define d2_bbl_32 5u /* max bus burst length = 32 */
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* basic functions */
|
||||
|
||||
D2_EXTERN d2_s32 d2_getversion( void );
|
||||
D2_EXTERN const d2_char *d2_getversionstring( void );
|
||||
D2_EXTERN d2_device * d2_opendevice( d2_u32 flags );
|
||||
D2_EXTERN d2_s32 d2_closedevice( d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_geterror( const d2_device *handle );
|
||||
D2_EXTERN const d2_char *d2_geterrorstring( const d2_device *handle );
|
||||
D2_EXTERN const d2_char *d2_translateerror( d2_s32 errorcode );
|
||||
D2_EXTERN d2_s32 d2_inithw( d2_device *handle, d2_u32 flags );
|
||||
D2_EXTERN d2_s32 d2_deinithw( d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_inithwburstlengthlimit(d2_device *handle, d2_busburstlength burstlengthFBread, d2_busburstlength burstlengthFBwrite, d2_busburstlength burstlengthTX, d2_busburstlength burstlengthDL);
|
||||
D2_EXTERN d1_device * d2_level1interface( const d2_device *handle );
|
||||
D2_EXTERN d2_u32 d2_getrevisionhw( const d2_device *handle );
|
||||
D2_EXTERN const d2_char* d2_getrevisionstringhw( const d2_device *handle);
|
||||
D2_EXTERN d2_s32 d2_setdlistblocksize(d2_device *handle, d2_u32 size);
|
||||
D2_EXTERN d2_u32 d2_getdlistblocksize(const d2_device *handle);
|
||||
D2_EXTERN d2_u32 d2_getdlistblockcount(d2_device *handle);
|
||||
D2_EXTERN d2_s32 d2_commandspending(d2_device *handle);
|
||||
D2_EXTERN d2_s32 d2_lowlocalmemmode(d2_device *handle, d2_u32 dlistblockfactor, d2_u32 dlistblocks);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* context management */
|
||||
|
||||
D2_EXTERN d2_context * d2_newcontext( d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_freecontext( d2_device *handle, d2_context *ctx );
|
||||
D2_EXTERN d2_s32 d2_selectcontext( d2_device *handle, d2_context *ctx );
|
||||
D2_EXTERN d2_s32 d2_solidcontext( d2_device *handle, d2_context *ctx );
|
||||
D2_EXTERN d2_s32 d2_outlinecontext( d2_device *handle, d2_context *ctx );
|
||||
D2_EXTERN d2_context * d2_getcontext( d2_device *handle, d2_s32 mode );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* device */
|
||||
|
||||
D2_EXTERN d2_s32 d2_framebuffer( d2_device *handle, void *ptr, d2_s32 pitch, d2_u32 width, d2_u32 height, d2_s32 format );
|
||||
D2_EXTERN d2_s32 d2_cliprect( d2_device *handle, d2_border xmin, d2_border ymin, d2_border xmax, d2_border ymax );
|
||||
D2_EXTERN d2_s32 d2_flushframe( d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_startframe( d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_endframe( d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_relocateframe( d2_device *handle, const void *ptr );
|
||||
D2_EXTERN d2_s32 d2_clear( d2_device *handle, d2_color color );
|
||||
D2_EXTERN d2_s32 d2_getcliprect( d2_device *handle, d2_border *xmin, d2_border *ymin, d2_border *xmax, d2_border *ymax );
|
||||
D2_EXTERN d2_s32 d2_getframebuffer( d2_device *handle, void** ptr, d2_s32* pitch, d2_u32* width, d2_u32* height, d2_s32* format);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* device global attributes */
|
||||
|
||||
D2_EXTERN d2_s32 d2_selectrendermode( d2_device *handle, d2_u32 mode );
|
||||
D2_EXTERN d2_s32 d2_outlinewidth( d2_device *handle, d2_width width );
|
||||
D2_EXTERN d2_s32 d2_shadowoffset( d2_device *handle, d2_point x, d2_point y );
|
||||
D2_EXTERN d2_u32 d2_getrendermode( const d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_layermerge( d2_device *handle );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* renderbuffer management */
|
||||
|
||||
D2_EXTERN d2_renderbuffer * d2_newrenderbuffer( d2_device *handle, d2_u32 initialsize, d2_u32 stepsize );
|
||||
D2_EXTERN d2_s32 d2_freerenderbuffer( d2_device *handle, d2_renderbuffer *buffer );
|
||||
D2_EXTERN d2_s32 d2_selectrenderbuffer( d2_device *handle, d2_renderbuffer *buffer );
|
||||
D2_EXTERN d2_s32 d2_executerenderbuffer( d2_device *handle, d2_renderbuffer *buffer, d2_u32 flags );
|
||||
D2_EXTERN d2_renderbuffer * d2_getrenderbuffer( d2_device *handle, d2_s32 index );
|
||||
D2_EXTERN d2_s32 d2_dumprenderbuffer( d2_device *handle, d2_renderbuffer *buffer, void **rdata, d2_s32 *rsize );
|
||||
D2_EXTERN d2_u32 d2_getrenderbuffersize(d2_device *handle, d2_renderbuffer *rb);
|
||||
D2_EXTERN d2_s32 d2_freedumpedbuffer( d2_device *handle, void *data );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* context attribute writes */
|
||||
|
||||
D2_EXTERN d2_s32 d2_setcolor( d2_device *handle, d2_s32 index, d2_color color );
|
||||
D2_EXTERN d2_s32 d2_setalpha( d2_device *handle, d2_alpha alpha );
|
||||
D2_EXTERN d2_s32 d2_setalphaex( d2_device *handle, d2_s32 index, d2_alpha alpha );
|
||||
D2_EXTERN d2_s32 d2_setblur( d2_device *handle, d2_width blur );
|
||||
D2_EXTERN d2_s32 d2_setblendmode( d2_device *handle, d2_u32 srcfactor, d2_u32 dstfactor );
|
||||
D2_EXTERN d2_s32 d2_setalphablendmode( d2_device *handle, d2_u32 srcfactor, d2_u32 dstfactor );
|
||||
D2_EXTERN d2_s32 d2_setalphablendmodeex( d2_device *handle, d2_u32 srcfactor, d2_u32 dstfactor, d2_u32 blendflags );
|
||||
D2_EXTERN d2_s32 d2_setalphagradient( d2_device *handle, d2_s32 index, d2_point x, d2_point y, d2_point dx, d2_point dy );
|
||||
D2_EXTERN d2_s32 d2_setclipgradient( d2_device *handle, d2_s32 index, d2_point x, d2_point y, d2_s32 nx, d2_s32 ny, d2_u32 flags );
|
||||
D2_EXTERN d2_s32 d2_setalphamode( d2_device *handle, d2_u32 mode );
|
||||
D2_EXTERN d2_s32 d2_setantialiasing( d2_device *handle, d2_s32 enable );
|
||||
D2_EXTERN d2_s32 d2_setpatternalpha( d2_device *handle, d2_s32 index, d2_alpha alpha );
|
||||
D2_EXTERN d2_s32 d2_setfillmode( d2_device *handle, d2_u32 mode );
|
||||
D2_EXTERN d2_s32 d2_setpattern( d2_device *handle, d2_pattern pattern );
|
||||
D2_EXTERN d2_s32 d2_setpatternparam( d2_device *handle, d2_point x, d2_point y, d2_width dx, d2_width dy );
|
||||
D2_EXTERN d2_s32 d2_setpatternmode( d2_device *handle, d2_u32 mode );
|
||||
D2_EXTERN d2_s32 d2_setpatternsize( d2_device *handle, d2_s32 size );
|
||||
D2_EXTERN d2_s32 d2_setlinecap( d2_device *handle, d2_u32 mode );
|
||||
D2_EXTERN d2_s32 d2_setlinejoin( d2_device *handle, d2_u32 mode );
|
||||
D2_EXTERN d2_s32 d2_setlinepattern( d2_device *handle, d2_width scale, d2_s32 offset );
|
||||
D2_EXTERN d2_s32 d2_setmiterlimit( d2_device *handle, d2_width miter );
|
||||
D2_EXTERN d2_s32 d2_settexture( d2_device *handle, void *ptr, d2_s32 pitch, d2_s32 width, d2_s32 height, d2_u32 format );
|
||||
D2_EXTERN d2_s32 d2_settexturemode( d2_device *handle, d2_u32 mode );
|
||||
D2_EXTERN d2_s32 d2_settextureoperation( d2_device *handle, d2_u8 amode, d2_u8 rmode, d2_u8 gmode, d2_u8 bmode );
|
||||
D2_EXTERN d2_s32 d2_settexopparam( d2_device *handle, d2_u32 index, d2_u32 p1, d2_u32 p2 );
|
||||
D2_EXTERN d2_s32 d2_settexturemapping( d2_device *handle, d2_point x, d2_point y, d2_s32 u0, d2_s32 v0, d2_s32 dxu, d2_s32 dyu, d2_s32 dxv, d2_s32 dyv );
|
||||
D2_EXTERN d2_s32 d2_settexelcenter( d2_device *handle, d2_point x, d2_point y );
|
||||
D2_EXTERN d2_s32 d2_settexclut( d2_device *handle, d2_color* clut );
|
||||
D2_EXTERN d2_s32 d2_settexclut_part( d2_device *handle, const d2_color* clut_part, d2_u32 start_index, d2_u32 length );
|
||||
D2_EXTERN d2_s32 d2_writetexclut_direct( d2_device *handle, const d2_color* clut_part, d2_u32 start_index, d2_u32 length );
|
||||
D2_EXTERN d2_s32 d2_settexclut_offset( d2_device *handle, d2_u32 offset );
|
||||
D2_EXTERN d2_s32 d2_settexclut_format( d2_device *handle, d2_u32 format );
|
||||
D2_EXTERN d2_s32 d2_setcolorkey( d2_device *handle, d2_s32 enable, d2_color color_key );
|
||||
D2_EXTERN d2_s32 d2_setcircleextend( d2_device *handle, d2_width offset );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* context attritbute reads */
|
||||
|
||||
D2_EXTERN d2_color d2_getcolor( d2_device *handle, d2_s32 index );
|
||||
D2_EXTERN d2_alpha d2_getalpha( d2_device *handle );
|
||||
D2_EXTERN d2_alpha d2_getalphaex( d2_device *handle, d2_s32 index );
|
||||
D2_EXTERN d2_width d2_getblur( d2_device *handle );
|
||||
D2_EXTERN d2_u32 d2_getblendmodesrc( d2_device *handle );
|
||||
D2_EXTERN d2_u32 d2_getblendmodedst( d2_device *handle );
|
||||
D2_EXTERN d2_u32 d2_getalphablendmodesrc( d2_device *handle );
|
||||
D2_EXTERN d2_u32 d2_getalphablendmodedst( d2_device *handle );
|
||||
D2_EXTERN d2_u8 d2_getalphablendmodeflags( d2_device *handle );
|
||||
D2_EXTERN d2_u8 d2_getalphamode( d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_getantialiasing( d2_device *handle );
|
||||
D2_EXTERN d2_alpha d2_getpatternalpha( d2_device *handle, d2_s32 index );
|
||||
D2_EXTERN d2_u8 d2_getfillmode( d2_device *handle );
|
||||
D2_EXTERN d2_pattern d2_getpattern( d2_device *handle );
|
||||
D2_EXTERN d2_u32 d2_getpatternmode( d2_device *handle );
|
||||
D2_EXTERN d2_s32 d2_getpatternsize( d2_device *handle );
|
||||
D2_EXTERN d2_u8 d2_getlinecap( d2_device *handle );
|
||||
D2_EXTERN d2_u8 d2_getlinejoin( d2_device *handle );
|
||||
D2_EXTERN d2_u8 d2_gettextureoperationa( d2_device *handle );
|
||||
D2_EXTERN d2_u8 d2_gettextureoperationr( d2_device *handle );
|
||||
D2_EXTERN d2_u8 d2_gettextureoperationg( d2_device *handle );
|
||||
D2_EXTERN d2_u8 d2_gettextureoperationb( d2_device *handle );
|
||||
D2_EXTERN d2_alpha d2_gettexopparam1( d2_device *handle, d2_u32 index );
|
||||
D2_EXTERN d2_alpha d2_gettexopparam2( d2_device *handle, d2_u32 index );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* rendering commands */
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderbox( d2_device *handle, d2_point x1, d2_point y1, d2_width w, d2_width h );
|
||||
D2_EXTERN d2_s32 d2_renderline( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags );
|
||||
D2_EXTERN d2_s32 d2_rendertri( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_point x3, d2_point y3, d2_u32 flags );
|
||||
D2_EXTERN d2_s32 d2_renderquad( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_point x3, d2_point y3, d2_point x4, d2_point y4, d2_u32 flags );
|
||||
D2_EXTERN d2_s32 d2_rendercircle( d2_device *handle, d2_point x, d2_point y, d2_width r, d2_width w );
|
||||
D2_EXTERN d2_s32 d2_renderwedge( d2_device *handle, d2_point x, d2_point y, d2_width r, d2_width w, d2_s32 nx1, d2_s32 ny1, d2_s32 nx2, d2_s32 ny2, d2_u32 flags );
|
||||
D2_EXTERN d2_s32 d2_renderline2( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w1, d2_width w2, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderpolyline( d2_device *handle, const d2_point *data, d2_u32 count, d2_width w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline2( d2_device *handle, const d2_point *data, d2_u32 count, const d2_width *w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_rendertrilist( d2_device *handle, const d2_point *data, const d2_u32 *flags, d2_u32 count);
|
||||
D2_EXTERN d2_s32 d2_rendertrifan( d2_device *handle, const d2_point *data, const d2_u32 *flags, d2_u32 count);
|
||||
D2_EXTERN d2_s32 d2_rendertristrip( d2_device *handle, const d2_point *data, const d2_u32 *flags, d2_u32 count);
|
||||
D2_EXTERN d2_s32 d2_renderpolygon( d2_device *handle, const d2_point *data, d2_u32 count, d2_u32 flags);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* blit attributes write */
|
||||
|
||||
D2_EXTERN d2_s32 d2_setblitsrc( d2_device *handle, void *ptr, d2_s32 pitch, d2_s32 width, d2_s32 height, d2_u32 format );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* blit rendering functions */
|
||||
|
||||
D2_EXTERN d2_s32 d2_blitcopy( d2_device *handle, d2_s32 srcwidth, d2_s32 srcheight, d2_blitpos srcx, d2_blitpos srcy, d2_width dstwidth, d2_width dstheight, d2_point dstx, d2_point dsty, d2_u32 flags );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* performance measurement */
|
||||
D2_EXTERN d2_s32 d2_setperfcountevent( d2_device *handle, d2_u32 counter, d2_u32 event );
|
||||
D2_EXTERN d2_s32 d2_setperfcountvalue( d2_device *handle, d2_u32 counter, d2_slong value );
|
||||
D2_EXTERN d2_slong d2_getperfcountvalue( d2_device *handle, d2_u32 counter );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Utility Functions */
|
||||
|
||||
d2_s32 d2_utility_maptriangle ( d2_device *handle, const d2_f32 *points, const d2_f32 *uvs );
|
||||
d2_s32 d2_utility_perspectivewarp( d2_device *handle, d2_u16 srcwidth, d2_u16 srcheight, d2_s16 srcx, d2_s16 srcy, d2_s16 dstwidth, d2_s16 dstheight, d2_s16 dstx, d2_s16 dsty, d2_u16 wt );
|
||||
d2_s32 d2_utility_fbblitcopy ( d2_device *handle, d2_u16 width, d2_u16 height, d2_blitpos srcx, d2_blitpos srcy, d2_blitpos dstx, d2_blitpos dsty, d2_u32 flags);
|
||||
void d2_rendercircle_no_hilimiterprecision( d2_device *handle, d2_u32 flag );
|
||||
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Dlist Functions */
|
||||
|
||||
d2_s32 d2_executedlist( d2_device *handle, const void *address, d2_u32 flags );
|
||||
d2_s32 d2_adddlist( d2_device *handle, void *address, d2_s32 size, d2_u32 flags );
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* assign errorcode IDs */
|
||||
|
||||
#define ERR(x,y) x,
|
||||
enum d2_errorcodes {
|
||||
#include "dave_errorcodes.h"
|
||||
D2_ERROR_QUANTITY };
|
||||
#undef ERR
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* include header files of level0 and level1 driver */
|
||||
|
||||
#include "dave_base.h"
|
||||
#include "dave_math.h"
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* define feature bits of hardware revision */
|
||||
#ifndef BIT
|
||||
#define BIT(x) (1u<<(x))
|
||||
#endif
|
||||
#define D2FB_SWDAVE BIT(16)
|
||||
#define D2FB_DLR BIT(17)
|
||||
#define D2FB_FBCACHE BIT(18)
|
||||
#define D2FB_TXCACHE BIT(19)
|
||||
#define D2FB_PERFCOUNT BIT(20)
|
||||
#define D2FB_TEXCLUT BIT(21)
|
||||
#define D2FB_FBPREFETCH BIT(22)
|
||||
#define D2FB_RLEUNIT BIT(23)
|
||||
#define D2FB_TEXCLUT256 BIT(24)
|
||||
#define D2FB_COLORKEY BIT(25)
|
||||
#define D2FB_HILIMITERPRECISION BIT(26)
|
||||
#define D2FB_ALPHACHANNELBLENDING BIT(27)
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
72
src/drivers/dave2d/include/dave_edge.h
Normal file
@ -0,0 +1,72 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_edge.h (%version: 14 %)
|
||||
* created Mon Jan 31 18:40:01 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Thu Jan 04 13:51:46 2007 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2010-09-28 MRe use 64bit arithmetic for blurring calculation
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_edge_h_H
|
||||
#define __1_dave_edge_h_H
|
||||
/*-------------------------------------------------------------------------- */
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* line length may not be zero.
|
||||
* */
|
||||
D2_EXTERN void d2_lineedge_setup3blur_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_u32 flags, const d2_contextdata *ctx, d2_s32 *length );
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* line length may not be zero.
|
||||
* */
|
||||
D2_EXTERN void d2_lineedge_setup3sqrt_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_u32 flags, d2_s32 *length );
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* note use for thin lines (w<2) only (due to l1 norm approximation)
|
||||
* line length may not be zero.
|
||||
* */
|
||||
D2_EXTERN void d2_lineedge_setup3_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_u32 flags, d2_s32 *length );
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* edge deltas may not both be zero. centering of start value (+0.5) is
|
||||
* omitted here. this was necessary to allow highler level to change center
|
||||
* for non shared edges.
|
||||
* */
|
||||
D2_EXTERN void d2_triedge_setup_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_u32 rightedge );
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* note should use sqrtsetup when bluring long distance
|
||||
* edge deltas may not both be zero.
|
||||
* */
|
||||
D2_EXTERN void d2_triedge_setupblur_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, const d2_contextdata *ctx );
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* warning: will overflow earlier than aa version. might blow 11bit border
|
||||
* edge deltas may not both be zero.
|
||||
* */
|
||||
D2_EXTERN void d2_triedge_setupnoaa_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_s32 rightedge );
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
*
|
||||
* */
|
||||
D2_EXTERN void d2_triedge_setupsqrt_intern( d2_limdata *lim, d2_point px, d2_point py, d2_s32 dx, d2_s32 dy, d2_s32 rightedge );
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* used to setup bottom-up rendering
|
||||
* */
|
||||
D2_EXTERN void d2_invertlimiter_intern(d2_limdata *lim, d2_s32 ystep);
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------- */
|
||||
#endif
|
||||
72
src/drivers/dave2d/include/dave_errorcodes.h
Normal file
@ -0,0 +1,72 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_errorcodes.h (%version: 9 %)
|
||||
* created Tue Jan 11 13:41:35 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Mon Feb 19 15:59:15 2007 % (%derived_by: hh74036 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2007-08-31 ASc - removed tabs, changed C++ to C comments,
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
/* Title: Errorcodes
|
||||
* List of all dave driver errorcodes.
|
||||
*
|
||||
* Every device stores the errorcode returned by the last function executed
|
||||
* for this device. Successfull operations reset this code to D2_OK.
|
||||
*
|
||||
* Latest errorcode can be queried by <d2_geterror> / <d2_geterrorstring> functions
|
||||
*
|
||||
* Errorcodes:
|
||||
*
|
||||
* D2_OK - success
|
||||
* D2_NOMEMORY - memory allocation failed
|
||||
* D2_INVALIDDEVICE - invalid device
|
||||
* D2_INVALIDCONTEXT - invalid rendering context
|
||||
* D2_INVALIDBUFFER - invalid renderbuffer context
|
||||
* D2_HWINUSE - hardware device already in use
|
||||
* D2_DEVASSIGNED - device already assigned
|
||||
* D2_DEFCONTEXT - cannot operate on default context
|
||||
* D2_INVALIDINDEX - index is out of bounds
|
||||
* D2_ILLEGALMODE - rendermode not supported
|
||||
* D2_INVALIDWIDTH - width out of legal range
|
||||
* D2_INVALIDHEIGHT - height out of legal range
|
||||
* D2_NOVIDEOMEM - illegal framebuffer address
|
||||
* D2_VALUETOOSMALL - parameter too close to zero
|
||||
* D2_VALUENEGATIVE - parameter is negative
|
||||
* D2_VALUETOOBIG - parameter value is too large
|
||||
* D2_INVALIDENUM - unsupported mode
|
||||
* D2_NULLPOINTER - source pointer may not be null
|
||||
* D2_DEVICEBUSY - operation cannot execute while hardware is busy
|
||||
* D2_DEFBUFFER - cannot operate on default buffer
|
||||
* D2_NO_DISPLAYLIST - usage of displaylists a mandatory in d2_low_localmemmode
|
||||
* D2_NOT_ENOUGH_DLISTBLOCKS - amount of displaylist blocks as specified in <d2_lowlocalmemmode> is not sufficient
|
||||
* */
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
ERR( D2_OK , "success" )
|
||||
ERR( D2_NOMEMORY , "memory allocation failed" )
|
||||
ERR( D2_INVALIDDEVICE , "invalid device" )
|
||||
ERR( D2_INVALIDCONTEXT , "invalid rendering context" )
|
||||
ERR( D2_INVALIDBUFFER , "invalid renderbuffer context" )
|
||||
ERR( D2_HWINUSE , "hardware device already in use" )
|
||||
ERR( D2_DEVASSIGNED , "device already assigned" )
|
||||
ERR( D2_DEFCONTEXT , "cannot operate on default context" )
|
||||
ERR( D2_INVALIDINDEX , "index is out of bounds" )
|
||||
ERR( D2_ILLEGALMODE , "rendermode not supported" )
|
||||
ERR( D2_INVALIDWIDTH , "width out of legal range" )
|
||||
ERR( D2_INVALIDHEIGHT , "height out of legal range" )
|
||||
ERR( D2_NOVIDEOMEM , "illegal framebuffer address" )
|
||||
ERR( D2_VALUETOOSMALL , "parameter too close to zero" )
|
||||
ERR( D2_VALUENEGATIVE , "parameter is negative" )
|
||||
ERR( D2_VALUETOOBIG , "parameter value is too large" )
|
||||
ERR( D2_INVALIDENUM , "unsupported mode" )
|
||||
ERR( D2_NULLPOINTER , "source pointer may not be null" )
|
||||
ERR( D2_DEVICEBUSY , "operation cannot execute while hardware is busy" )
|
||||
ERR( D2_DEFBUFFER , "cannot operate on default buffer" )
|
||||
ERR( D2_NO_DISPLAYLIST , "d2_df_no_dlist is not supported in low_localmemmode")
|
||||
ERR( D2_NOT_ENOUGH_DLISTBLOCKS , "not enough dlistblocks. please adjust in d2_lowlocalmemmode(...)")
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
47
src/drivers/dave2d/include/dave_gradient.h
Normal file
@ -0,0 +1,47 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_gradient.h (%version: 6 %)
|
||||
* created Mon Jan 24 13:14:23 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Thu Jul 13 18:25:49 2006 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_gradient_h_H
|
||||
#define __1_dave_gradient_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef d2_u32 d2_gradient_modes;
|
||||
|
||||
#define d2_grad_none 0u
|
||||
#define d2_grad_linear 1u
|
||||
#define d2_grad_circular 2u
|
||||
#define d2_grad_threshold 4u
|
||||
#define d2_grad_rightedge 8u
|
||||
#define d2_grad_offset 16u
|
||||
#define d2_grad_aapattern 32u
|
||||
#define d2_grad_concave 64u
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Gradient structure */
|
||||
|
||||
typedef struct _d2_gradientdata
|
||||
{
|
||||
d2_u32 mode;
|
||||
d2_s32 xadd;
|
||||
d2_s32 yadd;
|
||||
d2_s32 xadd2;
|
||||
d2_s32 yadd2;
|
||||
d2_point x1,y1;
|
||||
} d2_gradientdata;
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN void d2_initgradient_intern( d2_gradientdata *grad );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
35
src/drivers/dave2d/include/dave_hardware.h
Normal file
@ -0,0 +1,35 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_hardware.h (%version: 6 %)
|
||||
* created Tue Jan 11 14:52:38 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Tue Aug 30 16:02:19 2005 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_hardware_h_H
|
||||
#define __1_dave_hardware_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN d1_device * d2hw_acquire( d2_device *handle, d2_u32 flags );
|
||||
D2_EXTERN d2_s32 d2hw_release( d1_device * hwid );
|
||||
|
||||
D2_EXTERN void d2hw_set(d1_device * hwid, d2_u32 index, d2_s32 value);
|
||||
D2_EXTERN d2_s32 d2hw_get(d1_device * hwid, d2_u32 index);
|
||||
|
||||
D2_EXTERN void d2hw_wait(d1_device * hwid);
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
/* return after rendering has finished */
|
||||
D2_EXTERN void d2hw_finish(const d2_device *handle);
|
||||
|
||||
/* start rendering primitives */
|
||||
D2_EXTERN void d2hw_start(d2_device *handle, const d2_dlist *dlist, d2_s32 startnoblk);
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
335
src/drivers/dave2d/include/dave_intern.h
Normal file
@ -0,0 +1,335 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_intern.h (%version: 29 %)
|
||||
* created Tue Jan 11 12:57:48 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Thu Jan 25 18:12:54 2007 % (%derived_by: hh74026 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2005-12-22 CSe removed transfermode field, added flags field in _d2_devicedata
|
||||
* 2006-02-16 CSe added performance counter support
|
||||
* 2006-10-30 CSe removed waitdlist flag
|
||||
* 2006-11-07 CSe removed waitdlist flag
|
||||
* 2006-11-07 CSe added dlist_buffer to device struct for 'd2_df_low_localmem' mode
|
||||
* 2007-01-26 CSe made 'low localmem' mode configurable
|
||||
* 2007-05-23 MGe added delayed_errorcode to context
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2008-11-24 AJ Added support for IAR compiler
|
||||
* 2011-09-05 MRe added cr2 register to device structure
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_intern_h_H
|
||||
#define __1_dave_intern_h_H
|
||||
/*---------------------------------------------------------------------------
|
||||
* define inline modifier if available */
|
||||
#ifdef _MSC_VER
|
||||
#define D2_INLINE __forceinline
|
||||
#else
|
||||
#ifdef __CA850__
|
||||
#define D2_INLINE
|
||||
#elif defined(__ICCV850__)
|
||||
#define D2_INLINE _Pragma("inline")
|
||||
#else
|
||||
#define D2_INLINE inline
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* define null to become independent of stdlib */
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* internally used types */
|
||||
|
||||
#ifdef _MSC_VER
|
||||
typedef __int64 d2_int64;
|
||||
#elif (defined(__CA850__) || defined(__ICC850__))
|
||||
#define _NO_LL_
|
||||
typedef struct {
|
||||
d2_u32 low32;
|
||||
d2_s32 high32;
|
||||
} d2_int64;
|
||||
#else
|
||||
typedef long long d2_int64;
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* use separate context for blit
|
||||
see also d2_df_no_blitctxbackup and d2_bf_no_blitctxbackup*/
|
||||
|
||||
/*
|
||||
#define D2_USEBLITBACKUPCONTEXT
|
||||
*/
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* force register cache usage
|
||||
see also d2_df_no_registercaching */
|
||||
|
||||
#define D2_USEREGCACHE
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* set initial size of list of dlist start address */
|
||||
|
||||
#define DLIST_ADRESSES_NUMBER 16
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Register Cache */
|
||||
|
||||
#include "dave_registermap.h"
|
||||
|
||||
typedef struct _d2_cacheddata
|
||||
{
|
||||
d2_s32 data[ D2_QUANTITY ];
|
||||
d2_s8 valid[ D2_QUANTITY ];
|
||||
} d2_cacheddata;
|
||||
|
||||
#ifdef D2_USEREGCACHE
|
||||
D2_EXTERN const d2_u8 d2_cacheableregs[D2_QUANTITY];
|
||||
#endif
|
||||
|
||||
typedef void (*d2_fp_scratchfull)( void *handle );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#include "dave_base.h"
|
||||
#include "dave_dlist.h"
|
||||
#include "dave_rbuffer.h"
|
||||
#include "dave_hardware.h"
|
||||
#include "dave_context.h"
|
||||
#include "dave_math.h"
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* use higher precision of qlimiters */
|
||||
|
||||
#define LIMITER_HIPRECISION 6
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* These helper macros are used to stringify a given macro */
|
||||
#define D2_STR(s) # s
|
||||
#define D2_XSTR(s) D2_STR(s) /* PRQA S 3453 */ /* $Misra: #MISRA_BUG_MACRO_HASH $*/
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Define the D2_VERSION and D2_VERSION_STRING macros */
|
||||
|
||||
/* Build up the D2_VERSION macro */
|
||||
#define D2_VERSION ((D2_VERSION_BRANCH << 24) | (D2_VERSION_MAJOR << 16) | D2_VERSION_MINOR )
|
||||
|
||||
/* Create the D2_VERSION_STRING macro */
|
||||
#define D2_VERSION_STRING D2_VERSION_BRANCH_STRING " V" D2_XSTR(D2_VERSION_MAJOR) "." D2_XSTR(D2_VERSION_MINOR)
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Internal device structure */
|
||||
|
||||
typedef struct _d2_devicedata
|
||||
{
|
||||
struct _d2_devicedata *next; /* to chain devices [must be index 0] */
|
||||
|
||||
d2_dlist *readlist; /* read (executing) dlist */
|
||||
d2_dlist *writelist; /* write (under construction) dlist */
|
||||
d2_rbuffer *selectedbuffer; /* currently selected renderbuffer */
|
||||
d2_rbuffer *renderbuffer[2]; /* default renderbuffers */
|
||||
|
||||
d1_device *hwid; /* lowlevel access handle */
|
||||
d2_contextdata *ctxchain; /* context chain (list of all contexts for this device) */
|
||||
d2_contextdata *ctxdef; /* default context (cannot be removed by application) */
|
||||
d2_contextdata *ctxselected; /* selected context (used as target of context write/read ops) */
|
||||
d2_contextdata *ctxsolid; /* solid context (used as source for rendering solid geometry) */
|
||||
d2_contextdata *ctxoutline; /* outline context (used as source for rendering outlines) */
|
||||
#ifdef D2_USEBLITBACKUPCONTEXT
|
||||
d2_contextdata *blitcontext; /* internal context used only for blits */
|
||||
#else
|
||||
d2_contextdata_backup *blitcontext_b; /* internal context backup used only for blits */
|
||||
#endif
|
||||
d2_contextdata *srccontext; /* last context that acted as source for display list (for dirtybit checks) */
|
||||
d2_color *srcclut; /* last clut that was loaded */
|
||||
|
||||
void * framebuffer; /* rendering baseaddress */
|
||||
d2_s32 pitch, bpp; /* framebuffer pitch and bytes per pixel */
|
||||
d2_s32 fbformat; /* framebuffer format */
|
||||
d2_u32 fbwidth,fbheight; /* framebuffer size */
|
||||
d2_u32 fbstylemask; /* dave ctrl1 bitmask for framebuffer format */
|
||||
d2_u32 cr2; /* control register 2 */
|
||||
|
||||
d2_u32 cachectlmask; /* dave cache ctrl register bitmask */
|
||||
d2_u32 perftriggermask; /* dave performance counter trigger source register bitmask */
|
||||
|
||||
d2_u32 rendermode; /* see 'enum d2_rendermodes' */
|
||||
d2_u32 flags; /* see 'enum d2_deviceflags' */
|
||||
d2_width outlinewidth;
|
||||
d2_point soffx, soffy;
|
||||
d2_point clipxmin, clipymin;
|
||||
d2_point clipxmax, clipymax;
|
||||
|
||||
d2_lowlocalmem_mode *lowlocalmem_mode; /* only used in 'low localmem' mode */
|
||||
|
||||
d2_u32 hwrevision;
|
||||
d2_u32 hwmemarchitecture;
|
||||
|
||||
d2_u32 dlistblocksize; /* specify number of entries to grow when dlist is full */
|
||||
#ifdef D2_USEREGCACHE
|
||||
d2_cacheddata cache; /* register cache for this device */
|
||||
#endif
|
||||
/* display list assembly buffer */
|
||||
d2_dlist_scratch_entry *dlscratch_base;
|
||||
d2_dlist_scratch_entry *dlscratch_pos;
|
||||
d2_s32 dlscratch_cnt;
|
||||
d2_fp_scratchfull dlscratch_hook;
|
||||
|
||||
d2_s8 lasttextwasrle; /* last texture format was RLE */
|
||||
d2_s8 maxpatlen; /* maximum size of pattern bitvector supported by the hardware */
|
||||
d2_s8 errorcode; /* last actions detaild result code */
|
||||
d2_s8 delayed_errorcode; /* errorcondition that exists until the renderbuffer gets executed. This errorcode is used for errors that occure while the scratchbuffer is written to the displaylist */
|
||||
d2_s8 hilimiterprecision_supported; /* is set to 1 when the hilimiterprecision feature is supported by the hardware */
|
||||
|
||||
d2_s8 dlist_indirect_supported; /* is set to 1 when lists of dlist addresses are supported by d1 driver */
|
||||
d2_s32* dlist_list_single[2]; /* for d2_executedlist we need an extra dlist list with just one entry */
|
||||
|
||||
} d2_devicedata;
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
typedef struct _d2_bbox
|
||||
{
|
||||
d2_point xmin, ymin;
|
||||
d2_point xmax, ymax;
|
||||
} d2_bbox;
|
||||
|
||||
typedef struct _d2_limdata
|
||||
{
|
||||
d2_s32 start;
|
||||
d2_s32 xadd;
|
||||
d2_s32 yadd;
|
||||
} d2_limdata;
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Internal flags */
|
||||
|
||||
typedef d2_u32 d2_lineendflags_intern;
|
||||
|
||||
#define d2_lei_base 256u
|
||||
|
||||
#define d2_lei_ext_first_edge (d2_lei_base * 2)
|
||||
#define d2_lei_ext_last_edge (d2_lei_base * 4)
|
||||
#define d2_lei_buffer_first_edge (d2_lei_base * 8)
|
||||
#define d2_lei_buffer_last_edge (d2_lei_base * 16)
|
||||
#define d2_lei_miter_edge (d2_lei_base * 32)
|
||||
#define d2_lei_miter1_flip (d2_lei_base * 64)
|
||||
#define d2_lei_miter2_flip (d2_lei_base *128)
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Internal macros */
|
||||
|
||||
#define D2_DEV(d) ((d2_devicedata *) (d)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPECAST_OVERKILL $*/
|
||||
#define D2_CTX(c) ((d2_contextdata *) (c)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPECAST_OVERKILL $*/
|
||||
#define D2_FNC(r) ((d2_renderfunctions *) (r)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPECAST_OVERKILL $*/
|
||||
#define D2_DRB(r) ((d2_rbuffer *) (r)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPECAST_OVERKILL $*/
|
||||
|
||||
static D2_INLINE d2_s32 d2_seterr(d2_device *handle, d2_s32 err); /* to satisfy MISRA rule 3450 */
|
||||
static D2_INLINE d2_s32 d2_seterr(d2_device *handle, d2_s32 err) /* PRQA S 3219, 3480 */ /* $Misra: #UTIL_INLINE_FUNC $*/
|
||||
{
|
||||
D2_DEV(handle)->errorcode = (d2_s8)(err);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
#define D2_SETERR(d,e) d2_seterr(d, e) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_SETOK(d) D2_SETERR(d, D2_OK) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_RETERR(d,e) return D2_SETERR(d,e) /* PRQA S 3453 */ /* $Misra: #MISRA_BUG_MACRO_RETURN_STATEMENT $*/ /* PRQA S 3412 */ /* $Misra: #MACRO_RETURN $*/
|
||||
#define D2_RETERRU(d,e) return (d2_u32) (D2_SETERR(d,e)) /* PRQA S 3412 */ /* $Misra: #MACRO_RETURN $*/
|
||||
#define D2_RETOK(d) return D2_SETOK(d) /* PRQA S 3412 */ /* $Misra: #MACRO_RETURN $*/
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define D2_VALIDATE(x,e) if (0 == (x)) \
|
||||
{ \
|
||||
return (e); \
|
||||
}(void)0 /* PRQA S 3412 */ /* $Misra: #COMPILER_WARNING $*/
|
||||
#define D2_CHECKERR(x,e) if (! (x)) \
|
||||
{ \
|
||||
D2_RETERR(handle, (e)); \
|
||||
}(void)0 /* PRQA S 3412 */ /* $Misra: #COMPILER_WARNING $*/
|
||||
#define D2_VALIDATEP(x,e) if (0 == (x)) \
|
||||
{ \
|
||||
return 0; \
|
||||
}(void)0 /* PRQA S 3412 */ /* $Misra: #COMPILER_WARNING $*/
|
||||
#define D2_CHECKERRP(x,e) if (! (x)) \
|
||||
{ \
|
||||
(void)D2_SETERR(handle, (e)); \
|
||||
return 0; \
|
||||
} (void)0 /* PRQA S 3412 */ /* $Misra: #COMPILER_WARNING $*/
|
||||
#define D2_CHECKRANGE( v, min, max ) if( ((min) > (v)) || ( (v) > (max)) ) \
|
||||
{ \
|
||||
(void)D2_SETERR( handle, D2_INVALIDINDEX); \
|
||||
return D2_INVALIDINDEX; \
|
||||
}(void)0 /* PRQA S 3412 */ /* $Misra: #COMPILER_WARNING $*/
|
||||
#else
|
||||
#define D2_VALIDATE(x,e)(void)0 /* PRQA S 4130, 3112, 3453 */ /* $Misra: #DEBUG_MACRO $*/
|
||||
#define D2_CHECKERR(x,e)(void)0 /* PRQA S 4130, 3112, 3453 */ /* $Misra: #DEBUG_MACRO $*/
|
||||
#define D2_VALIDATEP(x,e)(void)0 /* PRQA S 4130, 3112, 3453 */ /* $Misra: #DEBUG_MACRO $*/
|
||||
#define D2_CHECKERRP(x,e)(void)0 /* PRQA S 4130, 3112, 3453 */ /* $Misra: #DEBUG_MACRO $*/
|
||||
#define D2_CHECKRANGE( v, min, max )(void)0 /* PRQA S 4130, 3112, 3453 */ /* $Misra: #DEBUG_MACRO $*/
|
||||
#endif
|
||||
|
||||
D2_EXTERN void d2_cast32to64(d2_s32 par, d2_int64 *res);
|
||||
D2_EXTERN d2_s32 d2_cast64to32(const d2_int64 *par);
|
||||
D2_EXTERN void d2_add64(const d2_int64 *a, const d2_int64 *b, d2_int64 *res);
|
||||
D2_EXTERN void d2_sub64(const d2_int64 *a, const d2_int64 *b, d2_int64 *res);
|
||||
D2_EXTERN void d2_mul3232to64(d2_s32 a, d2_s32 b, d2_int64 *res);
|
||||
D2_EXTERN void d2_mul3264(d2_s32 a, d2_int64 *b, d2_int64 *res);
|
||||
D2_EXTERN void d2_div6432(const d2_int64 *dividend, d2_s32 divisor, d2_int64 *res);
|
||||
D2_EXTERN void d2_shiftleft64(const d2_int64 *var, d2_s32 index, d2_int64 *res);
|
||||
D2_EXTERN void d2_shiftright64(const d2_int64 *var, d2_s32 index, d2_int64 *res);
|
||||
|
||||
#ifdef _NO_LL_
|
||||
#define D2_CAST32TO64(PAR, RES) d2_cast32to64(PAR, RES) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_CAST64TO32(PAR) d2_cast64to32(PAR) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_ADD64(A, B, RES) d2_add64(A, B, RES) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_SUB64(A, B, RES) d2_sub64(A, B, RES) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_MUL3232TO64(A, B, RES) d2_mul3232to64(A, B, RES) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_MUL3264(A, B, RES) d2_mul3264(A, B, RES) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_DIV6432(DVD, DVS, RES) d2_div6432(DVD, DVS, RES) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_SHIFTLEFT64(V, I, RES) d2_shiftleft64(V, I, RES) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#define D2_SHIFTRIGHT64(V, I, RES) d2_shiftright64(V, I, RES) /* PRQA S 3453 */ /* $Misra: #MACRO_FXN_FORWARD $*/
|
||||
#else
|
||||
#define D2_CAST32TO64(PAR, RES) *(RES) = (PAR) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#define D2_CAST64TO32(PAR) ((d2_s32)*(PAR)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#define D2_ADD64(A, B, RES) *(RES) = (*(A)) + (*(B)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#define D2_SUB64(A, B, RES) *(RES) = (*(A)) - (*(B)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#define D2_MUL3232TO64(A, B, RES) *(RES) = ((A)) * (*(B)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#define D2_MUL3264(A, B, RES) *(RES) = ((A)) * (*(B)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#define D2_DIV6432(DVD, DVS, RES) *(RES) = (*(DVD)) / ((DVS)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#define D2_SHIFTLEFT64(V, I, RES) *(RES) = ((*(V)) << (I)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#define D2_SHIFTRIGHT64(V, I, RES) *(RES) = ((*(V)) >> (I)) /* PRQA S 3453 */ /* $Misra: #MACRO_TYPE_SAFE_FXN_REPL $*/
|
||||
#endif
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* Display List entry macro (moved from dlist.h because of include dependencies) */
|
||||
|
||||
static D2_INLINE void d2_add2dlist_intern( d2_devicedata *handle, d2_u32 regIdx, d2_s32 value ) /* PRQA S 3450, 3480, 3219 */ /* $Misra: #UTIL_INLINE_FUNC $*/
|
||||
{
|
||||
d2_dlist_scratch_entry *entry = handle->dlscratch_pos;
|
||||
|
||||
entry->reg = regIdx;
|
||||
entry->value = value;
|
||||
|
||||
handle->dlscratch_pos++;
|
||||
handle->dlscratch_cnt--;
|
||||
if(handle->dlscratch_cnt <= 0)
|
||||
{
|
||||
handle->dlscratch_hook( (d2_device*) handle );
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
54
src/drivers/dave2d/include/dave_line.h
Normal file
@ -0,0 +1,54 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_line.h (%version: 8 %)
|
||||
* created Mon Jan 31 16:49:01 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Fri Mar 17 11:23:54 2006 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2011-01-20 SSt made lines and polylines thread safe (eliminated globals)
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_line_h_H
|
||||
#define __1_dave_line_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline_intern( d2_devicedata *handle, d2_contextdata *ctx, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags, d2_limdata *edge_buffer, d2_bbox *edge_bbox, const d2_s32 *connectors );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline2_intern( d2_devicedata *handle, d2_contextdata *ctx, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w1, d2_width w2, d2_u32 flags, d2_limdata *edge_buffer, d2_bbox *edge_bbox );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderlinedot_intern( d2_devicedata *handle, const d2_contextdata *ctx, d2_point x, d2_point y, d2_width w, d2_u32 edges, const d2_limdata *edge_buffer, const d2_bbox *edge_bbox );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline_intern_split( d2_devicedata *handle, d2_contextdata *ctx, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags, d2_limdata *edge_buffer, d2_bbox *edge_bbox, const d2_s32 *connectors );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline_solid( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline_shadow( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline_solidshadow( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline_outline_I( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline_outline( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline_solidoutline( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w, d2_u32 flags );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline2_solid( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w1, d2_width w2, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline2_shadow( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w1, d2_width w2, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline2_solidshadow( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w1, d2_width w2, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline2_outline( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w1, d2_width w2, d2_u32 flags );
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderline2_solidoutline( d2_device *handle, d2_point x1, d2_point y1, d2_point x2, d2_point y2, d2_width w1, d2_width w2, d2_u32 flags );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
111
src/drivers/dave2d/include/dave_math.h
Normal file
@ -0,0 +1,111 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_math.h (%version: 4 %)
|
||||
* created Thu Jan 13 09:41:58 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Thu Jul 14 14:56:48 2005 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2007-08-29 ASc - remove tabs, add ndoc comments, change C++ to C comments
|
||||
* 2007-12-06 ASc - fixed macro name in description of D2_FIX4
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* Title: Math Functions
|
||||
* Package of useful macros and functions e.g. for fixedpoint operations.
|
||||
*
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef __1_dave_math_h_H
|
||||
#define __1_dave_math_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
|
||||
/* Group: Fixedpoint Macros */
|
||||
|
||||
|
||||
/* Function: D2_FIX4(x)
|
||||
* Integer to n:4 fixedpoint conversion */
|
||||
#define D2_FIX4(x) ((x) << 4) /* PRQA S 4131 */ /* $Misra: #PERF_ARITHMETIC_SHIFT_LEFT $*/
|
||||
|
||||
/* Macro: D2_INT4(x)
|
||||
* n:4 to integer conversion */
|
||||
#define D2_INT4(x) ((x) >> 4) /* PRQA S 0502 */ /* $Misra: #PERF_ARITHMETIC_SHIFT_RIGHT $*/
|
||||
|
||||
/* Macro: D2_FLOOR4(x)
|
||||
* n:4 fixedpoint unsigned floor (round towards -inf) */
|
||||
#define D2_FLOOR4(x) (((d2_u32)(x)) & ~15u)
|
||||
|
||||
/* Macro: D2_CEIL4(x)
|
||||
* n:4 fixedpoint unsigned ceil (round towards +inf) */
|
||||
#define D2_CEIL4(x) ((((d2_u32)(x)) + 15u) & ~15u)
|
||||
|
||||
/* Macro: D2_FRAC4(x)
|
||||
* n:4 fixedpoint fractional part only */
|
||||
#define D2_FRAC4(x) (((d2_u32)(x)) & 15u)
|
||||
|
||||
/* Macro: D2_FIX16(x)
|
||||
* integer to n:16 fixedpoint conversion */
|
||||
#define D2_FIX16(x) ((x) << 16) /* PRQA S 4131 */ /* $Misra: #PERF_ARITHMETIC_SHIFT_LEFT $*/
|
||||
|
||||
/* Macro: D2_INT16(x)
|
||||
n:16 to integer conversion */
|
||||
#define D2_INT16(x) ((x) >> 16) /* PRQA S 0502 */ /* $Misra: #PERF_ARITHMETIC_SHIFT_RIGHT $*/
|
||||
|
||||
/* Macro: D2_FLOOR16(x)
|
||||
* n:16 fixedpoint unsigned floor (round towards -inf) */
|
||||
#define D2_FLOOR16(x) (((d2_u32)(x)) & ~65535u)
|
||||
|
||||
/* Macro: D2_CEIL16(x)
|
||||
* n:16 fixedpoint unsigned ceil (round towards +inf) */
|
||||
#define D2_CEIL16(x) ((((d2_u32)(x)) + 65535u) & ~65535u)
|
||||
|
||||
/* Macro: D2_FRAC16(x)
|
||||
* n:16 fixedpoint fractional part only */
|
||||
#define D2_FRAC16(x) (((d2_u32)(x)) & 65535u)
|
||||
|
||||
/* Macro: D2_EPSILON
|
||||
* Smallest representable positive number (all fixedpoint formats) */
|
||||
#define D2_EPSILON 1
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
/* Group: Math Functions */
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* Function: d2_sqrt
|
||||
* Minimalistic 32->16 bit integer square root (no hw divide/multiply needed)
|
||||
* unrolled for speed.
|
||||
*
|
||||
* parameters:
|
||||
* x - fixedpoint number
|
||||
*
|
||||
* returns:
|
||||
* the square root of x
|
||||
*
|
||||
* */
|
||||
D2_EXTERN d2_s32 d2_sqrt(d2_u32 x);
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* Function: d2_pow2mask
|
||||
* Find next larger power of two minus 1
|
||||
*
|
||||
* E.g. given number x=73 -> next larger power of two is 128,
|
||||
* the result is 128 minus 1 = 127 (number with all bits set)
|
||||
*
|
||||
* parameters:
|
||||
* x - positive number
|
||||
*
|
||||
* returns:
|
||||
* the next larger number of two minus 1 of x
|
||||
*
|
||||
* */
|
||||
D2_EXTERN d2_u32 d2_pow2mask(d2_u32 x);
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
28
src/drivers/dave2d/include/dave_memory.h
Normal file
@ -0,0 +1,28 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_memory.h (%version: 5 %)
|
||||
* created Tue Jan 11 13:12:00 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Thu Jan 04 10:37:31 2007 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_memory_h_H
|
||||
#define __1_dave_memory_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
#include "dave_driver.h"
|
||||
|
||||
D2_EXTERN void *d2_getmem_p( d2_u32 size );
|
||||
D2_EXTERN void *d2_reallocmem_p( d2_u32 newsize, void *oldadr, d2_s32 keep );
|
||||
D2_EXTERN void d2_freemem_p( void *adr );
|
||||
|
||||
D2_EXTERN void *d2_getmem_d( const d2_device *handle, d2_u32 size );
|
||||
D2_EXTERN void d2_freemem_d( const d2_device *handle, void *adr );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
21
src/drivers/dave2d/include/dave_pattern.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_pattern.h (%version: 2 %)
|
||||
* created Tue Feb 15 12:45:43 2005 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Fri Feb 18 16:28:01 2005 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_pattern_h_H
|
||||
#define __1_dave_pattern_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN void d2_setuppattern( d2_devicedata *handle, const d2_contextdata *ctx, const d2_bbox *bbox, d2_s32 flip );
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||
33
src/drivers/dave2d/include/dave_polyline.h
Normal file
@ -0,0 +1,33 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
* Project: D/AVE
|
||||
* File: dave_polyline.h (%version: 3 %)
|
||||
* created Wed Mar 15 13:47:56 2006 by hh04027
|
||||
*
|
||||
* Description:
|
||||
* %date_modified: Fri Jun 30 11:43:18 2006 % (%derived_by: hh04027 %)
|
||||
*
|
||||
* Changes:
|
||||
* 2008-01-14 ASc changed comments from C++ to C, removed tabs
|
||||
* 2012-09-25 BSp MISRA cleanup
|
||||
*-------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef __1_dave_polyline_h_H
|
||||
#define __1_dave_polyline_h_H
|
||||
/*--------------------------------------------------------------------------- */
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderpolyline_intern( d2_devicedata *handle, d2_contextdata *ctx, const d2_point *data, const d2_u32 *sflags, d2_u32 count, d2_width w, d2_u32 flags, d2_point soffx, d2_point soffy);
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderpolyline_solid( d2_device *handle, const d2_point *data, d2_u32 count, d2_width w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline_shadow( d2_device *handle, const d2_point *data, d2_u32 count, d2_width w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline_outline( d2_device *handle, const d2_point *data, d2_u32 count, d2_width w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline_solidshadow( d2_device *handle, const d2_point *data, d2_u32 count, d2_width w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline_solidoutline( d2_device *handle, const d2_point *data, d2_u32 count, d2_width w, d2_u32 flags);
|
||||
|
||||
D2_EXTERN d2_s32 d2_renderpolyline2_solid( d2_device *handle, const d2_point *data, d2_u32 count, const d2_width *w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline2_shadow( d2_device *handle, const d2_point *data, d2_u32 count, const d2_width *w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline2_outline( d2_device *handle, const d2_point *data, d2_u32 count, const d2_width *w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline2_solidshadow( d2_device *handle, const d2_point *data, d2_u32 count, const d2_width *w, d2_u32 flags);
|
||||
D2_EXTERN d2_s32 d2_renderpolyline2_solidoutline( d2_device *handle, const d2_point *data, d2_u32 count, const d2_width *w, d2_u32 flags);
|
||||
|
||||
/*--------------------------------------------------------------------------- */
|
||||
#endif
|
||||