--- 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 <badesca.h>
#include <gdi.h>
#include <w32std.h>
+#include <AknsConstants.h>
#ifdef RD_JAVA_NGA_ENABLED
#include <EGL/egltypes.h>
@@ -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;
+ };
};
/**