--- a/bluetoothengine/bthid/mouse/Sesame_server/src/mousecursorimage.cpp Wed Apr 14 16:09:00 2010 +0300
+++ b/bluetoothengine/bthid/mouse/Sesame_server/src/mousecursorimage.cpp Tue Apr 27 16:49:44 2010 +0300
@@ -84,7 +84,7 @@
iSpriteGc->Reset();
iSpriteFunctions->SetPosition(TPoint());
iSpriteFunctions->SizeChangedL();
-
+ iLastUsedPoint = TPoint(0,0);
// Set the screen visible
// We are using a timer, not the built in synchronising, so turn it off
iFunctions->SetSync( MAnimGeneralFunctions::ESyncNone );
@@ -155,13 +155,13 @@
DBG(RDebug::Print(_L(" CImage::DrawCursor iBitmapMaskDevice")));
// Draw mask
iSpriteGc->Activate(iBitmapMaskDevice);
- iSpriteGc->BitBlt(TPoint(0,0), iCursorBitmapMask);
+ iSpriteGc->BitBlt(iLastUsedPoint, iCursorBitmapMask);
DBG(RDebug::Print(_L(" CImage::DrawCursor iBitmapMaskDevice")));
// Draw bitmap
iSpriteGc->Activate(iBitmapDevice);
- iSpriteGc->BitBlt(TPoint(0,0), iCursorBitmap);
+ iSpriteGc->BitBlt(iLastUsedPoint, iCursorBitmap);
}
DBG(RDebug::Print(_L(" CImage::DrawCursor END")));
}
@@ -180,7 +180,6 @@
case KStartBTCursorAnim:
{
iSpriteFunctions->Activate(ETrue);
- DrawCursor();
}
break;
@@ -194,23 +193,42 @@
{
iSpriteFunctions->Activate(EFalse);
iSpriteGc->Reset();
- iSpriteFunctions->SetPosition(TPoint());
+ DBG(RDebug::Print(
+ _L("[BTHID]\tCImage::Command iLastUsedPoint (%d, %d)"), iLastUsedPoint.iX, iLastUsedPoint.iY));
+ iSpriteFunctions->SetPosition(iLastUsedPoint);
iSpriteFunctions->SizeChangedL();
iSpriteFunctions->Activate(ETrue);
- DrawCursor();
+ }
+ break;
+
+ case KResetBTCursorAnim:
+ {
+ iSpriteFunctions->Activate(EFalse);
+ iSpriteGc->Reset();
+ DBG(RDebug::Print(_L("[BTHID]\tCImage::Command KResetBTCursorAnim") ));
+ iLastUsedPoint.iX = 0;
+ iLastUsedPoint.iY = 0;
+ iSpriteFunctions->SetPosition(iLastUsedPoint);
+ iSpriteFunctions->SizeChangedL();
+ iSpriteFunctions->Activate(ETrue);
}
break;
case KChangeCursor:
{
- TPoint pos = *(TPoint *)aArgs;
- iSpriteFunctions->SetPosition(pos);
+ iLastUsedPoint = *(TPoint *)aArgs;
+ DBG(RDebug::Print(
+ _L("[BTHID]\tCImage::Command KChangeCursor *(TPoint *)aArgs (%d, %d)"), iLastUsedPoint.iX, iLastUsedPoint.iY));
+ iSpriteFunctions->SetPosition(iLastUsedPoint);
}
break;
case KSendRawEvent:
{
TRawEvent rawEvent = *(TRawEvent *)aArgs;
- iSpriteFunctions->SetPosition(rawEvent.Pos());
+ iLastUsedPoint = rawEvent.Pos();
+ DBG(RDebug::Print(
+ _L("[BTHID]\tCImage::Command KSendRawEvent rawEvent.Pos() (%d, %d)"), iLastUsedPoint.iX, iLastUsedPoint.iY));
+ iSpriteFunctions->SetPosition(iLastUsedPoint);
iFunctions->PostRawEvent( rawEvent );
}
break;