204 // |
207 // |
205 void CMPXVideoPlaybackVolumeBar::SetLayout() |
208 void CMPXVideoPlaybackVolumeBar::SetLayout() |
206 { |
209 { |
207 MPX_DEBUG(_L("CMPXVideoPlaybackVolumeBar::SetLayout()")); |
210 MPX_DEBUG(_L("CMPXVideoPlaybackVolumeBar::SetLayout()")); |
208 |
211 |
209 // |
212 TAknLayoutRect tmpLayoutRect; |
210 // Calculate icon rects |
213 |
211 // |
214 iRect = TRect( 0, 0, iRect.Width(), iRect.Height() ); |
212 iRect = TRect(0, 0, iRect.Width(), iRect.Height() ); |
215 |
213 TInt volumeUpDownIndicatorSize = iRect.Width() / 3; |
216 tmpLayoutRect.LayoutRect( iRect, bg_popup_window_pane_cp19( 9 ).LayoutLine() ); |
214 |
217 iVolumeControlRect = tmpLayoutRect.Rect(); |
215 iVolumeControlRect = TRect( volumeUpDownIndicatorSize, |
218 |
216 iRect.iTl.iY, |
219 |
217 iRect.iBr.iX, |
220 tmpLayoutRect.LayoutRect( iRect, aid_touch_area_slider( 6 ).LayoutLine() ); |
218 iRect.iTl.iY + iRect.Height() * 4 / 5 ); |
221 iVolumeBarRect = tmpLayoutRect.Rect(); |
219 |
222 |
220 iVolumeBarRect = TRect( iVolumeControlRect.iTl.iX + iVolumeControlRect.Width() / 3, |
223 tmpLayoutRect.LayoutRect( iRect, slider_pane( 6 ).LayoutLine() ); |
221 iVolumeControlRect.iTl.iY + iVolumeControlRect.Height() / 20, |
224 TRect sliderBarRect( tmpLayoutRect.Rect() ); |
222 iVolumeControlRect.iTl.iX + iVolumeControlRect.Width() / 3 * 2, |
225 TInt volumeBarEndHeight = sliderBarRect.Height() / 10; |
223 iVolumeControlRect.iTl.iY + iVolumeControlRect.Height() ); |
226 iVolumeBarRectTop = TRect( sliderBarRect.iTl.iX, |
224 |
227 sliderBarRect.iTl.iY, |
225 iVolumeBarRectTop = TRect( iRect.Width() / 2 - KMPXVolumeBarWidth / 2 , |
228 sliderBarRect.iBr.iX, |
226 iVolumeBarRect.iTl.iY, |
229 sliderBarRect.iTl.iY + volumeBarEndHeight ); |
227 iRect.Width() / 2 + KMPXVolumeBarWidth / 2, |
230 |
228 iVolumeBarRect.iTl.iY + iVolumeBarRect.Height() / 10 ); |
231 iVolumeBarRectBottom = TRect( sliderBarRect.iTl.iX, |
|
232 sliderBarRect.iBr.iY - volumeBarEndHeight, |
|
233 sliderBarRect.iBr.iX, |
|
234 sliderBarRect.iBr.iY ); |
229 |
235 |
230 iVolumeBarRectMiddle = TRect( iVolumeBarRectTop.iTl.iX, |
236 iVolumeBarRectMiddle = TRect( iVolumeBarRectTop.iTl.iX, |
231 iVolumeBarRectTop.iBr.iY, |
237 iVolumeBarRectTop.iBr.iY, |
232 iVolumeBarRectTop.iBr.iX, |
238 iVolumeBarRectTop.iBr.iX, |
233 iVolumeBarRectTop.iBr.iY + iVolumeBarRectTop.Height() * 8 ); |
239 iVolumeBarRectBottom.iTl.iY ); |
234 |
240 |
235 iVolumeBarRectBottom = TRect( iVolumeBarRectTop.iTl.iX, |
241 TInt volumeBarMiddleX = sliderBarRect.iTl.iX + sliderBarRect.Width() / 2; |
236 iVolumeBarRectMiddle.iBr.iY, |
242 iSliderRect = TRect( volumeBarMiddleX - KMPXSliderWidth / 2, |
237 iVolumeBarRectTop.iBr.iX, |
243 sliderBarRect.iBr.iY - KMPXSliderHeight, |
238 iVolumeBarRect.iBr.iY ); |
244 volumeBarMiddleX + KMPXSliderWidth / 2, |
239 |
245 sliderBarRect.iBr.iY ); |
240 iSliderRect = TRect( iRect.Width() / 2 - KMPXSliderWidth / 2 + 3, |
246 |
241 iVolumeBarRect.iBr.iY - KMPXSliderHeight, |
247 tmpLayoutRect.LayoutRect( iRect, aid_touch_area_increase( 6 ).LayoutLine() ); |
242 iRect.Width() / 2 + KMPXSliderWidth / 2 + 3, |
248 iVolumeUpControlRect = tmpLayoutRect.Rect(); |
243 iVolumeBarRect.iBr.iY ); |
249 |
244 |
250 tmpLayoutRect.LayoutRect( iRect, aid_touch_area_decrease( 6 ).LayoutLine() ); |
245 iVolumeUpControlRect = TRect( iRect.iTl, |
251 iVolumeDownControlRect = tmpLayoutRect.Rect(); |
246 TSize( volumeUpDownIndicatorSize, |
252 |
247 iVolumeControlRect.Height() / 2 ) ); |
253 tmpLayoutRect.LayoutRect( iRect, popup_slider_window_g4( 6 ).LayoutLine() ); |
248 |
254 iVolumeUpRect = tmpLayoutRect.Rect(); |
249 iVolumeDownControlRect = TRect( TPoint ( iRect.iTl.iX, iVolumeControlRect.Height() / 2 ), |
255 |
250 iVolumeUpControlRect.Size() ); |
256 tmpLayoutRect.LayoutRect( iRect, popup_slider_window_g5( 6 ).LayoutLine() ); |
251 |
257 iVolumeDownRect = tmpLayoutRect.Rect(); |
252 iVolumeUpRect = TRect( iVolumeUpControlRect.iTl.iX + 2, |
258 |
253 iVolumeUpControlRect.iTl.iY + 8, |
259 tmpLayoutRect.LayoutRect( iRect, aid_touch_area_mute( 4 ).LayoutLine() ); |
254 iVolumeUpControlRect.iBr.iX + 2, |
260 iSpeakerControlRect = tmpLayoutRect.Rect(); |
255 iVolumeUpControlRect.iTl.iY + volumeUpDownIndicatorSize ); |
261 |
256 |
262 tmpLayoutRect.LayoutRect( iRect, popup_slider_window_g6( 2 ).LayoutLine() ); |
257 iVolumeDownRect = TRect( iVolumeUpRect.iTl.iX, |
263 iSpeakerRect = tmpLayoutRect.Rect(); |
258 iVolumeDownControlRect.iBr.iY - volumeUpDownIndicatorSize, |
|
259 iVolumeUpRect.iBr.iX, |
|
260 iVolumeDownControlRect.iBr.iY ); |
|
261 |
|
262 iSpeakerControlRect = TRect( TPoint( iRect.iTl.iX, iVolumeControlRect.iBr.iY ), |
|
263 iRect.iBr ); |
|
264 |
|
265 iSpeakerRect = TRect( iSpeakerControlRect.iTl.iX + iSpeakerControlRect.Width() / 5, |
|
266 iSpeakerControlRect.iTl.iY + iSpeakerControlRect.Height() / 5, |
|
267 iSpeakerControlRect.iBr.iX - iSpeakerControlRect.Width() / 5, |
|
268 iSpeakerControlRect.iBr.iY - iSpeakerControlRect.Height() / 5 ); |
|
269 |
264 |
270 iOneVolumeIncrementHeight = (TReal)( iVolumeBarRect.Height() - KMPXSliderHeight ) |
265 iOneVolumeIncrementHeight = (TReal)( iVolumeBarRect.Height() - KMPXSliderHeight ) |
271 / (TReal)KPbPlaybackVolumeLevelMax; |
266 / (TReal)KPbPlaybackVolumeLevelMax; |
272 } |
267 } |
273 |
268 |
443 EMbmMpxvideoplaybackcontrolsQgn_graf_nslider_vertical_bottom_mask ); |
438 EMbmMpxvideoplaybackcontrolsQgn_graf_nslider_vertical_bottom_mask ); |
444 |
439 |
445 if ( iVolumeFrameIconBottom ) |
440 if ( iVolumeFrameIconBottom ) |
446 { |
441 { |
447 AknIconUtils::SetSize( iVolumeFrameIconBottom->Bitmap(), |
442 AknIconUtils::SetSize( iVolumeFrameIconBottom->Bitmap(), |
448 TSize( KMPXVolumeBarWidth, iVolumeBarRectBottom.Height() ), |
443 TSize( iVolumeBarRectBottom.Width(), iVolumeBarRectBottom.Height() ), |
449 EAspectRatioNotPreserved ); |
444 EAspectRatioNotPreserved ); |
|
445 } |
|
446 |
|
447 // Calculate the X coordinate to center the icon of sliderbar |
|
448 TRect volumeBarRectPart; |
|
449 CGulIcon* volumeFrameIconPart = NULL; |
|
450 if ( iVolumeFrameIconTop ) |
|
451 { |
|
452 volumeFrameIconPart = iVolumeFrameIconTop; |
|
453 volumeBarRectPart = iVolumeBarRectTop; |
|
454 } |
|
455 else if ( iVolumeFrameIconMiddle ) |
|
456 { |
|
457 volumeFrameIconPart = iVolumeFrameIconMiddle; |
|
458 volumeBarRectPart = iVolumeBarRectMiddle; |
|
459 } |
|
460 else if ( iVolumeFrameIconBottom ) |
|
461 { |
|
462 volumeFrameIconPart = iVolumeFrameIconBottom; |
|
463 volumeBarRectPart = iVolumeBarRectBottom; |
|
464 } |
|
465 |
|
466 if ( volumeFrameIconPart ) |
|
467 { |
|
468 iCenteredSliderbarIconX = volumeBarRectPart.iTl.iX + |
|
469 ( volumeBarRectPart.Width() - |
|
470 volumeFrameIconPart->Bitmap()->SizeInPixels().iWidth ) / 2; |
450 } |
471 } |
451 } |
472 } |
452 |
473 |
453 // ------------------------------------------------------------------------------------------------- |
474 // ------------------------------------------------------------------------------------------------- |
454 // CMPXVideoPlaybackVolumeBar::HandleVolumeIncreaseL |
475 // CMPXVideoPlaybackVolumeBar::HandleVolumeIncreaseL |
885 TRect(iVolumeDownRect.Size()), |
906 TRect(iVolumeDownRect.Size()), |
886 iVolumeDownIcon->Mask(), |
907 iVolumeDownIcon->Mask(), |
887 ETrue ); |
908 ETrue ); |
888 } |
909 } |
889 |
910 |
|
911 TPoint srcPoint( iCenteredSliderbarIconX, 0 ); |
890 if ( iVolumeFrameIconTop ) |
912 if ( iVolumeFrameIconTop ) |
891 { |
913 { |
892 gc.BitBltMasked( iVolumeBarRectTop.iTl, |
914 srcPoint.iY = iVolumeBarRectTop.iTl.iY; |
|
915 gc.BitBltMasked( srcPoint, |
893 iVolumeFrameIconTop->Bitmap(), |
916 iVolumeFrameIconTop->Bitmap(), |
894 TRect(iVolumeBarRectTop.Size()), |
917 TRect(iVolumeBarRectTop.Size()), |
895 iVolumeFrameIconTop->Mask(), |
918 iVolumeFrameIconTop->Mask(), |
896 ETrue ); |
919 ETrue ); |
897 } |
920 } |
898 |
921 |
899 if ( iVolumeFrameIconMiddle ) |
922 if ( iVolumeFrameIconMiddle ) |
900 { |
923 { |
901 gc.BitBltMasked( iVolumeBarRectMiddle.iTl, |
924 srcPoint.iY = iVolumeBarRectMiddle.iTl.iY; |
|
925 gc.BitBltMasked( srcPoint, |
902 iVolumeFrameIconMiddle->Bitmap(), |
926 iVolumeFrameIconMiddle->Bitmap(), |
903 TRect(iVolumeBarRectMiddle.Size()), |
927 TRect(iVolumeBarRectMiddle.Size()), |
904 iVolumeFrameIconMiddle->Mask(), |
928 iVolumeFrameIconMiddle->Mask(), |
905 ETrue ); |
929 ETrue ); |
906 } |
930 } |
907 |
931 |
908 if ( iVolumeFrameIconBottom ) |
932 if ( iVolumeFrameIconBottom ) |
909 { |
933 { |
910 gc.BitBltMasked( iVolumeBarRectBottom.iTl, |
934 srcPoint.iY = iVolumeBarRectBottom.iTl.iY; |
|
935 gc.BitBltMasked( srcPoint, |
911 iVolumeFrameIconBottom->Bitmap(), |
936 iVolumeFrameIconBottom->Bitmap(), |
912 TRect(iVolumeBarRectBottom.Size()), |
937 TRect(iVolumeBarRectBottom.Size()), |
913 iVolumeFrameIconBottom->Mask(), |
938 iVolumeFrameIconBottom->Mask(), |
914 ETrue ); |
939 ETrue ); |
915 } |
940 } |