summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-12-04 23:32:06 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-12-04 23:32:06 +0000
commit7c99a11c0ea500f64221b3ea63eae96ff0e4a03b (patch)
treec8c84628ce005d98529f8202dbe926387ed8ff29
parent6ebc1f9f8b9ebc7f53ef00599e10be30bbb7bdc9 (diff)
downloadnuttx-7c99a11c0ea500f64221b3ea63eae96ff0e4a03b.tar.gz
nuttx-7c99a11c0ea500f64221b3ea63eae96ff0e4a03b.tar.bz2
nuttx-7c99a11c0ea500f64221b3ea63eae96ff0e4a03b.zip
Fonts are integated
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1416 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog1
-rw-r--r--nuttx/Documentation/NuttX.html3
-rw-r--r--nuttx/examples/nx/nx_events.c2
-rw-r--r--nuttx/examples/nx/nx_kbdin.c1
-rw-r--r--nuttx/graphics/nxglib/nxglib_moverectangle.c6
-rw-r--r--nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c15
-rw-r--r--nuttx/graphics/nxtk/nxtk_bitmapwindow.c17
7 files changed, 39 insertions, 6 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 77cc66237..0865b1d6e 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -596,4 +596,5 @@
run in more-or-less realtime.
* Added more more extensive window support: frames, toolbars, etc.
* Added support for bitmap fonts
+ * Integrated the new font support with a font test in examples/nx
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index 2b0a0ee33..5a824cc8d 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
- <p>Last Updated: December 3, 2008</p>
+ <p>Last Updated: December 4, 2008</p>
</td>
</tr>
</table>
@@ -1212,6 +1212,7 @@ nuttx-0.3.20 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
run in more-or-less realtime.
* Added more more extensive window support: frames, toolbars, etc.
* Added support for bitmap fonts
+ * Integrated the new font support with a font test in examples/nx
pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/nuttx/examples/nx/nx_events.c b/nuttx/examples/nx/nx_events.c
index 464c8eafd..7d5dc399c 100644
--- a/nuttx/examples/nx/nx_events.c
+++ b/nuttx/examples/nx/nx_events.c
@@ -145,10 +145,10 @@ static inline void nxeg_fillwindow(NXEGWINDOW hwnd,
{
message("nxeg_fillwindow: nxtk_fillwindow failed: %d\n", errno);
}
+#endif
#ifdef CONFIG_NX_KBD
nxeg_filltext(hwnd, rect, st);
#endif
-#endif
}
/****************************************************************************
diff --git a/nuttx/examples/nx/nx_kbdin.c b/nuttx/examples/nx/nx_kbdin.c
index 3c5b3fb33..ae89acfe8 100644
--- a/nuttx/examples/nx/nx_kbdin.c
+++ b/nuttx/examples/nx/nx_kbdin.c
@@ -316,7 +316,6 @@ void nxeg_tbkbdin(NXWINDOW hwnd, ubyte nch, const ubyte *ch, FAR void *arg)
FAR struct nxeg_state_s *st = (FAR struct nxeg_state_s *)arg;
message("nxeg_tbkbdin: ERROR -- toolbar should not received keyboard input\n");
message("nxeg_tbkbdin%d: hwnd=%p nch=%d\n", st->wnum, hwnd, nch);
- nxeg_kbdinfo(nch, ch);
}
#endif
diff --git a/nuttx/graphics/nxglib/nxglib_moverectangle.c b/nuttx/graphics/nxglib/nxglib_moverectangle.c
index c39c1c560..20ec3d927 100644
--- a/nuttx/graphics/nxglib/nxglib_moverectangle.c
+++ b/nuttx/graphics/nxglib/nxglib_moverectangle.c
@@ -145,9 +145,11 @@ void NXGL_FUNCNAME(nxgl_moverectangle,NXGLIB_SUFFIX)
stride = pinfo->stride;
- /* Get the dimensions of the rectange to fill: height in rows and width in bytes */
+ /* Get the dimensions of the rectange to fill: width in pixels, height
+ * in rows
+ */
- width = NXGL_SCALEX(rect->pt2.x - rect->pt1.x + 1);
+ width = rect->pt2.x - rect->pt1.x + 1;
rows = rect->pt2.y - rect->pt1.y + 1;
#if NXGLIB_BITSPERPIXEL < 8
diff --git a/nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c b/nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c
index 98b99bb47..4e3aa2e9c 100644
--- a/nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c
+++ b/nuttx/graphics/nxtk/nxtk_bitmaptoolbar.c
@@ -99,6 +99,7 @@ int nxtk_bitmaptoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *dest,
FAR const struct nxgl_point_s *origin, unsigned int stride)
{
FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd;
+ struct nxgl_point_s wndorigin;
struct nxgl_rect_s clipdest;
#ifdef CONFIG_DEBUG
@@ -116,6 +117,20 @@ int nxtk_bitmaptoolbar(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *dest,
nxtk_subwindowclip(fwnd, &clipdest, dest, &fwnd->tbrect);
+ /* Now, move the bitmap origin so that it is relative to the containing
+ * window, not the sub-window.
+ *
+ * Temporarily, position the origin in absolute screen coordinates
+ */
+
+ nxgl_vectoradd(&wndorigin, origin, &fwnd->fwrect.pt1);
+
+ /* Then move the origin so that is relative to the containing window, not the
+ * client subwindow
+ */
+
+ nxgl_vectsubtract(&wndorigin, &wndorigin, &fwnd->wnd.bounds.pt1);
+
/* Then copy the bitmap */
nx_bitmap((NXWINDOW)hfwnd, &clipdest, src, origin, stride);
diff --git a/nuttx/graphics/nxtk/nxtk_bitmapwindow.c b/nuttx/graphics/nxtk/nxtk_bitmapwindow.c
index 954282eb3..c923ed964 100644
--- a/nuttx/graphics/nxtk/nxtk_bitmapwindow.c
+++ b/nuttx/graphics/nxtk/nxtk_bitmapwindow.c
@@ -99,6 +99,7 @@ int nxtk_bitmapwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *dest,
FAR const struct nxgl_point_s *origin, unsigned int stride)
{
FAR struct nxtk_framedwindow_s *fwnd = (FAR struct nxtk_framedwindow_s *)hfwnd;
+ struct nxgl_point_s wndorigin;
struct nxgl_rect_s clipdest;
#ifdef CONFIG_DEBUG
@@ -116,8 +117,22 @@ int nxtk_bitmapwindow(NXTKWINDOW hfwnd, FAR const struct nxgl_rect_s *dest,
nxtk_subwindowclip(fwnd, &clipdest, dest, &fwnd->fwrect);
+ /* Now, move the bitmap origin so that it is relative to the containing
+ * window, not the sub-window.
+ *
+ * Temporarily, position the origin in absolute screen coordinates
+ */
+
+ nxgl_vectoradd(&wndorigin, origin, &fwnd->fwrect.pt1);
+
+ /* Then move the origin so that is relative to the containing window, not the
+ * client subwindow
+ */
+
+ nxgl_vectsubtract(&wndorigin, &wndorigin, &fwnd->wnd.bounds.pt1);
+
/* Then copy the bitmap */
- nx_bitmap((NXWINDOW)hfwnd, &clipdest, src, origin, stride);
+ nx_bitmap((NXWINDOW)hfwnd, &clipdest, src, &wndorigin, stride);
return OK;
}