Fix for bug 2283 (RVCT 4.0 support is missing from PDK 3.0.h)
Have multiple extension sections in the bld.inf, one for each version
of the compiler. The RVCT version building the tools will build the
runtime libraries for its version, but make sure we extract all the other
versions from zip archives. Also add the archive for RVCT4.
// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of the License "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
// e32\euser\us_evnt.cpp
//
//
#include "us_std.h"
/**
Gets the mouse or digitiser X-Y position.
@return The position.
*/
EXPORT_C TPoint TRawEvent::Pos() const
{
__ASSERT_DEBUG(iType==EPointerMove ||
iType==EPointerSwitchOn ||
iType==EButton1Down ||
iType==EButton1Up ||
iType==EButton2Down ||
iType==EButton2Up ||
iType==EButton3Down ||
iType==EButton3Up
,Panic(ETEventNotMoveType));
return(TPoint(iU.pos.x,iU.pos.y));
}
/**
Gets the 3D pointing device Cartesian coordinates.
@return The position.
*/
EXPORT_C TPoint3D TRawEvent::Pos3D() const
{
__ASSERT_DEBUG(iType==EPointerMove ||
iType==EPointer3DTiltAndMove ||
iType==EPointerSwitchOn ||
iType==EButton1Down ||
iType==EButton1Up ||
iType==EButton2Down ||
iType==EButton2Up ||
iType==EButton3Down ||
iType==EButton3Up
,Panic(ETEventNotMoveType));
TPoint3D p;
p.iX=iU.pos.x;
p.iY=iU.pos.y;
p.iZ=iU.pos3D.z;
return p;
}
/** Gets the 3D pointing device polar coordinates and rotation.
@return The polar coordinates and rotation.
*/
EXPORT_C TAngle3D TRawEvent::Tilt() const
{
__ASSERT_DEBUG(iType==EPointer3DTilt ||
iType==EPointer3DTiltAndMove
,Panic(ETEventNotMoveType));
TAngle3D p;
p.iPhi=iU.pos3D.phi;
p.iTheta=iU.pos3D.theta;
return p;
}
/** Gets the rotation angle of 3D pointing device.
@return The rotation angle of the 3D pointing device.
*/
EXPORT_C TInt TRawEvent::Rotation() const
{
__ASSERT_DEBUG(iType==EPointer3DRotation ||
iType==EPointer3DTiltAndMove
,Panic(ETEventNotMoveType));
return (iU.pos3D.alpha);
}
/**
Gets the scancode.
@return The scancode.
*/
EXPORT_C TInt TRawEvent::ScanCode() const
{
__ASSERT_DEBUG(iType==EKeyDown || iType==EKeyUp || iType==EKeyRepeat,Panic(ETEventNotKeyType));
return(iU.key.scanCode);
}
/**
Gets the repeat count.
@return The repeat count.
*/
EXPORT_C TInt TRawEvent::Repeats() const
{
__ASSERT_DEBUG(iType==EKeyRepeat,Panic(ETEventNotKeyRepeatType));
return(iU.key.repeats);
}
/**
Gets the modifiers.
@return The modifiers.
@panic EUSER 34 If the event does not represent a modifier key being pressed,
i.e. if the event type is not TRawEvent::EUpdateModifiers
@see TRawEvent::EUpdateModifiers
*/
EXPORT_C TInt TRawEvent::Modifiers() const
{
__ASSERT_DEBUG(iType==EUpdateModifiers,Panic(ETEventNotUpdateModifiersType));
return(iU.modifiers);
}
/**
Sets the event up as a scancode event.
@param aType The event type.
@param aScanCode The scancode.
*/
EXPORT_C void TRawEvent::Set(TType aType,TInt aScanCode)
{
iType=(TUint8)aType;
iU.key.scanCode=aScanCode;
iU.key.repeats=0;
BTraceContext8(BTrace::ERawEvent, BTrace::ESetEvent ,(TUint32)aType, (TUint32)aScanCode);
iTicks=User::TickCount();
}
/**
Sets the event up as a repeating scancode event.
@param aType The event type.
@param aScanCode The scancode.
@param aRepeats The repeat count.
*/
EXPORT_C void TRawEvent::SetRepeat(TType aType,TInt aScanCode,TInt aRepeats)
{
iType=(TUint8)aType;
iU.key.scanCode=aScanCode;
iU.key.repeats=aRepeats;
BTraceContext12(BTrace::ERawEvent, BTrace::ESetEvent ,(TUint32)aType, (TUint32)aScanCode, (TUint32)aRepeats);
iTicks=User::TickCount();
}
/**
Sets the event up as a mouse/pen event.
@param aType The event type.
@param aX The X position.
@param aY The Y position.
*/
EXPORT_C void TRawEvent::Set(TType aType,TInt aX,TInt aY)
{
iType=(TUint8)aType;
iU.pos.x=aX;
iU.pos.y=aY;
BTraceContext12(BTrace::ERawEvent, BTrace::ESetEvent ,(TUint32)aType, (TUint32)aX,(TUint32)aY);
iTicks=User::TickCount();
}
/**
Sets the event up as a 3D pointer linear move event.
@param aType The event type.
@param aX The X position.
@param aY The Y position.
@param aZ The Z position (defaults to 0 on 2D detection devices) .
*/
EXPORT_C void TRawEvent::Set(TType aType,TInt aX,TInt aY,TInt aZ)
{
iType=(TUint8)aType;
iU.pos.x=aX;
iU.pos.y=aY;
iU.pos3D.z=aZ;
//Form the Trace Data
TUint32 traceData[2];
traceData[0] =aY;
traceData[1] =aZ;
BTraceContextN(BTrace::ERawEvent, BTrace::ESetEvent ,(TUint32)aType, (TUint32)aX,traceData, sizeof(traceData));
iTicks=User::TickCount();
}
/**
Sets up an event without specific parameters.
@param aType The event type.
*/
EXPORT_C void TRawEvent::Set(TType aType)
{
iType=(TUint8)aType;
BTraceContext4(BTrace::ERawEvent, BTrace::ESetEvent ,(TUint32)aType);
iTicks=User::TickCount();
}
/**
Sets the event up as a 3D pointer linear move and tilt and rotation change event.
@param aType The event type.
@param aX The X position (or TPhi polar coordinate).
@param aY The Y position (or Theta polar coordinate).
@param aZ The Z position (or rotation).
@param aPhi The Phi polar coordinate.
@param aTheta The Theta polar coordinate.
@param aAlpha The rotation angle.
*/
EXPORT_C void TRawEvent::Set(TType aType,TInt aX,TInt aY,TInt aZ,TInt aPhi,TInt aTheta,TInt aAlpha)
{
iType=(TUint8)aType;
iU.pos.x=aX;
iU.pos.y=aY;
iU.pos3D.z=aZ;
iU.pos3D.phi=aPhi;
iU.pos3D.theta=aTheta;
iU.pos3D.alpha=aAlpha;
//Form the Trace Data
TUint32 traceData[5];
traceData[0] =aY;
traceData[1] =aZ;
traceData[2] =aPhi;
traceData[3] =aTheta;
traceData[4] =aAlpha;
BTraceContextN(BTrace::ERawEvent, BTrace::ESetEvent ,(TUint32)aType, (TUint32)aX,traceData, sizeof(traceData));
iTicks=User::TickCount();
}
/**
Sets the event up as 3D pointer tilt change event.
@param aType The event type.
@param aPhi The Phi coordinate.
@param aTheta The Theta coordinate.
*/
EXPORT_C void TRawEvent::SetTilt(TType aType,TInt aPhi,TInt aTheta)
{
iType=(TUint8)aType;
iU.pos3D.phi=aPhi;
iU.pos3D.theta=aTheta;
BTraceContext12(BTrace::ERawEvent, BTrace::ESetTiltEvent,(TUint32)aType, (TUint32)aPhi,(TUint32)aTheta);
iTicks=User::TickCount();
}
/**
Sets the event up as 3D pointer rotation event.
@param aType The event type.
@param aAlpha The rotation angle.
*/
EXPORT_C void TRawEvent::SetRotation(TType aType,TInt aAlpha)
{
iType=(TUint8)aType;
iU.pos3D.alpha=aAlpha;
BTraceContext8(BTrace::ERawEvent, BTrace::ESetRotationtEvent,(TUint32)aType, (TUint32)aAlpha);
iTicks=User::TickCount();
}
/**
Sets the event up as a 3D pointer linear move event with pointer number
@param aType The event type.
@param aX The X position.
@param aY The Y position.
@param aZ The Z position .
@param aPointerNumber The pointer number for the event
*/
EXPORT_C void TRawEvent::Set (TType aType, TInt aX, TInt aY, TInt aZ, TUint8 aPointerNumber)
{
iType=(TUint8)aType;
iU.pos3D.x=aX;
iU.pos3D.y=aY;
iU.pos3D.z=aZ;
iPointerNumber=aPointerNumber;
//Form the Trace Data
TUint32 traceData[3];
traceData[0] =aY;
traceData[1] =aZ;
traceData[2] =aPointerNumber;
BTraceContextN(BTrace::ERawEvent, BTrace::ESetEvent ,(TUint32)aType, (TUint32)aX,traceData, sizeof(traceData));
iTicks=User::TickCount();
}