# HG changeset patch # User Mychaela Falconia # Date 1447284883 0 # Node ID a39516059f8330be70d7765a7d8939987c5c3496 # Parent 52325cb524a8418739999ced56dfdc0e15480257 gdi display.c: using D-Sample-like approach fixed the display garbage bug diff -r 52325cb524a8 -r a39516059f83 g23m/condat/com/src/driver/display.c --- a/g23m/condat/com/src/driver/display.c Thu Nov 05 08:09:54 2015 +0000 +++ b/g23m/condat/com/src/driver/display.c Wed Nov 11 23:34:43 2015 +0000 @@ -129,26 +129,26 @@ /************************************************************************ * The following macros define what hardware we are running on and what * -* drivers are being used to drive the display * -* BSAMPLE - 84x48 display * -* CSAMPLE - 84x48 display * -* CSAMPLE_COLOUR - no longer supported * +* drivers are being used to drive the display * +* BSAMPLE - 84x48 display * +* CSAMPLE - 84x48 display * +* CSAMPLE_COLOUR - no longer supported * * DSAMPLE - 176x220 display which can be driven as 16 bit colour or b+w * -* DSAMPLE_COLOUR - colour display * -* DSAMPLE_COLOUR16 - 16 bits per pixel displayed * +* DSAMPLE_COLOUR - colour display * +* DSAMPLE_COLOUR16 - 16 bits per pixel displayed * * NB. This has not been tested at all - it * * may not display correctly or may crash * * although it does not crash when enabled * * with the 32bit drivers) * * * * DSAMPLE_COLOUR32 - 32 bits per pixel displayed (16 bits are * -* zero and have no effect) * +* zero and have no effect) * * DSAMPLE_LITE - 1 bit per pixel (b+w display) * -* GW SPR#1840 25/03/03 * +* GW SPR#1840 25/03/03 * * Also, the compiler switches have been added to allow us to develop * -* the MMI for a different final format (b+w/smaller display). * -* COLOURDISPLAY - If not defined - all output is to be b+w * -* LSCREEN - If not defined - screen is 'small' - use the 8x6 font * +* the MMI for a different final format (b+w/smaller display). * +* COLOURDISPLAY - If not defined - all output is to be b+w * +* LSCREEN - If not defined - screen is 'small' - use the 8x6 font * *************************************************************************/ #if (defined(_TARGET_)) //#if (BOARD==33) @@ -230,11 +230,18 @@ */ /* + * FreeCalypso: reconstructing bitrotten C-Sample display config for C139 + */ +#define CSAMPLE_NEWSTYLE + +#if 0 +/* * C139: we have to use the USE_PLOT configuration for now, * as the other is bitrotten: r2d_fast_blit() is gone. */ #define USE_PLOT 1 #define MAX_NUMBER_PLOTS 84*48 +#endif /*==== CONSTANTS ==================================================*/ // Mar 30, 2005 REF: CRR 29986 xpradipg @@ -1959,10 +1966,12 @@ #ifdef CSAMPLE #define HEADER_INFO (3) #define DISPLAY_SIZE (LCD_COL*LCD_COL_NUM_LWORDS) +#ifdef CSAMPLE_OLDSTYLE static UINT32 display_bw [DISPLAY_SIZE+HEADER_INFO+10]; #ifdef USE_PLOT static UINT32 displayCopy_bw [DISPLAY_SIZE+HEADER_INFO+1]; /* copy to flag differences */ #endif +#endif static UINT32* picture_bw=NULL;//Pointer to data in display. static UINT32* pictureCopy_bw= NULL;//Pointer to data in display. /* static char scratch [100]; */ /* command buffer - does not support output of new display */ @@ -2529,7 +2538,7 @@ //Initialises data required for bolck copy of a 'picture' void scrRivPictureClear(void) { -#ifdef CSAMPLE +#ifdef CSAMPLE_OLDSTYLE memset(display_bw,0,sizeof(display_bw)); #ifdef USE_PLOT memset(displayCopy_bw,0,sizeof(displayCopy_bw)); @@ -2601,7 +2610,7 @@ #endif -#ifdef DSAMPLE_LITE +#if defined(DSAMPLE_LITE) || defined(CSAMPLE_NEWSTYLE) picture_bw = r2d_get_pixmap(r2d_g_lcd_gc); memset(picture_bw,0,DISPLAY_SIZE*4); #endif @@ -2623,7 +2632,7 @@ scrRivPictureClear(); #endif -#ifdef CSAMPLE +#ifdef CSAMPLE_OLDSTYLE strcpy(mb_name, "FRED"); mb_param.size = 256; mb_param.watermark = 128; @@ -2904,7 +2913,7 @@ -#ifdef CSAMPLE +#ifdef CSAMPLE_OLDSTYLE void scrLCDUpdate (void) { int kstart,kend,k; @@ -2973,6 +2982,14 @@ } #endif //CSAMPLE +#ifdef CSAMPLE_NEWSTYLE +void scrLCDUpdate (void) +{ + if (scrEnabled) + r2d_flush(); +} +#endif + //June 03, 2005 REF: GSM-ENH-31636 xpradipg //CRR 28825: xpradipg - 11 Feb 2005 #if (defined(DSAMPLE) || defined(ESAMPLE) || defined(ISAMPLE) || defined(CALLISTO))// changes for flag cleanup and addition for ISAMPLE