Hi,
As discussed in this link https://ask.embedded-wizard.de/3495/dirty-area-disable , I have enabled the full screen update in ewmain.c with the Embedded Wizard V10.0 - IMXRT1170 stack.
But now we couldn't see any difference(i.e. Disabling the dirty area doesnt work) but with v9.2 when we tried long back its working.
Kindly find the code snippet inside which we triggered the InvalidateArea() to enforce a full screen update.
static void EwUpdate( XViewport* aViewport, CoreRoot aApplication )
{
XBitmap* bitmap;
GraphicsCanvas canvas = EwNewObject( GraphicsCanvas, 0 );
XRect updateRect = {{ 0, 0 }, { 0, 0 }};
if ( !canvas )
return;
if ( DisplayInfo.UpdateMode == EW_BSP_DISPLAY_UPDATE_NORMAL )
{
bitmap = EwBeginUpdate( aViewport );
/* redraw the dirty area of the screen */
if ( bitmap )
{
GraphicsCanvas__AttachBitmap( canvas, (XHandle)bitmap );
CoreGroup__InvalidateArea( aApplication, EwNewRect( 0, 0, DisplayInfo.BufferWidth, DisplayInfo.BufferHeight ));
updateRect = CoreRoot__UpdateGE20( aApplication, canvas );
GraphicsCanvas__DetachBitmap( canvas );
EwEndUpdate( aViewport, updateRect );
}
}
else
{
int regions = CoreRoot__BeginUpdate( aApplication );
while ( regions-- )
{
/* get rectangular area of the update region for scratch-pad buffer */
if ( DisplayInfo.UpdateMode == EW_BSP_DISPLAY_UPDATE_SCRATCHPAD )
updateRect = CoreRoot__GetUpdateRegion( aApplication, regions );
/* iterate through all update areas */
while ( EwBspDisplayGetUpdateArea( &updateRect ))
{
/* update the current subarea */
bitmap = EwBeginUpdateArea( aViewport, updateRect );
GraphicsCanvas__AttachBitmap( canvas, (XHandle)bitmap );
CoreRoot__UpdateCanvas( aApplication, canvas, updateRect.Point1 );
GraphicsCanvas__DetachBitmap( canvas );
EwEndUpdate( aViewport, updateRect );
}
if ( DisplayInfo.UpdateMode != EW_BSP_DISPLAY_UPDATE_SCRATCHPAD )
break;
}
CoreRoot__EndUpdate( aApplication );
}
}
Kindly check on this and help us on the same.
Best Regards,
Preethi S
Robert Bosch - India