uifw/ganes/src/HgVgMediaWall.cpp
branchRCL_3
changeset 25 941195f2d488
parent 23 3d340a0166ff
child 38 c52421ed5f07
equal deleted inserted replaced
23:3d340a0166ff 25:941195f2d488
   385             SystemGc().BitBlt( Rect().iTl,screenshot );
   385             SystemGc().BitBlt( Rect().iTl,screenshot );
   386             delete screenshot;
   386             delete screenshot;
   387             }
   387             }
   388         else
   388         else
   389             {
   389             {
   390             FillSystemGcWithSkin( );
   390             // draw with alpha to make a hole to composition layer
       
   391             SystemGc().SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
       
   392             SystemGc().SetBrushColor(TRgb(0,0,0,0));
       
   393             SystemGc().Clear();
       
   394             DrawOpenVG();
   391             }
   395             }
   392         }
   396         }
   393     else
   397     else
   394         {
   398         {
   395         // draw with alpha to make a hole to composition layer
   399         // draw with alpha to make a hole to composition layer
   396         SystemGc().SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
   400         SystemGc().SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
   397         SystemGc().SetBrushColor(TRgb(0,0,0,0));
   401         SystemGc().SetBrushColor(TRgb(0,0,0,0));
   398         SystemGc().Clear();
   402         SystemGc().Clear();
   399         
   403         DrawOpenVG();
   400         DrawOpenVG();        
       
   401         }
   404         }
   402     }
   405     }
   403 
   406 
   404 // -----------------------------------------------------------------------------
   407 // -----------------------------------------------------------------------------
   405 // CHgVgMediaWall::FillSystemGcWithSkin()
   408 // CHgVgMediaWall::FillSystemGcWithSkin()
   482 //
   485 //
   483 void CHgVgMediaWall::HandlePointerEventL( const TPointerEvent& aEvent )
   486 void CHgVgMediaWall::HandlePointerEventL( const TPointerEvent& aEvent )
   484     {
   487     {
   485     // Not faded and initialized and the drawing is set to be done to WinGc
   488     // Not faded and initialized and the drawing is set to be done to WinGc
   486     if( aEvent.iType == TPointerEvent::EButton1Down 
   489     if( aEvent.iType == TPointerEvent::EButton1Down 
   487             && !( iFlags & EHgVgMediaWallFaded )
       
   488             && !( iFlags & EHgVgMediaWallUninitialized )
   490             && !( iFlags & EHgVgMediaWallUninitialized )
   489             && iFlags & EHgVgMediaWallDrawToWindowGC )
   491             && iFlags & EHgVgMediaWallDrawToWindowGC )
   490         {
   492         {
   491         // Draw with OpenVg to our surface.
   493         // Draw with OpenVg to our surface.
   492         ClearFlags( EHgVgMediaWallDrawToWindowGC );
   494         ClearFlags( EHgVgMediaWallDrawToWindowGC );
   733 void CHgVgMediaWall::HandleKeyDown()
   735 void CHgVgMediaWall::HandleKeyDown()
   734     {
   736     {
   735     iKeyRepeats = 0;
   737     iKeyRepeats = 0;
   736     iKeyScrollingState = ENoKeyScrolling;    
   738     iKeyScrollingState = ENoKeyScrolling;    
   737     iPointerDown = EFalse;
   739     iPointerDown = EFalse;
       
   740     
       
   741     // Not faded and initialized and the drawing is set to be done to WinGc
       
   742     if( !( iFlags & EHgVgMediaWallUninitialized )
       
   743         && iFlags & EHgVgMediaWallDrawToWindowGC )
       
   744         {
       
   745         // Draw with OpenVg to our surface.
       
   746         ClearFlags( EHgVgMediaWallDrawToWindowGC );
       
   747         DrawNow();
       
   748         }
   738     }
   749     }
   739 
   750 
   740 // -----------------------------------------------------------------------------
   751 // -----------------------------------------------------------------------------
   741 // CHgVgMediaWall::HandleKeyEvent()
   752 // CHgVgMediaWall::HandleKeyEvent()
   742 // -----------------------------------------------------------------------------
   753 // -----------------------------------------------------------------------------
   852             } break;
   863             } break;
   853         case EKeyEnter:
   864         case EKeyEnter:
   854             {
   865             {
   855             if( iSelectedIndex != KErrNotFound && iSelectionObserver )
   866             if( iSelectedIndex != KErrNotFound && iSelectionObserver )
   856                 {
   867                 {
   857                 TRAP_IGNORE( StartOpeningAnimationL(ETrue ); )                
   868                 TRAP_IGNORE( DoStartOpeningAnimationL( ); )                
   858                 return EKeyWasConsumed;
   869                 return EKeyWasConsumed;
   859                 }
   870                 }
   860             return EKeyWasNotConsumed;
   871             return EKeyWasNotConsumed;
   861             }
   872             }
   862         default: 
   873         default:
       
   874             TChar key(aKeyEvent.iCode);
       
   875             SearchItem(key);
   863             break;
   876             break;
   864         }
   877         }
   865     
   878     
   866     // start key scrolling timer if enough key repeats hit
   879     // start key scrolling timer if enough key repeats hit
   867     // and we are not yet scrolling
   880     // and we are not yet scrolling
  1167                 iAnimationState = EHgVgMediaWallAnimationStateIdle;
  1180                 iAnimationState = EHgVgMediaWallAnimationStateIdle;
  1168     
  1181     
  1169             iAnimationTimer->Cancel();
  1182             iAnimationTimer->Cancel();
  1170             }
  1183             }
  1171     
  1184     
  1172         SetFlags( EHgVgMediaWallDrawToWindowGC | EHgVgMediaWallFaded );
  1185         SetFlags( EHgVgMediaWallDrawToWindowGC  );
  1173         DrawNow();
  1186         DrawNow();
  1174         }
  1187         }
  1175     
  1188     
  1176     if( aType == KEikMessageUnfadeWindows )
  1189     if( aType == KEikMessageUnfadeWindows )
  1177         {
  1190         {
  1178         ClearFlags( EHgVgMediaWallDrawToWindowGC | EHgVgMediaWallFaded );
  1191         ClearFlags( EHgVgMediaWallDrawToWindowGC );
  1179         DrawNow();
  1192         DrawNow();
  1180         }
  1193         }
  1181 
  1194 
  1182     if( aType == KEikDynamicLayoutVariantSwitch && !(iFlags & EHgVgMediaWallDrawToWindowGC) )
  1195     if( aType == KEikDynamicLayoutVariantSwitch && !(iFlags & EHgVgMediaWallDrawToWindowGC) )
  1183         {
  1196         {
  2210         iSelectionMode = ETrue;
  2223         iSelectionMode = ETrue;
  2211         TInt x = aIndex / iRowCount;
  2224         TInt x = aIndex / iRowCount;
  2212         TInt y = aIndex % iRowCount;
  2225         TInt y = aIndex % iRowCount;
  2213         StartAnimationToPosition(x, y, ETrue);
  2226         StartAnimationToPosition(x, y, ETrue);
  2214         }
  2227         }
       
  2228     else if (aIndex >= 0 && aIndex < iItems.Count())
       
  2229         {
       
  2230         StartAnimationToPosition(aIndex, 0, ETrue);
       
  2231         }
  2215     return ETrue;
  2232     return ETrue;
  2216     }
  2233     }
  2217 
  2234 
  2218 // ---------------------------------------------------------------------------
  2235 // ---------------------------------------------------------------------------
  2219 // CHgVgMediaWall::EndSelection()
  2236 // CHgVgMediaWall::EndSelection()
  2585             } break;
  2602             } break;
  2586         }
  2603         }
  2587     }
  2604     }
  2588 
  2605 
  2589 
  2606 
       
  2607 TBool CHgVgMediaWall::SearchItem( TChar& aFirstLetter )
       
  2608     {
       
  2609 
       
  2610     TInt searchStartIndex = iSelectedIndex+1;
       
  2611     
       
  2612     // From selected to end
       
  2613     for(TInt i = searchStartIndex; i < iItems.Count(); ++i)
       
  2614         {
       
  2615         if(iItems[i]->Title().Length() > 0 )
       
  2616             {
       
  2617             TChar compare( iItems[i]->Title()[0] );
       
  2618             compare.UpperCase();
       
  2619             aFirstLetter.UpperCase();
       
  2620             
       
  2621             if(compare - aFirstLetter == 0)
       
  2622                 {
       
  2623                 iSelectedIndex = i;
       
  2624                 StartAnimationToPosition(iSelectedIndex, ETrue);
       
  2625                 return ETrue;
       
  2626                 }
       
  2627             }
       
  2628         }
       
  2629 
       
  2630     // From beginning to selected - 1
       
  2631     for(TInt i = 0; i < iSelectedIndex; ++i)
       
  2632         {
       
  2633         if(iItems[i]->Title().Length() > 0 )
       
  2634             {
       
  2635             TChar compare( iItems[i]->Title()[0] );
       
  2636             compare.UpperCase();
       
  2637             aFirstLetter.UpperCase();
       
  2638             
       
  2639             if(compare - aFirstLetter == 0)
       
  2640                 {
       
  2641                 iSelectedIndex = i;
       
  2642                 StartAnimationToPosition(iSelectedIndex, ETrue);
       
  2643                 return ETrue;
       
  2644                 }
       
  2645             }
       
  2646         }
       
  2647     
       
  2648     return EFalse;
       
  2649     }
       
  2650 
  2590 // End of File
  2651 // End of File