summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-12-03 20:53:23 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-12-03 20:53:23 +0000
commit371d1d6b10395cee6666d554b18f5df245df5c9f (patch)
tree5e38c0b1f6603129340bbd7f740bbc6f4ab96437 /nuttx
parent148215506db4a47326caf083d90ffed788583061 (diff)
downloadnuttx-371d1d6b10395cee6666d554b18f5df245df5c9f.tar.gz
nuttx-371d1d6b10395cee6666d554b18f5df245df5c9f.tar.bz2
nuttx-371d1d6b10395cee6666d554b18f5df245df5c9f.zip
Add support for bitmap fonts
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1408 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/ChangeLog5
-rw-r--r--nuttx/Documentation/NuttX.html6
-rw-r--r--nuttx/graphics/Makefile12
-rw-r--r--nuttx/include/nuttx/nxfonts.h106
4 files changed, 122 insertions, 7 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index b170601ef..77cc66237 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -589,8 +589,11 @@
* Added some rasterizers to the graphics library
0.3.20 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
- * Initial release of a tiny windowing system for NuttX (not well tested at initial check-in)
+ * Initial release of a tiny windowing system for NuttX
* Add fixed precision sin() and cos() (not well tested at initial check-in)
* Add an X11-based simulated framebuffer driver
* The simulated target now has an option (CONFIG_SIM_WALLTIME) that will let the simulation
run in more-or-less realtime.
+ * Added more more extensive window support: frames, toolbars, etc.
+ * Added support for bitmap fonts
+
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index ecf01aa7c..2b0a0ee33 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
- <p>Last Updated: November 28, 2008</p>
+ <p>Last Updated: December 3, 2008</p>
</td>
</tr>
</table>
@@ -1205,11 +1205,13 @@ buildroot-0.1.2 2007-11-06 &lt;spudmonkey@racsa.co.cr&gt
<pre><ul>
nuttx-0.3.20 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
- * Initial release of a tiny windowing system for NuttX (not well tested at initial check-in)
+ * Initial release of a tiny windowing system for NuttX
* Add fixed precision sin() and cos() (not well tested at initial check-in)
* Add an X11-based simulated framebuffer driver
* The simulated target now has an option (CONFIG_SIM_WALLTIME) that will let the simulation
run in more-or-less realtime.
+ * Added more more extensive window support: frames, toolbars, etc.
+ * Added support for bitmap fonts
pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/nuttx/graphics/Makefile b/nuttx/graphics/Makefile
index cb581f000..1b4ab8ce6 100644
--- a/nuttx/graphics/Makefile
+++ b/nuttx/graphics/Makefile
@@ -60,10 +60,14 @@ include nxtk/Make.defs
DEPPATH += --dep-path nxtk
CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh "$(CC)" $(TOPDIR)/graphics/nxtk}
-ASRCS = $(NXGLIB_ASRCS) $(NXBE_ASRCS) $(NX_ASRCS) $(NXTK_ASRCS)
+include nxfonts/Make.defs
+DEPPATH += --dep-path nxfonts
+CFLAGS += ${shell $(TOPDIR)/tools/incdir.sh "$(CC)" $(TOPDIR)/graphics/nxfonts}
+
+ASRCS = $(NXGLIB_ASRCS) $(NXBE_ASRCS) $(NX_ASRCS) $(NXTK_ASRCS) $(NXFONTS_ASRCS)
AOBJS = $(ASRCS:.S=$(OBJEXT))
-CSRCS = $(NXGLIB_CSRCS) $(NXBE_CSRCS) $(NX_CSRCS) $(NXTK_CSRCS)
+CSRCS = $(NXGLIB_CSRCS) $(NXBE_CSRCS) $(NX_CSRCS) $(NXTK_CSRCS) $(NXFONTS_CSRCS)
COBJS = $(CSRCS:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS)
@@ -72,9 +76,9 @@ OBJS = $(AOBJS) $(COBJS)
BIN = libgraphics$(LIBEXT)
ifeq ($(CONFIG_NX_MULTIUSER),y)
-VPATH = nxglib:nxbe:nxmu:nxtk
+VPATH = nxglib:nxbe:nxmu:nxtk:nxfonts
else
-VPATH = nxglib:nxbe:nxsu:nxtk
+VPATH = nxglib:nxbe:nxsu:nxtk:nxfonts
endif
all: mklibgraphics
diff --git a/nuttx/include/nuttx/nxfonts.h b/nuttx/include/nuttx/nxfonts.h
new file mode 100644
index 000000000..41605c334
--- /dev/null
+++ b/nuttx/include/nuttx/nxfonts.h
@@ -0,0 +1,106 @@
+/****************************************************************************
+ * include/nuttx/nxfonts.h
+ *
+ * Copyright (C) 2008 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+#ifndef __INCLUDE_NUTTX_NXFONTS_H
+#define __INCLUDE_NUTTX_NXFONTS_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <sys/types.h>
+
+/****************************************************************************
+ * Pre-processor definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Types
+ ****************************************************************************/
+
+struct nx_fontmetic_s
+{
+ uint32 stride : 2; /* Width of one font row in bytes */
+ uint32 width : 6; /* Width of the font in bits */
+ uint32 height : 6; /* Height of the font in rows */
+ uint32 lxoffs : 6; /* Lower left-hand corner X-offset in pixels */
+ uint32 yxoffs : 6; /* Lower left-hand corner y-offset in pixels */
+ uint32 unused : 6;
+};
+
+struct nx_fontbitmap_s
+{
+ struct nx_fontmetic_s metric; /* Character metrics */
+ FAR const ubyte *bitmap; /* Pointer to the character bitmap */
+};
+
+struct nx_fontset_s
+{
+ uint32 ascent : 6; /* Pixels above base (max) */
+ uint32 descent : 6; /* Pixels below base (max) */
+ uint32 first : 8; /* First font code */
+ uint32 nfonts : 8; /* number of fonts */
+ uint32 unused : 4;
+ FAR const struct nx_fontbitmap_s *fonts;
+};
+
+/****************************************************************************
+ * Public Data
+ ****************************************************************************/
+
+#undef EXTERN
+#if defined(__cplusplus)
+# define EXTERN extern "C"
+extern "C" {
+#else
+# define EXTERN extern
+#endif
+
+EXTERN struct nx_fontset_s g_7bitfonts;
+#if CONFIG_NXFONTS_CHARBITS >= 8
+EXTERN struct nx_fontset_s g_8bitfonts;
+#endif
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+#undef EXTERN
+#if defined(__cplusplus)
+}
+#endif
+
+#endif /* __INCLUDE_NUTTX_NXFONTS_H */