sl@0: // Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // TAdvancedPointerEvent encapsulates additional information to that contained in TPointerEvent. sl@0: // For multi-touch, pressure and proximity. sl@0: // sl@0: // sl@0: sl@0: #include "W32STD.H" sl@0: sl@0: sl@0: EXPORT_C TInt TAdvancedPointerEvent::DoGetPointerNumber() const sl@0: /** Gets the pointer number for the event sl@0: sl@0: @return TInt. The pointer number for the event sl@0: @internalTechnology */ sl@0: { sl@0: return iData.multiPos3D.iPointerNumber; sl@0: } sl@0: sl@0: EXPORT_C TInt TAdvancedPointerEvent::DoGetProximity() const sl@0: /** Gets the pointer event proximity sl@0: sl@0: @return TInt. The pointer event proximity sl@0: @internalTechnology */ sl@0: { sl@0: return Min(iData.multiPos3D.iPosZ,EPressureProximityCrossover); sl@0: } sl@0: sl@0: EXPORT_C TInt TAdvancedPointerEvent::DoGetPressure() const sl@0: /** Gets the pointer event pressure sl@0: sl@0: @return TInt. The pointer event pressure sl@0: @internalTechnology */ sl@0: { sl@0: return Max(iData.multiPos3D.iPosZ,EPressureProximityCrossover); sl@0: } sl@0: sl@0: EXPORT_C TInt TAdvancedPointerEvent::DoGetProximityAndPressure() const sl@0: /** Gets the pointer event combined proximity and pressure. sl@0: sl@0: Negative values are proximity, positive values are pressure. sl@0: sl@0: @return TInt. The pointer event combined proximity and pressure sl@0: @internalTechnology */ sl@0: { sl@0: return iData.multiPos3D.iPosZ; sl@0: } sl@0: sl@0: EXPORT_C TAdvancedPointerEvent::TAdvancedPointerEvent(const TAdvancedPointerEvent& aPointerEvent) sl@0: /** Copy Constructor for TAdvancedPointerEvent sl@0: sl@0: @param const TAdvancedPointerEvent& aPointerEvent. The event to copy. sl@0: @internalTechnology */ sl@0: { sl@0: Copy(aPointerEvent); sl@0: } sl@0: sl@0: EXPORT_C TAdvancedPointerEvent& TAdvancedPointerEvent::operator=(const TAdvancedPointerEvent& aPointerEvent) // Operator = overload sl@0: /** Operator= overload for TAdvancedPointerEvent sl@0: sl@0: @param const TAdvancedPointerEvent& aPointerEvent. The event to copy. sl@0: @internalTechnology */ sl@0: { sl@0: if(this != &aPointerEvent) sl@0: { sl@0: Copy(aPointerEvent); sl@0: } sl@0: return *this; sl@0: } sl@0: sl@0: EXPORT_C void TWsEvent::InitAdvancedPointerEvent(TPointerEvent::TType aType, TUint aModifiers, const TPoint3D &aPoint3D, TUint8 aPointerNumber) sl@0: /** Initializes TAdvancedPointerEvent contained in this TWsEvent. sl@0: @param aType type of TAdvancedPointerEvent sl@0: @param aModifiers the state of the modifier keys at the time when the event occured, sl@0: defined in TEventModifier sl@0: @param aPoint3D x and y coordinates of the pointer plus z coordinate representing proximity of the pointer sl@0: combined with its pressure, as returned by TAdvancedPointerEvent::PositionAndPressure3D() sl@0: @param aPointerNumber pointer number of the pointer whose state change is described by this event sl@0: @see TWsEvent::Pointer() sl@0: @see TAdvancedPointerEvent::PositionAndPressure3D() sl@0: @see TAdvancedPointerEvent::PointerNumber() sl@0: @publishedPartner To become publishedAll with WSERV NGA APIs sl@0: @prototype To become released with WSERV NGA APIs */ sl@0: { sl@0: Pointer()->Init(aType, aModifiers, aPoint3D, aPointerNumber); sl@0: } sl@0: sl@0: EXPORT_C void TWsEvent::SetPointerNumber(TUint8 aPointerNumber) sl@0: /** Changes pointer number of TAdvancedPointerEvent contained in this TWsEvent. sl@0: @param aPointerNumber new pointer number to set in TAdvancedPointerEvent contained in this sl@0: TWsEvent sl@0: @see TWsEvent::Pointer() sl@0: @see TAdvancedPointerEvent::PointerNumber() sl@0: @publishedPartner To become publishedAll with WSERV NGA APIs sl@0: @prototype To become released with WSERV NGA APIs */ sl@0: { sl@0: Pointer()->SetPointerNumber(aPointerNumber); sl@0: } sl@0: sl@0: EXPORT_C void TWsEvent::SetPointerZ(TInt aZ) sl@0: /** Changes pressure and proximity of TAdvancedPointerEvent contained in this TWsEvent. sl@0: @param aZ new pressure and proximity to set, combined the same way as returned sl@0: by TAdvancedPointerEvent::ProximityAndPressure() sl@0: @see TWsEvent::Pointer() sl@0: @see TAdvancedPointerEvent::ProximityAndPressure() sl@0: @publishedPartner To become publishedAll with WSERV NGA APIs sl@0: @prototype To become released with WSERV NGA APIs */ sl@0: { sl@0: Pointer()->SetPointerZ(aZ); sl@0: }