textinput/peninputarc/src/peninputlayoutcontrol/peninputuilayout.cpp
branchRCL_3
changeset 12 5e18d8c489d6
parent 9 e6a39382bb9c
child 13 1bbdde98cc2d
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputuilayout.cpp	Tue May 11 16:31:42 2010 +0300
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputuilayout.cpp	Tue May 25 13:03:44 2010 +0300
@@ -28,8 +28,8 @@
 #include <AknDef.h>
 #include <AknsConstants.h>
 #include <coemain.h>
-#include <aknsutils.h> 
-#include <aknsskininstance.h> 
+#include <AknsUtils.h> 
+#include <AknsSkinInstance.h> 
 
 #ifdef RD_TACTILE_FEEDBACK
 #include <touchfeedback.h>
@@ -84,6 +84,7 @@
 #endif // RD_TACTILE_FEEDBACK
     iExtension->iSkinInstance = AknsUtils::SkinInstance();
     iExtension->iTouchFeedbackInstance = MTouchFeedback::Instance();
+	iExtension->iDisableDrawing = EFalse;
     }
 
 // ---------------------------------------------------------------------------
@@ -175,6 +176,17 @@
             TRAP_IGNORE(SendEditorTextAndCursorPosL(aData));
             }
             break;
+        case ECmdPeninputEnableOwnBitmap:
+            {
+            SetSelfBmpDeviceFlag(*(reinterpret_cast<TBool*>(aData)));
+            OnResourceChange(KPenInputOwnDeviceChange);
+            }
+            break;
+        case ECmdPeninputDisableLayoutDrawing:
+            {
+            DisableLayoutDrawing(*(reinterpret_cast<TBool*>(aData)));
+            }
+            break;
         default: 
             {
             ret = -1;
@@ -572,6 +584,8 @@
                         const TRect& aRect,TBool aUpdateFlag,TBool aImmedFlag)
     {
     //do nothing if it's locked and aCtrl is not the owner.
+    if(!iLayoutReady || iExtension->iDisableDrawing)
+        return;
     TBool bUpdate = ETrue;
     if(!iLockedArea.IsEmpty() )
         {
@@ -876,4 +890,27 @@
     {
     return iRootCtrl->CreateCursor();
     }
+
+EXPORT_C TBool CFepUiLayout::NotDrawToLayoutDevice()
+    {
+    return iExtension->iSelfBmpDeviceFlag;
+    }
+
+void CFepUiLayout::SetSelfBmpDeviceFlag(TBool aFlag)
+    {
+    iExtension->iSelfBmpDeviceFlag = aFlag;
+    }
+
+
+EXPORT_C void CFepUiLayout::DisableLayoutDrawing(TBool aFlag)
+    {
+    if(iExtension->iDisableDrawing == aFlag)
+        return;
+    iExtension->iDisableDrawing = aFlag;
+    TPtrC ptr;
+    ptr.Set(reinterpret_cast<const TUint16*>(&aFlag),sizeof(aFlag)/sizeof(TUint16));
+    
+    SignalOwner(ESignalDisableUpdating,ptr);
+    }
+
 //end of file