9
0
Fork 0

Add support for bitmap fonts

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@1408 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2008-12-03 20:53:23 +00:00
parent 8e18d445ce
commit da642ce6a9
4 changed files with 122 additions and 7 deletions

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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 */