diff -r c8fb4cf7b3ae -r 5e18d8c489d6 textinput/peninputarc/src/peninputlayoutcontrol/peninputuilayout.cpp --- 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 #include #include -#include -#include +#include +#include #ifdef RD_TACTILE_FEEDBACK #include @@ -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(aData))); + OnResourceChange(KPenInputOwnDeviceChange); + } + break; + case ECmdPeninputDisableLayoutDrawing: + { + DisableLayoutDrawing(*(reinterpret_cast(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(&aFlag),sizeof(aFlag)/sizeof(TUint16)); + + SignalOwner(ESignalDisableUpdating,ptr); + } + //end of file