src/hbcore/feedback/hbfeedbacknamespace.cpp
changeset 21 4633027730f5
parent 2 06ff229162e9
child 23 e6ad4ef83b23
equal deleted inserted replaced
7:923ff622b8b9 21:4633027730f5
    26 #include <hbfeedbacknamespace.h>
    26 #include <hbfeedbacknamespace.h>
    27 
    27 
    28 /*!
    28 /*!
    29     @hbcore
    29     @hbcore
    30     \namespace HbFeedback
    30     \namespace HbFeedback
    31     \brief The HbFeedback namespace contains the feedback effects supported by the current haptic frawework.
    31     \brief The HbFeedback namespace defines the feedback effects supported
       
    32     by the current feedback framework.
       
    33     
       
    34     As a widget developer, you may want to give feedback to the user
       
    35     corresponding to how the user interacts with the device. Feedback can
       
    36     be given using different modalities supported on the device, such as
       
    37     tactile, audio, or visual. Tactile feedback is feedback that is 'felt'
       
    38     by the user, for example vibration of the device. Extra visual feedback,
       
    39     in addition to the user interface changes on the screen, can be flashing
       
    40     the screen or switching extra lights on the device on or off. The feedback
       
    41     mechanism of the device can be further extended by implementing other
       
    42     modality plug-ins (see HbFeedbackEffectPlugin).
       
    43     
    32 */
    44 */
    33 
    45 
    34 /*!
    46 /*!
    35     \enum HbFeedback::Type
    47     \enum HbFeedback::Type
    36     The supported feedback types.
    48     The supported feedback types.
    47 */
    59 */
    48 
    60 
    49 /*!
    61 /*!
    50     \enum HbFeedback::InstantEffect
    62     \enum HbFeedback::InstantEffect
    51 
    63 
    52     Instant feedback is fire&forget type of feedback which initiates a short haptic and/or sound 
    64     Instant feedback is a fire-and-forget type of feedback which initiates a short
    53     feedback effect. Each enumeration value corresponds to a certain instant feedback effect.
    65     tactile and/or sound feedback effect. Each enumeration value corresponds
       
    66     to a certain instant feedback effect.
       
    67     
       
    68     For many standard instant effects, there is both a 'basic' and 'sensitive'
       
    69     version. The sensitive feedback effect is for situations where the triggering
       
    70     action is not important, or where there can be a large number of feedback
       
    71     instances within a short time. An example of a less important touch event is
       
    72     when the focus is changed in a list, while an example of a situation where
       
    73     lots of events could be triggered is when the device user selects text and
       
    74     feedback is given for every character selected.
    54 
    75 
    55     \sa HbInstantFeedback
    76     \sa HbInstantFeedback
    56 */
    77 */
    57 
    78 
       
    79 /*! 
       
    80     \var HbFeedback::InstantEffect HbFeedback::None
       
    81     No valid instant effect defined.
       
    82 */
       
    83 
       
    84 /*! 
       
    85     \var HbFeedback::InstantEffect HbFeedback::Basic
       
    86     Basic generic instant feedback for custom widget interaction.
       
    87 */
       
    88 
       
    89 /*! 
       
    90     \var HbFeedback::InstantEffect HbFeedback::Sensitive
       
    91     Sensitive generic instant feedback for custom widget interaction.
       
    92 */
       
    93 
       
    94 /*! 
       
    95     \var HbFeedback::InstantEffect HbFeedback::BasicButton
       
    96     Basic instant feedback for button interaction.
       
    97 */
       
    98 
       
    99 /*! 
       
   100     \var HbFeedback::InstantEffect HbFeedback::SensitiveButton
       
   101     Sensitive instant feedback for button interaction.
       
   102 */
       
   103 
       
   104 /*! 
       
   105     \var HbFeedback::InstantEffect HbFeedback::BasicKeypad
       
   106     Basic instant feedback for keypad interaction.
       
   107 */
       
   108 
       
   109 /*! 
       
   110     \var HbFeedback::InstantEffect HbFeedback::SensitiveKeypad
       
   111     Sensitive instant feedback for keypad interaction.
       
   112 */
       
   113 
       
   114 /*! 
       
   115     \var HbFeedback::InstantEffect HbFeedback::BasicSlider
       
   116     Basic instant feedback for moving the slider.
       
   117 */
       
   118 
       
   119 /*! 
       
   120     \var HbFeedback::InstantEffect HbFeedback::SensitiveSlider
       
   121     Sensitive instant feedback for moving the slider.
       
   122 */
       
   123 
       
   124 /*! 
       
   125     \var HbFeedback::InstantEffect HbFeedback::BasicItem
       
   126     Basic instant feedback for interacting with an item view item
       
   127     (for example, a list or grid view item).
       
   128 */
       
   129 
       
   130 /*! 
       
   131     \var HbFeedback::InstantEffect HbFeedback::SensitiveItem
       
   132     Sensitive instant feedback for interacting with an item view item
       
   133     (for example, a list or grid view item).
       
   134 */
       
   135 
       
   136 /*! 
       
   137     \var HbFeedback::InstantEffect HbFeedback::ItemScroll
       
   138     Instant feedback for scrolling an item view.
       
   139 */
       
   140 
       
   141 /*! 
       
   142     \var HbFeedback::InstantEffect HbFeedback::ItemPick
       
   143     Instant feedback for picking an item in an arrange mode.
       
   144 */
       
   145 
       
   146 /*! 
       
   147     \var HbFeedback::InstantEffect HbFeedback::ItemDrop
       
   148     Instant feedback for dropping an item in an arrange mode.
       
   149 */
       
   150 
       
   151 /*! 
       
   152     \var HbFeedback::InstantEffect HbFeedback::ItemMoveOver
       
   153     Instant feedback for moving an item in an arrange mode.
       
   154 */
       
   155 
       
   156 /*! 
       
   157     \var HbFeedback::InstantEffect HbFeedback::BounceEffect
       
   158     Instant feedback for a bounce effect.
       
   159 */
       
   160 
       
   161 /*! 
       
   162     \var HbFeedback::InstantEffect HbFeedback::Checkbox
       
   163     Instant feedback for selecting a checkbox item.
       
   164 */
       
   165 
       
   166 /*! 
       
   167     \var HbFeedback::InstantEffect HbFeedback::MultipleCheckbox
       
   168     Instant feedback for selecting multiple checkbox items.
       
   169 */
       
   170 
       
   171 /*! 
       
   172     \var HbFeedback::InstantEffect HbFeedback::Editor
       
   173     Instant feedback for generic editor interaction, for example
       
   174     when the editor gets focus.
       
   175 */
       
   176 
       
   177 /*! 
       
   178     \var HbFeedback::InstantEffect HbFeedback::TextSelection
       
   179     Instant feedback for selecting text.
       
   180 */
       
   181 
       
   182 /*! 
       
   183     \var HbFeedback::InstantEffect HbFeedback::BlankSelection
       
   184     Instant feedback for a blank selection.
       
   185 */
       
   186 
       
   187 /*! 
       
   188     \var HbFeedback::InstantEffect HbFeedback::LineSelection
       
   189     Instant feedback for selecting a line.
       
   190 */
       
   191 
       
   192 /*! 
       
   193     \var HbFeedback::InstantEffect HbFeedback::EmptyLineSelection
       
   194     Instant feedback for selecting an empty line.
       
   195 */
       
   196 
       
   197 /*! 
       
   198     \var HbFeedback::InstantEffect HbFeedback::PopUp
       
   199     Instant feedback for a generic popup interaction.
       
   200 */
       
   201 
       
   202 /*! 
       
   203     \var HbFeedback::InstantEffect HbFeedback::PopupOpen
       
   204     Instant feedback for opening a popup.
       
   205 */
       
   206 
       
   207 /*! 
       
   208     \var HbFeedback::InstantEffect HbFeedback::PopupClose
       
   209     Instant feedback for closing a popup.
       
   210 */
       
   211 
       
   212 /*! 
       
   213     \var HbFeedback::InstantEffect HbFeedback::Flick
       
   214     Instant feedback at the start of a flick (swipe) gesture.
       
   215 */
       
   216 
       
   217 /*! 
       
   218     \var HbFeedback::InstantEffect HbFeedback::StopFlick
       
   219     Instant feedback when the user stops a flick (swipe) gesture
       
   220     by tapping the scroll item view.
       
   221 */
       
   222 
       
   223 /*! 
       
   224     \var HbFeedback::InstantEffect HbFeedback::MultitouchActivate
       
   225     Instant feedback when a touch gesture with more than one finger is activated:
       
   226     a second touch point is detected and a pinch gesture (for example zooming)
       
   227     is likely to follow.
       
   228 */
       
   229 
       
   230 /*! 
       
   231     \var HbFeedback::InstantEffect HbFeedback::RotateStep
       
   232     Instant feedback for a rotation step.
       
   233 */
       
   234 
       
   235 /*! 
       
   236     \var HbFeedback::InstantEffect HbFeedback::LongPress
       
   237     Instant feedback for a long press (tap-and-hold) gesture.
       
   238 */
       
   239 
       
   240 /*! 
       
   241     \var HbFeedback::InstantEffect HbFeedback::PositiveTacticon
       
   242     Instant feedback for a notification of a successful action.
       
   243 */
       
   244 
       
   245 /*! 
       
   246     \var HbFeedback::InstantEffect HbFeedback::NeutralTacticon
       
   247     Instant feedback for a notification.
       
   248 */
       
   249 
       
   250 /*! 
       
   251     \var HbFeedback::InstantEffect HbFeedback::NegativeTacticon
       
   252     Instant feedback for a notification of a failed action.
       
   253 */
       
   254 
       
   255 /*! 
       
   256     \var HbFeedback::InstantEffect HbFeedback::NumberOfInstantFeedbacks
       
   257     Used by the internal framework to keep track of the number of
       
   258     standard instant effects.
       
   259 */
       
   260 
       
   261 /*! 
       
   262     \var HbFeedback::InstantEffect HbFeedback::InstantUser
       
   263     Start value for the range of custom instant effects.
       
   264 */
       
   265 
       
   266 /*! 
       
   267     \var HbFeedback::InstantEffect HbFeedback::InstantMaxUser
       
   268     End value for the range of custom instant effects.
       
   269 */
       
   270 
    58 /*!
   271 /*!
    59     \enum HbFeedback::ContinuousEffect
   272     \enum HbFeedback::ContinuousEffect
    60 
   273 
    61     Continuous feedback is a feedback type, which has to be explicitly started, updated and
   274     Continuous feedback is a feedback type that you can use to provide
    62     stopped by the framework and is used to provide ongoing feedback in situations in which
   275     ongoing feedback in situations where the user is performing some
    63     the user is performing some longer duration touch interaction, e.g. dragging slider handle
   276     longer duration touch interaction, such as dragging a slider handle
    64     to change the slider value. Continuous feedback intensity can be updated during the playback 
   277     to change the slider value. You need to explicitly start and stop
    65     between values 0 and 100.
   278     a continuous feedback effect. You can update continuous feedback intensity
       
   279     during the playback between values 0 and 100 with HbContinuousFeedback::setIntensity().
       
   280     The feedback framework uses HbFeedback::ContinuousEffect for its
       
   281     internal purposes as well, and it will also stop any continuous feedback
       
   282     playback when a timeout occurs.
    66 
   283 
    67     \sa HbContinuousFeedback
   284     \sa HbContinuousFeedback
    68 */
   285 */
    69 
   286 
       
   287 /*! 
       
   288     \var HbFeedback::ContinuousEffect HbFeedback::ContinuousNone
       
   289     No valid continuous effect defined.
       
   290 */
       
   291 
       
   292 /*! 
       
   293     \var HbFeedback::ContinuousEffect HbFeedback::ContinuousSmooth
       
   294     Generic continuous feedback for custom widget interaction.
       
   295 */
       
   296 
       
   297 /*! 
       
   298     \var HbFeedback::ContinuousEffect HbFeedback::ContinuousSlider
       
   299     Continuous feedback for dragging the slider.
       
   300 */
       
   301 
       
   302 /*! 
       
   303     \var HbFeedback::ContinuousEffect HbFeedback::ContinuousPopup
       
   304     Continuous feedback for popup interaction.
       
   305 */
       
   306 
       
   307 /*! 
       
   308     \var HbFeedback::ContinuousEffect HbFeedback::ContinuousInput
       
   309     Continuous feedback for giving input.
       
   310 */
       
   311 
       
   312 /*! 
       
   313     \var HbFeedback::ContinuousEffect HbFeedback::ContinuousPinch
       
   314     Continuous feedback for a pinch gesture.
       
   315 */
       
   316 
       
   317 /*! 
       
   318     \var HbFeedback::ContinuousEffect HbFeedback::NumberOfContinuousFeedbacks
       
   319     Used by the internal framework to keep track of the number of
       
   320     standard continuous effects.
       
   321 */
       
   322 
       
   323 /*! 
       
   324     \var HbFeedback::ContinuousEffect HbFeedback::ContinuousUser
       
   325     Start value for the range of custom continuous effects.
       
   326 */
       
   327 
       
   328 /*! 
       
   329     \var HbFeedback::ContinuousEffect HbFeedback::ContinuousMaxUser
       
   330     End value for the range of custom continuous effects.
       
   331 */
       
   332 
       
   333 
    70 /*!
   334 /*!
    71     \enum HbFeedback::IntensityLevel
   335     \enum HbFeedback::IntensityLevel
    72 
   336 
    73     A set of predefined values for continuous feedback intensity.
   337     A set of predefined values for continuous feedback intensity.
    74 
   338 
    75     \sa HbContinuousFeedback
   339     \sa HbContinuousFeedback
       
   340 */
       
   341 
       
   342 /*! 
       
   343     \var HbFeedback::IntensityLevel HbFeedback::IntensityZero
       
   344     Minimum intensity, 0.
       
   345 */
       
   346 
       
   347 /*! 
       
   348     \var HbFeedback::IntensityLevel HbFeedback::IntensitySmooth
       
   349     Medium intensity, 50.
       
   350 */
       
   351 
       
   352 /*! 
       
   353     \var HbFeedback::IntensityLevel HbFeedback::IntensityFull
       
   354     Maximum intensity, 100.
    76 */
   355 */
    77 
   356 
    78 /*!
   357 /*!
    79     \enum HbFeedback::Modality
   358     \enum HbFeedback::Modality
    80     
   359     
    81     The available modalities for feedback effects. Effects can be played using one or several 
   360     The available modalities for feedback effects. The currently supported
    82     of the available modalities, e.g. haptic, audio.
   361     modalities are audio and tactile. Effects can be played using both
    83 
   362     modalities or only one of them.
    84     \sa HbInstantFeedback, HbContinuousFeedback
   363 
       
   364     \sa HbAbstractFeedback
       
   365 */
       
   366 
       
   367 /*! 
       
   368     \var HbFeedback::Modality HbFeedback::All
       
   369     All available modalities.
       
   370 */
       
   371 
       
   372 /*! 
       
   373     \var HbFeedback::Modality HbFeedback::Audio
       
   374     Audio modality.
       
   375 */
       
   376 
       
   377 /*! 
       
   378     \var HbFeedback::Modality HbFeedback::Tactile
       
   379     Tactile modality.
    85 */
   380 */
    86 
   381 
    87 /*!
   382 /*!
    88     HbFeedback::StandardFeedbackTimeout
   383     HbFeedback::StandardFeedbackTimeout
    89 
   384 
    90     A timeout value has to be defined for each continuous feedback to avoid situations where 
   385     A timeout value has to be defined for each continuous feedback to avoid
    91     the continuous feedback is never stopped and unintentionally continues to play indefinetly.
   386     situations where the continuous feedback is never stopped and unintentionally
       
   387     continues to play indefinitely.
    92 
   388 
    93     The recommended standard value is 300 milliseconds.
   389     The recommended standard value is 300 milliseconds.
    94 
   390 
    95     \sa HbContinuousFeedback
   391     \sa HbContinuousFeedback
    96 */
   392 */