47 static void _FillRectOpt16(
GUI_DEVICE * pDevice,
int x0,
int y0,
int x1,
int y1) {
52 int RemPixels, NumLines, RemLines, RemItems;
58 Off = XY2OFF32(pContext->vxSizePhys, x0, y0);
59 pDest0 =
OFF2PTR32(pContext->VRAMAddr, Off);
60 RemPixels = x1 - x0 + 1;
61 NumLines = y1 - y0 + 1;
62 OffLine = pContext->vxSizePhys >> 1;
69 for (RemLines = NumLines, pDest = pDest0; RemLines; RemLines--) {
71 #if (LCD_ENDIAN_BIG == 0) 86 for (RemLines = NumLines; RemLines; RemLines--) {
88 pDest = pDest0 + OffLine * (RemLines - 1);
95 }
while (RemItems >= 2);
98 RemPixels -= (RemPixels >> 1) << 1;
104 for (RemLines = NumLines, pDest = pDest0; RemLines; RemLines--) {
106 #if (LCD_ENDIAN_BIG == 0) 120 for (RemLines = NumLines, pDest = pDest0; RemLines; RemLines--) {
122 #if (LCD_ENDIAN_BIG == 0) 124 Data |= (((
U32)ColorIndex) << 16);
138 ColorMask = ColorIndex * 0x00010001;
139 if (RemPixels >= 16) {
142 for (RemLines = NumLines; RemLines; RemLines--) {
143 RemItems = RemPixels;
144 pDest = pDest0 + OffLine * (RemLines - 1);
156 }
while (RemItems >= 0);
161 RemPixels -= (RemPixels >> 4) << 4;
163 if (RemPixels >= 2) {
164 for (RemLines = NumLines; RemLines; RemLines--) {
165 RemItems = RemPixels;
166 pDest = pDest0 + OffLine * (RemLines - 1);
171 }
while (RemItems >= 2);
174 RemPixels -= (RemPixels >> 1) << 1;
180 for (RemLines = NumLines, pDest = pDest0; RemLines; RemLines--) {
182 #if (LCD_ENDIAN_BIG == 0) 187 Data |= (((
U32)ColorIndex) << 16);
GUI_SADDR GUI_CONTEXT * GUI_pContext
#define LCD__GetColorIndex()
#define WRITE_MEM32P(p, Data)
#define OFF2PTR32(VRAMAddr, Off)