equal
deleted
inserted
replaced
1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
123 for(group=(aForceInGroup ? aForceInGroup:Child());group!=NULL;group=group->NextSibling()) |
123 for(group=(aForceInGroup ? aForceInGroup:Child());group!=NULL;group=group->NextSibling()) |
124 { |
124 { |
125 CWsClientWindow *win=group->Child(); |
125 CWsClientWindow *win=group->Child(); |
126 while(win!=NULL) |
126 while(win!=NULL) |
127 { |
127 { |
128 const TRegion *baseArea=win->BaseArea(); |
128 |
129 if (win->IsVisible() && baseArea->Contains(aInPos)) |
129 if (win->IsVisible() && win->PointerHit(aInPos)) |
130 { |
130 { |
131 aOriginalWinItIsIn=win; |
131 aOriginalWinItIsIn=win; |
132 winItIsInGroup=group; |
132 winItIsInGroup=group; |
133 win=win->Child(); |
133 win=win->Child(); |
134 } |
134 } |
150 for(group=(aForceInGroup ? aForceInGroup:Child());group!=NULL;group=group->NextSibling()) |
150 for(group=(aForceInGroup ? aForceInGroup:Child());group!=NULL;group=group->NextSibling()) |
151 { |
151 { |
152 CWsClientWindow *win=group->Child(); |
152 CWsClientWindow *win=group->Child(); |
153 while(win!=NULL) |
153 while(win!=NULL) |
154 { |
154 { |
155 const TRegion *baseArea=win->BaseArea(); |
|
156 const TBool underTheSameGroup=winItIsInGroup==group; |
155 const TBool underTheSameGroup=winItIsInGroup==group; |
157 if (win->IsVisible() && |
156 if (win->IsVisible() && |
158 ((win->iFlags&EFlagPointerCaptured && |
157 ((win->iFlags&EFlagPointerCaptured && |
159 ((!underTheSameGroup && win->iFlags&EFlagPointerCaptureAllGroups) || |
158 ((!underTheSameGroup && win->iFlags&EFlagPointerCaptureAllGroups) || |
160 (winItIsInGroup==NULL && group==CWsTop::FocusWindowGroup()) || |
159 (winItIsInGroup==NULL && group==CWsTop::FocusWindowGroup()) || |
161 (underTheSameGroup && win->iPointerCapturePriority>=aOriginalWinItIsIn->iPointerCapturePriority))) |
160 (underTheSameGroup && win->iPointerCapturePriority>=aOriginalWinItIsIn->iPointerCapturePriority))) |
162 || baseArea->Contains(aInPos))) |
161 || win->PointerHit(aInPos))) |
163 { |
162 { |
164 winItIsIn=win; |
163 winItIsIn=win; |
165 win=win->Child(); |
164 win=win->Child(); |
166 } |
165 } |
167 else |
166 else |