--- 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