mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 10:58:49 +08:00
Document NX Graphics Subsystem
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1421 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
fc099a5d34
commit
0f9ebcf159
10 changed files with 2847 additions and 122 deletions
2620
Documentation/NXGraphicsSubsystem.html
Normal file
2620
Documentation/NXGraphicsSubsystem.html
Normal file
File diff suppressed because it is too large
Load diff
BIN
Documentation/NXOrganization.gif
Normal file
BIN
Documentation/NXOrganization.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
|
@ -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 <spudmonkey@racsa.co.cr>
|
|||
<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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
*
|
||||
****************************************************************************/
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue