Fix a positioning problem in CRlePaletteBitmap

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4694 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2012-05-03 23:06:37 +00:00
parent 1c44939445
commit e5a837ee3a
3 changed files with 14 additions and 2 deletions

View File

@ -20,3 +20,5 @@
out in the 1.0 release but is verfied functional in 1.1.
* CRlePalettBitmap: Fix an error in the text that determines if we
need to "rewind" to the beginning of the image.
* CRlePalettBitmap: Fixe a positioning problem. It was actually losing
the last row of every image!

View File

@ -274,7 +274,7 @@ int MAIN_NAME(int argc, char *argv[])
delete g_nxwmtest.taskbar;
return EXIT_FAILURE;
}
showTestCaseMemory("After initializing memory menager");
showTestCaseMemory("After initializing window manager");
// Create the start window. The general sequence for setting up the start window is:
//

View File

@ -242,12 +242,22 @@ void CRlePaletteBitmap::startOfImage(void)
bool CRlePaletteBitmap::advancePosition(nxgl_coord_t npixels)
{
// Advance to the next column after consuming 'npixels' on this colum
int newcol = m_col + npixels;
// Have we consumed the entire row?
while (newcol >= m_bitmap->width)
{
// Advance to the next row
newcol -= m_bitmap->width;
if (++m_row >= m_bitmap->height)
m_row++;
// If we still have pixels to account for but we have exceeded the
// the size of the bitmap, then return false
if (newcol > 0 && m_row >= m_bitmap->height)
{
return false;
}