I tried to send this message to sitaraware_support@list.ti.com, but the message was rejected.
Hello,
I have generated a patch to synchronize the SitaraWare 01.00.00.09 GrLib (originally forked at rev 6288 of StellarisWare) to StellarisWare rev 7611 GrLib. I did this to get extended font support, to support some ISO-8859-1 characters; I also added a few of these characters to the fontfixed6x8 font and included this as fontfixed6x8ex. Between 6288 and 7611, there were also some changes to the slider widget. Most of the changes are for the copyright notice and rev number update.
2148.0002-grlib-sync-SitaraWare-GrLib-with-StellarisWare-GrLib.txt
I sent a patch previously to fix the software implementation of CountLeadingZeros; when passed 0, CountLeadingZeros would return 0 instead of 32 as indicated by the ARM spec.
I am preparing two more patches for GrLib. One is to fix the unaligned accesses of the width and height fields in an image. It has been corrected in image.c, and the values don't ever seem to be used in the offscr*bpp.c files, but when the width field is written, it usually seems to overwrite the format field, which could cause problems with the Image Drawing routines that depend on that format.
Another patch is for a strange behavior I saw in determining the clipping region of a widget that is partially off the display, but has the OUTLINE style. By default, when a widget (like a PushButton) has an outline and contains an image or text, the clipping region of the widget is shrunk by 1 pixel per side after the outline is drawn before the text or image is drawn. This is to prevent the text or image from drawing on top of the outline. However, if the widget's bounds go off the display, the clipping region for the widget is initially set to the boundary of the screen on that side. But when the clipping region is shrunk, it creates a 1 pixel gap between the image/text and the side of the screen. The patch looks something like this, for pushbutton.c:
@@ -121,10 +121,12 @@ RectangularButtonPaint(tWidget *pWidget)
//
if(pPush->ulStyle & PB_STYLE_OUTLINE)
{
- sCtx.sClipRegion.sXMin++;
- sCtx.sClipRegion.sYMin++;
- sCtx.sClipRegion.sXMax--;
- sCtx.sClipRegion.sYMax--;
+ tRectangle sA = pWidget->sPosition;
+ sA.sXMin++;
+ sA.sYMin++;
+ sA.sXMax--;
+ sA.sYMax--;
+ GrContextClipRegionSet(&sCtx, &sA);
}
I don't know which other widgets exhibit this behavior, but if you're interested, I'll gladly send along the patches. I think that last one is a valid issue with StellarisWare also, if anyone would like to get in touch with them.
Thanks,
~Eric Wetzel