Fonts are integated

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1416 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2008-12-04 23:32:06 +00:00
parent acaffaf715
commit 3ed415a835
7 changed files with 39 additions and 6 deletions

View file

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

View file

@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: 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;

View file

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

View file

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

View file

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

View file

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

View file

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