hapticsservices_pub/tactile_feedback_client_api/inc/touchlogicalfeedback.h
changeset 0 d54f32e146dd
child 13 a4df7952b706
child 15 8c57b70b4bf3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hapticsservices_pub/tactile_feedback_client_api/inc/touchlogicalfeedback.h	Thu Dec 17 08:53:38 2009 +0200
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:  Logical feedback type enumeration. 
+* Part of:      Tactile Feedback.
+*
+*/
+
+
+#ifndef TOUCHLOGICALFEEDBACK_H
+#define TOUCHLOGICALFEEDBACK_H
+
+#include <e32std.h>
+
+/**  
+ *  Pointer event types, that can be used when registering
+ *  areas to registry. 
+ */
+enum TTouchEventType
+    {
+    ETouchEventStylusDown,
+    ETouchEventStylusUp,
+    ETouchEventStylusPressDown,
+    ETouchEventStylusPressUp
+    };
+    
+/**  
+ *  Logical feedback types, that can be used when producing direct
+ *  feedback, or when registering areas to area registry.
+ *
+ *  Notice, that client application cannot decide the actual physical
+ *  feedback that shall be generated. It depends on device configuration,
+ *  and current settings. In current devices the user changeable settings
+ *  includes vibra and sound feedbacks.
+ *
+ *  Instructions for using these feedback types:
+ *
+ *  ETouchFeedbackNone      - Use for disabling feedback for some areas of
+ *                            window when using area registry.
+ *
+ *  ETouchFeedbackBasic     - Use as default feedback for pen down events.
+ *                            For example, pressing a button or tab.
+ *
+ *  ETouchFeedbackSensitive - Sensitive feedback for those situations,
+ *                            where the triggering action is not very 
+ *                            important (e.g. change focus in list), or when
+ *                            there can be a large amount of feedbacks in
+ *                            a short time (e.g. text selection which gives
+ *                            feedback on every new selected character).
+ *                            Also used for scrolling and dragging.
+ *
+ *  Different UI components have specific feedback types, which should be 
+ *  used to maintain similar feedback behaviour in components of same type.
+ *
+ */
+enum TTouchLogicalFeedback
+    {
+    ETouchFeedbackNone = 0,
+    ETouchFeedbackBasic,
+    ETouchFeedbackSensitive,
+    // New types for S60 5.2:
+    ETouchFeedbackBasicButton = 0x100,    
+    ETouchFeedbackSensitiveButton,
+    ETouchFeedbackList,
+    ETouchFeedbackSensitiveList,
+    ETouchFeedbackBoundaryList,    
+    ETouchFeedbackSlider,
+    ETouchFeedbackEdit,
+    ETouchFeedbackLineSelection,
+    ETouchFeedbackBlankSelection,
+    ETouchFeedbackTextSelection,
+    ETouchFeedbackEmptyLineSelection,
+    ETouchFeedbackTab,
+    ETouchFeedbackPopUp,
+    ETouchFeedbackIncreasingPopUp,
+    ETouchFeedbackDecreasingPopUp,
+    ETouchFeedbackFlick,
+    ETouchFeedbackCheckbox,
+    ETouchFeedbackSensitiveInput,
+    ETouchFeedbackCharacterInputButton,
+    ETouchFeedbackMultiTouchRecognized
+    };
+    
+/**  
+ *  Logical feedback types for producing continuous feedback.
+ *
+ */
+enum TTouchContinuousFeedback
+    {
+    ETouchContinuousSmooth = 0x300, // For generic continuous feedback for custom controls
+    ETouchContinuousSlider,
+    ETouchContinuousInput,
+    ETouchContinuousFlick
+    };
+    
+/**  
+ *  Physical feedback types as bitmask.
+ *
+ */  
+enum TTouchFeedbackType
+    {
+    ETouchFeedbackAudio = 0x01,
+    ETouchFeedbackVibra = 0x02
+    };
+
+#endif // TOUCHLOGICALFEEDBACK_H