Patches from Petteri Aimonen (plus a few other things)

git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5448 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-12-21 20:09:32 +00:00
parent 0f2decb70f
commit c67fdb87f7
47 changed files with 2554 additions and 1184 deletions

View File

@ -220,3 +220,35 @@
classing easier (from Petteri Aimonen).
1.5 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>
* NxWidgets::CGraphicsPort::move(): Fix typo bug in bounding rectangle
calculation (from Petteri Aimonen).
* NxWM::CScrollingPanel::scrollChildren(): Avoid unnecessary redraws in
CScrollingPanel (contributed by Petteri Aimonen).
* NxWM::CCycleButton: Remove the separator from CCycleButton. It draws in
wrong place, and doesnt look very good in the correct place either.
(from Petteri Aimonen).
* NxWidgets::CGraphicsPort: Many times we only want a constant background.
In that case the old code fills the background, reads it back, renders
the text and then writes it back. When used with LCD's (instead of
framebuffers) this causes unnecessary delay and screen flicker.
This commit adds a variant of drawText that takes background color,
so that the background and text can both be rendered at one go.
The old functions still function as before (Petteri Aimonen).
* NxWidgets::CLabel: The label was drawn as a single rectangular region,
then a text was added to the on top of this. The result is that the
text would flicker when the CLabel was updated. With this change, the
two step update is replaced with a five step update: The background
is updated as four rectangulear regions (leaving the previous text in
place), then the new text is updated. This eliminates the flicker
(Petteri Aimonen).
* Kconfig: Many NxWidgets/NxWM settings do not have meaningful, generic
default values. Colors, for example, depend on pixel depth. Some
geometry settings depending on other geometry settings. Font IDs are
not know-able by the configuration system. etc. In these cases, it
is best if the settings are just not undefined so that the system can
calculate a reasonable default. however, if no default is provided
in the .config file, mconf will complain and generate errors. So work
around this, I added several "enabling" settings to override the
default setting. This is awkward and I preferred the configuration as
it was before, but this avoids the mconf errors and warnings.

View File

@ -13,6 +13,18 @@ config NXWIDGETS
if NXWIDGETS
comment "NX Server/Device Configuration"
config NXWIDGETS_FLICKERFREE
bool "Enable Flicker Reduction Logic"
default y if NX_LCDDRIVER
default n if !NX_LCDDRIVER
---help---
Because of their performance an in the manner in which they are
updated, LCDs may be prone to "flicker" in the displays when Widgets
are updated. Often more complex (and slower) options are availble
to reduce the flicker. Enabling this option will enabled those
lower-performance flicker-reductions measures where-ever thay may
be available.
config NXWIDGETS_DEVNO
int "LCD Device Number"
default 0
@ -96,10 +108,20 @@ config NXWIDGETS_SIZEOFCHAR
comment "NXWidget Default Values"
config NXWIDGETS_SYSTEM_CUSTOM_FONTID
bool "Use a Custom Default Font"
default n
---help---
Set to override the system default font id (NXFONT_DEFAULT).
if NXWIDGETS_SYSTEM_CUSTOM_FONTID
config NXWIDGETS_DEFAULT_FONTID
int "Default Font ID"
default 0
---help---
Default font ID. Default: NXFONT_DEFAULT
Use this default NxWidgets font ID instead of the system font ID
(NXFONT_DEFAULT). Default: 0
endif
config NXWIDGETS_TNXARRAY_INITIALSIZE
int "Initial Size of Dynamic Arrays"
@ -113,53 +135,88 @@ config NXWIDGETS_TNXARRAY_SIZEINCREMENT
---help---
Default dynamic array realloctino increment (in entries). Default: 8
config NXWIDGETS_CUSTOM_FILLCOLORS
bool "Custom Default Fill Colors"
default n
---help---
Select custom default colors for the widget background. If defined,
the hexadecimal values for all filled colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWIDGETS_CUSTOM_FILLCOLORS
config NXWIDGETS_DEFAULT_BACKGROUNDCOLOR
hex "Normal Background Color"
hex "Default Normal Background Color"
---help---
Normal background color. Default: RGB(148,189,215)
config NXWIDGETS_DEFAULT_SELECTEDBACKGROUNDCOLOR
hex "Selected Background Color"
hex "Default Selected Background Color"
---help---
Default selected background color. Default: RGB(206,227,241)
config NXWIDGETS_DEFAULT_HIGHLIGHTCOLOR
hex "Default Highlight Color"
---help---
Highlight color. Currently this color is only used in clist
boxes, progress bars, and slider grips. Default: RGB(192,192,192)
endif
config NXWIDGETS_CUSTOM_EDGECOLORS
bool "Custom Default Edge Colors"
default n
---help---
Select custom default colors for the widget edges. If defined,
then hexadecimal values for all edge colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWIDGETS_CUSTOM_EDGECOLORS
config NXWIDGETS_DEFAULT_SHINEEDGECOLOR
hex "Shiny Edge Color"
hex "Default Shiny Edge Color"
---help---
Shiny side boarder color. Default: RGB(248,248,248)
config NXWIDGETS_DEFAULT_SHADOWEDGECOLOR
hex "Shadow Edge Color"
hex "Default Shadow Edge Color"
---help---
Shadowed side border color. Default: RGB(35,58,73)
endif
config NXWIDGETS_DEFAULT_HIGHLIGHTCOLOR
hex "Highlight Color"
config NXWIDGETS_CUSTOM_TEXTCOLORS
bool "Custom Default Text colors"
default n
---help---
Highlight color. Default: RGB(192,192,192)
Select custom colors for the widget text. If defined, then
hexadecimal values for all text colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWIDGETS_CUSTOM_TEXTCOLORS
config NXWIDGETS_DEFAULT_DISABLEDTEXTCOLOR
hex "Disabled Text Color"
hex "Default Disabled Text Color"
---help---
Text color on a disabled widget: Default: RGB(192,192,192)
config NXWIDGETS_DEFAULT_ENABLEDTEXTCOLOR
hex "Enabled Text Color"
hex "Default Enabled Text Color"
---help---
Text color on a enabled widget. Default: RGB(248,248,248)
config NXWIDGETS_DEFAULT_SELECTEDTEXTCOLOR
hex "Selected Text Color"
hex "Default Selected Text Color"
---help---
Text color on a selected widget. Default: RGB(0,0,0)
config NXWIDGETS_DEFAULT_FONTCOLOR
hex "Default Font Color"
hex "Default Default Font Color"
---help---
Default font color. Default: RGB(255,255,255)
endif
config NXWIDGETS_TRANSPARENT_COLOR
hex "Transparent Color"
default 0x0
---help---
Transparent color. Default: RGB(0,0,0)
@ -220,10 +277,20 @@ config NXWM
if NXWM
comment "General settings"
config NXWM_SYSTEM_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXFONT_DEFAULT).
if NXWM_SYSTEM_CUSTOM_FONTID
config NXWM_DEFAULT_FONTID
int "Font ID"
default 0
---help---
The NxWM default font ID. Default: NXFONT_DEFAULT
Use this NxWM default font ID instead of the system font ID
(NXFONT_DEFAULT). Default: 0
endif
config NXWM_UNITTEST
bool "NxWM Unit Test"
@ -233,6 +300,16 @@ config NXWM_UNITTEST
comment "Color configuration"
config NXWM_CUSTOM_FILLCOLORS
bool "Custom Default Fill Colors"
default n
---help---
Select custom default colors for the widget background. If defined,
the hexadecimal values for all filled colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWM_CUSTOM_FILLCOLORS
config NXWM_DEFAULT_BACKGROUNDCOLOR
hex "Background Color"
---help---
@ -242,7 +319,18 @@ config NXWM_DEFAULT_SELECTEDBACKGROUNDCOLOR
hex "Normal Background Color"
---help---
Select background color. Default: RGB(206,227,241)
endif
config NXWM_CUSTOM_EDGECOLORS
bool "Custom Default Edge Colors"
default n
---help---
Select custom default colors for the widget edges. If defined,
then hexadecimal values for all edge colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWM_CUSTOM_EDGECOLORS
config NXWM_DEFAULT_SHINEEDGECOLOR
hex "Shiny Edge Color"
---help---
@ -252,7 +340,18 @@ config NXWM_DEFAULT_SHADOWEDGECOLOR
hex "Shadow Edge Color"
---help---
Color of the shadowed edge of a border. Default: RGB(0,0,0)
endif
config NXWM_CUSTOM_TEXTCOLORS
bool "Custom Default Text colors"
default n
---help---
Select custom colors for the widget text. If defined, then
hexadecimal values for all text colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWM_CUSTOM_TEXTCOLORS
config NXWM_DEFAULT_FONTCOLOR
hex "Default Font Color"
---help---
@ -260,8 +359,10 @@ config NXWM_DEFAULT_FONTCOLOR
config NXWM_TRANSPARENT_COLOR
hex "Transparent Color"
default 0x0
---help---
The "transparent" color. Default: RGB(0,0,0)
endif
comment "Horizontal and vertical spacing of icons in the task bar"
@ -303,27 +404,48 @@ config NXWM_TASKBAR_RIGHT
endchoice
config NXWM_CUSTOM_TASKBAR_WIDTH
bool "Use Custom Taskbar width"
default n
---help---
Set to override the default taskbar thickness (either vertical or
horizontal). The default depends on the selected horizontal or
vertical spacing. Default: 25 + 2*spacing
if NXWM_CUSTOM_TASKBAR_WIDTH
config NXWM_TASKBAR_WIDTH
int "Taskbar Width"
default 29
---help---
Task bar thickness (either vertical or horizontal). Default: 25 + 2*spacing
Task bar thickness (either vertical or horizontal). Default: 25 + 2*2
endif
config NXWM_DISABLE_MINIMIZE
bool "Disable Minimize Button"
default n
---help---
If the "desktop" is empty, users have no need to minimize any windows. If the buttons
are small, it's easy to hit minimize button accidentally when trying to close an
application.
If the "desktop" is empty, users have no need to minimize any
windows. If the buttons are small, it's easy to hit minimize
button accidentally when trying to close an application.
comment "Tool Bar Configuration"
config NXWM_CUSTOM_TOOLBAR_HEIGHT
bool "Use Custom Toolbar Height"
default n
---help---
Set to override the default tooldar height The default depends on
the selected horizontal or vertical spacing. Default: 21 + 2*spacing
if NXWM_CUSTOM_TOOLBAR_HEIGHT
config NXWM_TOOLBAR_HEIGHT
int "Toolbar Height"
default 25
---help---
The height of the tool bar in each application window. At present,
all icons are 21 pixels in height and, hence, require a task bar of
at least that size.
at least that size. Default: 21 + 2*2
endif
comment "Background Image"
@ -357,10 +479,19 @@ config NXWM_STARTWINDOW_HSPACING
---help---
Horizontal spacing. Default: 4 rows
config NXWM_CUSTOM_STARTWINDOW_ICON
bool "Custom Start Window Icon"
default n
---help---
Select to override the default Start Window Icon: NxWM::g_playBitmap
if NXWM_CUSTOM_STARTWINDOW_ICON
config NXWM_STARTWINDOW_ICON
string "StartWindow Icon"
default "NxWM::g_playBitmap"
---help---
The glyph to use as the start window icon. Default: NxWM::g_playBitmap
endif
config NXWM_STARTWINDOW_MQNAME
string "Message Queue Name"
@ -417,6 +548,16 @@ config NXWM_NXCONSOLE_STACKSIZE
The stack size to use when starting the NxConsole task. Default:
2048 bytes.
config NXWM_NXCONSOLE_CUSTOM_COLORS
bool "Custom NxConsole Colors"
default n
---help---
Select custom default colors for the NxConsole window. If defined,
the hexadecimal values for all NxConsole colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWM_NXCONSOLE_CUSTOM_COLORS
config NXWM_NXCONSOLE_WCOLOR
hex "NxConsole Background Color"
---help---
@ -428,17 +569,36 @@ config NXWM_NXCONSOLE_FONTCOLOR
---help---
The color of the fonts to use in the NxConsole window.
Default: RGB(0,0,0)
endif
config NXWM_NXCONSOLE_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXWM_DEFAULT_FONTID).
if NXWM_NXCONSOLE_CUSTOM_FONTID
config NXWM_NXCONSOLE_FONTID
int "NxConsole Font ID"
default 0
---help---
The ID of the font to use in the NxConsole window. Default:
NXWM_DEFAULT_FONTID
Use this default font ID in the NxConsole window instead of the
NxWM font ID (NXWM_DEFAULT_FONTID). Default: 0
endif
config NXWM_CUSTOM_NXCONSOLE_ICON
bool "Custom NxConsole Icon"
default n
---help---
Select to override the default NxConsole Window Icon: NxWM::g_cmdBitmap
if NXWM_CUSTOM_NXCONSOLE_ICON
config NXWM_NXCONSOLE_ICON
string "NxConsole Icon"
default "NxWM::g_cmdBitmap"
---help---
The glyph to use as the NxConsole icon. Default: NxWM::g_cmdBitmap
endif
config NXWM_TOUCHSCREEN
bool "Touchscreen Support"
@ -478,6 +638,7 @@ config NXWM_TOUCHSCREEN_LISTENERPRIO
config NXWM_TOUCHSCREEN_LISTENERSTACK
int "Touchscreen Listener Task Stack Size"
default 1024
---help---
Touchscreen listener thread stack size. Default 1024
@ -527,6 +688,17 @@ endif
comment "Calibration display settings"
config NXWM_CALIBRATION_CUSTOM_COLORS
bool "Custom Calibration Colors"
default n
---help---
Select custom default colors for the calibration window. If
defined, the hexadecimal values for all calibration window
colors must be provided (there are no default colors because
the hexadecimal representation of the default colors depend
on the pixel depth). Default: n
if NXWM_CALIBRATION_CUSTOM_COLORS
config NXWM_CALIBRATION_BACKGROUNDCOLOR
hex "Background Color"
---help---
@ -550,12 +722,23 @@ config NXWM_CALIBRATION_TOUCHEDCOLOR
---help---
The color of the circle in the touchscreen calibration display after
the touch is recorder. Default: RGB(255, 255, 96) (very light yellow)
endif
config NXWM_CUSTOM_CALIBRATION_ICON
bool "Custom Calibration Icon"
default n
---help---
Select to override the default Calibration Window Icon:
NxWM::g_calibrationBitmap
if NXWM_CUSTOM_CALIBRATION_ICON
config NXWM_CALIBRATION_ICON
string "Callibration Icon"
default "NxWM::g_calibrationBitmap"
---help---
The ICON to use for the touchscreen calibration application. Default:
NxWM::g_calibrationBitmap
endif
config NXWM_CALIBRATION_SIGNO
int "Calibration Signal Number"
@ -576,23 +759,55 @@ config NXWM_CALIBRATION_LISTENERSTACK
---help---
Calibration listener thread stack size. Default 2048
comment "Calibration display settings"
comment "Hex Calculator display settings"
config NXWM_HEXCALCULATOR_CUSTOM_COLORS
bool "Custom Hex Calculator Colors"
default n
---help---
Select custom default colors for the Hex Calcualtor window. If
defined, the hexadecimal values for all hex calculator colors
must be provided (there are no default colors because the
hexadecimal representation of the default colors depend on the
pixel depth). Default: n
if NXWM_HEXCALCULATOR_CUSTOM_COLORS
config NXWM_HEXCALCULATOR_BACKGROUNDCOLOR
hex "Calculator Background Color"
---help---
The background color of the calculator display. Default: Same
as NXWM_DEFAULT_BACKGROUNDCOLOR
endif
config NXWM_HEXCALCULATOR_ICON
string "Calculator Icon"
config NXWM_CUSTOM_HEXCALCULATOR_ICON
bool "Custom Hex Calculator Icon"
default n
---help---
The ICON to use for the hex calculator application. Default:
Select to override the default Hex Calculator Window Icon:
NxWM::g_calculatorBitmap
if NXWM_CUSTOM_HEXCALCULATOR_ICON
config NXWM_HEXCALCULATOR_ICON
string "Calculator Icon"
default "NxWM::g_calculatorBitmap"
---help---
The ICON to use for the hex calculator application. Default:
"NxWM::g_calculatorBitmap"
endif
config NXWM_HEXCALCULATOR_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXWM_DEFAULT_FONTID).
if NXWM_HEXCALCULATOR_CUSTOM_FONTID
config NXWM_HEXCALCULATOR_FONTID
int "Calculator Font ID"
default 0
---help---
The font used with the calculator. Default: NXWM_DEFAULT_FONTID
Use this default font ID in the calculator window instead of the
NxWM font ID (NXWM_DEFAULT_FONTID). Default: 0
endif
endif

View File

@ -116,7 +116,7 @@ NxWidgets-1.4
=============
The 5th release of the NxWidgets package was made on December 20, 2012. This
release depends on NuttX-6.22 or above and should not be used with older
release depends on NuttX-6.24 or above and should not be used with older
NuttX releases. This release corresponds to SVN revision r5447.
Note: Nearly all changes between 1.3 and 1.4 were the result of the efforts

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -134,7 +134,7 @@ chklib:
$(NXWIDGETS_LIB): # Just to keep make happy. chklib does the work.
.built: chkcxx chklib $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
else

View File

@ -162,7 +162,7 @@ $(NXWIDGETS_LIB): # Just to keep make happy. chklibnxwidgets does the work.
$(NXWM_LIB): # Just to keep make happy. chklibnxwm does the work.
.built: $(OBJS) $(NXWIDGETS_LIB)
$(call ARCHIVE, $@, $(OBJS))
$(call ARCHIVE, $(BIN), $(OBJS))
ifeq ($(WINTOOL),y)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWIDGETS_DIR)
$(Q) $(ARCHIVER) -w -p "$(CROSSDEV)" $(BIN) $(NXWM_DIR)

View File

@ -111,6 +111,22 @@ namespace NXWidgets
nxgl_mxpixel_t m_backColor; /**< The background color to use */
#endif
/**
* The underlying implementation for drawText functions
* @param pos The window-relative x/y coordinate of the string.
* @param bound The window-relative bounds of the string.
* @param font The font to draw with.
* @param string The string to output.
* @param startIndex The start index within the string from which
* drawing will commence.
* @param length The number of characters to draw.
* @param background Color to use for background if transparent is false.
* @param transparent Whether to fill the background.
*/
void drawText(struct nxgl_point_s *pos, CRect *bound, CNxFont *font,
const CNxString &string, int startIndex, int length,
nxgl_mxpixel_t background, bool transparent);
public:
/**
* Constructor.
@ -329,6 +345,24 @@ namespace NXWidgets
void drawText(struct nxgl_point_s *pos, CRect *bound, CNxFont *font,
const CNxString &string, int startIndex, int length);
/**
* Draw a portion of a string to the window and fill the background
* in one go.
* @param pos The window-relative x/y coordinate of the string.
* @param bound The window-relative bounds of the string.
* @param font The font to draw with.
* @param string The string to output.
* @param startIndex The start index within the string from which
* drawing will commence.
* @param length The number of characters to draw.
* @param color Foreground color
* @param background Background color
*/
void drawText(struct nxgl_point_s *pos, CRect *bound, CNxFont *font,
const CNxString &string, int startIndex, int length,
nxgl_mxpixel_t color, nxgl_mxpixel_t background);
/**
* Draw an opaque bitmap to the window.
*

View File

@ -168,9 +168,10 @@ namespace NXWidgets
*
* @param dx The horizontal distance to scroll.
* @param dy The vertical distance to scroll.
* @param do_redraw Redraw widgets after moving.
*/
void scrollChildren(int32_t dx, int32_t dy);
void scrollChildren(int32_t dx, int32_t dy, bool do_redraw);
/**
* Destructor.

View File

@ -309,30 +309,21 @@ void CCycleButton::drawContents(CGraphicsPort *port)
CRect rect;
getRect(rect);
nxgl_coord_t glyphSpace = m_borderSize.left - 1;
nxgl_coord_t glyphYOffset = (rect.getHeight() - g_cycle.height) >> 1;
nxwidget_pixel_t textColor;
nxwidget_pixel_t separatorLeftColor;
nxwidget_pixel_t separatorRightColor;
if (!isEnabled())
{
textColor = getDisabledTextColor();
separatorLeftColor = getShadowEdgeColor();
separatorRightColor = getShineEdgeColor();
}
else if (!isClicked())
{
textColor = getEnabledTextColor();
separatorLeftColor = getShadowEdgeColor();
separatorRightColor = getShineEdgeColor();
}
else
{
textColor = getSelectedTextColor();
separatorLeftColor = getShineEdgeColor();
separatorRightColor = getShadowEdgeColor();
}
// Draw cycle glyph
@ -341,16 +332,6 @@ void CCycleButton::drawContents(CGraphicsPort *port)
g_cycle.width, g_cycle.height, &g_cycle,
0, 0, CONFIG_NXWIDGETS_TRANSPARENT_COLOR);
// Draw separator
nxgl_coord_t x = getX() + glyphSpace + g_cycle.width;
nxgl_coord_t y = getY();
nxgl_coord_t w = glyphSpace + g_cycle.width;
nxgl_coord_t h = rect.getHeight() - 1;
port->drawLine(x, y, w, h, separatorLeftColor);
port->drawLine(x+1, y, w+1, h, separatorRightColor);
// Only draw text if option is selected
if (m_options.getSelectedItem() != NULL)

View File

@ -653,6 +653,55 @@ void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
CNxFont *font, const CNxString &string,
int startIndex, int length)
{
drawText(pos, bound, font, string, startIndex, length, 0, true);
}
/**
* Draw a portion of a string to the window and fill the background
* in one go.
* @param pos The window-relative x/y coordinate of the string.
* @param bound The window-relative bounds of the string.
* @param font The font to draw with.
* @param string The string to output.
* @param startIndex The start index within the string from which
* drawing will commence.
* @param length The number of characters to draw.
* @param color Foreground color
* @param background Background color
*/
void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
CNxFont *font, const CNxString &string,
int startIndex, int length,
nxgl_mxpixel_t color,
nxgl_mxpixel_t background)
{
nxgl_mxpixel_t savedColor = font->getColor();
font->setColor(color);
drawText(pos, bound, font, string, startIndex, length, background, false);
font->setColor(savedColor);
}
/**
* The underlying implementation for drawText functions
* @param pos The window-relative x/y coordinate of the string.
* @param bound The window-relative bounds of the string.
* @param font The font to draw with.
* @param string The string to output.
* @param startIndex The start index within the string from which
* drawing will commence.
* @param length The number of characters to draw.
* @param background Color to use for background if transparent is false.
* @param transparent Whether to fill the background.
*/
void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
CNxFont *font, const CNxString &string,
int startIndex, int length,
nxgl_mxpixel_t background,
bool transparent)
{
// Verify index and length
@ -668,6 +717,16 @@ void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
endIndex = stringLength;
}
#ifdef CONFIG_NX_WRITEONLY
if (transparent)
{
// Can't render transparently without reading memory.
transparent = false;
background = m_backColor;
}
#endif
// Allocate a bit of memory to hold the largest rendered font
unsigned int bmWidth = ((unsigned int)font->getMaxWidth() * CONFIG_NXWIDGETS_BPP + 7) >> 3;
@ -680,7 +739,7 @@ void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
struct nxgl_rect_s boundingBox;
bound->getNxRect(&boundingBox);
// Loop setup
struct SBitmap bitmap;
@ -707,16 +766,12 @@ void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
// Does the letter have height? Spaces have width, but no height
if (metrics.height > 0)
if (metrics.height > 0 || !transparent)
{
// Get the height of the font
nxgl_coord_t fontHeight = (nxgl_coord_t)(metrics.height + metrics.yoffset);
// Set the current, effective size of the bitmap
bitmap.width = fontWidth;
bitmap.height = fontHeight;
bitmap.height = bmHeight;
bitmap.stride = (fontWidth * bitmap.bpp + 7) >> 3;
// Describe the destination of the font as a bounding box
@ -725,7 +780,7 @@ void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
dest.pt1.x = pos->x;
dest.pt1.y = pos->y;
dest.pt2.x = pos->x + fontWidth - 1;
dest.pt2.y = pos->y + fontHeight - 1;
dest.pt2.y = pos->y + bmHeight - 1;
// Get the interection of the font box and the bounding box
@ -737,25 +792,28 @@ void CGraphicsPort::drawText(struct nxgl_point_s *pos, CRect *bound,
if (!nxgl_nullrect(&intersection))
{
// Initialize the bitmap memory by reading from the display. The
// font renderer always renders the fonts on a transparent background.
// Sometimes a solid background works, sometimes not. But reading
// from graphics memory always works.
#ifdef CONFIG_NX_WRITEONLY
// Set the glyph memory to the background color
nxwidget_pixel_t *bmPtr = (nxwidget_pixel_t *)bitmap.data;
unsigned int npixels = fontWidth * fontHeight;
for (unsigned int j = 0; j < npixels; j++)
// If we have been given a background color, use it to fill the array.
// Otherwise initialize the bitmap memory by reading from the display.
// The font renderer always renders the fonts on a transparent background.
if (!transparent)
{
*bmPtr++ = m_backColor;
}
#else
// Read the current contents of the destination into the glyph memory
// Set the glyph memory to the background color
nxwidget_pixel_t *bmPtr = (nxwidget_pixel_t *)bitmap.data;
unsigned int npixels = fontWidth * bmHeight;
for (unsigned int j = 0; j < npixels; j++)
{
*bmPtr++ = background;
}
}
else
{
// Read the current contents of the destination into the glyph memory
m_pNxWnd->getRectangle(&dest, &bitmap);
}
m_pNxWnd->getRectangle(&dest, &bitmap);
#endif
// Render the font into the initialized bitmap
font->drawChar(&bitmap, letter);
@ -827,7 +885,7 @@ void CGraphicsPort::move(nxgl_coord_t x, nxgl_coord_t y,
rect.pt1.x = x;
rect.pt1.y = y;
rect.pt2.x = x + width - 1;
rect.pt2.y = y = height -1;
rect.pt2.y = y + height - 1;
struct nxgl_point_s offset;
offset.x = deltaX;

View File

@ -303,8 +303,10 @@ void CLabel::drawContents(CGraphicsPort *port)
// Draw the background (excluding the border)
#ifdef CONFIG_NXWIDGETS_FLICKERFREE
port->drawFilledRect(rect.getX(), rect.getY(),
rect.getWidth(), rect.getHeight(), backColor);
#endif
// Get the X/Y position of the text within the Label
@ -312,10 +314,27 @@ void CLabel::drawContents(CGraphicsPort *port)
pos.x = rect.getX() + m_align.x;
pos.y = rect.getY() + m_align.y;
// Add the text using the selected color
#ifdef CONFIG_NXWIDGETS_FLICKERFREE
CNxFont* font = getFont();
int height = font->getHeight();
int width = font->getStringWidth(m_text);
// Draw the background (excluding the border and the text area)
port->drawFilledRect(rect.getX(), rect.getY(),
pos.x - rect.getX(), rect.getHeight(), backColor); // Left
port->drawFilledRect(pos.x + width, rect.getY(),
rect.getX2() - (pos.x + width) + 1, rect.getHeight(), backColor); // Right
port->drawFilledRect(pos.x, rect.getY(),
width, pos.y - rect.getY(), backColor); // Top
port->drawFilledRect(pos.x, pos.y + height,
width, rect.getY2() - (pos.y + height) + 1, backColor); // Bottom
#endif
// Add the text using the selected color and background color
port->drawText(&pos, &rect, getFont(), m_text, 0, m_text.getLength(),
textColor);
textColor, backColor);
}
/**

View File

@ -215,10 +215,13 @@ void CScrollingPanel::scroll(int32_t dx, int32_t dy)
m_canvasY += dy;
m_canvasX += dx;
// Move children but do not redraw.
scrollChildren(dx, dy, false);
if (revealedRects.size() > 0)
{
// Draw background to revealed sections
// Children will redraw themselves in moveTo.
for (int i = 0; i < revealedRects.size(); ++i)
{
@ -231,6 +234,18 @@ void CScrollingPanel::scroll(int32_t dx, int32_t dy)
port->drawFilledRect(rrect.getX(), rrect.getY(),
rrect.getWidth(), rrect.getHeight(),
getBackgroundColor());
// Check if any children intersect this region.
// If it does, it should be redrawn.
for (int j = 0; j < m_children.size(); ++j)
{
CRect crect = m_children[j]->getBoundingBox();
if (crect.intersects(rrect))
{
m_children[j]->redraw();
}
}
}
}
}
@ -240,12 +255,12 @@ void CScrollingPanel::scroll(int32_t dx, int32_t dy)
m_canvasY += dy;
m_canvasX += dx;
// Scroll all child widgets and redraw them
scrollChildren(dx, dy, true);
}
// Scroll all child widgets
scrollChildren(dx, dy);
// Notify event handlers
m_widgetEventHandlers->raiseScrollEvent(dx, dy);
@ -332,9 +347,10 @@ void CScrollingPanel::onClick(nxgl_coord_t x, nxgl_coord_t y)
*
* @param dx The horizontal distance to scroll.
* @param dy The vertical distance to scroll.
* @param do_redraw Redraw widgets after moving.
*/
void CScrollingPanel::scrollChildren(int32_t dx, int32_t dy)
void CScrollingPanel::scrollChildren(int32_t dx, int32_t dy, bool do_redraw)
{
nxgl_coord_t widgetX = 0;
nxgl_coord_t widgetY = 0;
@ -345,8 +361,20 @@ void CScrollingPanel::scrollChildren(int32_t dx, int32_t dy)
for (int32_t i = 0; i < m_children.size(); i++)
{
widget = m_children[i];
bool oldstate = widget->isDrawingEnabled();
if (!do_redraw)
{
widget->disableDrawing();
}
widgetX = (widget->getX() - thisX) + dx;
widgetY = (widget->getY() - thisY) + dy;
widget->moveTo(widgetX, widgetY);
if (!do_redraw && oldstate)
{
widget->enableDrawing();
}
}
}

View File

@ -13,6 +13,18 @@ config NXWIDGETS
if NXWIDGETS
comment "NX Server/Device Configuration"
config NXWIDGETS_FLICKERFREE
bool "Enable Flicker Reduction Logic"
default y if NX_LCDDRIVER
default n if !NX_LCDDRIVER
---help---
Because of their performance an in the manner in which they are
updated, LCDs may be prone to "flicker" in the displays when Widgets
are updated. Often more complex (and slower) options are availble
to reduce the flicker. Enabling this option will enabled those
lower-performance flicker-reductions measures where-ever thay may
be available.
config NXWIDGETS_DEVNO
int "LCD Device Number"
default 0
@ -96,10 +108,20 @@ config NXWIDGETS_SIZEOFCHAR
comment "NXWidget Default Values"
config NXWIDGETS_SYSTEM_CUSTOM_FONTID
bool "Use a Custom Default Font"
default n
---help---
Set to override the system default font id (NXFONT_DEFAULT).
if NXWIDGETS_SYSTEM_CUSTOM_FONTID
config NXWIDGETS_DEFAULT_FONTID
int "Default Font ID"
default 0
---help---
Default font ID. Default: NXFONT_DEFAULT
Use this default NxWidgets font ID instead of the system font ID
(NXFONT_DEFAULT). Default: 0
endif
config NXWIDGETS_TNXARRAY_INITIALSIZE
int "Initial Size of Dynamic Arrays"
@ -113,53 +135,88 @@ config NXWIDGETS_TNXARRAY_SIZEINCREMENT
---help---
Default dynamic array realloctino increment (in entries). Default: 8
config NXWIDGETS_CUSTOM_FILLCOLORS
bool "Custom Default Fill Colors"
default n
---help---
Select custom default colors for the widget background. If defined,
the hexadecimal values for all filled colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWIDGETS_CUSTOM_FILLCOLORS
config NXWIDGETS_DEFAULT_BACKGROUNDCOLOR
hex "Normal Background Color"
hex "Default Normal Background Color"
---help---
Normal background color. Default: RGB(148,189,215)
config NXWIDGETS_DEFAULT_SELECTEDBACKGROUNDCOLOR
hex "Selected Background Color"
hex "Default Selected Background Color"
---help---
Default selected background color. Default: RGB(206,227,241)
config NXWIDGETS_DEFAULT_HIGHLIGHTCOLOR
hex "Default Highlight Color"
---help---
Highlight color. Currently this color is only used in clist
boxes, progress bars, and slider grips. Default: RGB(192,192,192)
endif
config NXWIDGETS_CUSTOM_EDGECOLORS
bool "Custom Default Edge Colors"
default n
---help---
Select custom default colors for the widget edges. If defined,
then hexadecimal values for all edge colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWIDGETS_CUSTOM_EDGECOLORS
config NXWIDGETS_DEFAULT_SHINEEDGECOLOR
hex "Shiny Edge Color"
hex "Default Shiny Edge Color"
---help---
Shiny side boarder color. Default: RGB(248,248,248)
config NXWIDGETS_DEFAULT_SHADOWEDGECOLOR
hex "Shadow Edge Color"
hex "Default Shadow Edge Color"
---help---
Shadowed side border color. Default: RGB(35,58,73)
endif
config NXWIDGETS_DEFAULT_HIGHLIGHTCOLOR
hex "Highlight Color"
config NXWIDGETS_CUSTOM_TEXTCOLORS
bool "Custom Default Text colors"
default n
---help---
Highlight color. Default: RGB(192,192,192)
Select custom colors for the widget text. If defined, then
hexadecimal values for all text colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWIDGETS_CUSTOM_TEXTCOLORS
config NXWIDGETS_DEFAULT_DISABLEDTEXTCOLOR
hex "Disabled Text Color"
hex "Default Disabled Text Color"
---help---
Text color on a disabled widget: Default: RGB(192,192,192)
config NXWIDGETS_DEFAULT_ENABLEDTEXTCOLOR
hex "Enabled Text Color"
hex "Default Enabled Text Color"
---help---
Text color on a enabled widget. Default: RGB(248,248,248)
config NXWIDGETS_DEFAULT_SELECTEDTEXTCOLOR
hex "Selected Text Color"
hex "Default Selected Text Color"
---help---
Text color on a selected widget. Default: RGB(0,0,0)
config NXWIDGETS_DEFAULT_FONTCOLOR
hex "Default Font Color"
hex "Default Default Font Color"
---help---
Default font color. Default: RGB(255,255,255)
endif
config NXWIDGETS_TRANSPARENT_COLOR
hex "Transparent Color"
default 0x0
---help---
Transparent color. Default: RGB(0,0,0)
@ -220,10 +277,20 @@ config NXWM
if NXWM
comment "General settings"
config NXWM_SYSTEM_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXFONT_DEFAULT).
if NXWM_SYSTEM_CUSTOM_FONTID
config NXWM_DEFAULT_FONTID
int "Font ID"
default 0
---help---
The NxWM default font ID. Default: NXFONT_DEFAULT
Use this NxWM default font ID instead of the system font ID
(NXFONT_DEFAULT). Default: 0
endif
config NXWM_UNITTEST
bool "NxWM Unit Test"
@ -233,6 +300,16 @@ config NXWM_UNITTEST
comment "Color configuration"
config NXWM_CUSTOM_FILLCOLORS
bool "Custom Default Fill Colors"
default n
---help---
Select custom default colors for the widget background. If defined,
the hexadecimal values for all filled colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWM_CUSTOM_FILLCOLORS
config NXWM_DEFAULT_BACKGROUNDCOLOR
hex "Background Color"
---help---
@ -242,7 +319,18 @@ config NXWM_DEFAULT_SELECTEDBACKGROUNDCOLOR
hex "Normal Background Color"
---help---
Select background color. Default: RGB(206,227,241)
endif
config NXWM_CUSTOM_EDGECOLORS
bool "Custom Default Edge Colors"
default n
---help---
Select custom default colors for the widget edges. If defined,
then hexadecimal values for all edge colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWM_CUSTOM_EDGECOLORS
config NXWM_DEFAULT_SHINEEDGECOLOR
hex "Shiny Edge Color"
---help---
@ -252,7 +340,18 @@ config NXWM_DEFAULT_SHADOWEDGECOLOR
hex "Shadow Edge Color"
---help---
Color of the shadowed edge of a border. Default: RGB(0,0,0)
endif
config NXWM_CUSTOM_TEXTCOLORS
bool "Custom Default Text colors"
default n
---help---
Select custom colors for the widget text. If defined, then
hexadecimal values for all text colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWM_CUSTOM_TEXTCOLORS
config NXWM_DEFAULT_FONTCOLOR
hex "Default Font Color"
---help---
@ -260,8 +359,10 @@ config NXWM_DEFAULT_FONTCOLOR
config NXWM_TRANSPARENT_COLOR
hex "Transparent Color"
default 0x0
---help---
The "transparent" color. Default: RGB(0,0,0)
endif
comment "Horizontal and vertical spacing of icons in the task bar"
@ -303,27 +404,48 @@ config NXWM_TASKBAR_RIGHT
endchoice
config NXWM_CUSTOM_TASKBAR_WIDTH
bool "Use Custom Taskbar width"
default n
---help---
Set to override the default taskbar thickness (either vertical or
horizontal). The default depends on the selected horizontal or
vertical spacing. Default: 25 + 2*spacing
if NXWM_CUSTOM_TASKBAR_WIDTH
config NXWM_TASKBAR_WIDTH
int "Taskbar Width"
default 29
---help---
Task bar thickness (either vertical or horizontal). Default: 25 + 2*spacing
Task bar thickness (either vertical or horizontal). Default: 25 + 2*2
endif
config NXWM_DISABLE_MINIMIZE
bool "Disable Minimize Button"
default n
---help---
If the "desktop" is empty, users have no need to minimize any windows. If the buttons
are small, it's easy to hit minimize button accidentally when trying to close an
application.
If the "desktop" is empty, users have no need to minimize any
windows. If the buttons are small, it's easy to hit minimize
button accidentally when trying to close an application.
comment "Tool Bar Configuration"
config NXWM_CUSTOM_TOOLBAR_HEIGHT
bool "Use Custom Toolbar Height"
default n
---help---
Set to override the default tooldar height The default depends on
the selected horizontal or vertical spacing. Default: 21 + 2*spacing
if NXWM_CUSTOM_TOOLBAR_HEIGHT
config NXWM_TOOLBAR_HEIGHT
int "Toolbar Height"
default 25
---help---
The height of the tool bar in each application window. At present,
all icons are 21 pixels in height and, hence, require a task bar of
at least that size.
at least that size. Default: 21 + 2*2
endif
comment "Background Image"
@ -357,10 +479,19 @@ config NXWM_STARTWINDOW_HSPACING
---help---
Horizontal spacing. Default: 4 rows
config NXWM_CUSTOM_STARTWINDOW_ICON
bool "Custom Start Window Icon"
default n
---help---
Select to override the default Start Window Icon: NxWM::g_playBitmap
if NXWM_CUSTOM_STARTWINDOW_ICON
config NXWM_STARTWINDOW_ICON
string "StartWindow Icon"
default "NxWM::g_playBitmap"
---help---
The glyph to use as the start window icon. Default: NxWM::g_playBitmap
endif
config NXWM_STARTWINDOW_MQNAME
string "Message Queue Name"
@ -417,6 +548,16 @@ config NXWM_NXCONSOLE_STACKSIZE
The stack size to use when starting the NxConsole task. Default:
2048 bytes.
config NXWM_NXCONSOLE_CUSTOM_COLORS
bool "Custom NxConsole Colors"
default n
---help---
Select custom default colors for the NxConsole window. If defined,
the hexadecimal values for all NxConsole colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWM_NXCONSOLE_CUSTOM_COLORS
config NXWM_NXCONSOLE_WCOLOR
hex "NxConsole Background Color"
---help---
@ -428,17 +569,36 @@ config NXWM_NXCONSOLE_FONTCOLOR
---help---
The color of the fonts to use in the NxConsole window.
Default: RGB(0,0,0)
endif
config NXWM_NXCONSOLE_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXWM_DEFAULT_FONTID).
if NXWM_NXCONSOLE_CUSTOM_FONTID
config NXWM_NXCONSOLE_FONTID
int "NxConsole Font ID"
default 0
---help---
The ID of the font to use in the NxConsole window. Default:
NXWM_DEFAULT_FONTID
Use this default font ID in the NxConsole window instead of the
NxWM font ID (NXWM_DEFAULT_FONTID). Default: 0
endif
config NXWM_CUSTOM_NXCONSOLE_ICON
bool "Custom NxConsole Icon"
default n
---help---
Select to override the default NxConsole Window Icon: NxWM::g_cmdBitmap
if NXWM_CUSTOM_NXCONSOLE_ICON
config NXWM_NXCONSOLE_ICON
string "NxConsole Icon"
default "NxWM::g_cmdBitmap"
---help---
The glyph to use as the NxConsole icon. Default: NxWM::g_cmdBitmap
endif
config NXWM_TOUCHSCREEN
bool "Touchscreen Support"
@ -478,6 +638,7 @@ config NXWM_TOUCHSCREEN_LISTENERPRIO
config NXWM_TOUCHSCREEN_LISTENERSTACK
int "Touchscreen Listener Task Stack Size"
default 1024
---help---
Touchscreen listener thread stack size. Default 1024
@ -527,6 +688,17 @@ endif
comment "Calibration display settings"
config NXWM_CALIBRATION_CUSTOM_COLORS
bool "Custom Calibration Colors"
default n
---help---
Select custom default colors for the calibration window. If
defined, the hexadecimal values for all calibration window
colors must be provided (there are no default colors because
the hexadecimal representation of the default colors depend
on the pixel depth). Default: n
if NXWM_CALIBRATION_CUSTOM_COLORS
config NXWM_CALIBRATION_BACKGROUNDCOLOR
hex "Background Color"
---help---
@ -550,12 +722,23 @@ config NXWM_CALIBRATION_TOUCHEDCOLOR
---help---
The color of the circle in the touchscreen calibration display after
the touch is recorder. Default: RGB(255, 255, 96) (very light yellow)
endif
config NXWM_CUSTOM_CALIBRATION_ICON
bool "Custom Calibration Icon"
default n
---help---
Select to override the default Calibration Window Icon:
NxWM::g_calibrationBitmap
if NXWM_CUSTOM_CALIBRATION_ICON
config NXWM_CALIBRATION_ICON
string "Callibration Icon"
default "NxWM::g_calibrationBitmap"
---help---
The ICON to use for the touchscreen calibration application. Default:
NxWM::g_calibrationBitmap
endif
config NXWM_CALIBRATION_SIGNO
int "Calibration Signal Number"
@ -576,23 +759,55 @@ config NXWM_CALIBRATION_LISTENERSTACK
---help---
Calibration listener thread stack size. Default 2048
comment "Calibration display settings"
comment "Hex Calculator display settings"
config NXWM_HEXCALCULATOR_CUSTOM_COLORS
bool "Custom Hex Calculator Colors"
default n
---help---
Select custom default colors for the Hex Calcualtor window. If
defined, the hexadecimal values for all hex calculator colors
must be provided (there are no default colors because the
hexadecimal representation of the default colors depend on the
pixel depth). Default: n
if NXWM_HEXCALCULATOR_CUSTOM_COLORS
config NXWM_HEXCALCULATOR_BACKGROUNDCOLOR
hex "Calculator Background Color"
---help---
The background color of the calculator display. Default: Same
as NXWM_DEFAULT_BACKGROUNDCOLOR
endif
config NXWM_HEXCALCULATOR_ICON
string "Calculator Icon"
config NXWM_CUSTOM_HEXCALCULATOR_ICON
bool "Custom Hex Calculator Icon"
default n
---help---
The ICON to use for the hex calculator application. Default:
Select to override the default Hex Calculator Window Icon:
NxWM::g_calculatorBitmap
if NXWM_CUSTOM_HEXCALCULATOR_ICON
config NXWM_HEXCALCULATOR_ICON
string "Calculator Icon"
default "NxWM::g_calculatorBitmap"
---help---
The ICON to use for the hex calculator application. Default:
"NxWM::g_calculatorBitmap"
endif
config NXWM_HEXCALCULATOR_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXWM_DEFAULT_FONTID).
if NXWM_HEXCALCULATOR_CUSTOM_FONTID
config NXWM_HEXCALCULATOR_FONTID
int "Calculator Font ID"
default 0
---help---
The font used with the calculator. Default: NXWM_DEFAULT_FONTID
Use this default font ID in the calculator window instead of the
NxWM font ID (NXWM_DEFAULT_FONTID). Default: 0
endif
endif

View File

@ -3801,3 +3801,10 @@
to find executables using a relative path.
6.25 2013-xx-xx Gregory Nutt <gnutt@nuttx.org>
* graphics/: Adds 5x8 monospace font. This tiny font is useful for graph
labels and for small bitmapped display. Contributed by Petteri
Aimonen.
* configs/stm3220g-eval/nxwm: Converted to use the kconfig-fronteds
configuration tool.

View File

@ -373,7 +373,7 @@
<td><br></td>
<td>
<p>
<li>May be built either as an open, flat embedded RTOS or as a separtely built, secure micro-kernel with a system call interface.</li>
<li>May be built either as an open, flat embedded RTOS or as a separately built, secure micro-kernel with a system call interface.</li>
</p>
</tr>

View File

@ -1,4 +1,4 @@
NuttX TODO List (Last updated November 25, 2012)
NuttX TODO List (Last updated December 20, 2012)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This file summarizes known NuttX bugs, limitations, inconsistencies with
@ -15,7 +15,7 @@ nuttx/
(6) Binary loaders (binfmt/)
(17) Network (net/, drivers/net)
(4) USB (drivers/usbdev, drivers/usbhost)
(11) Libraries (libc/, )
(12) Libraries (libc/, )
(9) File system/Generic drivers (fs/, drivers/)
(5) Graphics subystem (graphics/)
(1) Pascal add-on (pcode/)
@ -637,6 +637,15 @@ o USB (drivers/usbdev, drivers/usbhost)
o Libraries (libc/)
^^^^^^^^^^^^^^^^^
Title: SIGNED time_t
Description: The NuttX time_t is type uint32_t. I think this is consistent
with all standards and with normal usage of time_t. However,
according to Wikipedia, time_t is usually implemented as a
signed 32-bit value.
Status: Open
Priority: Very low unless there is some compelling issue that I do not
know about.
Title: ENVIRON
Description: The definition of environ in stdlib.h is bogus and will not
work as it should. This is because the underlying

View File

@ -8,6 +8,14 @@ CONFIG_NUTTX_NEWCONFIG=y
# Build Setup
#
# CONFIG_EXPERIMENTAL is not set
# CONFIG_HOST_LINUX is not set
# CONFIG_HOST_OSX is not set
CONFIG_HOST_WINDOWS=y
# CONFIG_HOST_OTHER is not set
# CONFIG_WINDOWS_NATIVE is not set
CONFIG_WINDOWS_CYGWIN=y
# CONFIG_WINDOWS_MSYS is not set
# CONFIG_WINDOWS_OTHER is not set
#
# Build Configuration
@ -28,6 +36,7 @@ CONFIG_INTELHEX_BINARY=y
#
# CONFIG_ARCH_STDBOOL_H is not set
# CONFIG_ARCH_MATH_H is not set
# CONFIG_ARCH_FLOAT_H is not set
# CONFIG_ARCH_STDARG_H is not set
#
@ -51,6 +60,10 @@ CONFIG_ARCH_ARM=y
# CONFIG_ARCH_Z16 is not set
# CONFIG_ARCH_Z80 is not set
CONFIG_ARCH="arm"
#
# ARM Options
#
# CONFIG_ARCH_CHIP_C5471 is not set
# CONFIG_ARCH_CHIP_CALYPSO is not set
# CONFIG_ARCH_CHIP_DM320 is not set
@ -68,11 +81,23 @@ CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CORTEXM3=y
CONFIG_ARCH_FAMILY="armv7-m"
CONFIG_ARCH_CHIP="stm32"
CONFIG_ARCH_HAVE_CMNVECTOR=y
# CONFIG_ARMV7M_CMNVECTOR is not set
CONFIG_ARCH_HAVE_MPU=y
# CONFIG_ARMV7M_MPU is not set
CONFIG_ARCH_IRQPRIO=y
CONFIG_BOARD_LOOPSPERMSEC=5483
# CONFIG_ARCH_CALIBRATION is not set
#
# ARMV7M Configuration Options
#
# CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC is not set
# CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT is not set
# CONFIG_ARMV7M_TOOLCHAIN_CODEREDW is not set
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y
# CONFIG_ARMV7M_TOOLCHAIN_DEVKITARM is not set
# CONFIG_ARMV7M_TOOLCHAIN_GNU_EABI is not set
# CONFIG_ARMV7M_TOOLCHAIN_RAISONANCE is not set
# CONFIG_SERIAL_TERMIOS is not set
# CONFIG_NET_MULTICAST is not set
@ -83,8 +108,14 @@ CONFIG_BOARD_LOOPSPERMSEC=5483
# CONFIG_ARCH_CHIP_STM32F100CB is not set
# CONFIG_ARCH_CHIP_STM32F100R8 is not set
# CONFIG_ARCH_CHIP_STM32F100RB is not set
# CONFIG_ARCH_CHIP_STM32F100RC is not set
# CONFIG_ARCH_CHIP_STM32F100RD is not set
# CONFIG_ARCH_CHIP_STM32F100RE is not set
# CONFIG_ARCH_CHIP_STM32F100V8 is not set
# CONFIG_ARCH_CHIP_STM32F100VB is not set
# CONFIG_ARCH_CHIP_STM32F100VC is not set
# CONFIG_ARCH_CHIP_STM32F100VD is not set
# CONFIG_ARCH_CHIP_STM32F100VE is not set
# CONFIG_ARCH_CHIP_STM32F103RET6 is not set
# CONFIG_ARCH_CHIP_STM32F103VCT6 is not set
# CONFIG_ARCH_CHIP_STM32F103VET6 is not set
@ -103,13 +134,6 @@ CONFIG_ARCH_CHIP_STM32F107VC=y
# CONFIG_ARCH_CHIP_STM32F407IG is not set
CONFIG_STM32_STM32F10XX=y
CONFIG_STM32_CONNECTIVITYLINE=y
CONFIG_STM32_CODESOURCERYW=y
# CONFIG_STM32_CODESOURCERYL is not set
# CONFIG_STM32_ATOLLIC_LITE is not set
# CONFIG_STM32_ATOLLIC_PRO is not set
# CONFIG_STM32_DEVKITARM is not set
# CONFIG_STM32_RAISONANCE is not set
# CONFIG_STM32_BUILDROOT is not set
# CONFIG_STM32_DFU is not set
#
@ -118,11 +142,11 @@ CONFIG_STM32_CODESOURCERYW=y
# CONFIG_STM32_ADC1 is not set
# CONFIG_STM32_ADC2 is not set
# CONFIG_STM32_ADC3 is not set
# CONFIG_STM32_BKP is not set
# CONFIG_STM32_CAN1 is not set
# CONFIG_STM32_CRC is not set
# CONFIG_STM32_DMA1 is not set
# CONFIG_STM32_DMA2 is not set
# CONFIG_STM32_BKP is not set
# CONFIG_STM32_CAN1 is not set
# CONFIG_STM32_DAC1 is not set
# CONFIG_STM32_DAC2 is not set
CONFIG_STM32_ETHMAC=y
@ -153,9 +177,9 @@ CONFIG_STM32_SPI=y
#
# Alternate Pin Mapping
#
CONFIG_STM32_USART2_REMAP=y
CONFIG_STM32_SPI3_REMAP=y
CONFIG_STM32_ETH_REMAP=y
CONFIG_STM32_SPI3_REMAP=y
CONFIG_STM32_USART2_REMAP=y
# CONFIG_STM32_JTAG_DISABLE is not set
CONFIG_STM32_JTAG_FULL_ENABLE=y
# CONFIG_STM32_JTAG_NOJNTRST_ENABLE is not set
@ -163,6 +187,11 @@ CONFIG_STM32_JTAG_FULL_ENABLE=y
# CONFIG_STM32_FORCEPOWER is not set
# CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is not set
#
# U[S]ART Configuration
#
# CONFIG_USART2_RS485 is not set
#
# SPI Configuration
#
@ -173,6 +202,7 @@ CONFIG_STM32_JTAG_FULL_ENABLE=y
# Ethernet MAC configuration
#
CONFIG_STM32_PHYADDR=0
# CONFIG_STM32_PHYINIT is not set
# CONFIG_STM32_MII is not set
CONFIG_STM32_AUTONEG=y
CONFIG_STM32_PHYSR=17
@ -196,7 +226,11 @@ CONFIG_STM32_RMII_MCO=y
#
# CONFIG_ARCH_NOINTC is not set
# CONFIG_ARCH_DMA is not set
CONFIG_ARCH_IRQPRIO=y
# CONFIG_CUSTOM_STACK is not set
# CONFIG_ADDRENV is not set
CONFIG_ARCH_STACKDUMP=y
# CONFIG_ENDIAN_BIG is not set
#
# Board Settings
@ -218,6 +252,7 @@ CONFIG_BOOT_RUNFROMFLASH=y
#
# Board Selection
#
# CONFIG_ARCH_BOARD_CLOUDCTRL is not set
# CONFIG_ARCH_BOARD_OLIMEX_STM32P107 is not set
CONFIG_ARCH_BOARD_SHENZHOU=y
# CONFIG_ARCH_BOARD_CUSTOM is not set
@ -309,7 +344,6 @@ CONFIG_PREALLOC_TIMERS=4
#
# Stack and heap information
#
# CONFIG_CUSTOM_STACK is not set
CONFIG_IDLETHREAD_STACKSIZE=1024
CONFIG_USERMAIN_STACKSIZE=1024
CONFIG_PTHREAD_STACK_MIN=256
@ -351,6 +385,7 @@ CONFIG_LCD_MAXPOWER=1
# CONFIG_LCD_P14201 is not set
# CONFIG_LCD_NOKIA6100 is not set
# CONFIG_LCD_UG9664HSWAG01 is not set
# CONFIG_LCD_UG2864AMBAG01 is not set
CONFIG_LCD_SSD1289=y
CONFIG_SSD1289_PROFILE1=y
# CONFIG_SSD1289_PROFILE2 is not set
@ -544,6 +579,16 @@ CONFIG_NX_MXCLIENTMSGS=16
CONFIG_MM_REGIONS=1
# CONFIG_GRAN is not set
#
# Binary Formats
#
# CONFIG_BINFMT_DISABLE is not set
# CONFIG_BINFMT_EXEPATH is not set
# CONFIG_NXFLAT is not set
# CONFIG_ELF is not set
# CONFIG_PIC is not set
# CONFIG_SYMTAB_ORDEREDBYNAME is not set
#
# Library Routines
#
@ -551,6 +596,7 @@ CONFIG_STDIO_BUFFER_SIZE=64
CONFIG_STDIO_LINEBUFFER=y
CONFIG_NUNGET_CHARS=2
CONFIG_LIB_HOMEDIR="/"
# CONFIG_LIBM is not set
# CONFIG_NOPRINTF_FIELDWIDTH is not set
# CONFIG_LIBC_FLOATINGPOINT is not set
# CONFIG_EOL_IS_CR is not set
@ -563,10 +609,20 @@ CONFIG_ARCH_LOWPUTC=y
CONFIG_LIB_SENDFILE_BUFSIZE=512
# CONFIG_ARCH_ROMGETC is not set
# CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set
#
# Basic CXX Support
#
# CONFIG_C99_BOOL8 is not set
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
# CONFIG_CXX_NEWLONG is not set
#
# uClibc++ Standard C++ Library
#
# CONFIG_UCLIBCXX is not set
#
# Application Configuration
#
@ -579,260 +635,59 @@ CONFIG_NAMEDAPP=y
#
# Examples
#
#
# ADC Example
#
# CONFIG_EXAMPLES_ADC is not set
#
# Buttons Example
#
# CONFIG_EXAMPLES_BUTTONS is not set
#
# CAN Example
#
# CONFIG_EXAMPLES_CAN is not set
#
# USB CDC/ACM Class Driver Example
#
# CONFIG_EXAMPLES_CDCACM is not set
#
# USB composite Class Driver Example
#
# CONFIG_EXAMPLES_COMPOSITE is not set
#
# DHCP Server Example
#
# CONFIG_EXAMPLES_CXXTEST is not set
# CONFIG_EXAMPLES_DHCPD is not set
#
# FTP Client Example
#
# CONFIG_EXAMPLES_ELF is not set
# CONFIG_EXAMPLES_FTPC is not set
#
# FTP Server Example
#
# CONFIG_EXAMPLES_FTPD is not set
#
# "Hello, World!" Example
#
# CONFIG_EXAMPLES_HELLO is not set
#
# "Hello, World!" C++ Example
#
# CONFIG_EXAMPLES_HELLOXX is not set
#
# USB HID Keyboard Example
#
# CONFIG_EXAMPLES_JSON is not set
# CONFIG_EXAMPLES_HIDKBD is not set
#
# IGMP Example
#
# CONFIG_EXAMPLES_KEYPADTEST is not set
# CONFIG_EXAMPLES_IGMP is not set
#
# LCD Read/Write Example
#
# CONFIG_EXAMPLES_LCDRW is not set
#
# Memory Management Example
#
# CONFIG_EXAMPLES_MM is not set
#
# File System Mount Example
#
# CONFIG_EXAMPLES_MOUNT is not set
#
# FreeModBus Example
#
# CONFIG_EXAMPLES_MODBUS is not set
#
# Network Test Example
#
# CONFIG_EXAMPLES_NETTEST is not set
#
# NuttShell (NSH) Example
#
# CONFIG_EXAMPLES_NSH is not set
#
# NULL Example
#
# CONFIG_EXAMPLES_NULL is not set
#
# NX Graphics Example
#
# CONFIG_EXAMPLES_NX is not set
#
# NxConsole Example
#
# CONFIG_EXAMPLES_NXCONSOLE is not set
#
# NXFFS File System Example
#
# CONFIG_EXAMPLES_NXFFS is not set
#
# NXFLAT Example
#
# CONFIG_EXAMPLES_NXFLAT is not set
#
# NX Graphics "Hello, World!" Example
#
# CONFIG_EXAMPLES_NXHELLO is not set
#
# NX Graphics image Example
#
# CONFIG_EXAMPLES_NXIMAGE is not set
#
# NX Graphics lines Example
#
# CONFIG_EXAMPLES_NXLINES is not set
#
# NX Graphics Text Example
#
# CONFIG_EXAMPLES_NXTEXT is not set
#
# OS Test Example
#
# CONFIG_EXAMPLES_OSTEST is not set
#
# Pascal "Hello, World!"example
#
# CONFIG_EXAMPLES_PASHELLO is not set
#
# Pipe Example
#
# CONFIG_EXAMPLES_PIPE is not set
#
# Poll Example
#
# CONFIG_EXAMPLES_POLL is not set
#
# Pulse Width Modulation (PWM) Example
#
#
# Quadrature Encoder Example
#
# CONFIG_EXAMPLES_QENCODER is not set
#
# RGMP Example
#
# CONFIG_EXAMPLES_RGMP is not set
#
# ROMFS Example
#
# CONFIG_EXAMPLES_ROMFS is not set
#
# sendmail Example
#
# CONFIG_EXAMPLES_SENDMAIL is not set
#
# Serial Loopback Example
#
# CONFIG_EXAMPLES_SERLOOP is not set
#
# Telnet Daemon Example
#
# CONFIG_EXAMPLES_TELNETD is not set
#
# THTTPD Web Server Example
#
# CONFIG_EXAMPLES_THTTPD is not set
#
# TIFF Generation Example
#
# CONFIG_EXAMPLES_TIFF is not set
#
# Touchscreen Example
#
# CONFIG_EXAMPLES_TOUCHSCREEN is not set
#
# UDP Example
#
# CONFIG_EXAMPLES_UDP is not set
#
# UDP Discovery Daemon Example
#
# CONFIG_EXAMPLES_DISCOVER is not set
#
# uIP Web Server Example
#
# CONFIG_EXAMPLES_UIP is not set
#
# USB Serial Test Example
#
# CONFIG_EXAMPLES_USBSERIAL is not set
#
# USB Mass Storage Class Example
#
# CONFIG_EXAMPLES_USBMSC is not set
#
# USB Serial Terminal Example
#
# CONFIG_EXAMPLES_USBTERM is not set
#
# Watchdog timer Example
#
# CONFIG_EXAMPLES_WATCHDOG is not set
#
# wget Example
#
# CONFIG_EXAMPLES_WGET is not set
#
# WLAN Example
#
# CONFIG_EXAMPLES_WLAN is not set
#
# XML RPC Example
#
#
# Interpreters
#
@ -850,76 +705,24 @@ CONFIG_NAMEDAPP=y
#
# Networking Utilities
#
#
# DHCP client
#
# CONFIG_NETUTILS_CODECS is not set
# CONFIG_NETUTILS_DHCPC is not set
#
# DHCP server
#
# CONFIG_NETUTILS_DHCPD is not set
#
# FTP client
#
# CONFIG_NETUTILS_FTPC is not set
#
# FTP server
#
# CONFIG_NETUTILS_FTPD is not set
#
# Name resolution
#
# CONFIG_NETUTILS_JSON is not set
CONFIG_NETUTILS_RESOLV=y
CONFIG_NET_RESOLV_ENTRIES=4
#
# SMTP
#
CONFIG_NET_RESOLV_MAXRESPONSE=96
# CONFIG_NETUTILS_SMTP is not set
#
# TFTP client
#
CONFIG_NETUTILS_TELNETD=y
#
# TFTP client
#
CONFIG_NETUTILS_TFTPC=y
#
# THTTPD web server
#
# CONFIG_NETUTILS_THTTPD is not set
#
# uIP support library
#
CONFIG_NETUTILS_UIPLIB=y
#
# uIP web client
#
CONFIG_NETUTILS_WEBCLIENT=y
#
# uIP web server
#
CONFIG_NSH_WGET_USERAGENT="NuttX/6.xx.x (; http://www.nuttx.org/)"
# CONFIG_NETUTILS_WEBSERVER is not set
#
# UDP Discovery Utility
#
# CONFIG_NETUTILS_DISCOVER is not set
#
# XML-RPC library
#
# CONFIG_NETUTILS_XMLRPC is not set
#
@ -950,6 +753,7 @@ CONFIG_NSH_LIBRARY=y
# CONFIG_NSH_DISABLE_FREE is not set
# CONFIG_NSH_DISABLE_GET is not set
# CONFIG_NSH_DISABLE_HELP is not set
# CONFIG_NSH_DISABLE_HEXDUMP is not set
# CONFIG_NSH_DISABLE_IFCONFIG is not set
# CONFIG_NSH_DISABLE_KILL is not set
# CONFIG_NSH_DISABLE_LOSETUP is not set
@ -978,6 +782,7 @@ CONFIG_NSH_LIBRARY=y
# CONFIG_NSH_DISABLE_USLEEP is not set
# CONFIG_NSH_DISABLE_WGET is not set
# CONFIG_NSH_DISABLE_XD is not set
CONFIG_NSH_CODECS_BUFSIZE=128
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_LINELEN=64
CONFIG_NSH_NESTDEPTH=3
@ -993,10 +798,12 @@ CONFIG_NSH_TELNETD_DAEMONSTACKSIZE=1596
CONFIG_NSH_TELNETD_CLIENTPRIO=100
CONFIG_NSH_TELNETD_CLIENTSTACKSIZE=1596
CONFIG_NSH_IOBUFFER_SIZE=512
# CONFIG_NSH_TELNET_LOGIN is not set
CONFIG_NSH_IPADDR=0x0a000002
CONFIG_NSH_DRIPADDR=0x0a000001
CONFIG_NSH_NETMASK=0xffffff00
CONFIG_NSH_NOMAC=y
CONFIG_NSH_MAX_ROUNDTRIP=20
#
# NxWidgets/NxWM
@ -1006,6 +813,7 @@ CONFIG_NXWIDGETS=y
#
# NX Server/Device Configuration
#
CONFIG_NXWIDGETS_FLICKERFREE=y
CONFIG_NXWIDGETS_DEVNO=0
CONFIG_NXWIDGETS_VPLANE=0
CONFIG_NXWIDGETS_SERVERPRIO=51
@ -1025,19 +833,13 @@ CONFIG_NXWIDGETS_SIZEOFCHAR=1
#
# NXWidget Default Values
#
CONFIG_NXWIDGETS_DEFAULT_FONTID=
# CONFIG_NXWIDGETS_SYSTEM_CUSTOM_FONTID is not set
CONFIG_NXWIDGETS_TNXARRAY_INITIALSIZE=16
CONFIG_NXWIDGETS_TNXARRAY_SIZEINCREMENT=8
CONFIG_NXWIDGETS_DEFAULT_BACKGROUNDCOLOR=
CONFIG_NXWIDGETS_DEFAULT_SELECTEDBACKGROUNDCOLOR=
CONFIG_NXWIDGETS_DEFAULT_SHINEEDGECOLOR=
CONFIG_NXWIDGETS_DEFAULT_SHADOWEDGECOLOR=
CONFIG_NXWIDGETS_DEFAULT_HIGHLIGHTCOLOR=
CONFIG_NXWIDGETS_DEFAULT_DISABLEDTEXTCOLOR=
CONFIG_NXWIDGETS_DEFAULT_ENABLEDTEXTCOLOR=
CONFIG_NXWIDGETS_DEFAULT_SELECTEDTEXTCOLOR=
CONFIG_NXWIDGETS_DEFAULT_FONTCOLOR=
CONFIG_NXWIDGETS_TRANSPARENT_COLOR=
# CONFIG_NXWIDGETS_CUSTOM_FILLCOLORS is not set
# CONFIG_NXWIDGETS_CUSTOM_EDGECOLORS is not set
# CONFIG_NXWIDGETS_CUSTOM_TEXTCOLORS is not set
CONFIG_NXWIDGETS_TRANSPARENT_COLOR=0x0
#
# Keypad behavior
@ -1053,18 +855,15 @@ CONFIG_NXWM=y
#
# General settings
#
CONFIG_NXWM_DEFAULT_FONTID=
# CONFIG_NXWM_SYSTEM_CUSTOM_FONTID is not set
CONFIG_NXWM_UNITTEST=y
#
# Color configuration
#
CONFIG_NXWM_DEFAULT_BACKGROUNDCOLOR=
CONFIG_NXWM_DEFAULT_SELECTEDBACKGROUNDCOLOR=
CONFIG_NXWM_DEFAULT_SHINEEDGECOLOR=
CONFIG_NXWM_DEFAULT_SHADOWEDGECOLOR=
CONFIG_NXWM_DEFAULT_FONTCOLOR=
CONFIG_NXWM_TRANSPARENT_COLOR=
# CONFIG_NXWM_CUSTOM_FILLCOLORS is not set
# CONFIG_NXWM_CUSTOM_EDGECOLORS is not set
# CONFIG_NXWM_CUSTOM_TEXTCOLORS is not set
#
# Horizontal and vertical spacing of icons in the task bar
@ -1075,16 +874,18 @@ CONFIG_NXWM_TASKBAR_HSPACING=2
# CONFIG_NXWM_TASKBAR_BOTTOM is not set
CONFIG_NXWM_TASKBAR_LEFT=y
# CONFIG_NXWM_TASKBAR_RIGHT is not set
CONFIG_NXWM_TASKBAR_WIDTH=
# CONFIG_NXWM_CUSTOM_TASKBAR_WIDTH is not set
# CONFIG_NXWM_DISABLE_MINIMIZE is not set
#
# Tool Bar Configuration
#
CONFIG_NXWM_TOOLBAR_HEIGHT=
# CONFIG_NXWM_CUSTOM_TOOLBAR_HEIGHT is not set
#
# Background Image
#
# CONFIG_NXWM_DISABLE_BACKGROUND_IMAGE is not set
CONFIG_NXWM_BACKGROUND_IMAGE=""
#
@ -1096,7 +897,7 @@ CONFIG_NXWM_BACKGROUND_IMAGE=""
#
CONFIG_NXWM_STARTWINDOW_VSPACING=4
CONFIG_NXWM_STARTWINDOW_HSPACING=4
CONFIG_NXWM_STARTWINDOW_ICON=""
# CONFIG_NXWM_CUSTOM_STARTWINDOW_ICON is not set
CONFIG_NXWM_STARTWINDOW_MQNAME="/dev/nxwm"
CONFIG_NXWM_STARTWINDOW_MXMSGS=32
CONFIG_NXWM_STARTWINDOW_MXMPRIO=42
@ -1108,10 +909,9 @@ CONFIG_NXWM_STARTWINDOW_STACKSIZE=1596
#
CONFIG_NXWM_NXCONSOLE_PRIO=50
CONFIG_NXWM_NXCONSOLE_STACKSIZE=1596
CONFIG_NXWM_NXCONSOLE_WCOLOR=
CONFIG_NXWM_NXCONSOLE_FONTCOLOR=
CONFIG_NXWM_NXCONSOLE_FONTID=
CONFIG_NXWM_NXCONSOLE_ICON=""
# CONFIG_NXWM_NXCONSOLE_CUSTOM_COLORS is not set
# CONFIG_NXWM_NXCONSOLE_CUSTOM_FONTID is not set
# CONFIG_NXWM_CUSTOM_NXCONSOLE_ICON is not set
CONFIG_NXWM_TOUCHSCREEN=y
#
@ -1136,20 +936,18 @@ CONFIG_NXWM_KEYBOARD_LISTENERSTACK=1024
#
# Calibration display settings
#
CONFIG_NXWM_CALIBRATION_BACKGROUNDCOLOR=
CONFIG_NXWM_CALIBRATION_LINECOLOR=
CONFIG_NXWM_CALIBRATION_CIRCLECOLOR=
CONFIG_NXWM_CALIBRATION_TOUCHEDCOLOR=
CONFIG_NXWM_CALIBRATION_ICON=""
# CONFIG_NXWM_CALIBRATION_CUSTOM_COLORS is not set
# CONFIG_NXWM_CUSTOM_CALIBRATION_ICON is not set
CONFIG_NXWM_CALIBRATION_SIGNO=5
CONFIG_NXWM_CALIBRATION_LISTENERPRIO=50
CONFIG_NXWM_CALIBRATION_LISTENERSTACK=1024
#
# Calibration display settings
# Hex Calculator display settings
#
CONFIG_NXWM_HEXCALCULATOR_BACKGROUNDCOLOR=
CONFIG_NXWM_HEXCALCULATOR_ICON=""
# CONFIG_NXWM_HEXCALCULATOR_CUSTOM_COLORS is not set
# CONFIG_NXWM_CUSTOM_HEXCALCULATOR_ICON is not set
CONFIG_NXWM_HEXCALCULATOR_CUSTOM_FONTID=y
CONFIG_NXWM_HEXCALCULATOR_FONTID=5
#

View File

@ -1077,6 +1077,21 @@ Where <subdir> is one of the following:
$ cd ~/nuttx-code/nuttx
$ make
NOTES:
1. This configuration uses the mconf-based configuration tool. To
change this configuration using that tool, you should:
a. Build and install the mconf tool. See nuttx/README.txt and
misc/tools/
b. Execute 'make menuconfig' in nuttx/ in order to start the
reconfiguration process.
2. This configuration is currently set up to build under Cygwin on
a Windows machine using the CodeSourcery Windows toolchain.
That configuration can be easy changed as described in Note 1.
ostest:
------
This configuration directory, performs a simple OS test using

View File

@ -1,53 +0,0 @@
############################################################################
# configs/stm3220g-eval/nxwm/appconfig
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
#
# 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.
#
############################################################################
# The NSH Library -- NOTE: The NxWM unit test must be installed at
# apps/external in order to build this example. See
# NxWidgets/UnitTests/README.txt for additional information
CONFIGURED_APPS += system/readline
CONFIGURED_APPS += nshlib
# Networking libraries.
ifeq ($(CONFIG_NET),y)
CONFIGURED_APPS += netutils/uiplib
CONFIGURED_APPS += netutils/resolv
CONFIGURED_APPS += netutils/webclient
CONFIGURED_APPS += netutils/tftpc
ifeq ($(CONFIG_NSH_TELNET),y)
CONFIGURED_APPS += netutils/telnetd
endif
endif

File diff suppressed because it is too large Load Diff

View File

@ -67,7 +67,7 @@ export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++
# This is the Cygwin path to the location where I build the buildroot
# toolchain.
export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"
#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"
# Add the path to the toolchain to the PATH variable
export PATH="${TOOLCHAIN_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"

View File

@ -123,6 +123,25 @@ config STMPE811_I2C
endchoice
config STMPE811_ACTIVELOW
bool "Active Low Interrupt"
default n
---help---
The STMPE811 interrupt is provided by a discrete input (usually a
GPIO interrupt on most MCU architectures). This setting determines
whether the interrupt is active high (or rising edge triggered) or
active low (or falling edge triggered). Default: Active
high/rising edge.
config STMPE811_EDGE
bool "Edge triggered Interrupt"
default n
---help---
The STMPE811 interrupt is provided by a discrete input (usually a
GPIO interrupt on most MCU architectures). This setting determines
whether the interrupt is edge or level triggered. Default: Level
triggered.
config STMPE811_MULTIPLE
bool "Multiple STMPE811 Devices"
default n

View File

@ -124,6 +124,9 @@ gen32bppsources:
$(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_BITSPERPIXEL=32 EXTRADEFINES=$(EXTRADEFINES)
genfontsources:
ifeq ($(CONFIG_NXFONT_MONO5X8),y)
@$(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=18 EXTRADEFINES=$(EXTRADEFINES)
endif
ifeq ($(CONFIG_NXFONT_SANS23X27),y)
$(Q) $(MAKE) -C nxfonts -f Makefile.sources TOPDIR=$(TOPDIR) NXFONTS_FONTID=1 EXTRADEFINES=$(EXTRADEFINES)
endif

View File

@ -42,6 +42,12 @@ NXFCONV_CSRCS = nxfonts_convert_1bpp.c nxfonts_convert_2bpp.c \
NXFSET_ASRCS =
NXFSET_CSRCS =
# Monospace fonts
ifeq ($(CONFIG_NXFONT_MONO5X8),y)
NXFSET_CSRCS += nxfonts_bitmaps_mono5x8.c
endif
# Sans serif fonts
ifeq ($(CONFIG_NXFONT_SANS17X22),y)

View File

@ -72,6 +72,13 @@ endif
ifdef NXFONTS_FONTID
# MONO
ifeq ($(NXFONTS_FONTID),18)
NXFONTS_PREFIX := g_mono5x8_
GEN_CSRC = nxfonts_bitmaps_mono5x8.c
endif
# SANS
ifeq ($(NXFONTS_FONTID),14)

View File

@ -80,6 +80,8 @@
# include "nxfonts_sans17x23b.h"
#elif NXFONTS_FONTID == 17
# include "nxfonts_sans20x27b.h"
#elif NXFONTS_FONTID == 18
# include "nxfonts_mono5x8.h"
#else
# error "No font ID specified"
#endif

View File

@ -60,6 +60,12 @@
* Private Data
****************************************************************************/
/* MONO */
#ifdef CONFIG_NXFONT_MONO5X8
extern const struct nx_fontpackage_s g_mono5x8_package;
#endif
/* SANS */
#ifdef CONFIG_NXFONT_SANS17X22
@ -139,6 +145,12 @@ extern const struct nx_fontpackage_s g_serif38x49b_package;
static FAR const struct nx_fontpackage_s *g_fontpackages[] =
{
/* MONO */
#ifdef CONFIG_NXFONT_MONO5X8
&g_mono5x8_package,
#endif
/* SANS */
#ifdef CONFIG_NXFONT_SANS17X22

View File

@ -0,0 +1,815 @@
/****************************************************************************
* graphics/nxfonts/nxfonts_mono5x8.h
*
* Copyright (C) 2011-2012 NX Engineering, S.A., All rights reserved.
* Author: Petteri Aimonen <jpa@nx.mail.kapsi.fi>
*
* Based on 5x8.pcf.gz from xfonts-base. The file is marked as
* COPYRIGHT "Public domain font. Share and enjoy."
*
* 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 __GRAPHICS_NXFONTS_NXFONTS_MONO5X8_H
#define __GRAPHICS_NXFONTS_NXFONTS_MONO5X8_H
#define NXFONT_ID FONTID_MONO5X8
#define NXFONT_MIN7BIT 33
#define NXFONT_MAX7BIT 126
#define NXFONT_MIN8BIT 161
#define NXFONT_MAX8BIT 255
/* Maximum height and width of any glyph in the set */
#define NXFONT_MAXHEIGHT 8
#define NXFONT_MAXWIDTH 5
/* The width of a space */
#define NXFONT_SPACEWIDTH 5
/* exclam (33) */
#define NXFONT_METRICS_33 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_33 {0x0, 0x20, 0x20, 0x20, 0x20, 0x0, 0x20, 0x0}
/* quotedbl (34) */
#define NXFONT_METRICS_34 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_34 {0x0, 0x50, 0x50, 0x50, 0x0, 0x0, 0x0, 0x0}
/* numbersign (35) */
#define NXFONT_METRICS_35 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_35 {0x50, 0x50, 0xf8, 0x50, 0xf8, 0x50, 0x50, 0x0}
/* dollar (36) */
#define NXFONT_METRICS_36 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_36 {0x20, 0x70, 0xa0, 0x70, 0x28, 0x70, 0x20, 0x0}
/* percent (37) */
#define NXFONT_METRICS_37 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_37 {0x0, 0x40, 0x50, 0x20, 0x50, 0x10, 0x0, 0x0}
/* ampersand (38) */
#define NXFONT_METRICS_38 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_38 {0x40, 0xa0, 0xa0, 0x40, 0xa0, 0xa0, 0x50, 0x0}
/* quotesingle (39) */
#define NXFONT_METRICS_39 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_39 {0x0, 0x20, 0x20, 0x20, 0x0, 0x0, 0x0, 0x0}
/* parenleft (40) */
#define NXFONT_METRICS_40 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_40 {0x0, 0x20, 0x40, 0x40, 0x40, 0x40, 0x20, 0x0}
/* parenright (41) */
#define NXFONT_METRICS_41 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_41 {0x0, 0x40, 0x20, 0x20, 0x20, 0x20, 0x40, 0x0}
/* asterisk (42) */
#define NXFONT_METRICS_42 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_42 {0x0, 0x0, 0x90, 0x60, 0xf0, 0x60, 0x90, 0x0}
/* plus (43) */
#define NXFONT_METRICS_43 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_43 {0x0, 0x0, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x0}
/* comma (44) */
#define NXFONT_METRICS_44 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_44 {0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x20, 0x40}
/* hyphen (45) */
#define NXFONT_METRICS_45 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_45 {0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0}
/* period (46) */
#define NXFONT_METRICS_46 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_46 {0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x70, 0x20}
/* slash (47) */
#define NXFONT_METRICS_47 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_47 {0x0, 0x10, 0x10, 0x20, 0x40, 0x80, 0x80, 0x0}
/* zero (48) */
#define NXFONT_METRICS_48 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_48 {0x0, 0x20, 0x50, 0x50, 0x50, 0x50, 0x20, 0x0}
/* one (49) */
#define NXFONT_METRICS_49 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_49 {0x0, 0x20, 0x60, 0x20, 0x20, 0x20, 0x70, 0x0}
/* two (50) */
#define NXFONT_METRICS_50 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_50 {0x0, 0x60, 0x90, 0x10, 0x60, 0x80, 0xf0, 0x0}
/* three (51) */
#define NXFONT_METRICS_51 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_51 {0x0, 0xf0, 0x20, 0x60, 0x10, 0x90, 0x60, 0x0}
/* four (52) */
#define NXFONT_METRICS_52 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_52 {0x0, 0x20, 0x60, 0xa0, 0xf0, 0x20, 0x20, 0x0}
/* five (53) */
#define NXFONT_METRICS_53 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_53 {0x0, 0xf0, 0x80, 0xe0, 0x10, 0x90, 0x60, 0x0}
/* six (54) */
#define NXFONT_METRICS_54 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_54 {0x0, 0x60, 0x80, 0xe0, 0x90, 0x90, 0x60, 0x0}
/* seven (55) */
#define NXFONT_METRICS_55 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_55 {0x0, 0xf0, 0x10, 0x20, 0x20, 0x40, 0x40, 0x0}
/* eight (56) */
#define NXFONT_METRICS_56 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_56 {0x0, 0x60, 0x90, 0x60, 0x90, 0x90, 0x60, 0x0}
/* nine (57) */
#define NXFONT_METRICS_57 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_57 {0x0, 0x60, 0x90, 0x90, 0x70, 0x10, 0x60, 0x0}
/* colon (58) */
#define NXFONT_METRICS_58 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_58 {0x0, 0x0, 0x60, 0x60, 0x0, 0x60, 0x60, 0x0}
/* semicolon (59) */
#define NXFONT_METRICS_59 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_59 {0x0, 0x0, 0x30, 0x30, 0x0, 0x30, 0x20, 0x40}
/* less (60) */
#define NXFONT_METRICS_60 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_60 {0x0, 0x10, 0x20, 0x40, 0x40, 0x20, 0x10, 0x0}
/* equal (61) */
#define NXFONT_METRICS_61 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_61 {0x0, 0x0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0x0}
/* greater (62) */
#define NXFONT_METRICS_62 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_62 {0x0, 0x40, 0x20, 0x10, 0x10, 0x20, 0x40, 0x0}
/* question (63) */
#define NXFONT_METRICS_63 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_63 {0x0, 0x20, 0x50, 0x10, 0x20, 0x0, 0x20, 0x0}
/* at (64) */
#define NXFONT_METRICS_64 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_64 {0x30, 0x48, 0x98, 0xa8, 0xa8, 0x90, 0x40, 0x30}
/* A (65) */
#define NXFONT_METRICS_65 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_65 {0x0, 0x60, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x0}
/* B (66) */
#define NXFONT_METRICS_66 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_66 {0x0, 0xe0, 0x90, 0xe0, 0x90, 0x90, 0xe0, 0x0}
/* C (67) */
#define NXFONT_METRICS_67 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_67 {0x0, 0x60, 0x90, 0x80, 0x80, 0x90, 0x60, 0x0}
/* D (68) */
#define NXFONT_METRICS_68 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_68 {0x0, 0xe0, 0x90, 0x90, 0x90, 0x90, 0xe0, 0x0}
/* E (69) */
#define NXFONT_METRICS_69 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_69 {0x0, 0xf0, 0x80, 0xe0, 0x80, 0x80, 0xf0, 0x0}
/* F (70) */
#define NXFONT_METRICS_70 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_70 {0x0, 0xf0, 0x80, 0xe0, 0x80, 0x80, 0x80, 0x0}
/* G (71) */
#define NXFONT_METRICS_71 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_71 {0x0, 0x60, 0x90, 0x80, 0xb0, 0x90, 0x60, 0x0}
/* H (72) */
#define NXFONT_METRICS_72 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_72 {0x0, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x90, 0x0}
/* I (73) */
#define NXFONT_METRICS_73 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_73 {0x0, 0x70, 0x20, 0x20, 0x20, 0x20, 0x70, 0x0}
/* J (74) */
#define NXFONT_METRICS_74 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_74 {0x0, 0x70, 0x20, 0x20, 0x20, 0xa0, 0x40, 0x0}
/* K (75) */
#define NXFONT_METRICS_75 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_75 {0x0, 0x90, 0xa0, 0xc0, 0xa0, 0xa0, 0x90, 0x0}
/* L (76) */
#define NXFONT_METRICS_76 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_76 {0x0, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf0, 0x0}
/* M (77) */
#define NXFONT_METRICS_77 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_77 {0x0, 0x90, 0xf0, 0xf0, 0x90, 0x90, 0x90, 0x0}
/* N (78) */
#define NXFONT_METRICS_78 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_78 {0x0, 0x90, 0xd0, 0xf0, 0xb0, 0xb0, 0x90, 0x0}
/* O (79) */
#define NXFONT_METRICS_79 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_79 {0x0, 0x60, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0}
/* P (80) */
#define NXFONT_METRICS_80 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_80 {0x0, 0xe0, 0x90, 0x90, 0xe0, 0x80, 0x80, 0x0}
/* Q (81) */
#define NXFONT_METRICS_81 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_81 {0x0, 0x60, 0x90, 0x90, 0xd0, 0xb0, 0x60, 0x10}
/* R (82) */
#define NXFONT_METRICS_82 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_82 {0x0, 0xe0, 0x90, 0x90, 0xe0, 0x90, 0x90, 0x0}
/* S (83) */
#define NXFONT_METRICS_83 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_83 {0x0, 0x60, 0x90, 0x40, 0x20, 0x90, 0x60, 0x0}
/* T (84) */
#define NXFONT_METRICS_84 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_84 {0x0, 0x70, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0}
/* U (85) */
#define NXFONT_METRICS_85 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_85 {0x0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0}
/* V (86) */
#define NXFONT_METRICS_86 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_86 {0x0, 0x90, 0x90, 0x90, 0x90, 0x60, 0x60, 0x0}
/* W (87) */
#define NXFONT_METRICS_87 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_87 {0x0, 0x90, 0x90, 0x90, 0xf0, 0xf0, 0x90, 0x0}
/* X (88) */
#define NXFONT_METRICS_88 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_88 {0x0, 0x90, 0x90, 0x60, 0x60, 0x90, 0x90, 0x0}
/* Y (89) */
#define NXFONT_METRICS_89 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_89 {0x0, 0x88, 0x88, 0x50, 0x20, 0x20, 0x20, 0x0}
/* Z (90) */
#define NXFONT_METRICS_90 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_90 {0x0, 0xf0, 0x10, 0x20, 0x40, 0x80, 0xf0, 0x0}
/* bracketleft (91) */
#define NXFONT_METRICS_91 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_91 {0x0, 0x70, 0x40, 0x40, 0x40, 0x40, 0x70, 0x0}
/* backslash (92) */
#define NXFONT_METRICS_92 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_92 {0x0, 0x80, 0x80, 0x40, 0x20, 0x10, 0x10, 0x0}
/* bracketright (93) */
#define NXFONT_METRICS_93 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_93 {0x0, 0x70, 0x10, 0x10, 0x10, 0x10, 0x70, 0x0}
/* asciicircum (94) */
#define NXFONT_METRICS_94 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_94 {0x0, 0x20, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0}
/* underscore (95) */
#define NXFONT_METRICS_95 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_95 {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0}
/* grave (96) */
#define NXFONT_METRICS_96 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_96 {0x0, 0x40, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0}
/* a (97) */
#define NXFONT_METRICS_97 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_97 {0x0, 0x0, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0}
/* b (98) */
#define NXFONT_METRICS_98 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_98 {0x0, 0x80, 0x80, 0xe0, 0x90, 0x90, 0xe0, 0x0}
/* c (99) */
#define NXFONT_METRICS_99 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_99 {0x0, 0x0, 0x0, 0x30, 0x40, 0x40, 0x30, 0x0}
/* d (100) */
#define NXFONT_METRICS_100 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_100 {0x0, 0x10, 0x10, 0x70, 0x90, 0x90, 0x70, 0x0}
/* e (101) */
#define NXFONT_METRICS_101 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_101 {0x0, 0x0, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0}
/* f (102) */
#define NXFONT_METRICS_102 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_102 {0x0, 0x20, 0x50, 0x40, 0xe0, 0x40, 0x40, 0x0}
/* g (103) */
#define NXFONT_METRICS_103 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_103 {0x0, 0x0, 0x0, 0x60, 0x90, 0x70, 0x10, 0x60}
/* h (104) */
#define NXFONT_METRICS_104 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_104 {0x0, 0x80, 0x80, 0xe0, 0x90, 0x90, 0x90, 0x0}
/* i (105) */
#define NXFONT_METRICS_105 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_105 {0x0, 0x20, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0}
/* j (106) */
#define NXFONT_METRICS_106 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_106 {0x0, 0x10, 0x0, 0x10, 0x10, 0x10, 0x50, 0x20}
/* k (107) */
#define NXFONT_METRICS_107 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_107 {0x0, 0x80, 0x80, 0x90, 0xe0, 0x90, 0x90, 0x0}
/* l (108) */
#define NXFONT_METRICS_108 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_108 {0x0, 0x60, 0x20, 0x20, 0x20, 0x20, 0x70, 0x0}
/* m (109) */
#define NXFONT_METRICS_109 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_109 {0x0, 0x0, 0x0, 0xd0, 0xa8, 0xa8, 0xa8, 0x0}
/* n (110) */
#define NXFONT_METRICS_110 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_110 {0x0, 0x0, 0x0, 0xe0, 0x90, 0x90, 0x90, 0x0}
/* o (111) */
#define NXFONT_METRICS_111 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_111 {0x0, 0x0, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0}
/* p (112) */
#define NXFONT_METRICS_112 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_112 {0x0, 0x0, 0x0, 0xe0, 0x90, 0xe0, 0x80, 0x80}
/* q (113) */
#define NXFONT_METRICS_113 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_113 {0x0, 0x0, 0x0, 0x70, 0x90, 0x70, 0x10, 0x10}
/* r (114) */
#define NXFONT_METRICS_114 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_114 {0x0, 0x0, 0x0, 0xa0, 0xd0, 0x80, 0x80, 0x0}
/* s (115) */
#define NXFONT_METRICS_115 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_115 {0x0, 0x0, 0x0, 0x30, 0x60, 0x10, 0x60, 0x0}
/* t (116) */
#define NXFONT_METRICS_116 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_116 {0x0, 0x40, 0x40, 0xe0, 0x40, 0x50, 0x20, 0x0}
/* u (117) */
#define NXFONT_METRICS_117 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_117 {0x0, 0x0, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0}
/* v (118) */
#define NXFONT_METRICS_118 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_118 {0x0, 0x0, 0x0, 0x50, 0x50, 0x50, 0x20, 0x0}
/* w (119) */
#define NXFONT_METRICS_119 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_119 {0x0, 0x0, 0x0, 0x88, 0xa8, 0xa8, 0x50, 0x0}
/* x (120) */
#define NXFONT_METRICS_120 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_120 {0x0, 0x0, 0x0, 0x90, 0x60, 0x60, 0x90, 0x0}
/* y (121) */
#define NXFONT_METRICS_121 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_121 {0x0, 0x0, 0x0, 0x90, 0x90, 0x70, 0x90, 0x60}
/* z (122) */
#define NXFONT_METRICS_122 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_122 {0x0, 0x0, 0x0, 0xf0, 0x20, 0x40, 0xf0, 0x0}
/* braceleft (123) */
#define NXFONT_METRICS_123 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_123 {0x30, 0x40, 0x20, 0xc0, 0x20, 0x40, 0x30, 0x0}
/* bar (124) */
#define NXFONT_METRICS_124 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_124 {0x0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x0}
/* braceright (125) */
#define NXFONT_METRICS_125 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_125 {0xc0, 0x20, 0x40, 0x30, 0x40, 0x20, 0xc0, 0x0}
/* asciitilde (126) */
#define NXFONT_METRICS_126 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_126 {0x0, 0x50, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0}
/* exclamdown (161) */
#define NXFONT_METRICS_161 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_161 {0x0, 0x20, 0x0, 0x20, 0x20, 0x20, 0x20, 0x0}
/* cent (162) */
#define NXFONT_METRICS_162 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_162 {0x0, 0x0, 0x20, 0x70, 0xa0, 0xa0, 0x70, 0x20}
/* sterling (163) */
#define NXFONT_METRICS_163 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_163 {0x0, 0x20, 0x50, 0xe0, 0x40, 0x50, 0xa0, 0x0}
/* currency (164) */
#define NXFONT_METRICS_164 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_164 {0x0, 0x0, 0x88, 0x70, 0x50, 0x70, 0x88, 0x0}
/* yen (165) */
#define NXFONT_METRICS_165 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_165 {0x0, 0x88, 0x50, 0xf8, 0x20, 0xf8, 0x20, 0x0}
/* brokenbar (166) */
#define NXFONT_METRICS_166 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_166 {0x20, 0x20, 0x20, 0x0, 0x20, 0x20, 0x20, 0x0}
/* section (167) */
#define NXFONT_METRICS_167 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_167 {0x70, 0x80, 0xe0, 0x90, 0x70, 0x10, 0xe0, 0x0}
/* dieresis (168) */
#define NXFONT_METRICS_168 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_168 {0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
/* copyright (169) */
#define NXFONT_METRICS_169 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_169 {0x0, 0x70, 0xa8, 0xc8, 0xc8, 0xa8, 0x70, 0x0}
/* ordfeminine (170) */
#define NXFONT_METRICS_170 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_170 {0x30, 0x50, 0x30, 0x0, 0x70, 0x0, 0x0, 0x0}
/* guillemotleft (171) */
#define NXFONT_METRICS_171 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_171 {0x0, 0x0, 0x0, 0x50, 0xa0, 0x50, 0x0, 0x0}
/* logicalnot (172) */
#define NXFONT_METRICS_172 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_172 {0x0, 0x0, 0x0, 0x0, 0x70, 0x10, 0x10, 0x0}
/* hyphen (173) */
#define NXFONT_METRICS_173 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_173 {0x0, 0x0, 0x0, 0x0, 0x70, 0x0, 0x0, 0x0}
/* registered (174) */
#define NXFONT_METRICS_174 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_174 {0x0, 0x70, 0xe8, 0xd8, 0xe8, 0xd8, 0x70, 0x0}
/* macron (175) */
#define NXFONT_METRICS_175 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_175 {0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
/* degree (176) */
#define NXFONT_METRICS_176 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_176 {0x0, 0x20, 0x50, 0x20, 0x0, 0x0, 0x0, 0x0}
/* plusminus (177) */
#define NXFONT_METRICS_177 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_177 {0x0, 0x0, 0x20, 0x70, 0x20, 0x0, 0x70, 0x0}
/* twosuperior (178) */
#define NXFONT_METRICS_178 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_178 {0x20, 0x50, 0x10, 0x20, 0x70, 0x0, 0x0, 0x0}
/* threesuperior (179) */
#define NXFONT_METRICS_179 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_179 {0x60, 0x10, 0x60, 0x10, 0x60, 0x0, 0x0, 0x0}
/* acute (180) */
#define NXFONT_METRICS_180 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_180 {0x0, 0x20, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0}
/* mu (181) */
#define NXFONT_METRICS_181 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_181 {0x0, 0x0, 0x0, 0x90, 0x90, 0x90, 0xe0, 0x80}
/* paragraph (182) */
#define NXFONT_METRICS_182 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_182 {0x0, 0x78, 0xe8, 0xe8, 0x68, 0x28, 0x28, 0x0}
/* periodcentered (183) */
#define NXFONT_METRICS_183 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_183 {0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0}
/* cedilla (184) */
#define NXFONT_METRICS_184 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_184 {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x40}
/* onesuperior (185) */
#define NXFONT_METRICS_185 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_185 {0x20, 0x60, 0x20, 0x20, 0x70, 0x0, 0x0, 0x0}
/* ordmasculine (186) */
#define NXFONT_METRICS_186 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_186 {0x20, 0x50, 0x20, 0x0, 0x70, 0x0, 0x0, 0x0}
/* guillemotright (187) */
#define NXFONT_METRICS_187 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_187 {0x0, 0x0, 0x0, 0xa0, 0x50, 0xa0, 0x0, 0x0}
/* onequarter (188) */
#define NXFONT_METRICS_188 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_188 {0x80, 0x80, 0x80, 0xa0, 0x60, 0xf0, 0x20, 0x0}
/* onehalf (189) */
#define NXFONT_METRICS_189 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_189 {0x80, 0x80, 0xa0, 0xd0, 0x10, 0x20, 0x70, 0x0}
/* threequarters (190) */
#define NXFONT_METRICS_190 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_190 {0x80, 0x40, 0x80, 0x60, 0xa0, 0xf0, 0x20, 0x0}
/* questiondown (191) */
#define NXFONT_METRICS_191 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_191 {0x0, 0x20, 0x0, 0x20, 0x40, 0x50, 0x20, 0x0}
/* Agrave (192) */
#define NXFONT_METRICS_192 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_192 {0x40, 0x20, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0}
/* Aacute (193) */
#define NXFONT_METRICS_193 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_193 {0x20, 0x40, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0}
/* Acircumflex (194) */
#define NXFONT_METRICS_194 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_194 {0x60, 0x90, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0}
/* Atilde (195) */
#define NXFONT_METRICS_195 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_195 {0x50, 0xa0, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0}
/* Adieresis (196) */
#define NXFONT_METRICS_196 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_196 {0x90, 0x0, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0}
/* Aring (197) */
#define NXFONT_METRICS_197 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_197 {0x60, 0x90, 0x60, 0x90, 0xf0, 0x90, 0x90, 0x0}
/* AE (198) */
#define NXFONT_METRICS_198 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_198 {0x0, 0x70, 0xa0, 0xa0, 0xf0, 0xa0, 0xb0, 0x0}
/* Ccedilla (199) */
#define NXFONT_METRICS_199 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_199 {0x0, 0x60, 0x90, 0x80, 0x80, 0x90, 0x60, 0x40}
/* Egrave (200) */
#define NXFONT_METRICS_200 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_200 {0x40, 0x20, 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x0}
/* Eacute (201) */
#define NXFONT_METRICS_201 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_201 {0x20, 0x40, 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x0}
/* Ecircumflex (202) */
#define NXFONT_METRICS_202 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_202 {0x60, 0x90, 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x0}
/* Edieresis (203) */
#define NXFONT_METRICS_203 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_203 {0x90, 0x0, 0xf0, 0x80, 0xe0, 0x80, 0xf0, 0x0}
/* Igrave (204) */
#define NXFONT_METRICS_204 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_204 {0x40, 0x20, 0x70, 0x20, 0x20, 0x20, 0x70, 0x0}
/* Iacute (205) */
#define NXFONT_METRICS_205 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_205 {0x10, 0x20, 0x70, 0x20, 0x20, 0x20, 0x70, 0x0}
/* Icircumflex (206) */
#define NXFONT_METRICS_206 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_206 {0x20, 0x50, 0x70, 0x20, 0x20, 0x20, 0x70, 0x0}
/* Idieresis (207) */
#define NXFONT_METRICS_207 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_207 {0x50, 0x0, 0x70, 0x20, 0x20, 0x20, 0x70, 0x0}
/* Eth (208) */
#define NXFONT_METRICS_208 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_208 {0x0, 0x70, 0x48, 0xe8, 0x48, 0x48, 0x70, 0x0}
/* Ntilde (209) */
#define NXFONT_METRICS_209 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_209 {0x50, 0xa0, 0x90, 0xd0, 0xb0, 0x90, 0x90, 0x0}
/* Ograve (210) */
#define NXFONT_METRICS_210 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_210 {0x40, 0x20, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0}
/* Oacute (211) */
#define NXFONT_METRICS_211 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_211 {0x20, 0x40, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0}
/* Ocircumflex (212) */
#define NXFONT_METRICS_212 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_212 {0x60, 0x90, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0}
/* Otilde (213) */
#define NXFONT_METRICS_213 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_213 {0x50, 0xa0, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0}
/* Odieresis (214) */
#define NXFONT_METRICS_214 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_214 {0x90, 0x0, 0x60, 0x90, 0x90, 0x90, 0x60, 0x0}
/* multiply (215) */
#define NXFONT_METRICS_215 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_215 {0x0, 0x0, 0x0, 0x0, 0x50, 0x20, 0x50, 0x0}
/* Oslash (216) */
#define NXFONT_METRICS_216 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_216 {0x0, 0x70, 0xb0, 0xb0, 0xd0, 0xd0, 0xe0, 0x0}
/* Ugrave (217) */
#define NXFONT_METRICS_217 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_217 {0x40, 0x20, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0}
/* Uacute (218) */
#define NXFONT_METRICS_218 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_218 {0x20, 0x40, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0}
/* Ucircumflex (219) */
#define NXFONT_METRICS_219 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_219 {0x60, 0x90, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0}
/* Udieresis (220) */
#define NXFONT_METRICS_220 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_220 {0x90, 0x0, 0x90, 0x90, 0x90, 0x90, 0x60, 0x0}
/* Yacute (221) */
#define NXFONT_METRICS_221 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_221 {0x10, 0x20, 0x88, 0x50, 0x20, 0x20, 0x20, 0x0}
/* Thorn (222) */
#define NXFONT_METRICS_222 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_222 {0x0, 0x80, 0xe0, 0x90, 0x90, 0xe0, 0x80, 0x0}
/* germandbls (223) */
#define NXFONT_METRICS_223 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_223 {0x0, 0x60, 0x90, 0xa0, 0xa0, 0x90, 0xa0, 0x0}
/* agrave (224) */
#define NXFONT_METRICS_224 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_224 {0x40, 0x20, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0}
/* aacute (225) */
#define NXFONT_METRICS_225 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_225 {0x20, 0x40, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0}
/* acircumflex (226) */
#define NXFONT_METRICS_226 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_226 {0x20, 0x50, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0}
/* atilde (227) */
#define NXFONT_METRICS_227 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_227 {0x50, 0xa0, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0}
/* adieresis (228) */
#define NXFONT_METRICS_228 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_228 {0x0, 0x50, 0x0, 0x70, 0x90, 0x90, 0x70, 0x0}
/* aring (229) */
#define NXFONT_METRICS_229 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_229 {0x60, 0x90, 0x60, 0x70, 0x90, 0x90, 0x70, 0x0}
/* ae (230) */
#define NXFONT_METRICS_230 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_230 {0x0, 0x0, 0x0, 0xf0, 0x68, 0xb0, 0x78, 0x0}
/* ccedilla (231) */
#define NXFONT_METRICS_231 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_231 {0x0, 0x0, 0x0, 0x30, 0x40, 0x40, 0x30, 0x20}
/* egrave (232) */
#define NXFONT_METRICS_232 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_232 {0x40, 0x20, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0}
/* eacute (233) */
#define NXFONT_METRICS_233 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_233 {0x20, 0x40, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0}
/* ecircumflex (234) */
#define NXFONT_METRICS_234 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_234 {0x60, 0x90, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0}
/* edieresis (235) */
#define NXFONT_METRICS_235 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_235 {0x0, 0x50, 0x0, 0x60, 0xb0, 0xc0, 0x60, 0x0}
/* igrave (236) */
#define NXFONT_METRICS_236 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_236 {0x40, 0x20, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0}
/* iacute (237) */
#define NXFONT_METRICS_237 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_237 {0x10, 0x20, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0}
/* icircumflex (238) */
#define NXFONT_METRICS_238 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_238 {0x20, 0x50, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0}
/* idieresis (239) */
#define NXFONT_METRICS_239 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_239 {0x0, 0x50, 0x0, 0x60, 0x20, 0x20, 0x70, 0x0}
/* eth (240) */
#define NXFONT_METRICS_240 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_240 {0xa0, 0x40, 0xa0, 0x10, 0x70, 0x90, 0x60, 0x0}
/* ntilde (241) */
#define NXFONT_METRICS_241 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_241 {0x50, 0xa0, 0x0, 0xe0, 0x90, 0x90, 0x90, 0x0}
/* ograve (242) */
#define NXFONT_METRICS_242 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_242 {0x40, 0x20, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0}
/* oacute (243) */
#define NXFONT_METRICS_243 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_243 {0x20, 0x40, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0}
/* ocircumflex (244) */
#define NXFONT_METRICS_244 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_244 {0x60, 0x90, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0}
/* otilde (245) */
#define NXFONT_METRICS_245 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_245 {0x50, 0xa0, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0}
/* odieresis (246) */
#define NXFONT_METRICS_246 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_246 {0x0, 0x90, 0x0, 0x60, 0x90, 0x90, 0x60, 0x0}
/* divide (247) */
#define NXFONT_METRICS_247 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_247 {0x0, 0x0, 0x20, 0x0, 0x70, 0x0, 0x20, 0x0}
/* oslash (248) */
#define NXFONT_METRICS_248 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_248 {0x0, 0x0, 0x0, 0x70, 0xb0, 0xd0, 0xe0, 0x0}
/* ugrave (249) */
#define NXFONT_METRICS_249 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_249 {0x40, 0x20, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0}
/* uacute (250) */
#define NXFONT_METRICS_250 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_250 {0x20, 0x40, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0}
/* ucircumflex (251) */
#define NXFONT_METRICS_251 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_251 {0x60, 0x90, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0}
/* udieresis (252) */
#define NXFONT_METRICS_252 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_252 {0x0, 0x90, 0x0, 0x90, 0x90, 0x90, 0x70, 0x0}
/* yacute (253) */
#define NXFONT_METRICS_253 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_253 {0x20, 0x40, 0x0, 0x90, 0x90, 0x70, 0x90, 0x60}
/* thorn (254) */
#define NXFONT_METRICS_254 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_254 {0x0, 0x80, 0x80, 0xe0, 0x90, 0xe0, 0x80, 0x80}
/* ydieresis (255) */
#define NXFONT_METRICS_255 {1, 5, 8, 0, 0, 0}
#define NXFONT_BITMAP_255 {0x0, 0x90, 0x0, 0x90, 0x90, 0x70, 0x90, 0x60}
#endif

View File

@ -125,6 +125,12 @@ enum nx_fontid_e
{
FONTID_DEFAULT = 0 /* The default font */
/* Monospace fonts */
#ifdef CONFIG_NXFONT_MONO5X8
, FONTID_MONO5X8 = 18 /* The 5x8 monospace font */
#endif
/* Sans Serif fonts */
#ifdef CONFIG_NXFONT_SANS17X22

View File

@ -41,15 +41,15 @@
********************************************************************************/
#include <nuttx/config.h> /* Default settings */
#include <nuttx/compiler.h> /* Compiler settings */
#include <nuttx/compiler.h> /* Compiler settings, noreturn_function */
#include <sys/types.h> /* Needed for general types */
#include <stdint.h> /* C99 fixed width integer types */
#include <stdbool.h> /* C99 boolean types */
#include <unistd.h> /* For getpid */
#include <semaphore.h> /* Needed for sem_t */
#include <signal.h> /* Needed for sigset_t */
#include <time.h> /* Needed for struct timespec */
#include <nuttx/compiler.h> /* For noreturn_function */
/********************************************************************************
* Compilation Switches

View File

@ -90,8 +90,8 @@
# define bool _Bool8
#endif
#define true 1
#define false 0
#define true (bool)1
#define false (bool)0
#define __bool_true_false_are_defined 1

View File

@ -43,6 +43,7 @@
* Included Files
****************************************************************************/
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>