openmv/drivers/dave2d/docs/files/code/dave_context-c.html
iabdalkader daf2bb30da misc: Restructure repo.
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-13 08:28:34 +02:00

136 lines
169 KiB
HTML
Raw Blame History

<!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>Context 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="Context_Functions"></a>Context Functions</h1><div class=CBody><p>Modify material settings</p><p>Rendering attributes (like color, pattern, blendmodes) are stored inside a <b>context</b>.&nbsp; A context is a collection of material attributes and must not be mistaken with a device handle.&nbsp; A device handle (see: <a href="dave_driver-c.html#Device_management" class=LGroup >Device management</a>) is the root of all process dependant data and is passed as first parameter to every function.&nbsp; This construct allows the driver functions to be reentrant in case of a multiple drawing engine units.</p><p>A device handle contains information about displaylists, framebuffers,etc...&nbsp; Everything that the drawing engine will require.&nbsp; It also includes pointers to contexts.</p><p>Each device has at all times pointers to three relevant context&rsquo;s :</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>selected context</td><td class=CDLDescription>This one is changed (written to) by the set commands shown below (see: <a href="#d2_selectcontext" class=LFunction id=link47 onMouseOver="ShowTip(event, 'tt4', 'link47')" onMouseOut="HideTip('tt4')">d2_selectcontext</a>)</td></tr><tr><td class=CDLEntry>solid context</td><td class=CDLDescription>Used as a source (read from) when rendering interior regions (see: <a href="#d2_solidcontext" class=LFunction id=link48 onMouseOver="ShowTip(event, 'tt5', 'link48')" onMouseOut="HideTip('tt5')">d2_solidcontext</a>)</td></tr><tr><td class=CDLEntry>outline context</td><td class=CDLDescription>Used as a source (read from) when rendering outlines or shadows (see: <a href="#d2_outlinecontext" class=LFunction id=link49 onMouseOver="ShowTip(event, 'tt6', 'link49')" onMouseOut="HideTip('tt6')">d2_outlinecontext</a>)</td></tr></table><p>All three (selected, solid and outline) can point to the same context.&nbsp; Every driver function that starts with <b>get</b> or <b>set</b> will work on the currently selected context (with the obvious exception of geterror and getversion).</p><p>There is always a <b>default context</b> that can not be freed by the application and is used for everything per default.</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="#Context_Functions" >Context Functions</a></td><td class=SDescription>Modify material settings</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Context_Management" >Context Management</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_newcontext" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">d2_newcontext</a></td><td class=SDescription>Create new context (used to store render settings).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_freecontext" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">d2_freecontext</a></td><td class=SDescription>Release Context.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getcontext" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">d2_getcontext</a></td><td class=SDescription>Get a pointer to an currently active context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_selectcontext" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">d2_selectcontext</a></td><td class=SDescription>Make a rendering context active (all following property set operations will use it)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_solidcontext" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">d2_solidcontext</a></td><td class=SDescription>Define the solid rendering context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_outlinecontext" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">d2_outlinecontext</a></td><td class=SDescription>Define the outline rendering context.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Context_Attribute_Writes" >Context Attribute Writes</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setfillmode" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">d2_setfillmode</a></td><td class=SDescription>Select fillmode (solid,patter,texture,..)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setcolor" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">d2_setcolor</a></td><td class=SDescription>Set color registers.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setalpha" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">d2_setalpha</a></td><td class=SDescription>set constant alpha value</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setalphaex" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">d2_setalphaex</a></td><td class=SDescription>set constant alpha value</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setalphamode" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">d2_setalphamode</a></td><td class=SDescription>Choose alpha source.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setalphagradient" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">d2_setalphagradient</a></td><td class=SDescription>Define an alpha gradient.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setblendmode" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">d2_setblendmode</a></td><td class=SDescription>Choose blendmode for RGB.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setalphablendmode" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">d2_setalphablendmode</a></td><td class=SDescription>Choose blendmode for alpha channel.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setalphablendmodeex" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">d2_setalphablendmodeex</a></td><td class=SDescription>Choose blendmode for alpha channel.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setantialiasing" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">d2_setantialiasing</a></td><td class=SDescription>Globally disable or enable antialiasing.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setblur" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">d2_setblur</a></td><td class=SDescription>Set global blurring factor.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setlinecap" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">d2_setlinecap</a></td><td class=SDescription>Specify lineend style.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setlinejoin" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">d2_setlinejoin</a></td><td class=SDescription>Specify polyline connection style.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setmiterlimit" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">d2_setmiterlimit</a></td><td class=SDescription>Clipping distance for miter polyline connections.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setpattern" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">d2_setpattern</a></td><td class=SDescription>Specify pattern bitmask.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setpatternalpha" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">d2_setpatternalpha</a></td><td class=SDescription>Specify pattern transparency.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setpatternparam" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">d2_setpatternparam</a></td><td class=SDescription>Define mapping of pattern to geometry.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setlinepattern" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">d2_setlinepattern</a></td><td class=SDescription>Specify parameters for aligned patterns.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setpatternmode" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">d2_setpatternmode</a></td><td class=SDescription>Define pattern addressing details.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setpatternsize" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">d2_setpatternsize</a></td><td class=SDescription>Define pattern size.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_setclipgradient" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">d2_setclipgradient</a></td><td class=SDescription>Define an alpha gradient for clipping.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_setcircleextend" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">d2_setcircleextend</a></td><td class=SDescription>Increase bbox of circles.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Context_Attribute_Queries" >Context Attribute Queries</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getfillmode" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">d2_getfillmode</a></td><td class=SDescription>Query fillmode from selected context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getcolor" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">d2_getcolor</a></td><td class=SDescription>Query a color from selected context.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getalpha" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')">d2_getalpha</a></td><td class=SDescription>Query constant alpha from selected context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getalphaex" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')">d2_getalphaex</a></td><td class=SDescription>Query constant alpha from selected context.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getalphamode" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')">d2_getalphamode</a></td><td class=SDescription>Query alpha source from selected context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getblendmodesrc" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')">d2_getblendmodesrc</a></td><td class=SDescription>Query source blend factor from selected context.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getblendmodedst" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')">d2_getblendmodedst</a></td><td class=SDescription>Query destination blend factor from selected context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getalphablendmodesrc" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')">d2_getalphablendmodesrc</a></td><td class=SDescription>Query source blend factor for alpha channel blending from selected context.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getalphablendmodedst" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')">d2_getalphablendmodedst</a></td><td class=SDescription>Query destination blend factor for alpha channel blending from selected context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getalphablendmodeflags" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')">d2_getalphablendmodeflags</a></td><td class=SDescription>Query alpha blend flags from selected context.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getantialiasing" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')">d2_getantialiasing</a></td><td class=SDescription>Query antialiasing setting from selected context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getblur" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')">d2_getblur</a></td><td class=SDescription>Query blurring factor from selected context.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getlinecap" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')">d2_getlinecap</a></td><td class=SDescription>Query lineend style from selected context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getlinejoin" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')">d2_getlinejoin</a></td><td class=SDescription>Query polyline connection style from selected context.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getpattern" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')">d2_getpattern</a></td><td class=SDescription>Query pattern bitmask from selected context.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getpatternmode" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')">d2_getpatternmode</a></td><td class=SDescription>Query pattern addressing details.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#d2_getpatternsize" id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')">d2_getpatternsize</a></td><td class=SDescription>Query pattern bitmask size.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#d2_getpatternalpha" id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')">d2_getpatternalpha</a></td><td class=SDescription>Query pattern transparency from selected context.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Context_Management"></a>Context Management</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_newcontext"></a>d2_newcontext</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_context * d2_newcontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Create new context (used to store render settings).</p><p>Note that every context is bound to the device it is created for and can not be used in another process or selected into any other device.&nbsp; Every new context is reset to a default state, it does not reflect the currently selected context.</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=link50 onMouseOver="ShowTip(event, 'tt47', 'link50')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>context pointer or NULL in case of an error</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_freecontext"></a>d2_freecontext</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_freecontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_context&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Release Context.</p><p>Free the memory associated with a context.&nbsp; If the context is still selected or an active source for rendering it is deselected (by selecting the default context instead) before destruction.</p><p>All contexts assigned to a device are freed automatically when the device is closed.</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=link51 onMouseOver="ShowTip(event, 'tt47', 'link51')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>ctx</td><td class=CDLDescription>context pointer</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link52 onMouseOver="ShowTip(event, 'tt48', 'link52')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getcontext"></a>d2_getcontext</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 "colspan=4>d2_context * d2_getcontext(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap width=100%>handle,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap width=100%>mode</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) /* PRQA S 3673 */ /* $Misra: #NOT_CONST_IN_DEBUG_BUILD $*/</td></tr></table></td></tr></table></blockquote><p>Get a pointer to an currently active context.</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=link53 onMouseOver="ShowTip(event, 'tt47', 'link53')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>getcontext mode determines what context should be returned</td></tr></table><h4 class=CHeading>getcontext modes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_context_default</td><td class=CDLDescription>return the default context</td></tr><tr><td class=CDLEntry>d2_context_selected</td><td class=CDLDescription>return the currently selected context (see: <a href="#d2_selectcontext" class=LFunction id=link54 onMouseOver="ShowTip(event, 'tt4', 'link54')" onMouseOut="HideTip('tt4')">d2_selectcontext</a>)</td></tr><tr><td class=CDLEntry>d2_context_solid</td><td class=CDLDescription>return current solid context (see: <a href="#d2_solidcontext" class=LFunction id=link55 onMouseOver="ShowTip(event, 'tt5', 'link55')" onMouseOut="HideTip('tt5')">d2_solidcontext</a>)</td></tr><tr><td class=CDLEntry>d2_context_outline</td><td class=CDLDescription>return current outline context (see: <a href="#d2_outlinecontext" class=LFunction id=link56 onMouseOver="ShowTip(event, 'tt6', 'link56')" onMouseOut="HideTip('tt6')">d2_outlinecontext</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>context pointer or NULL in case of an error</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_selectcontext"></a>d2_selectcontext</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_selectcontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_context&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Make a rendering context active (all following property set operations will use it)</p><p>Selecting a context has no direct effect on how geometry is rendered (reading is done from solid and outline contexts) and is a very fast operation.</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=link57 onMouseOver="ShowTip(event, 'tt47', 'link57')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>ctx</td><td class=CDLDescription>context pointer</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link58 onMouseOver="ShowTip(event, 'tt48', 'link58')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_solidcontext" class=LFunction id=link59 onMouseOver="ShowTip(event, 'tt5', 'link59')" onMouseOut="HideTip('tt5')">d2_solidcontext</a>, <a href="#d2_outlinecontext" class=LFunction id=link60 onMouseOver="ShowTip(event, 'tt6', 'link60')" onMouseOut="HideTip('tt6')">d2_outlinecontext</a>, <a href="#d2_getcontext" class=LFunction id=link61 onMouseOver="ShowTip(event, 'tt3', 'link61')" onMouseOut="HideTip('tt3')">d2_getcontext</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_solidcontext"></a>d2_solidcontext</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_solidcontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_context&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Define the solid rendering context.</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=link62 onMouseOver="ShowTip(event, 'tt47', 'link62')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>ctx</td><td class=CDLDescription>context pointer</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link63 onMouseOver="ShowTip(event, 'tt48', 'link63')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_selectcontext" class=LFunction id=link64 onMouseOver="ShowTip(event, 'tt4', 'link64')" onMouseOut="HideTip('tt4')">d2_selectcontext</a>, <a href="#d2_outlinecontext" class=LFunction id=link65 onMouseOver="ShowTip(event, 'tt6', 'link65')" onMouseOut="HideTip('tt6')">d2_outlinecontext</a>, <a href="#d2_getcontext" class=LFunction id=link66 onMouseOver="ShowTip(event, 'tt3', 'link66')" onMouseOut="HideTip('tt3')">d2_getcontext</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_outlinecontext"></a>d2_outlinecontext</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_outlinecontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_context&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Define the outline rendering context.</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=link67 onMouseOver="ShowTip(event, 'tt47', 'link67')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>ctx</td><td class=CDLDescription>context pointer</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link68 onMouseOver="ShowTip(event, 'tt48', 'link68')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_solidcontext" class=LFunction id=link69 onMouseOver="ShowTip(event, 'tt5', 'link69')" onMouseOut="HideTip('tt5')">d2_solidcontext</a>, <a href="#d2_selectcontext" class=LFunction id=link70 onMouseOver="ShowTip(event, 'tt4', 'link70')" onMouseOut="HideTip('tt4')">d2_selectcontext</a>, <a href="#d2_getcontext" class=LFunction id=link71 onMouseOver="ShowTip(event, 'tt3', 'link71')" onMouseOut="HideTip('tt3')">d2_getcontext</a></p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Context_Attribute_Writes"></a>Context Attribute Writes</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setfillmode"></a>d2_setfillmode</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_setfillmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Select fillmode (solid,patter,texture,..)</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=link72 onMouseOver="ShowTip(event, 'tt47', 'link72')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>fillmode</td></tr></table><h4 class=CHeading>fill modes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_fm_color</td><td class=CDLDescription>single color (default)</td></tr><tr><td class=CDLEntry>d2_fm_twocolor</td><td class=CDLDescription>blending between color1 and color2 instead of color1 and background</td></tr><tr><td class=CDLEntry>d2_fm_pattern</td><td class=CDLDescription>fill with pattern</td></tr><tr><td class=CDLEntry>d2_fm_texture</td><td class=CDLDescription>fill with texture</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link73 onMouseOver="ShowTip(event, 'tt48', 'link73')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setcolor"></a>d2_setcolor</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_setcolor(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_color&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set color registers.</p><p>Set one of the two color registers, color1 and color2.&nbsp; Second register (index 1) is used for pattern rendering and during d2_fm_twocolor fillmode only.</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=link74 onMouseOver="ShowTip(event, 'tt47', 'link74')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>color register index (0 or 1)</td></tr><tr><td class=CDLEntry>color</td><td class=CDLDescription>24bit rgb color value</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link75 onMouseOver="ShowTip(event, 'tt48', 'link75')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setalpha"></a>d2_setalpha</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_setalpha(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_alpha&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>set constant alpha 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=link76 onMouseOver="ShowTip(event, 'tt47', 'link76')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>alpha</td><td class=CDLDescription>alpha value (0 is totally transparent, 255 is fully opaque)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link77 onMouseOver="ShowTip(event, 'tt48', 'link77')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setalphaex"></a>d2_setalphaex</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_setalphaex(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_alpha&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>set constant alpha 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=link78 onMouseOver="ShowTip(event, 'tt47', 'link78')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>alpha register index (0 or 1)</td></tr><tr><td class=CDLEntry>alpha</td><td class=CDLDescription>alpha value (0 is totally transparent, 255 is fully opaque)</td></tr></table><p>if index is 0 this function does the same as <a href="#d2_setalpha" class=LFunction id=link79 onMouseOver="ShowTip(event, 'tt9', 'link79')" onMouseOut="HideTip('tt9')">d2_setalpha</a>. if index is 1 alpha is set for color register 2 (see: <a href="#d2_setalphablendmodeex" class=LFunction id=link80 onMouseOver="ShowTip(event, 'tt15', 'link80')" onMouseOut="HideTip('tt15')">d2_setalphablendmodeex</a>).</p><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link81 onMouseOver="ShowTip(event, 'tt48', 'link81')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setalphamode"></a>d2_setalphamode</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_setalphamode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Choose alpha source.</p><p>Defines how alpha (transparency) is defined.&nbsp; As a constant value, a gradient or a mixture to both.&nbsp; Gradients are defined using <a href="#d2_setalphagradient" class=LFunction id=link82 onMouseOver="ShowTip(event, 'tt12', 'link82')" onMouseOut="HideTip('tt12')">d2_setalphagradient</a>.</p><p>Note that per pixel alpha (e.g. texture alpha channel) information is not disabled by setting the alphamode to opaque.&nbsp; To disable texture alpha look at <a href="dave_texture-c.html#d2_settextureoperation" class=LFunction id=link83 onMouseOver="ShowTip(event, 'tt49', 'link83')" onMouseOut="HideTip('tt49')">d2_settextureoperation</a>.</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=link84 onMouseOver="ShowTip(event, 'tt47', 'link84')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>alpha mode, several values can be or&rsquo;ed together</td></tr></table><h4 class=CHeading>alpha modes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_am_opaque</td><td class=CDLDescription>no transparency (equal to constant alpha of 0xff)</td></tr><tr><td class=CDLEntry>d2_am_constant</td><td class=CDLDescription>constant transparency (see: <a href="#d2_setalpha" class=LFunction id=link85 onMouseOver="ShowTip(event, 'tt9', 'link85')" onMouseOut="HideTip('tt9')">d2_setalpha</a>)</td></tr><tr><td class=CDLEntry>d2_am_gradient1</td><td class=CDLDescription>alpha gradient1 is active</td></tr><tr><td class=CDLEntry>d2_am_gradient2</td><td class=CDLDescription>alpha gradient2 is active</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link86 onMouseOver="ShowTip(event, 'tt48', 'link86')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setalphagradient"></a>d2_setalphagradient</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_setalphagradient(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Define an alpha gradient.</p><p>Instead or in addition to a constant alpha (transparency) value the hardware can also apply one or more alpha gradients to the rendered geometry.&nbsp; Gradients have to be enabled using <a href="#d2_setalphamode" class=LFunction id=link87 onMouseOver="ShowTip(event, 'tt11', 'link87')" onMouseOut="HideTip('tt11')">d2_setalphamode</a> in order to become visible.</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=link88 onMouseOver="ShowTip(event, 'tt47', 'link88')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>alpha gradient index (0 or 1)</td></tr><tr><td class=CDLEntry>x,y</td><td class=CDLDescription>startpoint of gradient (point of alpha 0) (fixedpoint)</td></tr><tr><td class=CDLEntry>dx,dy</td><td class=CDLDescription>direction and length of gradient (distance to point of alpha 255)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link89 onMouseOver="ShowTip(event, 'tt48', 'link89')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setblendmode"></a>d2_setblendmode</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_setblendmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dstfactor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Choose blendmode for RGB.</p><p>Blendmode defines how the RGB channels of new pixels (source) are combined with already existing data in the framebuffer (destination).&nbsp; Blend modes for alpha channel are set by <a href="#d2_setalphablendmode" class=LFunction id=link90 onMouseOver="ShowTip(event, 'tt14', 'link90')" onMouseOut="HideTip('tt14')">d2_setalphablendmode</a>.</p><p>The most common blending (and also the default) is a direct linear blend :</p><blockquote><pre>d2_bm_alpha , d2_bm_one_minus_alpha</pre></blockquote><p>Additive blending is also pretty common :</p><blockquote><pre>d2_bm_alpha , d2_bm_one</pre></blockquote><p>Note that antialiasing is not possible without blending (because partly covered pixels are represented by transparency).&nbsp; Therefore antialiasing is impossible with blendmodes that ignore alpha entirely.</p><p>If d2_mode_alpha8 is used, alpha is treated as color.</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=link91 onMouseOver="ShowTip(event, 'tt47', 'link91')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>srcfactor</td><td class=CDLDescription>source blend factor (see available blend factors)</td></tr><tr><td class=CDLEntry>dstfactor</td><td class=CDLDescription>destination blend factor (see available blend factors)</td></tr></table><h4 class=CHeading>blend factors</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_bm_zero</td><td class=CDLDescription>constant 0</td></tr><tr><td class=CDLEntry>d2_bm_one</td><td class=CDLDescription>constant 1</td></tr><tr><td class=CDLEntry>d2_bm_alpha</td><td class=CDLDescription>current alpha</td></tr><tr><td class=CDLEntry>d2_bm_one_minus_alpha</td><td class=CDLDescription>inverted alpha</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link92 onMouseOver="ShowTip(event, 'tt48', 'link92')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setalphablendmode"></a>d2_setalphablendmode</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_setalphablendmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dstfactor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Choose blendmode for alpha channel.</p><p>Blendmode defines how new alpha values (source) are combined with already existing data in the framebuffer (destination).</p><ul><li>The most common blending for alpha channel (and also the default) is write src alpha :</li></ul><blockquote><pre>d2_bm_one, d2_bm_zero</pre></blockquote><ul><li>Another possible mode is alpha blending:</li></ul><blockquote><pre>d2_bm_one, d2_bm_one_minus_alpha</pre></blockquote><ul><li>It is also possible to keep dst alpha :</li></ul><blockquote><pre>d2_bm_zero, d2_bm_one</pre></blockquote><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=link93 onMouseOver="ShowTip(event, 'tt47', 'link93')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>srcfactor</td><td class=CDLDescription>source blend factor (see available blend factors)</td></tr><tr><td class=CDLEntry>dstfactor</td><td class=CDLDescription>destination blend factor (see available blend factors)</td></tr></table><h4 class=CHeading>blend factors</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_bm_zero</td><td class=CDLDescription>constant 0</td></tr><tr><td class=CDLEntry>d2_bm_one</td><td class=CDLDescription>constant 1</td></tr><tr><td class=CDLEntry>d2_bm_alpha</td><td class=CDLDescription>current alpha</td></tr><tr><td class=CDLEntry>d2_bm_one_minus_alpha</td><td class=CDLDescription>inverted alpha</td></tr></table><h4 class=CHeading>note</h4><p>If the framebuffer format is set to d2_mode_alpha8 (<a href="dave_viewport-c.html#d2_framebuffer" class=LFunction id=link94 onMouseOver="ShowTip(event, 'tt50', 'link94')" onMouseOut="HideTip('tt50')">d2_framebuffer</a>) then alpha blend mode should be set to write src alpha.&nbsp; For d2_mode_alpha8 the blend modes set by <a href="#d2_setblendmode" class=LFunction id=link95 onMouseOver="ShowTip(event, 'tt13', 'link95')" onMouseOut="HideTip('tt13')">d2_setblendmode</a> do apply.</p><h4 class=CHeading>note</h4><p>the blend flags of the selected context is set to d2_blendf_default (see: <a href="#d2_setalphablendmodeex" class=LFunction id=link96 onMouseOver="ShowTip(event, 'tt15', 'link96')" onMouseOut="HideTip('tt15')">d2_setalphablendmodeex</a>)</p><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link97 onMouseOver="ShowTip(event, 'tt48', 'link97')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setalphablendmodeex"></a>d2_setalphablendmodeex</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_setalphablendmodeex(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dstfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>blendflags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Choose blendmode for alpha channel.</p><p>Blendmode defines how new alpha values (source) are combined with already existing data in the framebuffer (destination).</p><ul><li>The most common blending for alpha channel (and also the default) is write src alpha :</li></ul><blockquote><pre>d2_bm_one, d2_bm_zero</pre></blockquote><ul><li>Another possible mode is alpha blending:</li></ul><blockquote><pre>d2_bm_one, d2_bm_one_minus_alpha</pre></blockquote><ul><li>It is also possible to keep dst alpha :</li></ul><blockquote><pre>d2_bm_zero, d2_bm_one</pre></blockquote><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=link98 onMouseOver="ShowTip(event, 'tt47', 'link98')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>srcfactor</td><td class=CDLDescription>source blend factor (see available blend factors)</td></tr><tr><td class=CDLEntry>dstfactor</td><td class=CDLDescription>destination blend factor (see available blend factors)</td></tr><tr><td class=CDLEntry>blendflags</td><td class=CDLDescription>blend flags (see available blend flags)</td></tr></table><h4 class=CHeading>blend factors</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_bm_zero</td><td class=CDLDescription>constant 0</td></tr><tr><td class=CDLEntry>d2_bm_one</td><td class=CDLDescription>constant 1</td></tr><tr><td class=CDLEntry>d2_bm_alpha</td><td class=CDLDescription>current alpha</td></tr><tr><td class=CDLEntry>d2_bm_one_minus_alpha</td><td class=CDLDescription>inverted alpha</td></tr></table><h4 class=CHeading>blend flags</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_blendf_blenddst</td><td class=CDLDescription>use framebuffer alpha as dst alpha (is d2_blendf_default)</td></tr><tr><td class=CDLEntry>d2_blendf_blendcolor2</td><td class=CDLDescription>use color2 alpha as dst alpha as input for the blending formula (see: <a href="#d2_setalphaex" class=LFunction id=link99 onMouseOver="ShowTip(event, 'tt10', 'link99')" onMouseOut="HideTip('tt10')">d2_setalphaex</a>)</td></tr></table><h4 class=CHeading>note</h4><p>If the framebuffer format is set to d2_mode_alpha8 (<a href="dave_viewport-c.html#d2_framebuffer" class=LFunction id=link100 onMouseOver="ShowTip(event, 'tt50', 'link100')" onMouseOut="HideTip('tt50')">d2_framebuffer</a>) the alpha blend mode should be set to write src alpha: For d2_mode_alpha8 the blend modes set by <a href="#d2_setblendmode" class=LFunction id=link101 onMouseOver="ShowTip(event, 'tt13', 'link101')" onMouseOut="HideTip('tt13')">d2_setblendmode</a> do apply.</p><p>On older D/AVE 2D hardware revisions without alpha channel blending (see: <a href="dave_driver-c.html#d2_getrevisionhw" class=LFunction id=link102 onMouseOver="ShowTip(event, 'tt51', 'link102')" onMouseOut="HideTip('tt51')">d2_getrevisionhw</a>, D2FB_ALPHACHANNELBLENDING) only the following two blend combinations can be used for the alpha channel:</p><ul><li>(1/0): 1 * src + 0 * dst -&gt; write source alpha</li><li>(0/1): 0 * src + 1 * dst -&gt; write framebuffer alpha or color2 alpha (depending on blendflags)</li></ul><p>These modes also require that the same source blend factor is configured for RGB and A.</p><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link103 onMouseOver="ShowTip(event, 'tt48', 'link103')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setantialiasing"></a>d2_setantialiasing</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_setantialiasing(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>enable</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Globally disable or enable antialiasing.</p><p>When antialiasing is enabled all geometry is blended with the background according to its coverage 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=link104 onMouseOver="ShowTip(event, 'tt47', 'link104')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>enable</td><td class=CDLDescription>boolean value (set 1 to enable antialiasing)</td></tr></table><p>If antaliasing is disabled blurring will also be disabled (see: <a href="#d2_setblur" class=LFunction id=link105 onMouseOver="ShowTip(event, 'tt17', 'link105')" onMouseOut="HideTip('tt17')">d2_setblur</a>).</p><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link106 onMouseOver="ShowTip(event, 'tt48', 'link106')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setblur"></a>d2_setblur</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_setblur(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>blur</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set global blurring factor.</p><p>The blurring factor is a fixed point (4 bit fraction) number of pixels during which the edge opacity changes from 0 (no coverage) to 1 (fully covered).&nbsp; The intended use is a finetuning of the antialiasing.&nbsp; The default is a value of 1.0 equals a single pixel wide region around each primitive for antialiasing.</p><p>A lower value is not useful (and not supported).&nbsp; A higher value will produce results similar to an additional lowpass filter (hence the name).&nbsp; Extending the AA region above 2 or 3 pixels is not recommended and should be used for special effects only.</p><p>Note that blurring will not work when antialiasing is disabled (see: <a href="#d2_setantialiasing" class=LFunction id=link107 onMouseOver="ShowTip(event, 'tt16', 'link107')" onMouseOut="HideTip('tt16')">d2_setantialiasing</a>).&nbsp; If blurring factor is &gt; 1 then antialiasing will be enabled (see: <a href="#d2_setantialiasing" class=LFunction id=link108 onMouseOver="ShowTip(event, 'tt16', 'link108')" onMouseOut="HideTip('tt16')">d2_setantialiasing</a>).</p><p>In order to disable blurring set a value of 1 (fixed point)</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=link109 onMouseOver="ShowTip(event, 'tt47', 'link109')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>blur</td><td class=CDLDescription>fixed point</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link110 onMouseOver="ShowTip(event, 'tt48', 'link110')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setlinecap"></a>d2_setlinecap</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_setlinecap(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Specify lineend style.</p><p>Linecaps are applied when rendering lines using <a href="dave_render-c.html#d2_renderline" class=LFunction id=link111 onMouseOver="ShowTip(event, 'tt52', 'link111')" onMouseOut="HideTip('tt52')">d2_renderline</a> or <a href="dave_render-c.html#d2_renderline2" class=LFunction id=link112 onMouseOver="ShowTip(event, 'tt53', 'link112')" onMouseOut="HideTip('tt53')">d2_renderline2</a></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=link113 onMouseOver="ShowTip(event, 'tt47', 'link113')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>linecap mode</td></tr></table><h4 class=CHeading>linecap modes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_lc_butt</td><td class=CDLDescription>lines end directly at endpoints</td></tr><tr><td class=CDLEntry>d2_lc_round</td><td class=CDLDescription>lines end with halfcircles</td></tr><tr><td class=CDLEntry>d2_lc_square</td><td class=CDLDescription>line ends are extended by the half linewidth</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link114 onMouseOver="ShowTip(event, 'tt48', 'link114')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setlinejoin"></a>d2_setlinejoin</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_setlinejoin(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Specify polyline connection style.</p><p>Linejoins are applied when rendering polylines using <a href="dave_render-c.html#d2_renderpolyline" class=LFunction id=link115 onMouseOver="ShowTip(event, 'tt54', 'link115')" onMouseOut="HideTip('tt54')">d2_renderpolyline</a></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=link116 onMouseOver="ShowTip(event, 'tt47', 'link116')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>linejoin mode</td></tr></table><h4 class=CHeading>linejoin modes</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_lj_none</td><td class=CDLDescription>no connection is applied</td></tr><tr><td class=CDLEntry>d2_lj_miter</td><td class=CDLDescription>lines meet in a sharp angle (see also <a href="#d2_setmiterlimit" class=LFunction id=link117 onMouseOver="ShowTip(event, 'tt20', 'link117')" onMouseOut="HideTip('tt20')">d2_setmiterlimit</a>)</td></tr><tr><td class=CDLEntry>d2_lj_round</td><td class=CDLDescription>line are connected by circle segments</td></tr><tr><td class=CDLEntry>d2_lj_bevel</td><td class=CDLDescription>lines meet in a flat angle</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link118 onMouseOver="ShowTip(event, 'tt48', 'link118')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setmiterlimit"></a>d2_setmiterlimit</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_setmiterlimit(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>miter</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Clipping distance for miter polyline connections.</p><p>When using sharp linejoin&rsquo;s (d2_lj_miter) with <a href="dave_render-c.html#d2_renderpolyline" class=LFunction id=link119 onMouseOver="ShowTip(event, 'tt54', 'link119')" onMouseOut="HideTip('tt54')">d2_renderpolyline</a> the sharp edge has to be clipped at some point.&nbsp; Otherwise it would extend to infinity when the two segments meet at 180<38>.</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=link120 onMouseOver="ShowTip(event, 'tt47', 'link120')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>miter</td><td class=CDLDescription>maximum pixel distance the join can extend beyond bevel edge</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link121 onMouseOver="ShowTip(event, 'tt48', 'link121')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setpattern"></a>d2_setpattern</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_setpattern(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_pattern&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>pattern</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Specify pattern bitmask.</p><p>When patterns are used to fill a primitive an index into the bitmask is generated for each pixel (see: <a href="#d2_setpatternparam" class=LFunction id=link122 onMouseOver="ShowTip(event, 'tt23', 'link122')" onMouseOut="HideTip('tt23')">d2_setpatternparam</a> for mapping details).&nbsp; The pattern wraps around after N bits (N can be set using <a href="#d2_setpatternsize" class=LFunction id=link123 onMouseOver="ShowTip(event, 'tt26', 'link123')" onMouseOut="HideTip('tt26')">d2_setpatternsize</a>).</p><p>Depending on the bit color1 or color2 and patternalpha1 or patternalpha2 are used.&nbsp; Fractional indices are interpolated between those two values.</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=link124 onMouseOver="ShowTip(event, 'tt47', 'link124')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>pattern</td><td class=CDLDescription>N bit pattern mask</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link125 onMouseOver="ShowTip(event, 'tt48', 'link125')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>example</h4><p>The following figure shows a rendered line filled with an 8 bit pattern.&nbsp; Color1 is blue and color2 is green, the bitstring is 0101 1001.&nbsp; For the upper line filtering is off, the lower line is rendered with filtering enabled (flag: d2_pm_filter).</p><img src="../doc/images/pattern.png" width="209" height="140"></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setpatternalpha"></a>d2_setpatternalpha</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_setpatternalpha(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_alpha&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Specify pattern transparency.</p><p>Pattern alpha is mixed with global alpha (gradient or constant).&nbsp; Pattern alpha index 0 is used where 0bits occur in the pattern bitmask.</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=link126 onMouseOver="ShowTip(event, 'tt47', 'link126')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>register index (0 or 1 as patterns are always twocolor)</td></tr><tr><td class=CDLEntry>alpha</td><td class=CDLDescription>alphavalue (0 is totally transparent, 255 is fully opaque)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link127 onMouseOver="ShowTip(event, 'tt48', 'link127')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_setcolor" class=LFunction id=link128 onMouseOver="ShowTip(event, 'tt8', 'link128')" onMouseOut="HideTip('tt8')">d2_setcolor</a>, <a href="#d2_setpattern" class=LFunction id=link129 onMouseOver="ShowTip(event, 'tt21', 'link129')" onMouseOut="HideTip('tt21')">d2_setpattern</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setpatternparam"></a>d2_setpatternparam</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_setpatternparam(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Define mapping of pattern to geometry.</p><p>Pattern mapping is defined by specifying a line segment (startpoint and vector to endpoint) along which the pattern is mapped.&nbsp; The startpoint maps to bit0 of the pattern bitmask (see: &lt;set_pattern&gt;).&nbsp; With the bitmask extending along the direction vector.</p><p>Note that the pattern is repeated infinitely along the defined line.</p><p>Free pattern directions apply to line based geometry only when pattern mode (see: <a href="#d2_setpatternmode" class=LFunction id=link130 onMouseOver="ShowTip(event, 'tt25', 'link130')" onMouseOut="HideTip('tt25')">d2_setpatternmode</a>) is not set to auto align.</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=link131 onMouseOver="ShowTip(event, 'tt47', 'link131')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>x, y</td><td class=CDLDescription>pattern startpoint (fixedpoint)</td></tr><tr><td class=CDLEntry>dx, dy</td><td class=CDLDescription>pattern direction and size (fixedpoint)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link132 onMouseOver="ShowTip(event, 'tt48', 'link132')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_setpatternsize" class=LFunction id=link133 onMouseOver="ShowTip(event, 'tt26', 'link133')" onMouseOut="HideTip('tt26')">d2_setpatternsize</a>, <a href="#d2_setpattern" class=LFunction id=link134 onMouseOver="ShowTip(event, 'tt21', 'link134')" onMouseOut="HideTip('tt21')">d2_setpattern</a>, <a href="#d2_setpatternmode" class=LFunction id=link135 onMouseOver="ShowTip(event, 'tt25', 'link135')" onMouseOut="HideTip('tt25')">d2_setpatternmode</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setlinepattern"></a>d2_setlinepattern</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_setlinepattern(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>scale,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>offset</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Specify parameters for aligned patterns.</p><p>When rendering line based geometry it is very often required to align the pattern perpendicular to the line direction.&nbsp; For single elements it can be done using <a href="#d2_setpatternparam" class=LFunction id=link136 onMouseOver="ShowTip(event, 'tt23', 'link136')" onMouseOut="HideTip('tt23')">d2_setpatternparam</a> but this is not efficient and sometimes (e.g. with polylines) not even possible.</p><p>When enabled by setting the patternmode to contain <b>d2_pm_autoalign</b> this function can be used to describe the pattern relative to any line geometry by scale and offset.</p><p>The offset can be incremented automatically after rendering an element if d2_pm_advance is set using <a href="#d2_setpatternmode" class=LFunction id=link137 onMouseOver="ShowTip(event, 'tt25', 'link137')" onMouseOut="HideTip('tt25')">d2_setpatternmode</a>.&nbsp; Calling <a href="#d2_setlinepattern" class=LFunction id=link138 onMouseOver="ShowTip(event, 'tt24', 'link138')" onMouseOut="HideTip('tt24')">d2_setlinepattern</a> resets the internally managed offset to the specified 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=link139 onMouseOver="ShowTip(event, 'tt47', 'link139')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>scale</td><td class=CDLDescription>number of screenpixels one pattern bit is mapped onto</td></tr><tr><td class=CDLEntry>offset</td><td class=CDLDescription>pattern offset in pixels (fixedpoint format equal to d2_point)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link140 onMouseOver="ShowTip(event, 'tt48', 'link140')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_setpatternmode" class=LFunction id=link141 onMouseOver="ShowTip(event, 'tt25', 'link141')" onMouseOut="HideTip('tt25')">d2_setpatternmode</a>, <a href="#d2_setpatternparam" class=LFunction id=link142 onMouseOver="ShowTip(event, 'tt23', 'link142')" onMouseOut="HideTip('tt23')">d2_setpatternparam</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setpatternmode"></a>d2_setpatternmode</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_setpatternmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Define pattern addressing details.</p><p>Filtering (interpolation) of pattern data can be disabled by passing 0 as patternmode.</p><p>Patterns can be aligned to run perpendicular to rendered lines automatically when d2_pm_autoalign mode is enabled (works only when rendering line based geometry).&nbsp; In this case calling <a href="#d2_setpatternparam" class=LFunction id=link143 onMouseOver="ShowTip(event, 'tt23', 'link143')" onMouseOut="HideTip('tt23')">d2_setpatternparam</a> is unnecessary but additional data has to be passed using &lt;d2_linepattern&gt;.</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=link144 onMouseOver="ShowTip(event, 'tt47', 'link144')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>mode</td><td class=CDLDescription>any combination of pattern mode bits (see below)</td></tr></table><h4 class=CHeading>pattern mode bits</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>d2_pm_filter</td><td class=CDLDescription>use linear interpolation between colors (default)</td></tr><tr><td class=CDLEntry>d2_pm_autoalign</td><td class=CDLDescription>map pattern to line direction (see: <a href="#d2_setlinepattern" class=LFunction id=link145 onMouseOver="ShowTip(event, 'tt24', 'link145')" onMouseOut="HideTip('tt24')">d2_setlinepattern</a>)</td></tr><tr><td class=CDLEntry>d2_pm_advance</td><td class=CDLDescription>increase offset automatically (see: <a href="#d2_setlinepattern" class=LFunction id=link146 onMouseOver="ShowTip(event, 'tt24', 'link146')" onMouseOut="HideTip('tt24')">d2_setlinepattern</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link147 onMouseOver="ShowTip(event, 'tt48', 'link147')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setpatternsize"></a>d2_setpatternsize</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_setpatternsize(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Define pattern size.</p><p>Patterns are defined as a bitvector.&nbsp; This function can be used to define the number of valid bits.&nbsp; The size may not exceed the maximum size supported by the hardware (currently 8).&nbsp; The default size is set to 4 in every new context for compatibility reasons.</p><p>Size changes affect only the following calls to <a href="#d2_setpatternparam" class=LFunction id=link148 onMouseOver="ShowTip(event, 'tt23', 'link148')" onMouseOut="HideTip('tt23')">d2_setpatternparam</a> and <a href="#d2_setpattern" class=LFunction id=link149 onMouseOver="ShowTip(event, 'tt21', 'link149')" onMouseOut="HideTip('tt21')">d2_setpattern</a></p><p>Note that for correct wraparound the size must divide the hardware maximum without remainder.</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=link150 onMouseOver="ShowTip(event, 'tt47', 'link150')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>size</td><td class=CDLDescription>number of valid bits used for pattern mask</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link151 onMouseOver="ShowTip(event, 'tt48', 'link151')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>please note</h4><p>when using small pattern size (&lt;8) all leading unused bits in the pattern mask (see: <a href="#d2_setpattern" class=LFunction id=link152 onMouseOver="ShowTip(event, 'tt21', 'link152')" onMouseOut="HideTip('tt21')">d2_setpattern</a>) must be zero!</p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setclipgradient"></a>d2_setclipgradient</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_setclipgradient(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>nx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ny,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Define an alpha gradient for clipping.</p><p>Instead or in addition to a constant alpha (transparency) value the hardware can also apply one or more alpha gradients to the rendered geometry.</p><p><a href="#d2_setalphagradient" class=LFunction id=link153 onMouseOver="ShowTip(event, 'tt12', 'link153')" onMouseOut="HideTip('tt12')">d2_setalphagradient</a> offers an interface suitable to specify smooth alpha gradients, but does not provide enough accuracy for steep gradients, which effectively clip objects along a straight edge, e.g. let the alpha value drop from 255 to 0 within the distance of a single pixel.&nbsp; For this reason d2_setclipgradient offers the necessary accuracy by using 16.16 fixed point instead of <a href="../inc/dave_driver-h.html#d2_point" class=LType id=link154 onMouseOver="ShowTip(event, 'tt55', 'link154')" onMouseOut="HideTip('tt55')">d2_point</a> (12.4 fixed point) for the definition of the gradient.&nbsp; Also the interpretation of nx,ny is different compared to dx,dy of <a href="#d2_setalphagradient" class=LFunction id=link155 onMouseOver="ShowTip(event, 'tt12', 'link155')" onMouseOut="HideTip('tt12')">d2_setalphagradient</a> as follows: nx,ny specify a normal vector of the clipping edge, pointing towards the non-clipped side.&nbsp; When this vector is normalized to a length of 1.0 (i.e.&nbsp; 0x00010000), the gradient alpha value changes from 0 to 255 within the distance of a single pixel.&nbsp; When it is longer, the gradient is even steeper respectively smoother, when it is shorter.&nbsp; The gradient alpha value is always clamped to 0 respectively 255 when it leaves this range.</p><h4 class=CHeading>note</h4><p>Additionally index 2 or 3 can also be used in some cases.&nbsp; These indices are shared with the alpha gradients (and will overwrite these settings) and have to be enabled using <a href="#d2_setalphamode" class=LFunction id=link156 onMouseOver="ShowTip(event, 'tt11', 'link156')" onMouseOut="HideTip('tt11')">d2_setalphamode</a> in order to become visible.&nbsp; Please also note that the total number of available gradients (alpha or clip) is restricted by the D/AVE 2D hardware and varies on the primitive types and render modes!</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=link157 onMouseOver="ShowTip(event, 'tt47', 'link157')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>alpha gradient index (0 or 1, additionally 2 or 3)</td></tr><tr><td class=CDLEntry>x,y</td><td class=CDLDescription>startpoint of gradient (point of alpha 0) (fixedpoint)</td></tr><tr><td class=CDLEntry>nx,ny</td><td class=CDLDescription>normal vector of the clipping edge, pointing towards the non-clipped side (16.16 fixedpoint)</td></tr><tr><td class=CDLEntry>flags</td><td class=CDLDescription>reserved</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link158 onMouseOver="ShowTip(event, 'tt48', 'link158')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p><h4 class=CHeading>see also</h4><p><a href="#d2_setalphagradient" class=LFunction id=link159 onMouseOver="ShowTip(event, 'tt12', 'link159')" onMouseOut="HideTip('tt12')">d2_setalphagradient</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_setcircleextend"></a>d2_setcircleextend</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_setcircleextend(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>offset</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Increase bbox of circles.</p><p>Due to limited precision for circle parameters large circles with enabled blurring can become inaccurate.&nbsp; To avoid clipping at the bbox of the circle the bbox can be extended by offset.</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=link160 onMouseOver="ShowTip(event, 'tt47', 'link160')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>offset</td><td class=CDLDescription>number by which bbox of circles will be extended (fixedpoint)</td></tr></table><h4 class=CHeading>returns</h4><p>errorcode (D2_OK if successful) see list of <a href="../inc/dave_errorcodes-h.html#Errorcodes" class=LSection id=link161 onMouseOver="ShowTip(event, 'tt48', 'link161')" onMouseOut="HideTip('tt48')">Errorcodes</a> for details</p></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Context_Attribute_Queries"></a>Context Attribute Queries</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getfillmode"></a>d2_getfillmode</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_u8 d2_getfillmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query fillmode from selected context.</p><p>see: <a href="#d2_setfillmode" class=LFunction id=link162 onMouseOver="ShowTip(event, 'tt7', 'link162')" onMouseOut="HideTip('tt7')">d2_setfillmode</a> for a list of fill modes</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=link163 onMouseOver="ShowTip(event, 'tt47', 'link163')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>Select fillmode (d2_fm_color,d2_fm_pattern,..). undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link164 onMouseOver="ShowTip(event, 'tt56', 'link164')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link165 onMouseOver="ShowTip(event, 'tt57', 'link165')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setfillmode" class=LFunction id=link166 onMouseOver="ShowTip(event, 'tt7', 'link166')" onMouseOut="HideTip('tt7')">d2_setfillmode</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getcolor"></a>d2_getcolor</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_color d2_getcolor(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Query a color from selected context.</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=link167 onMouseOver="ShowTip(event, 'tt47', 'link167')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>color register index (0 or 1)</td></tr></table><h4 class=CHeading>returns</h4><p>content of specified color register. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link168 onMouseOver="ShowTip(event, 'tt56', 'link168')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link169 onMouseOver="ShowTip(event, 'tt57', 'link169')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setcolor" class=LFunction id=link170 onMouseOver="ShowTip(event, 'tt8', 'link170')" onMouseOut="HideTip('tt8')">d2_setcolor</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getalpha"></a>d2_getalpha</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_alpha d2_getalpha(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query constant alpha from selected context.</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=link171 onMouseOver="ShowTip(event, 'tt47', 'link171')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>content of constant alpha register. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link172 onMouseOver="ShowTip(event, 'tt56', 'link172')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link173 onMouseOver="ShowTip(event, 'tt57', 'link173')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setalpha" class=LFunction id=link174 onMouseOver="ShowTip(event, 'tt9', 'link174')" onMouseOut="HideTip('tt9')">d2_setalpha</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getalphaex"></a>d2_getalphaex</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_alpha d2_getalphaex(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Query constant alpha from selected context.</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=link175 onMouseOver="ShowTip(event, 'tt47', 'link175')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>alpha register index (0 or 1)</td></tr></table><h4 class=CHeading>returns</h4><p>content of constant alpha register. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link176 onMouseOver="ShowTip(event, 'tt56', 'link176')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link177 onMouseOver="ShowTip(event, 'tt57', 'link177')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setalphaex" class=LFunction id=link178 onMouseOver="ShowTip(event, 'tt10', 'link178')" onMouseOut="HideTip('tt10')">d2_setalphaex</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getalphamode"></a>d2_getalphamode</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_u8 d2_getalphamode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query alpha source from selected context.</p><p>see: <a href="#d2_setalphamode" class=LFunction id=link179 onMouseOver="ShowTip(event, 'tt11', 'link179')" onMouseOut="HideTip('tt11')">d2_setalphamode</a> for a list of alpha mode bits</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=link180 onMouseOver="ShowTip(event, 'tt47', 'link180')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>alpha source bitmask. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link181 onMouseOver="ShowTip(event, 'tt56', 'link181')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link182 onMouseOver="ShowTip(event, 'tt57', 'link182')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setalphamode" class=LFunction id=link183 onMouseOver="ShowTip(event, 'tt11', 'link183')" onMouseOut="HideTip('tt11')">d2_setalphamode</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getblendmodesrc"></a>d2_getblendmodesrc</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_u32 d2_getblendmodesrc(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query source blend factor from selected context.</p><p>see: <a href="#d2_setblendmode" class=LFunction id=link184 onMouseOver="ShowTip(event, 'tt13', 'link184')" onMouseOut="HideTip('tt13')">d2_setblendmode</a> for a list of blendmodes</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=link185 onMouseOver="ShowTip(event, 'tt47', 'link185')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>source blend factor. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link186 onMouseOver="ShowTip(event, 'tt56', 'link186')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link187 onMouseOver="ShowTip(event, 'tt57', 'link187')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_getblendmodedst" class=LFunction id=link188 onMouseOver="ShowTip(event, 'tt35', 'link188')" onMouseOut="HideTip('tt35')">d2_getblendmodedst</a>, <a href="#d2_setblendmode" class=LFunction id=link189 onMouseOver="ShowTip(event, 'tt13', 'link189')" onMouseOut="HideTip('tt13')">d2_setblendmode</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getblendmodedst"></a>d2_getblendmodedst</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_u32 d2_getblendmodedst(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query destination blend factor from selected context.</p><p>see: <a href="#d2_setblendmode" class=LFunction id=link190 onMouseOver="ShowTip(event, 'tt13', 'link190')" onMouseOut="HideTip('tt13')">d2_setblendmode</a> for a list of blendmodes</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=link191 onMouseOver="ShowTip(event, 'tt47', 'link191')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>destination blend factor. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link192 onMouseOver="ShowTip(event, 'tt56', 'link192')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link193 onMouseOver="ShowTip(event, 'tt57', 'link193')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_getblendmodesrc" class=LFunction id=link194 onMouseOver="ShowTip(event, 'tt34', 'link194')" onMouseOut="HideTip('tt34')">d2_getblendmodesrc</a>, <a href="#d2_setblendmode" class=LFunction id=link195 onMouseOver="ShowTip(event, 'tt13', 'link195')" onMouseOut="HideTip('tt13')">d2_setblendmode</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getalphablendmodesrc"></a>d2_getalphablendmodesrc</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_u32 d2_getalphablendmodesrc(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query source blend factor for alpha channel blending from selected context.</p><p>see: <a href="#d2_setalphablendmode" class=LFunction id=link196 onMouseOver="ShowTip(event, 'tt14', 'link196')" onMouseOut="HideTip('tt14')">d2_setalphablendmode</a> for a list of blendmodes</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=link197 onMouseOver="ShowTip(event, 'tt47', 'link197')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>alpha source blend factor. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link198 onMouseOver="ShowTip(event, 'tt56', 'link198')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link199 onMouseOver="ShowTip(event, 'tt57', 'link199')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_getalphablendmodedst" class=LFunction id=link200 onMouseOver="ShowTip(event, 'tt37', 'link200')" onMouseOut="HideTip('tt37')">d2_getalphablendmodedst</a>, <a href="#d2_setalphablendmode" class=LFunction id=link201 onMouseOver="ShowTip(event, 'tt14', 'link201')" onMouseOut="HideTip('tt14')">d2_setalphablendmode</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getalphablendmodedst"></a>d2_getalphablendmodedst</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_u32 d2_getalphablendmodedst(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query destination blend factor for alpha channel blending from selected context.</p><p>see: <a href="#d2_setalphablendmode" class=LFunction id=link202 onMouseOver="ShowTip(event, 'tt14', 'link202')" onMouseOut="HideTip('tt14')">d2_setalphablendmode</a> for a list of blendmodes</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=link203 onMouseOver="ShowTip(event, 'tt47', 'link203')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>alpha destination blend factor. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link204 onMouseOver="ShowTip(event, 'tt56', 'link204')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link205 onMouseOver="ShowTip(event, 'tt57', 'link205')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_getblendmodesrc" class=LFunction id=link206 onMouseOver="ShowTip(event, 'tt34', 'link206')" onMouseOut="HideTip('tt34')">d2_getblendmodesrc</a>, <a href="#d2_setalphablendmode" class=LFunction id=link207 onMouseOver="ShowTip(event, 'tt14', 'link207')" onMouseOut="HideTip('tt14')">d2_setalphablendmode</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getalphablendmodeflags"></a>d2_getalphablendmodeflags</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_u8 d2_getalphablendmodeflags(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query alpha blend flags from selected context.</p><p>see: <a href="#d2_setalphablendmodeex" class=LFunction id=link208 onMouseOver="ShowTip(event, 'tt15', 'link208')" onMouseOut="HideTip('tt15')">d2_setalphablendmodeex</a> for a list of blend flags</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=link209 onMouseOver="ShowTip(event, 'tt47', 'link209')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>alpha blend flags.&nbsp; Undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link210 onMouseOver="ShowTip(event, 'tt56', 'link210')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link211 onMouseOver="ShowTip(event, 'tt57', 'link211')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setalphablendmodeex" class=LFunction id=link212 onMouseOver="ShowTip(event, 'tt15', 'link212')" onMouseOut="HideTip('tt15')">d2_setalphablendmodeex</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getantialiasing"></a>d2_getantialiasing</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_getantialiasing(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query antialiasing setting from selected context.</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=link213 onMouseOver="ShowTip(event, 'tt47', 'link213')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>Boolean (0 or 1) antialiasing setting. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link214 onMouseOver="ShowTip(event, 'tt56', 'link214')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link215 onMouseOver="ShowTip(event, 'tt57', 'link215')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setantialiasing" class=LFunction id=link216 onMouseOver="ShowTip(event, 'tt16', 'link216')" onMouseOut="HideTip('tt16')">d2_setantialiasing</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getblur"></a>d2_getblur</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_width d2_getblur(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query blurring factor from selected context.</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=link217 onMouseOver="ShowTip(event, 'tt47', 'link217')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>global blurring factor (fixedpoint). undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link218 onMouseOver="ShowTip(event, 'tt56', 'link218')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link219 onMouseOver="ShowTip(event, 'tt57', 'link219')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setblur" class=LFunction id=link220 onMouseOver="ShowTip(event, 'tt17', 'link220')" onMouseOut="HideTip('tt17')">d2_setblur</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getlinecap"></a>d2_getlinecap</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_u8 d2_getlinecap(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query lineend style from selected context.</p><p>see: <a href="#d2_setlinecap" class=LFunction id=link221 onMouseOver="ShowTip(event, 'tt18', 'link221')" onMouseOut="HideTip('tt18')">d2_setlinecap</a> for a list of all line cap modes</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=link222 onMouseOver="ShowTip(event, 'tt47', 'link222')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>Linecap mode. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link223 onMouseOver="ShowTip(event, 'tt56', 'link223')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link224 onMouseOver="ShowTip(event, 'tt57', 'link224')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setlinecap" class=LFunction id=link225 onMouseOver="ShowTip(event, 'tt18', 'link225')" onMouseOut="HideTip('tt18')">d2_setlinecap</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getlinejoin"></a>d2_getlinejoin</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_u8 d2_getlinejoin(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query polyline connection style from selected context.</p><p>see: <a href="#d2_setlinejoin" class=LFunction id=link226 onMouseOver="ShowTip(event, 'tt19', 'link226')" onMouseOut="HideTip('tt19')">d2_setlinejoin</a> for a list of all line join modes</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=link227 onMouseOver="ShowTip(event, 'tt47', 'link227')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>Linejoin mode. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link228 onMouseOver="ShowTip(event, 'tt56', 'link228')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link229 onMouseOver="ShowTip(event, 'tt57', 'link229')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setlinejoin" class=LFunction id=link230 onMouseOver="ShowTip(event, 'tt19', 'link230')" onMouseOut="HideTip('tt19')">d2_setlinejoin</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getpattern"></a>d2_getpattern</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_pattern d2_getpattern(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query pattern bitmask from selected context.</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=link231 onMouseOver="ShowTip(event, 'tt47', 'link231')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>Pattern bitmask. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link232 onMouseOver="ShowTip(event, 'tt56', 'link232')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link233 onMouseOver="ShowTip(event, 'tt57', 'link233')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setpattern" class=LFunction id=link234 onMouseOver="ShowTip(event, 'tt21', 'link234')" onMouseOut="HideTip('tt21')">d2_setpattern</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getpatternmode"></a>d2_getpatternmode</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_u32 d2_getpatternmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query pattern addressing details.</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=link235 onMouseOver="ShowTip(event, 'tt47', 'link235')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>Pattern address mode. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link236 onMouseOver="ShowTip(event, 'tt56', 'link236')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link237 onMouseOver="ShowTip(event, 'tt57', 'link237')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setpatternmode" class=LFunction id=link238 onMouseOver="ShowTip(event, 'tt25', 'link238')" onMouseOut="HideTip('tt25')">d2_setpatternmode</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getpatternsize"></a>d2_getpatternsize</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_getpatternsize(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><p>Query pattern bitmask size.</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=link239 onMouseOver="ShowTip(event, 'tt47', 'link239')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr></table><h4 class=CHeading>returns</h4><p>Pattern bitmask size. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link240 onMouseOver="ShowTip(event, 'tt56', 'link240')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link241 onMouseOver="ShowTip(event, 'tt57', 'link241')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setpatternsize" class=LFunction id=link242 onMouseOver="ShowTip(event, 'tt26', 'link242')" onMouseOut="HideTip('tt26')">d2_setpatternsize</a></p></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="d2_getpatternalpha"></a>d2_getpatternalpha</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_alpha d2_getpatternalpha(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Query pattern transparency from selected context.</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=link243 onMouseOver="ShowTip(event, 'tt47', 'link243')" onMouseOut="HideTip('tt47')">d2_opendevice</a>)</td></tr><tr><td class=CDLEntry>index</td><td class=CDLDescription>register index (0 or 1 as patterns are always twocolor)</td></tr></table><h4 class=CHeading>returns</h4><p>Pattern alpha. undefined in case of an error (check with <a href="dave_driver-c.html#d2_geterror" class=LFunction id=link244 onMouseOver="ShowTip(event, 'tt56', 'link244')" onMouseOut="HideTip('tt56')">d2_geterror</a> or <a href="dave_driver-c.html#d2_geterrorstring" class=LFunction id=link245 onMouseOver="ShowTip(event, 'tt57', 'link245')" onMouseOut="HideTip('tt57')">d2_geterrorstring</a>)</p><h4 class=CHeading>see also</h4><p><a href="#d2_setpatternalpha" class=LFunction id=link246 onMouseOver="ShowTip(event, 'tt22', 'link246')" onMouseOut="HideTip('tt22')">d2_setpatternalpha</a></p></div></div></div>
</div><!--Content-->
<div id=Footer>&copy; 2016 by TES Electronic Solutions&nbsp; &middot;&nbsp; <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 id=MSelected>Context Functions</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><a href="dave_perfcount-c.html">Profiling</a></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_context * d2_newcontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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>Create new context (used to store render settings).</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_freecontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_context&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Release Context.</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 "colspan=4>d2_context * d2_getcontext(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap width=100%>handle,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap width=100%>mode</td></tr><tr><td class="PAfterParameters prettyprint "colspan=4>) /* PRQA S 3673 */ /* $Misra: #NOT_CONST_IN_DEBUG_BUILD $*/</td></tr></table></td></tr></table></blockquote>Get a pointer to an currently active context.</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_s32 d2_selectcontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_context&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Make a rendering context active (all following property set operations will use it)</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_s32 d2_solidcontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_context&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Define the solid rendering context.</div></div><div class=CToolTip id="tt6"><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_outlinecontext(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_context&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ctx</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Define the outline rendering context.</div></div><div class=CToolTip id="tt7"><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_setfillmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Select fillmode (solid,patter,texture,..)</div></div><div class=CToolTip id="tt8"><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_setcolor(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_color&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>color</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set color registers.</div></div><div class=CToolTip id="tt9"><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_setalpha(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_alpha&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>set constant alpha value</div></div><div class=CToolTip id="tt10"><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_setalphaex(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_alpha&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>set constant alpha value</div></div><div class=CToolTip id="tt11"><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_setalphamode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Choose alpha source.</div></div><div class=CToolTip id="tt12"><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_setalphagradient(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Define an alpha gradient.</div></div><div class=CToolTip id="tt13"><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_setblendmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dstfactor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Choose blendmode for RGB.</div></div><div class=CToolTip id="tt14"><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_setalphablendmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dstfactor</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Choose blendmode for alpha channel.</div></div><div class=CToolTip id="tt15"><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_setalphablendmodeex(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>srcfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dstfactor,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>blendflags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Choose blendmode for alpha channel.</div></div><div class=CToolTip id="tt16"><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_setantialiasing(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>enable</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Globally disable or enable antialiasing.</div></div><div class=CToolTip id="tt17"><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_setblur(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>blur</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Set global blurring factor.</div></div><div class=CToolTip id="tt18"><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_setlinecap(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Specify lineend style.</div></div><div class=CToolTip id="tt19"><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_setlinejoin(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Specify polyline connection style.</div></div><div class=CToolTip id="tt20"><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_setmiterlimit(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>miter</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Clipping distance for miter polyline connections.</div></div><div class=CToolTip id="tt21"><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_setpattern(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_pattern&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>pattern</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Specify pattern bitmask.</div></div><div class=CToolTip id="tt22"><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_setpatternalpha(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_alpha&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>alpha</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Specify pattern transparency.</div></div><div class=CToolTip id="tt23"><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_setpatternparam(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>dy</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Define mapping of pattern to geometry.</div></div><div class=CToolTip id="tt24"><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_setlinepattern(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>scale,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>offset</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Specify parameters for aligned patterns.</div></div><div class=CToolTip id="tt25"><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_setpatternmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>mode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Define pattern addressing details.</div></div><div class=CToolTip id="tt26"><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_setpatternsize(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>size</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Define pattern size.</div></div><div class=CToolTip id="tt27"><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_setclipgradient(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>nx,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>ny,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Define an alpha gradient for clipping.</div></div><div class=CToolTip id="tt28"><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_setcircleextend(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>offset</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Increase bbox of circles.</div></div><div class=CToolTip id="tt29"><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_u8 d2_getfillmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 fillmode from selected context.</div></div><div class=CToolTip id="tt30"><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_color d2_getcolor(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Query a color from selected context.</div></div><div class=CToolTip id="tt31"><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_alpha d2_getalpha(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 constant alpha from selected context.</div></div><div class=CToolTip id="tt32"><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_alpha d2_getalphaex(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Query constant alpha from selected context.</div></div><div class=CToolTip id="tt33"><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_u8 d2_getalphamode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 alpha source from selected context.</div></div><div class=CToolTip id="tt34"><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_getblendmodesrc(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 source blend factor from selected context.</div></div><div class=CToolTip id="tt35"><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_getblendmodedst(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 destination blend factor from selected context.</div></div><div class=CToolTip id="tt36"><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_getalphablendmodesrc(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 source blend factor for alpha channel blending from selected context.</div></div><div class=CToolTip id="tt37"><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_getalphablendmodedst(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 destination blend factor for alpha channel blending from selected context.</div></div><div class=CToolTip id="tt38"><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_u8 d2_getalphablendmodeflags(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 alpha blend flags from selected context.</div></div><div class=CToolTip id="tt39"><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_getantialiasing(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 antialiasing setting from selected context.</div></div><div class=CToolTip id="tt40"><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_width d2_getblur(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 blurring factor from selected context.</div></div><div class=CToolTip id="tt41"><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_u8 d2_getlinecap(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 lineend style from selected context.</div></div><div class=CToolTip id="tt42"><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_u8 d2_getlinejoin(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 polyline connection style from selected context.</div></div><div class=CToolTip id="tt43"><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_pattern d2_getpattern(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 pattern bitmask from selected context.</div></div><div class=CToolTip id="tt44"><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_getpatternmode(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 pattern addressing details.</div></div><div class=CToolTip id="tt45"><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_getpatternsize(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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 pattern bitmask size.</div></div><div class=CToolTip id="tt46"><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_alpha d2_getpatternalpha(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>index</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Query pattern transparency from selected context.</div></div><div class=CToolTip id="tt47"><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&nbsp;</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="tt48"><div class=CSection>List of all dave driver errorcodes.</div></div><div class=CToolTip id="tt49"><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_settextureoperation(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u8&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>amode,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u8&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>rmode,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u8&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>gmode,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u8&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>bmode</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Choose texture operation for each channel.</div></div><div class=CToolTip id="tt50"><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_framebuffer(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>void&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>ptr,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>pitch,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>width,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>height,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_s32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>format</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Specify the rendering target.</div></div><div class=CToolTip id="tt51"><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&nbsp;</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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="tt52"><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_renderline(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a wide line.</div></div><div class=CToolTip id="tt53"><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_renderline2(</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>x2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>y2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w1,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w2,</td></tr><tr><td></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a wide line with 2 different widths.</div></div><div class=CToolTip id="tt54"><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_renderpolyline(</td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_device&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>handle,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap>const&nbsp;</td><td class="PType prettyprint " nowrap>d2_point&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap>*</td><td class="PParameter prettyprint " nowrap>data,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>count,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_width&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>w,</td></tr><tr><td></td><td class="PTypePrefix prettyprint " nowrap></td><td class="PType prettyprint " nowrap>d2_u32&nbsp;</td><td class="PParameterPrefix prettyprint " nowrap></td><td class="PParameter prettyprint " nowrap>flags</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Render a polyline</div></div><div class=CToolTip id="tt55"><div class=CType>short (<b>fixedpoint</b>)</div></div><div class=CToolTip id="tt56"><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&nbsp;</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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="tt57"><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&nbsp;</td><td class="PType prettyprint " nowrap>d2_device&nbsp;</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><!--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>