9
0
Fork 0

Document NX Graphics Subsystem

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@1421 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2008-12-05 22:57:27 +00:00
parent 975759aa24
commit b5d9ad6484
10 changed files with 2847 additions and 122 deletions

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -497,7 +497,11 @@
<td><br></td>
<td>
<p>
<li>Graphics library and tiny windowing system under development.</li>
<li>
NX: A graphics library, tiny windowing system and tiny font support.
Documented in the <a href="NXGraphicsSubsystem.html">NX Graphics Subsystem</a>
manual.
</li>
</p>
</tr>
</table></center>
@ -574,8 +578,8 @@
Using a variety of technologies, NuttX can scale from the very tiny to
the moderate-size system. I have executed NuttX with some simple applications
in as little as 32Kb <i>total</i> memory (code and data).
On the other hand, I often run richly featured NuttX builds that require
memory up to 100Kb.
On the other hand, typical, richly featured NuttX builds require more like 64Kb
(and if all of the features are used, this can push 100Kb).
</p>
</td>
</tr>
@ -1373,6 +1377,10 @@ buildroot-0.1.3 2008-xx-xx &lt;spudmonkey@racsa.co.cr&gt;
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
<td><a href="NuttShell.html">NuttShell (NSH)</a></td>
</tr>
<tr>
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
<td><a href="NXGraphicsSubsystem.html">NX Graphics Subsystem</a></td>
</tr>
<tr>
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
<td><a href="ChangeLog.txt">Change Log</a></td>

View File

@ -1,99 +1,114 @@
<html>
<head>
<title>NuttX Porting Manual</title>
<title>NuttX Porting Guide</title>
<meta name="author" content="Gregory Nutt">
</head>
<body background="backgd.gif">
<hr><hr>
<center><h1><i>Under Construction</i></h1></center>
<table width ="100%">
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec">
<i>NuttX RTOS Porting Guide</i>
</font></big></h1>
<p>Last Updated: December 5, 2008</p>
</td>
</tr>
</table>
<hr><hr>
<center>
<h1><big><b>
<p>NuttX Operating System</br>
Porting Guide</p>
</b></big></h1>
<p><small>by</small></p>
<p>Gregory Nutt</p>
<p><small>Last Update: December 5, 2008</small></p>
</center>
<center><h1>Table of Contents</h1></center>
<li><a href="#Introduction">1.0 Introduction</a></li>
<li><a href="#DirectoryStructure">2.0 Directory Structure</a></li>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<h1>Table of Contents</h1>
</td>
</tr>
</table>
<ul>
<li><a href="#DirStructDocumentation">2.1 Documentation</a></li>
<l1><a href="#DirStructArch">2.2 arch/</a></li>
<a href="#Introduction">1.0 Introduction</a><br>
<a href="#DirectoryStructure">2.0 Directory Structure</a>
<ul>
<li><a href="#archdirectorystructure">2.2.1 Subdirectory Structure</a></li>
<li><a href="#summaryofarchfiles">2.2.2 Summary of Files</a></li>
<li><a href="#supportedarchitectures">2.2.3 Supported Architectures</a></li>
</ul>
<li><a href="#DirStructConfigs">2.3 configs/</a></li>
<ul>
<li><a href="#configsdirectorystructure">2.3.1 Subdirectory Structure</a></li>
<li><a href="#summaryofconfigfiles">2.3.2 Summary of Files</a></li>
<a href="#DirStructDocumentation">2.1 Documentation</a></br>
<a href="#DirStructArch">2.2 arch/</a>
<ul>
<li><a href="#boardlogic">2.3.2.1 Board Specific Logic</a></li>
<li><a href="#boardconfigsubdirs">2.3.2.2 Board Specific Configuration Sub-Directories</a></li>
<a href="#archdirectorystructure">2.2.1 Subdirectory Structure</a><br>
<a href="#summaryofarchfiles">2.2.2 Summary of Files</a><br>
<a href="#supportedarchitectures">2.2.3 Supported Architectures</a>
</ul>
<li><a href="#supportedboards">2.3.3 Supported Boards</a></li>
<a href="#DirStructConfigs">2.3 configs/</a>
<ul>
<a href="#configsdirectorystructure">2.3.1 Subdirectory Structure</a><br>
<a href="#summaryofconfigfiles">2.3.2 Summary of Files</a>
<ul>
<a href="#boardlogic">2.3.2.1 Board Specific Logic</a><br>
<a href="#boardconfigsubdirs">2.3.2.2 Board Specific Configuration Sub-Directories</a>
</ul>
<a href="#supportedboards">2.3.3 Supported Boards</a>
</ul>
<a href="#DirStructDrivers">2.4 drivers/</a><br>
<a href="#DirStructExamples">2.5 examples/</a><br>
<a href="#DirStructFs">2.6 fs/</a><br>
<a href="#DirStructGraphics">2.7 graphics/</a><br>
<a href="#DirStructInclude">2.8 include/</a><br>
<a href="#DirStructLib">2.9 lib/</a><br>
<a href="#DirStructMm">2.10 mm/</a><br>
<a href="#DirStructNet">2.11 net</a><br>
<a href="#DirStructNetUtils">2.12 netutils</a><br>
<a href="#DirStructSched">2.13 sched/</a><br>
<a href="#DirStructTools">2.14 tools/</a><br>
<a href="#topmakefile">2.15 Makefile</a>
</ul>
<li><a href="#DirStructDrivers">2.4 drivers/</a></li>
<li><a href="#DirStructExamples">2.5 examples/</a></li>
<li><a href="#DirStructFs">2.6 fs/</a></li>
<li><a href="#DirStructGraphics">2.7 graphics/</a></li>
<li><a href="#DirStructInclude">2.8 include/</a></li>
<li><a href="#DirStructLib">2.9 lib/</a></li>
<li><a href="#DirStructMm">2.10 mm/</a></li>
<li><a href="#DirStructNet">2.11 net</a></li>
<li><a href="#DirStructNetUtils">2.12 netutils</a></li>
<li><a href="#DirStructSched">2.13 sched/</a></li>
<li><a href="#DirStructTools">2.14 tools/</a></li>
<li><a href="#topmakefile">2.15 Makefile</a></li>
</ul>
<li><a href="#configandbuild">3.0 Configuring and Building</a></li>
<ul>
<li><a href="#configuringnuttx">3.1 Configuring NuttX</a></li>
<li><a href="#buildingnuttx">3.2 Building NuttX</a></li>
</ul>
<li><a href="#ArchAPIs">4.0 Architecture APIs</a></li>
<ul>
<li><a href="#imports">4.1 APIs Exported by Architecture-Specific Logic to NuttX</a></li>
<a href="#configandbuild">3.0 Configuring and Building</a>
<ul>
<li><a href="#upinitialize">4.1.1 <code>up_initialize()</code></a></li>
<li><a href="#upidle">4.1.2 <code>up_idle()</code></a></li>
<li><a href="#upinitialstate">4.1.3 <code>up_initial_state()</code></a></li>
<li><a href="#upcreatestack">4.1.4 <code>up_create_stack()</code></a></li>
<li><a href="#upusestack">4.1.5 <code>up_use_stack()</code></a></li>
<li><a href="#upreleasestack">4.1.6 <code>up_release_stack()</code></a></li>
<li><a href="#upunblocktask">4.1.7 <code>up_unblock_task()</code></a></li>
<li><a href="#upblocktask">4.1.8 <code>up_block_task()</code></a></li>
<li><a href="#upreleasepending">4.1.9 <code>up_release_pending()</code></a></li>
<li><a href="#upreprioritizertr">4.1.10 <code>up_reprioritize_rtr()</code></a></li>
<li><a href="#_exit">4.1.11 <code>_exit()</code></a></li>
<li><a href="#upassert">4.1.12 <code>up_assert()</code></a></li>
<li><a href="#upschedulesigaction">4.1.13 <code>up_schedule_sigaction()</code></a></li>
<li><a href="#upallocateheap">4.1.14 <code>up_allocate_heap()</code></a></li>
<li><a href="#upinterruptcontext">4.1.15 <code>up_interrupt_context()</code></a></li>
<li><a href="#updisableirq">4.1.16 <code>up_disable_irq()</code></a></li>
<li><a href="#upenableirq">4.1.17 <code>up_enable_irq()</code></a></li>
<li><a href="#upputc">4.1.18 <code>up_putc()</code></a></li>
<a href="#configuringnuttx">3.1 Configuring NuttX</a><br>
<a href="#buildingnuttx">3.2 Building NuttX</a>
</ul>
<li><a href="#exports">4.2 APIs Exported by NuttX to Architecture-Specific Logic</a></li>
<a href="#ArchAPIs">4.0 Architecture APIs</a>
<ul>
<li><a href="#osstart">4.2.1 <code>os_start()</code></a></li>
<li><a href="#listmgmt">4.2.2 OS List Management APIs</a></li></li>
<li><a href="#schedprocesstimer">4.2.3 <code>sched_process_timer()</code></a></li>
<li><a href="#irqdispatch">4.2.4 <code>irq_dispatch()</code></a></li>
<a href="#imports">4.1 APIs Exported by Architecture-Specific Logic to NuttX</a>
<ul>
<a href="#upinitialize">4.1.1 <code>up_initialize()</code></a><br>
<a href="#upidle">4.1.2 <code>up_idle()</code></a><br>
<a href="#upinitialstate">4.1.3 <code>up_initial_state()</code></a><br>
<a href="#upcreatestack">4.1.4 <code>up_create_stack()</code></a><br>
<a href="#upusestack">4.1.5 <code>up_use_stack()</code></a><br>
<a href="#upreleasestack">4.1.6 <code>up_release_stack()</code></a><br>
<a href="#upunblocktask">4.1.7 <code>up_unblock_task()</code></a><br>
<a href="#upblocktask">4.1.8 <code>up_block_task()</code></a><br>
<a href="#upreleasepending">4.1.9 <code>up_release_pending()</code></a><br>
<a href="#upreprioritizertr">4.1.10 <code>up_reprioritize_rtr()</code></a><br>
<a href="#_exit">4.1.11 <code>_exit()</code></a><br>
<a href="#upassert">4.1.12 <code>up_assert()</code></a><br>
<a href="#upschedulesigaction">4.1.13 <code>up_schedule_sigaction()</code></a><br>
<a href="#upallocateheap">4.1.14 <code>up_allocate_heap()</code></a><br>
<a href="#upinterruptcontext">4.1.15 <code>up_interrupt_context()</code></a><br>
<a href="#updisableirq">4.1.16 <code>up_disable_irq()</code></a><br>
<a href="#upenableirq">4.1.17 <code>up_enable_irq()</code></a><br>
<a href="#upprioritizeirq">4.1.18 <code>up_prioritize_irq()</code></a></br>
<a href="#upputc">4.1.19 <code>up_putc()</code></a>
</ul>
<a href="#exports">4.2 APIs Exported by NuttX to Architecture-Specific Logic</a>
<ul>
<a href="#osstart">4.2.1 <code>os_start()</code></a><br>
<a href="#listmgmt">4.2.2 OS List Management APIs</a><br><br>
<a href="#schedprocesstimer">4.2.3 <code>sched_process_timer()</code></a><br>
<a href="#irqdispatch">4.2.4 <code>irq_dispatch()</code></a>
</ul>
</ul>
<a href="#NxFileSystem">5.0 NuttX File System</a><br>
<a href="#apndxconfigs">Appendix A: NuttX Configuration Settings</a><br>
<a href="#apndxtrademarks">Appendix B: Trademarks</a>
</ul>
<li><a href="#NxFileSystem">5.0 NuttX File System</a></li>
<li><a href="#apndxconfigs">Appendix A: NuttX Configuration Settings</a></li>
<li><a href="#apndxtrademarks">Appendix B: Trademarks</a></li>
<hr>
<h1>1.0 <a name="Introduction">Introduction</a></h1>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<h1>1.0 <a name="Introduction">Introduction</a></h1>
</td>
</tr>
</table>
<p><b>Overview</b>
This document provides and overview of the NuttX build and configuration
@ -104,10 +119,13 @@
See also <code>arch/README.txt</code> and <code>configs/README.txt</code>.
</p>
<p><b>General Philosophy</b>.
<hr>
<h1>2.0 <a name="DirectoryStructure">Directory Structure</a></h1>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<h1>2.0 <a name="DirectoryStructure">Directory Structure</a></h1>
</td>
</tr>
</table>
<p>
<b>Directory Structure</b>.
@ -868,8 +886,14 @@ tools/
Use of this <code>Makefile</code> to build NuttX is described <a href="#buildingnuttx">below</a>.
</p>
<hr>
<h1>3.0 <a name="configandbuild">Configuring and Building</a></h1>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<h1>3.0 <a name="configandbuild">Configuring and Building</a></h1>
</td>
</tr>
</table>
<h2><a name="configuringnuttx">3.1 Configuring NuttX</a></h2>
<p>
<b>Manual Configuration</b>.
@ -948,7 +972,13 @@ The system can be re-made subsequently by just typing <code>make</code>.
<li>Creating make dependencies.
</ul>
<h1>4.0 <a name="ArchAPIs">Architecture APIs</a></h1>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<h1>4.0 <a name="ArchAPIs">Architecture APIs</a></h1>
</td>
</tr>
</table>
<p>
The file <code>include/nuttx/arch.h</code> identifies by prototype all of the APIs that must
@ -1285,28 +1315,76 @@ The system can be re-made subsequently by just typing <code>make</code>.
</p>
<h3><a name="updisableirq">4.1.16 <code>up_disable_irq()</code></a></h3>
<p><b>Prototype</b>: <code>void up_disable_irq(int irq);</code></p>
<p><b>Prototype</b>:</p>
<ul><pre>
#ifndef CONFIG_ARCH_NOINTC
void up_disable_irq(int irq);
#endf
</pre></ul>
<p><b>Description</b>.
Disable the IRQ specified by 'irq'
On many architectures, there are three levels of interrupt enabling: (1)
at the global level, (2) at the level of the interrupt controller,
and (3) at the device level. In order to receive interrupts, they
must be enabled at all three levels.
</p>
<p>
This function implements enabling of the device specified by 'irq'
at the interrupt controller level if supported by the architecture
(irqsave() supports the global level, the device level is hardware
specific).
<p>
If the architecture does not support <code>up_disable_irq</code>,
<code>CONFIG_ARCH_NOINTC</code> should be defined in the NuttX configuration file.
Since this API cannot be supported on all architectures, it should be
avoided in common implementations where possible.
</p>
<h3><a name="upenableirq">4.1.17 <code>up_enable_irq()</code></a></h3>
<p><b>Prototype</b>: <code>void up_enable_irq(int irq);</code></p>
<p><b>Prototype</b>:</p>
<ul><pre>
#ifndef CONFIG_ARCH_NOINTC
void up_enable_irq(int irq);
#endf
</pre></ul>
<p><b>Description</b>.
Enable the IRQ specified by 'irq'
This function implements disabling of the device specified by 'irq'
at the interrupt controller level if supported by the architecture
(irqrestore() supports the global level, the device level is hardware
specific).
</p>
<p>
If the architecture does not support <code>up_disable_irq</code>,
<code>CONFIG_ARCH_NOINTC</code> should be defined in the NuttX configuration file.
Since this API cannot be supported on all architectures, it should be
avoided in common implementations where possible.
</p>
<h3><a name="upputc">4.1.18 <code>up_putc()</code></a></h3>
<h3><a name="upprioritizeirq">4.1.18 <code>up_prioritize_irq()</code></a></h3>
<p><b>Prototype</b>:</p>
<ul><pre>
#ifdef CONFIG_ARCH_IRQPRIO
void up_enable_irq(int irq);
#endf
</pre></ul>
<p><b>Description</b>.
Set the priority of an IRQ.
</p>
<p>
If the architecture supports <code>up_enable_irq</code>,
<code>CONFIG_ARCH_IRQPRIO</code> should be defined in the NuttX configuration file.
Since this API cannot be supported on all architectures, it should be
avoided in common implementations where possible.
</p>
<h3><a name="upputc">4.1.19 <code>up_putc()</code></a></h3>
<p><b>Prototype</b>: <code>int up_putc(int ch);</code></p>
<p><b>Description</b>.
This is a debug interface exported by the architecture-specific logic.
Output one character on the console
<p>
This API is <i>NOT</i> required if <code>CONFIG_HEAP_BASE</code>
is defined.
</p>
<h2><a name="exports">4.2 APIs Exported by NuttX to Architecture-Specific Logic</a></h2>
@ -1345,7 +1423,13 @@ The system can be re-made subsequently by just typing <code>make</code>.
the appropriate, registered handling logic.
</p>
<h1><a name="NxFileSystem">5.0 NuttX File System</a></h1>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<h1><a name="NxFileSystem">5.0 NuttX File System</a></h1>
</td>
</tr>
</table>
<p><b>Overview</b>.
NuttX includes an optional, scalable file system.
@ -1395,7 +1479,13 @@ The system can be re-made subsequently by just typing <code>make</code>.
from the very tiny platform to the moderate platform.
</p>
<h1><a name="apndxconfigs">Appendix A: NuttX Configuration Settings</a></h1>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<h1><a name="apndxconfigs">Appendix A: NuttX Configuration Settings</a></h1>
</td>
</tr>
</table>
<p>
The following variables are recognized by the build (you may
@ -1977,7 +2067,13 @@ The system can be re-made subsequently by just typing <code>make</code>.
</li>
</ul>
<h1><a name="apndxtrademarks">Appendix B: Trademarks</a></h1>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<h1><a name="apndxtrademarks">Appendix B: Trademarks</a></h1>
</td>
</tr>
</table>
<li>ARM, ARM7 ARM7TDMI, ARM9, ARM926EJS are trademarks of Advanced RISC Machines, Limited.</li>
<li>Cygwin is a trademark of Red Hat, Incorporated.</li>

View File

@ -26,7 +26,7 @@ at the present, but here is the longer term roadmap:
are more-or-less interchangable. NX can be used without NXWIDGETS
and without NXTOOLKIT for raw access to window memory.
NXGLIB - Low level graphics utilities and direct framebuffer rendering logic.
NX is build on NXGLIB.
NX is built on top of NXGLIB.
Related Header Files
^^^^^^^^^^^^^^^^^^^^

View File

@ -386,7 +386,7 @@ EXTERN boolean up_interrupt_context(void);
*
* This function implements enabling of the device specified by 'irq'
* at the interrupt controller level if supported by the architecture
* (irqsave() supports the global level, the device level is hardware
* (irqrestore() supports the global level, the device level is hardware
* specific).
*
* Since this API is not supported on all architectures, it should be

View File

@ -99,7 +99,7 @@ struct nx_callback_s
* Input Parameters:
* hwnd - Window handle
* rect - The rectangle that needs to be re-drawn (in window relative
* coordinates
* coordinates)
* more - TRUE: More re-draw requests will follow
* arg - User provided argument (see nx_openwindow, nx_constructwindow)
*
@ -122,7 +122,7 @@ struct nx_callback_s
* hwnd - Window handle
* size - The size of the window
* pos - The position of the upper left hand corner of the window on
* the overalll display
* the overall display
* bounds - The bounding rectangle that the describes the entire
* display
* arg - User provided argument (see nx_openwindow, nx_constructwindow)
@ -141,7 +141,7 @@ struct nx_callback_s
* Name: mousein
*
* Descripton:
* New mouse data is available for the window
* New mouse data is available for the window.
*
* Input Parameters:
* hwnd - Window handle
@ -346,7 +346,7 @@ EXTERN void nx_close(NXHANDLE handle);
*
* Return:
* OK: No errors occurred. If CONFIG_NX_BLOCKING is defined, then
* one or more server message was processed.
* one or more server messages were processed.
* ERROR: An error occurred and errno has been set appropriately. Of
* particular interest, it will return errno == EHOSTDOWN when the
* server is disconnected. After that event, the handle can no
@ -376,9 +376,7 @@ EXTERN int nx_eventhandler(NXHANDLE handle);
* handle - the handle returned by nx_connect
*
* Return:
* OK: No errors occurred. If CONFIG_NX_BLOCKING is defined, then
* one or more server message was processed.
* ERROR: An error occurred and errno has been set appropriately
* OK on success; ERROR on failure with errno set appropriately
*
****************************************************************************/
@ -452,7 +450,7 @@ EXTERN int nx_closewindow(NXWINDOW hwnd);
*
* nx_setposition, nx_setsize, nx_raise, nx_lower.
*
* - Neither nx_opengbwindow or nx_closebgwindow should be called more than
* - Neither nx_requestbkgd or nx_releasebkgd should be called more than
* once. Multiple instances of the background window are not supported.
*
* Input Parameters:
@ -555,7 +553,7 @@ EXTERN int nx_setsize(NXWINDOW hwnd, FAR struct nxgl_size_s *size);
EXTERN int nx_raise(NXWINDOW hwnd);
/****************************************************************************
* Name: nx_raise
* Name: nx_lower
*
* Description:
* Lower the specified window to the bottom of the display.
@ -664,7 +662,7 @@ EXTERN int nx_move(NXWINDOW hwnd, FAR const struct nxgl_rect_s *rect,
* origin - The origin of the upper, left-most corner of the full bitmap.
* Both dest and origin are in window coordinates, however, origin
* may lie outside of the display.
* stride - The width of the full source image in pixels.
* stride - The width of the full source image in bytes.
*
* Return:
* OK on success; ERROR on failure with errno set appropriately

View File

@ -64,7 +64,7 @@ struct nx_fontmetic_s
uint32 unused : 6;
};
/* This structure bings the glyph metrics to the glyph bitmap */
/* This structure binds the glyph metrics to the glyph bitmap */
struct nx_fontbitmap_s
{
@ -117,7 +117,7 @@ extern "C" {
* Return information about the current font set
*
* Input Parameters:
* None
* An instance of struct nx_font_s describing the font set.
*
****************************************************************************/
@ -132,6 +132,9 @@ EXTERN FAR const struct nx_font_s *nxf_getfontset(void);
* Input Parameters:
* ch - character code
*
* Returned Value:
* An instance of struct nx_fontbitmap_s describing the glyph.
*
****************************************************************************/
EXTERN FAR const struct nx_fontbitmap_s *nxf_getbitmap(uint16 ch);

View File

@ -101,7 +101,7 @@ struct nxgl_point_s
nxgl_coord_t y; /* Y position, range: 0 to screen height - 1 */
};
/* Describes the size of a rectangulare region */
/* Describes the size of a rectangular region */
struct nxgl_size_s
{
@ -109,7 +109,7 @@ struct nxgl_size_s
nxgl_coord_t h; /* Height in rows */
};
/* Describes a rectangle on the display */
/* Describes a positioned rectangle on the display */
struct nxgl_rect_s
{
@ -329,7 +329,7 @@ EXTERN void nxgl_copyrectangle_32bpp(FAR struct fb_planeinfo_s *pinfo,
*
* Description:
* This is essentially memcpy for rectangles. We don't do structure
* assignements because some compilers are not good at that.
* assignments because some compilers are not good at that.
*
****************************************************************************/
@ -402,7 +402,7 @@ EXTERN void nxgl_rectunion(FAR struct nxgl_rect_s *dest,
*
* Description:
* Return the regions of rectangle rect 1 that do not intersect with
* rect2. This may be up to founr rectangles some of which may be
* rect2. This will be four rectangles ,some of which may be
* degenerate (and can be picked off with nxgl_nullrect)
*
****************************************************************************/

View File

@ -225,7 +225,7 @@ EXTERN int nxtk_fillwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect,
* Name: nxtk_filltrapwindow
*
* Description:
* Fill the specified rectangle in the client window with the specified color
* Fill the specified trapezoid in the client window with the specified color
*
* Input Parameters:
* hfwnd - The window handle returned by nxtk_openwindow
@ -298,8 +298,8 @@ EXTERN int nxtk_bitmapwindow(NXTKWINDOW hfwnd,
* Create a tool bar at the top of the specified framed window
*
* Input Parameters:
* hfwnd - The handle returned by nxtk_openwindow
* height - The request height of the toolbar in pixels
* hfwnd - The handle returned by nxtk_openwindow
* height - The requested height of the toolbar in pixels
* cb - Callbacks used to process toolbar events
* arg - User provided value that will be returned with toolbar callbacks.
*
@ -316,7 +316,7 @@ EXTERN int nxtk_opentoolbar(NXTKWINDOW hfwnd, nxgl_coord_t height,
* Name: nxtk_closetoolbar
*
* Description:
* Create a tool bar at the top of the specified framed window
* Remove the tool bar at the top of the specified framed window
*
* Input Parameters:
* hfwnd - The handle returned by nxtk_openwindow
@ -332,7 +332,7 @@ EXTERN int nxtk_closetoolbar(NXTKWINDOW hfwnd);
* Name: nxtk_filltoolbar
*
* Description:
* Fill the specified rectangle in the client window with the specified color
* Fill the specified rectangle in the toolbar sub-window with the specified color
*
* Input Parameters:
* hfwnd - The handle returned by nxtk_openwindow
@ -351,7 +351,7 @@ EXTERN int nxtk_filltoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect
* Name: nxtk_filltraptoolbar
*
* Description:
* Fill the specified rectangle in the toolbar with the specified color
* Fill the specified trapezoid in the toolbar sub-window with the specified color
*
* Input Parameters:
* hfwnd - The handle returned by nxtk_openwindow
@ -403,7 +403,7 @@ EXTERN int nxtk_movetoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *rect
* origin - The origin of the upper, left-most corner of the full bitmap.
* Both dest and origin are in sub-window coordinates, however, the
* origin may lie outside of the sub-window display.
* stride - The width of the full source image in pixels.
* stride - The width of the full source image in bytes.
*
* Return:
* OK on success; ERROR on failure with errno set appropriately