diff -r d5e927d5853b -r 7cee158cb8cd javauis/lcdui_akn/javalcdui/inc/lcdui.h --- a/javauis/lcdui_akn/javalcdui/inc/lcdui.h Tue Sep 14 21:06:50 2010 +0300 +++ b/javauis/lcdui_akn/javalcdui/inc/lcdui.h Wed Sep 15 12:05:25 2010 +0300 @@ -49,6 +49,7 @@ #include #include #include +#include #ifdef RD_JAVA_NGA_ENABLED #include @@ -124,6 +125,7 @@ _LIT(KUIEnhCanvasBackground, "canvashasbackground"); _LIT(KUIEnhPopUpTextBox, "popuptextbox"); _LIT(KUIEnhFullScreenTextBox, "fullscreentextbox"); +_LIT(KUIEnhVideoOverlay, "videooverlaysupported"); _LIT(KTrueValue, "true"); _LIT(KPauseValue, "pause"); _LIT(KRunValue, "run"); @@ -133,6 +135,8 @@ _LIT(KPositionRight, "right"); } +const TInt KHighlightedItemTextColor = EAknsCIQsnTextColorsCG8; +const TInt KNonHighlightedItemTextColor = EAknsCIQsnTextColorsCG6; /** @@ -721,6 +725,13 @@ */ EDrwOpcBitBltRect = 1 #endif // RD_JAVA_NGA_ENABLED + + /** + * Indicates start of drawing commands for canvas paint. + * Used only video overlay case. + * @since S60 9.2 + */ + ,EDrwOpcPaintStarted = 3 }; public: /** @@ -830,6 +841,16 @@ * @since S60 9.2 */ virtual void MidletExiting() = 0; + + /** + * Returns ETrue if video overlay is currently used in Canvas. + * ETrue is returned when: + * - overlay is enabled by the jad attribute + * - Canvas is not GameCanvas + * - Canvas has MMAPI content areas + * @since S60 9.2 + */ + virtual TBool IsVideoOverlayActive() = 0; #endif // RD_JAVA_NGA_ENABLED virtual TBool ReadyToBlit() const = 0; @@ -2480,6 +2501,13 @@ */ virtual TBool CanvasHasBackground(const MMIDCanvas& aCanvas) const = 0; + /** + * Checks if video overlays are enabled (by the jad attribute). + * @return ETrue if overlays are enabled. + * @since S60 9.2 + */ + virtual TBool VideoOverlayEnabled() const = 0; + #ifdef RD_JAVA_NGA_ENABLED /** @@ -2559,6 +2587,41 @@ * @since Java 2.1 */ virtual const MMIDDisplayable* LastFullscreenDisplayable() const = 0; + + /** + * Returns reference to RCriticalSection that should be used in all + * MMAPI related synchronization in LCDUI. + * + * @return referende to RCriticalSection + * @since Java 2.1 + */ + virtual RCriticalSection& GetMMAPILock() = 0; + + /** + * Autolocker class for RCriticalSection. + */ + class TCriticalSectionAutoLock + { + public: + /** + * Ctor + * @param aLock Syncronization primitive that is locked during construction + */ + TCriticalSectionAutoLock(RCriticalSection& aLock) : iLock(aLock) + { + iLock.Wait(); + } + + /** + * Dtor. Signals the synchronization primitive + */ + ~TCriticalSectionAutoLock() + { + iLock.Signal(); + } + private: + RCriticalSection& iLock; + }; }; /**