javauis/lcdui_akn/javalcdui/inc/lcdui.h
branchRCL_3
changeset 77 7cee158cb8cd
parent 66 2455ef1f5bbc
child 83 26b2b12093af
--- 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;
+    };
 };
 
 /**