recreated documentation

some fixes in glfreetype, for small font sizes and mem leak fixes (http://www.cs.northwestern.edu/~sco590/fonts_tutorial.html)
added new widget_test example.compiled
started implementation of FreeType support in nvglwidgets.pas

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2224 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blaszijk
2012-01-04 01:31:17 +00:00
parent 4e284b9741
commit def3913ebb
82 changed files with 575 additions and 277 deletions

View File

@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Reference for unit 'glFreeType': Classes</title> <title>Reference for unit 'GLFreeType': Classes</title>
<link rel="stylesheet" href="../fpdoc.css" type="text/css"> <link rel="stylesheet" href="../fpdoc.css" type="text/css">
</head> </head>
@ -10,10 +10,10 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][Classes][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][Classes][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>Reference for unit 'glFreeType': Classes</h1> <h1>Reference for unit 'GLFreeType': Classes</h1>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td valign="top"><p><tt><span class="code"><a href="../glfreetype/tglfreetypefont.html">TGLFreeTypeFont</a></span></tt></p></td> <td valign="top"><p><tt><span class="code"><a href="../glfreetype/tglfreetypefont.html">TGLFreeTypeFont</a></span></tt></p></td>

View File

@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Index of all identifiers in unit 'glFreeType'</title> <title>Index of all identifiers in unit 'GLFreeType'</title>
<link rel="stylesheet" href="../fpdoc.css" type="text/css"> <link rel="stylesheet" href="../fpdoc.css" type="text/css">
</head> </head>
@ -10,10 +10,10 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][Index]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][Index]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>Index of all identifiers in unit 'glFreeType'</h1> <h1>Index of all identifiers in unit 'GLFreeType'</h1>
<table width="50%" border="1" cellpadding="0" cellspacing="0"> <table width="50%" border="1" cellpadding="0" cellspacing="0">
<tr> <tr>
<td valign="top"><a href="#SECTIONT">T</a>&nbsp;</td> <td valign="top"><a href="#SECTIONT">T</a>&nbsp;</td>

View File

@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Reference for unit 'glFreeType'</title> <title>Reference for unit 'GLFreeType'</title>
<link rel="stylesheet" href="../fpdoc.css" type="text/css"> <link rel="stylesheet" href="../fpdoc.css" type="text/css">
</head> </head>
@ -10,10 +10,10 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[Overview][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[Overview][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>Reference for unit 'glFreeType'</h1> <h1>Reference for unit 'GLFreeType'</h1>
<p>Free Type support for OpenGL</p> <p>Free Type support for OpenGL</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>

View File

@ -10,7 +10,7 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>TGLFreeTypeFont.Clean</h1> <h1>TGLFreeTypeFont.Clean</h1>

View File

@ -10,7 +10,7 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>TGLFreeTypeFont.Height</h1> <h1>TGLFreeTypeFont.Height</h1>

View File

@ -10,7 +10,7 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>TGLFreeTypeFont</h1> <h1>TGLFreeTypeFont</h1>

View File

@ -10,7 +10,7 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>TGLFreeTypeFont.Init</h1> <h1>TGLFreeTypeFont.Init</h1>

View File

@ -10,7 +10,7 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>TGLFreeTypeFont.list_base</h1> <h1>TGLFreeTypeFont.list_base</h1>

View File

@ -10,7 +10,7 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>TGLFreeTypeFont.Print</h1> <h1>TGLFreeTypeFont.Print</h1>

View File

@ -10,7 +10,7 @@
<table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0"> <table class="bar" width="100%" border="0" cellpadding="4" cellspacing="0">
<tr> <tr>
<td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td> <td><b>[<a href="../glfreetype/index.html">Overview</a>][<a href="../glfreetype/index-4.html">Classes</a>][<a href="../glfreetype/index-8.html">Index</a>]</b></td>
<td align="right"><span class="bartitle">Reference for unit 'glFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td> <td align="right"><span class="bartitle">Reference for unit 'GLFreeType' (<a href="../index.html">#nvidia-widgets</a>)</span></td>
</tr> </tr>
</table> </table>
<h1>TGLFreeTypeFont.textures</h1> <h1>TGLFreeTypeFont.textures</h1>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -88,7 +88,7 @@
<h2>G<a name="SECTIONG"></a></h2> <h2>G<a name="SECTIONG"></a></h2>
<table Width="80%" cellpadding="0" cellspacing="0"> <table Width="80%" cellpadding="0" cellspacing="0">
<tr> <tr>
<td valign="top"><a href="glfreetype/index.html">glFreeType</a></td> <td valign="top"><a href="glfreetype/index.html">GLFreeType</a></td>
<td valign="top"><a href="nvwidgets/groupflags_growleftfrombottom.html">GroupFlags_GrowLeftFromBottom</a></td> <td valign="top"><a href="nvwidgets/groupflags_growleftfrombottom.html">GroupFlags_GrowLeftFromBottom</a></td>
<td valign="top"><a href="nvwidgets/groupflags_layoutnone.html">GroupFlags_LayoutNone</a></td> <td valign="top"><a href="nvwidgets/groupflags_layoutnone.html">GroupFlags_LayoutNone</a></td>
</tr> </tr>

View File

@ -18,7 +18,7 @@
<h2>Units</h2> <h2>Units</h2>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td valign="top"><p><tt><span class="code"><a href="glfreetype/index.html">glFreeType</a></span></tt></p></td> <td valign="top"><p><tt><span class="code"><a href="glfreetype/index.html">GLFreeType</a></span></tt></p></td>
<td><p>&nbsp;&nbsp;</p></td> <td><p>&nbsp;&nbsp;</p></td>
<td><p class="cmt">Free Type support for OpenGL</p></td> <td><p class="cmt">Free Type support for OpenGL</p></td>
</tr> </tr>

View File

@ -16,7 +16,7 @@
<h1>cBase</h1> <h1>cBase</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 18</p> <p>Source position: nvglwidgets.pas line 19</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cBase <span class="sym">=</span> <span class="num">0</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cBase <span class="sym">=</span> <span class="num">0</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cBool</h1> <h1>cBool</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 19</p> <p>Source position: nvglwidgets.pas line 20</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cBool <span class="sym">=</span> <span class="num">4</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cBool <span class="sym">=</span> <span class="num">4</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cFont</h1> <h1>cFont</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 21</p> <p>Source position: nvglwidgets.pas line 22</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cFont <span class="sym">=</span> <span class="num">12</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cFont <span class="sym">=</span> <span class="num">12</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cFontBack</h1> <h1>cFontBack</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 22</p> <p>Source position: nvglwidgets.pas line 23</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cFontBack <span class="sym">=</span> <span class="num">16</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cFontBack <span class="sym">=</span> <span class="num">16</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cNbColors</h1> <h1>cNbColors</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 24</p> <p>Source position: nvglwidgets.pas line 25</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cNbColors <span class="sym">=</span> <span class="num">24</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cNbColors <span class="sym">=</span> <span class="num">24</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cOutline</h1> <h1>cOutline</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 20</p> <p>Source position: nvglwidgets.pas line 21</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cOutline <span class="sym">=</span> <span class="num">8</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cOutline <span class="sym">=</span> <span class="num">8</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cTexViewWidgetFSSource</h1> <h1>cTexViewWidgetFSSource</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 95</p> <p>Source position: nvglwidgets.pas line 96</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cTexViewWidgetFSSource <span class="sym">=</span> <span class="str">'#version 120'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform float mipLevel /*= 0*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform float texelScale /*= 1.0*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform float texelOffset /*= 0.0*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform ivec4 texelSwizzling /*= ivec4( 0, 1, 2, 3)*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform sampler2D samp;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'void main()'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'{'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' vec4 texel;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' if (mipLevel &gt; 0)'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' texel = texture2DLod( samp, gl_TexCoord[0].xy, mipLevel);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' else'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' texel = texture2D( samp, gl_TexCoord[0].xy);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' texel = texel * texelScale + texelOffset;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor = texel.x * vec4( texelSwizzling.x == 0, texelSwizzling.y == 0, texelSwizzling.z == 0, texelSwizzling.w == 0 );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor += texel.y * vec4( texelSwizzling.x == 1, texelSwizzling.y == 1, texelSwizzling.z == 1, texelSwizzling.w == 1 );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor += texel.z * vec4( texelSwizzling.x == 2, texelSwizzling.y == 2, texelSwizzling.z == 2, texelSwizzling.w == 2 );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor += texel.w * vec4( texelSwizzling.x == 3, texelSwizzling.y == 3, texelSwizzling.z == 3, texelSwizzling.w == 3 );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'}'</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cTexViewWidgetFSSource <span class="sym">=</span> <span class="str">'#version 120'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform float mipLevel /*= 0*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform float texelScale /*= 1.0*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform float texelOffset /*= 0.0*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform ivec4 texelSwizzling /*= ivec4( 0, 1, 2, 3)*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform sampler2D samp;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'void main()'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'{'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' vec4 texel;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' if (mipLevel &gt; 0)'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' texel = texture2DLod( samp, gl_TexCoord[0].xy, mipLevel);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' else'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' texel = texture2D( samp, gl_TexCoord[0].xy);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' texel = texel * texelScale + texelOffset;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor = texel.x * vec4( texelSwizzling.x == 0, texelSwizzling.y == 0, texelSwizzling.z == 0, texelSwizzling.w == 0 );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor += texel.y * vec4( texelSwizzling.x == 1, texelSwizzling.y == 1, texelSwizzling.z == 1, texelSwizzling.w == 1 );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor += texel.z * vec4( texelSwizzling.x == 2, texelSwizzling.y == 2, texelSwizzling.z == 2, texelSwizzling.w == 2 );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor += texel.w * vec4( texelSwizzling.x == 3, texelSwizzling.y == 3, texelSwizzling.z == 3, texelSwizzling.w == 3 );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'}'</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cTranslucent</h1> <h1>cTranslucent</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 23</p> <p>Source position: nvglwidgets.pas line 24</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cTranslucent <span class="sym">=</span> <span class="num">20</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cTranslucent <span class="sym">=</span> <span class="num">20</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cWidgetFSSource</h1> <h1>cWidgetFSSource</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 75</p> <p>Source position: nvglwidgets.pas line 76</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cWidgetFSSource <span class="sym">=</span> <span class="str">'#version 120'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform vec4 fillColor /*= vec4( 1.0, 0.0,0.0,1.0)*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform vec4 borderColor /*= vec4( 1.0, 1.0,1.0,1.0)*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform vec2 zones;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'void main()'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'{'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float doTurn = float(gl_TexCoord[0].y &gt; 0);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float radiusOffset = doTurn * abs( gl_TexCoord[0].z );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float turnDir = sign( gl_TexCoord[0].z );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' vec2 uv = vec2(gl_TexCoord[0].x + turnDir*radiusOffset, gl_TexCoord[0].y);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float l = abs( length(uv) - radiusOffset );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float a = clamp( l - zones.x, 0.0, 2.0);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float b = clamp( l - zones.y, 0.0, 2.0);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' b = exp2(-2.0*b*b);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor = ( fillColor * b + (1.0-b)*borderColor );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor.a *= exp2(-2.0*a*a);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'}'</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cWidgetFSSource <span class="sym">=</span> <span class="str">'#version 120'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform vec4 fillColor /*= vec4( 1.0, 0.0,0.0,1.0)*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform vec4 borderColor /*= vec4( 1.0, 1.0,1.0,1.0)*/;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'uniform vec2 zones;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'void main()'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'{'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float doTurn = float(gl_TexCoord[0].y &gt; 0);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float radiusOffset = doTurn * abs( gl_TexCoord[0].z );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float turnDir = sign( gl_TexCoord[0].z );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' vec2 uv = vec2(gl_TexCoord[0].x + turnDir*radiusOffset, gl_TexCoord[0].y);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float l = abs( length(uv) - radiusOffset );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float a = clamp( l - zones.x, 0.0, 2.0);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' float b = clamp( l - zones.y, 0.0, 2.0);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' b = exp2(-2.0*b*b);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor = ( fillColor * b + (1.0-b)*borderColor );'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_FragColor.a *= exp2(-2.0*a*a);'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'}'</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>cWidgetVSSource</h1> <h1>cWidgetVSSource</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 65</p> <p>Source position: nvglwidgets.pas line 66</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">const</span> cWidgetVSSource <span class="sym">=</span> <span class="str">'#version 120'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'void main()'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'{'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_TexCoord[0] = gl_MultiTexCoord0;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'}'</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">const</span> cWidgetVSSource <span class="sym">=</span> <span class="str">'#version 120'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">'void main()'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'{'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="str">' gl_TexCoord[0] = gl_MultiTexCoord0;'</span> <span class="sym">+</span> LineEnding <span class="sym">+</span> <span class="chr">'}'</span><span class="sym">;</span></span></tt></p></td>

View File

@ -20,6 +20,11 @@
<tr> <tr>
<td><p>&nbsp;</p></td> <td><p>&nbsp;</p></td>
<td></td> <td></td>
<td><p><a href="../nvglwidgets/gluipainter.destroy.html" onClick="opener.location.href = '../nvglwidgets/gluipainter.destroy.html'; return false;">Destroy</a></p></td>
</tr>
<tr>
<td><p>&nbsp;</p></td>
<td></td>
<td><p><a href="../nvglwidgets/gluipainter._begin.html" onClick="opener.location.href = '../nvglwidgets/gluipainter._begin.html'; return false;">_begin</a></p></td> <td><p><a href="../nvglwidgets/gluipainter._begin.html" onClick="opener.location.href = '../nvglwidgets/gluipainter._begin.html'; return false;">_begin</a></p></td>
</tr> </tr>
<tr> <tr>

View File

@ -21,6 +21,11 @@
<tr> <tr>
<td><p>&nbsp;</p></td> <td><p>&nbsp;</p></td>
<td><p></p></td> <td><p></p></td>
<td nowrap="nowrap"><p><a href="../nvglwidgets/gluipainter.destroy.html" onClick="opener.location.href = '../nvglwidgets/gluipainter.destroy.html'; return false;">Destroy</a> (<a href="../nvglwidgets/gluipainter.html" onClick="opener.location.href = '../nvglwidgets/gluipainter.html'; return false;">GLUIPainter</a>)</p></td>
</tr>
<tr>
<td><p>&nbsp;</p></td>
<td><p></p></td>
<td nowrap="nowrap"><p><a href="../nvglwidgets/gluipainter.drawboolframe.html" onClick="opener.location.href = '../nvglwidgets/gluipainter.drawboolframe.html'; return false;">drawBoolFrame</a> (<a href="../nvglwidgets/gluipainter.html" onClick="opener.location.href = '../nvglwidgets/gluipainter.html'; return false;">GLUIPainter</a>)</p></td> <td nowrap="nowrap"><p><a href="../nvglwidgets/gluipainter.drawboolframe.html" onClick="opener.location.href = '../nvglwidgets/gluipainter.drawboolframe.html'; return false;">drawBoolFrame</a> (<a href="../nvglwidgets/gluipainter.html" onClick="opener.location.href = '../nvglwidgets/gluipainter.html'; return false;">GLUIPainter</a>)</p></td>
</tr> </tr>
<tr> <tr>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter._begin</h1> <h1>GLUIPainter._begin</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 127</p> <p>Source position: nvglwidgets.pas line 129</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>_begin<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>_begin<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter._end</h1> <h1>GLUIPainter._end</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 128</p> <p>Source position: nvglwidgets.pas line 130</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>_end<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>_end<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.Create</h1> <h1>GLUIPainter.Create</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 125</p> <p>Source position: nvglwidgets.pas line 126</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">constructor</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>Create<span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">constructor</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>Create<span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawBoolFrame</h1> <h1>GLUIPainter.drawBoolFrame</h1>
<p>Draw bool frame primitive</p> <p>Draw bool frame primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 182</p> <p>Source position: nvglwidgets.pas line 184</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawBoolFrame<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawBoolFrame<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawButton</h1> <h1>GLUIPainter.drawButton</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 137</p> <p>Source position: nvglwidgets.pas line 139</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawButton<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawButton<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawCheckButton</h1> <h1>GLUIPainter.drawCheckButton</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 140</p> <p>Source position: nvglwidgets.pas line 142</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawCheckButton<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawCheckButton<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawCircle</h1> <h1>GLUIPainter.drawCircle</h1>
<p>Draw circle primitive</p> <p>Draw circle primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 187</p> <p>Source position: nvglwidgets.pas line 189</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawCircle<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawCircle<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawComboBox</h1> <h1>GLUIPainter.drawComboBox</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 156</p> <p>Source position: nvglwidgets.pas line 158</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawComboBox<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawComboBox<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawComboOptions</h1> <h1>GLUIPainter.drawComboOptions</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 157</p> <p>Source position: nvglwidgets.pas line 159</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawComboOptions<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawComboOptions<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawDebugRect</h1> <h1>GLUIPainter.drawDebugRect</h1>
<p>Draw a rectangle for debugging purposes</p> <p>Draw a rectangle for debugging purposes</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 177</p> <p>Source position: nvglwidgets.pas line 179</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawDebugRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawDebugRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawDownArrow</h1> <h1>GLUIPainter.drawDownArrow</h1>
<p>Draw down arrow primitive</p> <p>Draw down arrow primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 190</p> <p>Source position: nvglwidgets.pas line 192</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawDownArrow<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawDownArrow<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawHorizontalSlider</h1> <h1>GLUIPainter.drawHorizontalSlider</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 146</p> <p>Source position: nvglwidgets.pas line 148</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawHorizontalSlider<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawHorizontalSlider<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawLabel</h1> <h1>GLUIPainter.drawLabel</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 134</p> <p>Source position: nvglwidgets.pas line 136</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawLabel<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawLabel<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawLineEdit</h1> <h1>GLUIPainter.drawLineEdit</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 160</p> <p>Source position: nvglwidgets.pas line 162</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawLineEdit<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawLineEdit<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawListBox</h1> <h1>GLUIPainter.drawListBox</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 152</p> <p>Source position: nvglwidgets.pas line 154</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawListBox<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawListBox<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawListItem</h1> <h1>GLUIPainter.drawListItem</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 149</p> <p>Source position: nvglwidgets.pas line 151</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawListItem<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawListItem<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawMinus</h1> <h1>GLUIPainter.drawMinus</h1>
<p>Draw minus primitive</p> <p>Draw minus primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 188</p> <p>Source position: nvglwidgets.pas line 190</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawMinus<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawMinus<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawPanel</h1> <h1>GLUIPainter.drawPanel</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 163</p> <p>Source position: nvglwidgets.pas line 165</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawPanel<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawPanel<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawPlus</h1> <h1>GLUIPainter.drawPlus</h1>
<p>Draw plus primitive</p> <p>Draw plus primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 189</p> <p>Source position: nvglwidgets.pas line 191</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawPlus<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawPlus<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawRadioButton</h1> <h1>GLUIPainter.drawRadioButton</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 143</p> <p>Source position: nvglwidgets.pas line 145</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawRadioButton<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawRadioButton<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawRect</h1> <h1>GLUIPainter.drawRect</h1>
<p>Draw rectangle primitive</p> <p>Draw rectangle primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 184</p> <p>Source position: nvglwidgets.pas line 186</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawRoundedRect</h1> <h1>GLUIPainter.drawRoundedRect</h1>
<p>Draw rouded rectangle primitive</p> <p>Draw rouded rectangle primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 185</p> <p>Source position: nvglwidgets.pas line 187</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawRoundedRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawRoundedRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawRoundedRectOutline</h1> <h1>GLUIPainter.drawRoundedRectOutline</h1>
<p>Draw rouded rectangle outline primitive</p> <p>Draw rouded rectangle outline primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 186</p> <p>Source position: nvglwidgets.pas line 188</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawRoundedRectOutline<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawRoundedRectOutline<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawString</h1> <h1>GLUIPainter.drawString</h1>
<p>Draw multi-line text primitive</p> <p>Draw multi-line text primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 183</p> <p>Source position: nvglwidgets.pas line 185</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawString<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawString<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawText</h1> <h1>GLUIPainter.drawText</h1>
<p>Draw text with rectangle primitive</p> <p>Draw text with rectangle primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 180</p> <p>Source position: nvglwidgets.pas line 182</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawText<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawText<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawTextureView</h1> <h1>GLUIPainter.drawTextureView</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 166</p> <p>Source position: nvglwidgets.pas line 168</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawTextureView<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawTextureView<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.drawUpArrow</h1> <h1>GLUIPainter.drawUpArrow</h1>
<p>Draw up arrow primitive</p> <p>Draw up arrow primitive</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 191</p> <p>Source position: nvglwidgets.pas line 193</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawUpArrow<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>drawUpArrow<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getButtonRect</h1> <h1>GLUIPainter.getButtonRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 136</p> <p>Source position: nvglwidgets.pas line 138</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getButtonRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getButtonRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getCanvasMargin</h1> <h1>GLUIPainter.getCanvasMargin</h1>
<p>Evaluate canvas margin</p> <p>Evaluate canvas margin</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 169</p> <p>Source position: nvglwidgets.pas line 171</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getCanvasMargin<span class="sym">: </span>Integer<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getCanvasMargin<span class="sym">: </span>Integer<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getCanvasSpace</h1> <h1>GLUIPainter.getCanvasSpace</h1>
<p>Evaluate canvas space</p> <p>Evaluate canvas space</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 170</p> <p>Source position: nvglwidgets.pas line 172</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getCanvasSpace<span class="sym">: </span>Integer<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getCanvasSpace<span class="sym">: </span>Integer<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getCheckRect</h1> <h1>GLUIPainter.getCheckRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 139</p> <p>Source position: nvglwidgets.pas line 141</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getCheckRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getCheckRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getComboOptionsRect</h1> <h1>GLUIPainter.getComboOptionsRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 155</p> <p>Source position: nvglwidgets.pas line 157</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getComboOptionsRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getComboOptionsRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getComboRect</h1> <h1>GLUIPainter.getComboRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 154</p> <p>Source position: nvglwidgets.pas line 156</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getComboRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getComboRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getFontHeight</h1> <h1>GLUIPainter.getFontHeight</h1>
<p>Evaluate font height</p> <p>Evaluate font height</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 171</p> <p>Source position: nvglwidgets.pas line 173</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getFontHeight<span class="sym">: </span>Integer<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getFontHeight<span class="sym">: </span>Integer<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getHorizontalSliderRect</h1> <h1>GLUIPainter.getHorizontalSliderRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 145</p> <p>Source position: nvglwidgets.pas line 147</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getHorizontalSliderRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getHorizontalSliderRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getItemRect</h1> <h1>GLUIPainter.getItemRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 148</p> <p>Source position: nvglwidgets.pas line 150</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getItemRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getItemRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getLabelRect</h1> <h1>GLUIPainter.getLabelRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 133</p> <p>Source position: nvglwidgets.pas line 135</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getLabelRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getLabelRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getLineEditRect</h1> <h1>GLUIPainter.getLineEditRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 159</p> <p>Source position: nvglwidgets.pas line 161</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getLineEditRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getLineEditRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getListRect</h1> <h1>GLUIPainter.getListRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 151</p> <p>Source position: nvglwidgets.pas line 153</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getListRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getListRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getPanelRect</h1> <h1>GLUIPainter.getPanelRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 162</p> <p>Source position: nvglwidgets.pas line 164</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getPanelRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getPanelRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getPickedCharNb</h1> <h1>GLUIPainter.getPickedCharNb</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 175</p> <p>Source position: nvglwidgets.pas line 177</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getPickedCharNb<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getPickedCharNb<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getRadioRect</h1> <h1>GLUIPainter.getRadioRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 142</p> <p>Source position: nvglwidgets.pas line 144</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getRadioRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getRadioRect<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getTextLineWidth</h1> <h1>GLUIPainter.getTextLineWidth</h1>
<p>Evaluate text width</p> <p>Evaluate text width</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 172</p> <p>Source position: nvglwidgets.pas line 174</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getTextLineWidth<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getTextLineWidth<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getTextLineWidthAt</h1> <h1>GLUIPainter.getTextLineWidthAt</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 174</p> <p>Source position: nvglwidgets.pas line 176</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getTextLineWidthAt<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getTextLineWidthAt<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getTextSize</h1> <h1>GLUIPainter.getTextSize</h1>
<p>Evaluate text size</p> <p>Evaluate text size</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 173</p> <p>Source position: nvglwidgets.pas line 175</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getTextSize<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getTextSize<span class="sym">(</span></span></tt></p></td>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.getTextureViewRect</h1> <h1>GLUIPainter.getTextureViewRect</h1>
<p></p> <p></p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 165</p> <p>Source position: nvglwidgets.pas line 167</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getTextureViewRect<span class="sym">(</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">function</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>getTextureViewRect<span class="sym">(</span></span></tt></p></td>

View File

@ -17,7 +17,7 @@
<p>[<a href="../nvglwidgets/gluipainter-1.html" onClick="window.open('../nvglwidgets/gluipainter-1.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">Properties</a> (<a href="../nvglwidgets/gluipainter-2.html" onClick="window.open('../nvglwidgets/gluipainter-2.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">by Name</a>)] [<a href="../nvglwidgets/gluipainter-3.html" onClick="window.open('../nvglwidgets/gluipainter-3.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">Methods</a> (<a href="../nvglwidgets/gluipainter-4.html" onClick="window.open('../nvglwidgets/gluipainter-4.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">by Name</a>)] [<a href="../nvglwidgets/gluipainter-5.html" onClick="window.open('../nvglwidgets/gluipainter-5.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">Events</a> (<a href="../nvglwidgets/gluipainter-6.html" onClick="window.open('../nvglwidgets/gluipainter-6.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">by Name</a>)] </p> <p>[<a href="../nvglwidgets/gluipainter-1.html" onClick="window.open('../nvglwidgets/gluipainter-1.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">Properties</a> (<a href="../nvglwidgets/gluipainter-2.html" onClick="window.open('../nvglwidgets/gluipainter-2.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">by Name</a>)] [<a href="../nvglwidgets/gluipainter-3.html" onClick="window.open('../nvglwidgets/gluipainter-3.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">Methods</a> (<a href="../nvglwidgets/gluipainter-4.html" onClick="window.open('../nvglwidgets/gluipainter-4.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">by Name</a>)] [<a href="../nvglwidgets/gluipainter-5.html" onClick="window.open('../nvglwidgets/gluipainter-5.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">Events</a> (<a href="../nvglwidgets/gluipainter-6.html" onClick="window.open('../nvglwidgets/gluipainter-6.html', 'list', 'dependent=yes,resizable=yes,scrollbars=yes,height=400,width=300'); return false;">by Name</a>)] </p>
<p>OpenGL painter class</p> <p>OpenGL painter class</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 122</p> <p>Source position: nvglwidgets.pas line 123</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"><span class="kw">type</span> GLUIPainter <span class="sym">=</span> <span class="kw">class</span><span class="sym">(</span><a href="../nvwidgets/uipainter.html">UIPainter</a><span class="sym">)</span></span></tt></p></td> <td><p><tt><span class="code"><span class="kw">type</span> GLUIPainter <span class="sym">=</span> <span class="kw">class</span><span class="sym">(</span><a href="../nvwidgets/uipainter.html">UIPainter</a><span class="sym">)</span></span></tt></p></td>
@ -29,6 +29,9 @@
<td valign="top"><p><tt><span class="code">&nbsp;&nbsp;<span class="kw">constructor </span><a href="../nvglwidgets/gluipainter.create.html">Create</a><span class="sym">;</span></span></tt></p></td> <td valign="top"><p><tt><span class="code">&nbsp;&nbsp;<span class="kw">constructor </span><a href="../nvglwidgets/gluipainter.create.html">Create</a><span class="sym">;</span></span></tt></p></td>
</tr> </tr>
<tr> <tr>
<td valign="top"><p><tt><span class="code">&nbsp;&nbsp;<span class="kw">destructor </span><a href="../nvglwidgets/gluipainter.destroy.html">Destroy</a><span class="sym">;</span></span></tt></p></td>
</tr>
<tr>
<td valign="top"><p><tt><span class="code">&nbsp;&nbsp;<span class="kw">procedure </span><a href="../nvglwidgets/gluipainter._begin.html">_begin</a><span class="sym">();</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td> <td valign="top"><p><tt><span class="code">&nbsp;&nbsp;<span class="kw">procedure </span><a href="../nvglwidgets/gluipainter._begin.html">_begin</a><span class="sym">();</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td>
</tr> </tr>
<tr> <tr>

View File

@ -16,7 +16,7 @@
<h1>GLUIPainter.init</h1> <h1>GLUIPainter.init</h1>
<p>Initialization method of the painter class</p> <p>Initialization method of the painter class</p>
<h2>Declaration</h2> <h2>Declaration</h2>
<p>Source position: nvglwidgets.pas line 193</p> <p>Source position: nvglwidgets.pas line 195</p>
<table cellpadding="0" cellspacing="0"> <table cellpadding="0" cellspacing="0">
<tr> <tr>
<td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>init<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td> <td><p><tt><span class="code"> <span class="kw">public</span> <span class="kw">procedure</span> <a href="../nvglwidgets/gluipainter.html">GLUIPainter</a><span class="sym">.</span>init<span class="sym">;</span><span class="kw"> override</span><span class="sym">;</span></span></tt></p></td>

View File

@ -31,7 +31,18 @@
<td><p class="cmt">User Interface library</p></td> <td><p class="cmt">User Interface library</p></td>
</tr> </tr>
<tr> <tr>
<td valign="top"><p><tt><span class="code">&nbsp;&nbsp;GL<span class="sym">;</span> </span></tt></p></td> <td valign="top"><p><tt><span class="code">&nbsp;&nbsp;GL<span class="sym">,</span> </span></tt></p></td>
</tr>
<tr>
<td valign="top"><p><tt><span class="code">&nbsp;&nbsp;ftFont<span class="sym">,</span> </span></tt></p></td>
</tr>
<tr>
<td valign="top"><p><tt><span class="code">&nbsp;&nbsp;FPCanvas<span class="sym">,</span> </span></tt></p></td>
</tr>
<tr>
<td valign="top"><p><tt><span class="code">&nbsp;&nbsp;<a href="../glfreetype/index.html">GLFreeType</a><span class="sym">;</span> </span></tt></p></td>
<td><p>&nbsp;&nbsp;</p></td>
<td><p class="cmt">Free Type support for OpenGL</p></td>
</tr> </tr>
</table> </table>
</body> </body>

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
and distributed as part of a tutorial for nehe.gamedev.net. and distributed as part of a tutorial for nehe.gamedev.net.
Sven Olsen, 2003 Sven Olsen, 2003
*) *)
unit glFreeType; unit GLFreeType;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
@ -44,7 +44,7 @@ function next_p2(a: integer): integer; inline;
var var
rval: integer; rval: integer;
begin begin
rval := 1; rval := 2;
while rval < a do while rval < a do
rval := rval shl 1; rval := rval shl 1;
Result := rval; Result := rval;
@ -100,23 +100,17 @@ begin
//We use the ?: operator so that value which we use //We use the ?: operator so that value which we use
//will be 0 if we are in the padding zone, and whatever //will be 0 if we are in the padding zone, and whatever
//is the the Freetype bitmap otherwise. //is the the Freetype bitmap otherwise.
for j := 0 to Height - 1 do for j:=0 to height -1 do
begin for i:=0 to width - 1 do
for i := 0 to Width - 1 do
begin begin
if (i >= bitmap.Width) or (j >= bitmap.rows) then expanded_data[2*(i+j*width)] := 255;
expanded_data[2 * (i + j * Width)] := 0
else
expanded_data[2 * (i + j * Width)] := byte((bitmap.buffer + (i + bitmap.Width * j))^);
//write(expanded_data[2 * (i + j * Width)]:3, ' '); if (i>=bitmap.width) or (j>=bitmap.rows) then
expanded_data[2*(i+j*width)+1] := 0
expanded_data[2 * (i + j * Width) + 1] := expanded_data[2 * (i + j * Width)]; else
expanded_data[2*(i+j*width)+1] := byte((bitmap.buffer + (i + bitmap.Width * j))^);
end; end;
//writeln;
end;
glBindTexture(GL_TEXTURE_2D, tex_base[Ord(ch)]); glBindTexture(GL_TEXTURE_2D, tex_base[Ord(ch)]);
//Now we just setup some texture paramaters. //Now we just setup some texture paramaters.
@ -162,16 +156,15 @@ begin
//so we need to link the texture to the quad //so we need to link the texture to the quad
//so that the result will be properly aligned. //so that the result will be properly aligned.
glBegin(GL_QUADS); glBegin(GL_QUADS);
glTexCoord2d(0, 0); glTexCoord2d(0, 0);
glVertex2f(0, bitmap.rows); glVertex2f(0, bitmap.rows);
glTexCoord2d(0, y); glTexCoord2d(0, y);
glVertex2f(0, 0); glVertex2f(0, 0);
glTexCoord2d(x, y); glTexCoord2d(x, y);
glVertex2f(bitmap.Width, 0); glVertex2f(bitmap.Width, 0);
glTexCoord2d(x, 0); glTexCoord2d(x, 0);
glVertex2f(bitmap.Width, bitmap.rows); glVertex2f(bitmap.Width, bitmap.rows);
glEnd; glEnd;
glPopMatrix; glPopMatrix;
glTranslatef(face^.glyph^.advance.x shr 6, 0, 0); glTranslatef(face^.glyph^.advance.x shr 6, 0, 0);
@ -181,6 +174,8 @@ begin
//Finish the display list //Finish the display list
glEndList; glEndList;
FT_Done_Glyph(glyph);
end; end;
procedure TGLFreeTypeFont.Init(const fname: string; AHeight: cardinal); procedure TGLFreeTypeFont.Init(const fname: string; AHeight: cardinal);

View File

@ -62,7 +62,7 @@
<Unit5> <Unit5>
<Filename Value="..\..\gl\glfreetype.pas"/> <Filename Value="..\..\gl\glfreetype.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="glFreeType"/> <UnitName Value="GLFreeType"/>
</Unit5> </Unit5>
</Units> </Units>
</ProjectOptions> </ProjectOptions>

View File

@ -5,7 +5,7 @@ program example;
uses uses
Classes, SysUtils, Classes, SysUtils,
GLut, GL, GLu, glFreeType, GLut, GL, GLu,
nvWidgets, nvGlutWidgets; nvWidgets, nvGlutWidgets;
type type
@ -26,12 +26,10 @@ var
compressionRate: double = 1; compressionRate: double = 1;
texture: GLuint = 0; texture: GLuint = 0;
let: string = 'linedit test'; let: string = 'linedit test';
glFont: TGLFreeTypeFont;
procedure closeapp; procedure closeapp;
begin begin
FreeAndNil(ui); FreeAndNil(ui);
glFont.clean;
halt(0); halt(0);
end; end;
@ -85,9 +83,6 @@ var
c: integer; c: integer;
begin begin
glColor3ub(0, $ff, 0);
glFont.Print(10, 200, 'The quick brown fox jumps over the lazy dog');
none.Rect(0, 0); none.Rect(0, 0);
ui._begin; ui._begin;
@ -175,8 +170,6 @@ begin
glutInitDisplayMode(GLUT_DOUBLE or GLUT_DEPTH or GLUT_RGB); glutInitDisplayMode(GLUT_DOUBLE or GLUT_DEPTH or GLUT_RGB);
glutCreateWindow('UI example'); glutCreateWindow('UI example');
glFont.Init('Ubuntu-R.ttf', 26); //Build the freetype font
ui := GlutUIContext.Create; ui := GlutUIContext.Create;
if not ui.init(win_w, win_h) then if not ui.init(win_w, win_h) then

View File

@ -0,0 +1,76 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<PathDelim Value="\"/>
<General>
<Flags>
<MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/>
<UseDefaultCompilerOptions Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<Units Count="1">
<Unit0>
<Filename Value="widget_test.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="widget_test"/>
</Unit0>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="widget_test"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<OtherUnitFiles Value="..\..\nvglutils;.."/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Other>
<CompilerMessages>
<MsgFileName Value=""/>
</CompilerMessages>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,223 @@
program widget_test;
{$mode objfpc}{$H+}
uses
Classes, SysUtils,
GLut, GL, GLu,
nvWidgets, nvGlutWidgets;
var
ui: GlutUIContext;
win_w: integer = 512;
win_h: integer = 512;
texture: GLuint = 0;
procedure closeapp;
begin
FreeAndNil(ui);
halt(0);
end;
procedure idle; cdecl;
begin
glutPostRedisplay;
end;
procedure key(k: byte; x: integer; y: integer); cdecl;
begin
ui.keyboard(k, x, y);
case k of
27, Ord('q'):
closeapp;
end;
end;
procedure special(key: integer; x: integer; y: integer); cdecl;
begin
ui.specialKeyboard(key, x, y);
end;
procedure resize(w: integer; h: integer); cdecl;
begin
ui.reshape(w, h);
glViewport(0, 0, w, h);
win_w := w;
win_h := h;
end;
procedure mouse(button: integer; state: integer; x: integer; y: integer); cdecl;
begin
ui.mouse(button, state, x, y);
end;
procedure motion(x: integer; y: integer); cdecl;
begin
ui.mouseMotion(x, y);
end;
procedure doUI;
const
formatLabel: array [0..1] of string = ('Combobox item 1', 'Combobox item 2');
lbOptions: array [0..2] of string = ('Listbox item 1', 'Listbox item 2', 'Listbox item 2');
var
none: Rect;
formatIdx: integer = 1;
Text: string = 'line edit widget';
textureRect: Rect;
state_false: boolean = false;
state_true: boolean = true;
val: integer = 1;
dval: double = 75;
begin
none.Rect(0, 0);
ui._begin;
//here follows the UI widget test code
//each of these tests, will demonstrate the visual of a widget
ui.beginGroup(GroupFlags_GrowDownFromLeft);
//label
ui.doLabel(none, 'Simple label (style=0)', 0);
ui.doLabel(none, 'Simple label (style=1)', 1);
//button
ui.beginGroup(GroupFlags_GrowRightFromTop);
ui.doButton(none, 'button up', state_false);
ui.doButton(none, 'button down', state_true);
ui.endGroup;
//checkbutton
ui.beginGroup(GroupFlags_GrowRightFromTop);
ui.doCheckButton(none, 'checkbutton up (style=0)', state_false, 0);
ui.doCheckButton(none, 'checkbutton down (style=0)', state_true, 0);
ui.endGroup;
ui.beginGroup(GroupFlags_GrowRightFromTop);
ui.doCheckButton(none, 'checkbutton up (style=1)', state_false, 1);
ui.doCheckButton(none, 'checkbutton down (style=1)', state_true, 1);
ui.endGroup;
//radio button
ui.beginGroup(GroupFlags_GrowRightFromTop);
ui.doRadioButton(2, none, 'radiobutton up (style=0)', val, 0);
ui.doRadioButton(1, none, 'radiobutton down (style=0)', val, 0);
ui.endGroup;
ui.beginGroup(GroupFlags_GrowRightFromTop);
ui.doRadioButton(2, none, 'radiobutton up (style=1)', val, 1);
ui.doRadioButton(1, none, 'radiobutton down (style=1)', val, 1);
ui.endGroup;
//horizontal slider
ui.doHorizontalSlider(none, 0, 100, dval, 0);
ui.beginGroup(GroupFlags_GrowRightFromTop);
//listbox
val := 1;
ui.doListBox(none, 3, lbOptions, val);
//combobox
ui.doComboBox(none, 2, formatLabel, formatIdx);
ui.endGroup;
//line edit
val := 1;
ui.beginGroup(GroupFlags_GrowRightFromTop);
ui.doLineEdit(none, Text, 100, val);
ui.doLineEdit(none, Text, 100, val);
ui.endGroup;
//panel
ui.beginGroup(GroupFlags_GrowRightFromTop);
ui.beginPanel(none, 'A folding panel', state_true);
ui.beginGroup(GroupFlags_GrowRightFromTop);
Text := './nvidia-widgets/trunk/src';
ui.doLineEdit(none, Text, 100, val);
ui.doButton(none, 'Browse', state_false);
ui.endGroup;
ui.endPanel;
//ui.beginPanel(none, 'Same panel but now folded', state_false);
// ui.beginGroup(GroupFlags_GrowRightFromTop);
// ui.doLabel(none, './nvidia-widgets/trunk/src', 1);
// ui.doButton(none, 'Browse', state_true, 0);
// ui.endGroup;
//ui.endPanel;
ui.endGroup;
//frame
ui.beginGroup(GroupFlags_GrowDownFromLeft);
ui.doLabel(none, 'This is a frame');
ui.beginFrame(GroupFlags_GrowRightFromTop, none);
ui.beginGroup(GroupFlags_GrowRightFromTop);
Text := './nvidia-widgets/trunk/src';
ui.doLineEdit(none, Text, 100, val);
ui.doButton(none, 'Browse', state_false);
ui.endGroup;
ui.endFrame;
ui.endGroup;
//listitem
ui.doListItem(1, none, 'List item 1', 1, 0);
ui.doListItem(2, none, 'List item 2', 1, 1);
ui.doListItem(3, none, 'List item 3', 1, 0);
ui.doListItem(4, none, 'List item 4', 1, 0);
//textureview
textureRect.Rect(0, 0, 100, 100);
ui.doTextureView(textureRect, texture, textureRect);
ui.endGroup;
ui._end;
end;
procedure display; cdecl;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity;
doUI;
glutSwapBuffers;
end;
var
texture_data: array [0..3] of cardinal = ($FFFF0000, $FF0000FF, $FF00FF00, $FF00FF00);
begin
glutInit(@argc, argv);
glutInitWindowSize(win_w, win_h);
glutInitDisplayMode(GLUT_DOUBLE or GLUT_DEPTH or GLUT_RGB);
glutCreateWindow('UI example');
ui := GlutUIContext.Create;
if not ui.init(win_w, win_h) then
begin
writeln('UI initialization failed');
closeapp;
end;
glutReportErrors;
glGenTextures(1, @texture);
glBindTexture(GL_TEXTURE_2D, texture);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, 2, 2, GL_RGBA, GL_UNSIGNED_BYTE, @texture_data);
glEnable(GL_DEPTH_TEST);
glClearColor(0, 0, 0, 1);
glutDisplayFunc(@display);
glutMouseFunc(@mouse);
glutMotionFunc(@motion);
glutPassiveMotionFunc(@motion);
glutIdleFunc(@idle);
glutKeyboardFunc(@key);
glutSpecialFunc(@special);
glutReshapeFunc(@resize);
glutMainLoop;
end.

View File

@ -12,7 +12,8 @@ unit nvGLWidgets;
interface interface
uses uses
Classes, nvWidgets, GL; Classes, nvWidgets,
GL, ftFont, FPCanvas, GLFreeType;
const const
cBase = 0; cBase = 0;
@ -123,6 +124,7 @@ type
public public
constructor Create; constructor Create;
destructor Destroy;
procedure _begin(const window: Rect); override; procedure _begin(const window: Rect); override;
procedure _end; override; procedure _end; override;
@ -192,9 +194,10 @@ type
procedure init; override; procedure init; override;
private private
Font: TGLFreeTypeFont;
m_setupStateDL: integer; m_setupStateDL: integer;
m_restoreStateDL: integer; m_restoreStateDL: integer;
m_textListBase: integer;
m_foregroundDL: integer; m_foregroundDL: integer;
m_widgetProgram: integer; m_widgetProgram: integer;
m_originUniform: integer; m_originUniform: integer;
@ -241,7 +244,6 @@ begin
inherited; inherited;
m_setupStateDL := 0; m_setupStateDL := 0;
m_restoreStateDL := 0; m_restoreStateDL := 0;
m_textListBase := 0;
m_foregroundDL := 0; m_foregroundDL := 0;
m_widgetProgram := 0; m_widgetProgram := 0;
m_fillColorUniform := 0; m_fillColorUniform := 0;
@ -252,6 +254,13 @@ begin
m_texelScaleUniform := 0; m_texelScaleUniform := 0;
m_texelOffsetUniform := 0; m_texelOffsetUniform := 0;
m_texelSwizzlingUniform := 0; m_texelSwizzlingUniform := 0;
Font.Init('Ubuntu-R.ttf', 10);
end;
destructor GLUIPainter.Destroy;
begin
Font.Clean;
end; end;
procedure GLUIPainter._begin(const window: Rect); procedure GLUIPainter._begin(const window: Rect);
@ -785,6 +794,8 @@ end;
function GLUIPainter.getFontHeight: integer; function GLUIPainter.getFontHeight: integer;
begin begin
Result := Font.Height;
exit;
Result := 12 + 4; Result := 12 + 4;
end; end;
@ -918,26 +929,8 @@ begin
end; end;
procedure GLUIPainter.drawString(x: integer; y: integer; Text: string; nbLines: integer); procedure GLUIPainter.drawString(x: integer; y: integer; Text: string; nbLines: integer);
var
s: TStrings;
t: string;
i: Integer;
begin begin
glListBase(m_textListBase); Font.Print(x, y, Text);
s := TStringList.Create;
try
s.Text := Text;
for i := 0 to s.Count - 1 do
begin
t := s[s.Count - 1 - i];
glRasterPos2i(x + 1, y + 4 + i * getFontHeight);
glCallLists(Length(t), GL_UNSIGNED_BYTE, @t[1]);
end;
finally
s.Free;
end;
end; end;
procedure GLUIPainter.drawRect(aRect: Rect; fillColorId: integer; borderColorId: integer); procedure GLUIPainter.drawRect(aRect: Rect; fillColorId: integer; borderColorId: integer);
@ -1099,67 +1092,71 @@ begin
y3 := aRect.y + aRect.h; y3 := aRect.y + aRect.h;
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(xb, yb); glTexCoord2f(xb, yb);
glVertex2f(x0, y0); glVertex2f(x0, y0);
glTexCoord2f(0, yb); glTexCoord2f(0, yb);
glVertex2f(x1, y0); glVertex2f(x1, y0);
glTexCoord2f(xb, 0); glTexCoord2f(xb, 0);
glVertex2f(x0, y1); glVertex2f(x0, y1);
glTexCoord2f(0, 0); glTexCoord2f(0, 0);
glVertex2f(x1, y1); glVertex2f(x1, y1);
glTexCoord2f(xb, 0); glTexCoord2f(xb, 0);
glVertex2f(x0, y2); glVertex2f(x0, y2);
glTexCoord2f(0, 0); glTexCoord2f(0, 0);
glVertex2f(x1, y2); glVertex2f(x1, y2);
glTexCoord2f(xb, yb); glTexCoord2f(xb, yb);
glVertex2f(x0, y3); glVertex2f(x0, y3);
glTexCoord2f(0, yb); glTexCoord2f(0, yb);
glVertex2f(x1, y3); glVertex2f(x1, y3);
glEnd; glEnd;
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(0, yb); glTexCoord2f(0, yb);
glVertex2f(x2, y0); glVertex2f(x2, y0);
glTexCoord2f(xb, yb); glTexCoord2f(xb, yb);
glVertex2f(x3, y0); glVertex2f(x3, y0);
glTexCoord2f(0, 0); glTexCoord2f(0, 0);
glVertex2f(x2, y1); glVertex2f(x2, y1);
glTexCoord2f(xb, 0); glTexCoord2f(xb, 0);
glVertex2f(x3, y1); glVertex2f(x3, y1);
glTexCoord2f(0, 0); glTexCoord2f(0, 0);
glVertex2f(x2, y2); glVertex2f(x2, y2);
glTexCoord2f(xb, 0); glTexCoord2f(xb, 0);
glVertex2f(x3, y2); glVertex2f(x3, y2);
glTexCoord2f(0, yb); glTexCoord2f(0, yb);
glVertex2f(x2, y3); glVertex2f(x2, y3);
glTexCoord2f(xb, yb); glTexCoord2f(xb, yb);
glVertex2f(x3, y3); glVertex2f(x3, y3);
glEnd; glEnd;
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(0, yb); glTexCoord2f(0, yb);
glVertex2f(x1, y0); glVertex2f(x1, y0);
glTexCoord2f(0, yb); glTexCoord2f(0, yb);
glVertex2f(x2, y0); glVertex2f(x2, y0);
glTexCoord2f(0, 0); glTexCoord2f(0, 0);
glVertex2f(x1, y1); glVertex2f(x1, y1);
glTexCoord2f(0, 0); glTexCoord2f(0, 0);
glVertex2f(x2, y1); glVertex2f(x2, y1);
glEnd; glEnd;
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(0, 0); glTexCoord2f(0, 0);
glVertex2f(x1, y2); glVertex2f(x1, y2);
glTexCoord2f(0, 0); glTexCoord2f(0, 0);
glVertex2f(x2, y2); glVertex2f(x2, y2);
glTexCoord2f(0, yb); glTexCoord2f(0, yb);
glVertex2f(x1, y3); glVertex2f(x1, y3);
glTexCoord2f(0, yb); glTexCoord2f(0, yb);
glVertex2f(x2, y3); glVertex2f(x2, y3);
glEnd; glEnd;
glUseProgram(0); glUseProgram(0);
end; end;
@ -1185,15 +1182,16 @@ begin
y1 := aRect.y + aRect.h; y1 := aRect.y + aRect.h;
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord2f(-xb, -yb); glTexCoord2f(-xb, -yb);
glVertex2f(x0, y0); glVertex2f(x0, y0);
glTexCoord2f(xb, -yb); glTexCoord2f(xb, -yb);
glVertex2f(x1, y0); glVertex2f(x1, y0);
glTexCoord2f(-xb, yb); glTexCoord2f(-xb, yb);
glVertex2f(x0, y1); glVertex2f(x0, y1);
glTexCoord2f(xb, yb); glTexCoord2f(xb, yb);
glVertex2f(x1, y1); glVertex2f(x1, y1);
glEnd; glEnd;
glUseProgram(0); glUseProgram(0);
end; end;
@ -1219,27 +1217,28 @@ begin
glUniform4fv(m_fillColorUniform, 1, @s_colors[fillColorId]); glUniform4fv(m_fillColorUniform, 1, @s_colors[fillColorId]);
glUniform4fv(m_borderColorUniform, 1, @s_colors[borderColorId]); glUniform4fv(m_borderColorUniform, 1, @s_colors[borderColorId]);
glUniform2f(m_zonesUniform, (xb) - 1, (xb) - 2); glUniform2f(m_zonesUniform, (xb) - 1, (xb) - 2);
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord3f(-xb, -yb, 0);
glVertex2f(x0, y1 + yoff);
glTexCoord3f(xb, -yb, 0);
glVertex2f(x0, y1 - yoff);
glTexCoord3f(-xb, 0, 0);
glVertex2f(x0 + xoff, y1 + yoff);
glTexCoord3f(xb, 0, 0);
glVertex2f(x0 + xoff, y1 - yoff);
glTexCoord3f(-xb, 0, 0);
glTexCoord3f(-xb, -yb, 0); glVertex2f(x1 - xoff, y1 + yoff);
glVertex2f(x0, y1 + yoff); glTexCoord3f(xb, 0, 0);
glTexCoord3f(xb, -yb, 0); glVertex2f(x1 - xoff, y1 - yoff);
glVertex2f(x0, y1 - yoff); glTexCoord3f(-xb, -yb, 0);
glTexCoord3f(-xb, 0, 0);
glVertex2f(x0 + xoff, y1 + yoff);
glTexCoord3f(xb, 0, 0);
glVertex2f(x0 + xoff, y1 - yoff);
glTexCoord3f(-xb, 0, 0);
glVertex2f(x1 - xoff, y1 + yoff); glVertex2f(x1, y1 + yoff);
glTexCoord3f(xb, 0, 0); glTexCoord3f(xb, -yb, 0);
glVertex2f(x1 - xoff, y1 - yoff); glVertex2f(x1, y1 - yoff);
glTexCoord3f(-xb, -yb, 0);
glVertex2f(x1, y1 + yoff);
glTexCoord3f(xb, -yb, 0);
glVertex2f(x1, y1 - yoff);
glEnd; glEnd;
glUseProgram(0); glUseProgram(0);
end; end;
@ -1355,6 +1354,7 @@ begin
glTexCoord3f(xb, -yb, 0); glTexCoord3f(xb, -yb, 0);
glVertex2f(x1 - yoff, y2); glVertex2f(x1 - yoff, y2);
glEnd; glEnd;
glUseProgram(0); glUseProgram(0);
end; end;
@ -1390,44 +1390,44 @@ begin
glUniform4fv(m_fillColorUniform, 1, @s_colors[fillColorId]); glUniform4fv(m_fillColorUniform, 1, @s_colors[fillColorId]);
glUniform4fv(m_borderColorUniform, 1, @s_colors[borderColorId]); glUniform4fv(m_borderColorUniform, 1, @s_colors[borderColorId]);
glUniform2f(m_zonesUniform, (xb) - 1, (xb) - 2); glUniform2f(m_zonesUniform, (xb) - 1, (xb) - 2);
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord3f(-xb, -yb, 0);
glVertex2f(x0, y1 + yoff2);
glTexCoord3f(xb, -yb, 0);
glVertex2f(x0 - xoff2, y1);
glTexCoord3f(-xb, 0, 0);
glVertex2f(x0 + xoff, y1 + yoff);
glTexCoord3f(xb, 0, 0);
glVertex2f(x0 - xoff, y1 - yoff);
glTexCoord3f(-xb, 0, xb);
glTexCoord3f(-xb, -yb, 0); glVertex2f(x1, y0 + yoff2);
glVertex2f(x0, y1 + yoff2); glTexCoord3f(xb, 0, xb);
glTexCoord3f(xb, -yb, 0); glVertex2f(x1 - xoff2, y0);
glVertex2f(x0 - xoff2, y1); glTexCoord3f(xb, 2 * yb, xb);
glTexCoord3f(-xb, 0, 0);
glVertex2f(x0 + xoff, y1 + yoff);
glTexCoord3f(xb, 0, 0);
glVertex2f(x0 - xoff, y1 - yoff);
glTexCoord3f(-xb, 0, xb);
glVertex2f(x1, y0 + yoff2); glVertex2f(x1, y0 - yoff2);
glTexCoord3f(xb, 0, xb);
glVertex2f(x1 - xoff2, y0);
glTexCoord3f(xb, 2 * yb, xb);
glVertex2f(x1, y0 - yoff2);
glEnd; glEnd;
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord3f(xb, -yb, 0); glTexCoord3f(xb, -yb, 0);
glVertex2f(x2 + xoff2, y1); glVertex2f(x2 + xoff2, y1);
glTexCoord3f(-xb, -yb, 0); glTexCoord3f(-xb, -yb, 0);
glVertex2f(x2, y1 + yoff2); glVertex2f(x2, y1 + yoff2);
glTexCoord3f(xb, 0, xb); glTexCoord3f(xb, 0, xb);
glVertex2f(x2 + xoff, y1 - yoff); glVertex2f(x2 + xoff, y1 - yoff);
glTexCoord3f(-xb, 0, xb); glTexCoord3f(-xb, 0, xb);
glVertex2f(x2 - xoff, y1 + yoff); glVertex2f(x2 - xoff, y1 + yoff);
glTexCoord3f(xb, 0, xb); glTexCoord3f(xb, 0, xb);
glVertex2f(x1 + xoff2, y0); glVertex2f(x1 + xoff2, y0);
glTexCoord3f(-xb, 0, xb); glTexCoord3f(-xb, 0, xb);
glVertex2f(x1, y0 + yoff2); glVertex2f(x1, y0 + yoff2);
glTexCoord3f(xb, 2 * yb, xb); glTexCoord3f(xb, 2 * yb, xb);
glVertex2f(x1, y0 - yoff2); glVertex2f(x1, y0 - yoff2);
glEnd; glEnd;
glUseProgram(0); glUseProgram(0);
@ -1465,44 +1465,44 @@ begin
glUniform4fv(m_fillColorUniform, 1, @s_colors[fillColorId]); glUniform4fv(m_fillColorUniform, 1, @s_colors[fillColorId]);
glUniform4fv(m_borderColorUniform, 1, @s_colors[borderColorId]); glUniform4fv(m_borderColorUniform, 1, @s_colors[borderColorId]);
glUniform2f(m_zonesUniform, (xb) - 1, (xb) - 2); glUniform2f(m_zonesUniform, (xb) - 1, (xb) - 2);
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord3f(-xb, -yb, 0);
glVertex2f(x0, y1 + yoff2);
glTexCoord3f(xb, -yb, 0);
glVertex2f(x0 - xoff2, y1);
glTexCoord3f(-xb, 0, 0);
glVertex2f(x0 + xoff, y1 + yoff);
glTexCoord3f(xb, 0, 0);
glVertex2f(x0 - xoff, y1 - yoff);
glTexCoord3f(-xb, 0, xb);
glTexCoord3f(-xb, -yb, 0); glVertex2f(x1, y0 + yoff2);
glVertex2f(x0, y1 + yoff2); glTexCoord3f(xb, 0, xb);
glTexCoord3f(xb, -yb, 0); glVertex2f(x1 - xoff2, y0);
glVertex2f(x0 - xoff2, y1); glTexCoord3f(xb, 2 * yb, xb);
glTexCoord3f(-xb, 0, 0);
glVertex2f(x0 + xoff, y1 + yoff);
glTexCoord3f(xb, 0, 0);
glVertex2f(x0 - xoff, y1 - yoff);
glTexCoord3f(-xb, 0, xb);
glVertex2f(x1, y0 + yoff2); glVertex2f(x1, y0 - yoff2);
glTexCoord3f(xb, 0, xb);
glVertex2f(x1 - xoff2, y0);
glTexCoord3f(xb, 2 * yb, xb);
glVertex2f(x1, y0 - yoff2);
glEnd; glEnd;
glBegin(GL_TRIANGLE_STRIP); glBegin(GL_TRIANGLE_STRIP);
glTexCoord3f(xb, -yb, 0); glTexCoord3f(xb, -yb, 0);
glVertex2f(x2 + xoff2, y1); glVertex2f(x2 + xoff2, y1);
glTexCoord3f(-xb, -yb, 0); glTexCoord3f(-xb, -yb, 0);
glVertex2f(x2, y1 + yoff2); glVertex2f(x2, y1 + yoff2);
glTexCoord3f(xb, 0, xb); glTexCoord3f(xb, 0, xb);
glVertex2f(x2 + xoff, y1 - yoff); glVertex2f(x2 + xoff, y1 - yoff);
glTexCoord3f(-xb, 0, xb); glTexCoord3f(-xb, 0, xb);
glVertex2f(x2 - xoff, y1 + yoff); glVertex2f(x2 - xoff, y1 + yoff);
glTexCoord3f(xb, 0, xb); glTexCoord3f(xb, 0, xb);
glVertex2f(x1 + xoff2, y0); glVertex2f(x1 + xoff2, y0);
glTexCoord3f(-xb, 0, xb); glTexCoord3f(-xb, 0, xb);
glVertex2f(x1, y0 + yoff2); glVertex2f(x1, y0 + yoff2);
glTexCoord3f(xb, 2 * yb, xb); glTexCoord3f(xb, 2 * yb, xb);
glVertex2f(x1, y0 - yoff2); glVertex2f(x1, y0 - yoff2);
glEnd; glEnd;
glUseProgram(0); glUseProgram(0);
@ -1593,19 +1593,6 @@ begin
end; end;
glEndList; glEndList;
end; end;
if m_textListBase = 0 then
begin
//just doing 7-bit ascii
m_textListBase := glGenLists(128);
for ii := 0 to 127 do
begin
glNewList(m_textListBase + ii, GL_COMPILE);
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_12, ii);
glEndList;
end;
end;
end; end;
end. end.