diff -r 000000000000 -r 89d6a7a84779 Symbian3/SDK/Source/GUID-D3F52BB9-7230-499C-9BB7-CFAEDBA8F48B.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-D3F52BB9-7230-499C-9BB7-CFAEDBA8F48B.dita Thu Jan 21 18:18:20 2010 +0000 @@ -0,0 +1,43 @@ + + + + + +Managing +feedback areas +

Usually control areas (and hence feedback areas) should not overlap. However, +in some cases you may have to define a priority for the feedback areas.

+

Consider, for example, situations where a compound control has a simple +control inside its own area as illustrated in the figure below.

+ +Tactile feedback area priorities + + +

In both situations, the compound control wants to give one type of feedback, +but there should be a different type of feedback (or no feedback at all) for +the simple control. Both controls can register themselves to area registry, +but the problem is making sure that simple control has a higher priority than +the compound control (in the API implementation hit tests are only run as +long as one control with matching area and pointer event type is found).

+

You can solve this in two ways:

    +
  1. By adding the simple control +to area registry after compound control (the last added area always has the +highest priority inside its window).
  2. +
  3. By using the MoveFeedbackAreaToFirstPriority function for moving +the simple control to first priority.
  4. +

+

In many cases the first option is most natural choice, but you can also +use the second option in case the situation changes after the areas have been +already added to the area registry.

+

The priority order will only remain as long as the next area is added +to the registry, i.e. moving some area to first priority will only keep it +as the top priority area as long as the next area is added to the registry. +(Registry entries of one window are kept in a stack, and new areas are always +added on top.)

+
\ No newline at end of file