diff -r 2a9601315dfc -r 98ccebc37403 javauis/lcdui_akn/lcdui/inc/CMIDCanvas.h --- a/javauis/lcdui_akn/lcdui/inc/CMIDCanvas.h Mon May 03 12:27:20 2010 +0300 +++ b/javauis/lcdui_akn/lcdui/inc/CMIDCanvas.h Fri May 14 15:47:24 2010 +0300 @@ -382,6 +382,7 @@ MMIDTactileFeedbackComponent* TactileFeedbackComponent(); #endif // RD_TACTILE_FEEDBACK + TBool ReadyToBlit() const; // from base class MMIDBufferProcessor @@ -1039,9 +1040,27 @@ * returns EFalse. */ TBool IsNetworkIndicatorEnabledL() const; + +public: + /** + * Handles switching from foreground to + * background and vice versa. Mainly rendering + * context and surfaces need to be relased. + */ + void HandleForeground(TBool aForeground); + +private: + /** States of the first paint */ + enum TFirstPainState { + EFirstPaintNeverOccurred = 0, + EFirstPaintInitiated, + EFirstPaintPrepared, + EFirstPaintOccurred + }; #ifdef RD_JAVA_NGA_ENABLED +private: /** EGL surface types */ typedef enum { @@ -1049,8 +1068,7 @@ EEglWindow, EEglPbuffer } TEglType; - - + // from MAlfBufferProvider public: /** @@ -1080,14 +1098,6 @@ void ContextAboutToSuspend(); void OnActivation(); -public: - /** - * Handles switching from foreground to - * background and vice versa. Mainly rendering - * context and surfaces need to be relased. - */ - void HandleForeground(TBool aForeground); - // From MMIDComponentNgaExtension public: /** @@ -1550,9 +1560,7 @@ // Stores the control on which was press event generated MMIDCustomComponent* iPressedComponent; - -#ifdef RD_JAVA_NGA_ENABLED - + /** * Flag incdicating the foreground status of canvas. * Set to EFalse when some other displayable is made current @@ -1560,6 +1568,8 @@ */ TBool iForeground; +#ifdef RD_JAVA_NGA_ENABLED + /** * CAlfCompositionPixelSource is used for drawing canvas * content when only basic content is drawn @@ -1680,6 +1690,12 @@ * All events, which started outside the canvas have to be ignored. */ TBool iDragEventsStartedInside; + + /** + * Switched after any graphics have been sent to screen. + * Those graphics should be really drawn on the screen. + */ + TInt iFirstPaintState; }; #ifdef RD_JAVA_NGA_ENABLED