webengine/webkitutils/ToolBar/ToolBarButton.cpp
changeset 13 10e98eab6f85
parent 0 dd21522fd290
child 36 0ed94ceaa377
equal deleted inserted replaced
8:7c90e6132015 13:10e98eab6f85
   841             }
   841             }
   842 
   842 
   843         TRect boundingRect(TPoint(0,0),TSize(w,h));
   843         TRect boundingRect(TPoint(0,0),TSize(w,h));
   844 
   844 
   845         //mask
   845         //mask
   846         iToolTipMask = new (ELeave) CFbsBitmap;
   846         TRAP( err, 
   847         User::LeaveIfError( iToolTipMask->Create( TSize(w,h), EColor16MA ) );
   847             {
   848         iToolTipMaskDevice = CFbsBitmapDevice::NewL( iToolTipMask );
   848             iToolTipMask = new (ELeave) CFbsBitmap;
   849         User::LeaveIfError( iToolTipMaskDevice->CreateContext( iToolTipMaskContext ) );
   849             if(KErrNone == iToolTipMask->Create( TSize(w,h), EColor16MA ))
   850         iToolTipMaskContext->SetPenColor(KRgbBlack);
   850                 {
   851         iToolTipMaskContext->SetBrushColor(KRgbBlack);
   851                 iToolTipMaskDevice = CFbsBitmapDevice::NewL( iToolTipMask );
   852         iToolTipMaskContext->SetBrushStyle(CGraphicsContext::ESolidBrush);
   852                 User::LeaveIfError( iToolTipMaskDevice->CreateContext( iToolTipMaskContext ) );
   853         iToolTipMaskContext->SetPenStyle(CGraphicsContext::ESolidPen);
   853                 }
   854         iToolTipMaskContext->DrawRoundRect(boundingRect,TSize(4,4));
   854             }
   855 
   855         );
   856         //bitmap
   856         if( KErrNone != err)
   857         iToolTipBitmap = new (ELeave) CFbsBitmap;
   857             {
   858         User::LeaveIfError( iToolTipBitmap->Create( TSize(w,h), EColor16MA ) );
   858             delete iToolTipMask;
   859         iToolTipBitmapDevice = CFbsBitmapDevice::NewL( iToolTipBitmap );
   859             iToolTipMask = NULL;
   860         User::LeaveIfError( iToolTipBitmapDevice->CreateContext( iToolTipBitmapContext ) );
   860             delete iToolTipMaskDevice;
   861         iToolTipBitmapContext->SetPenColor(KRgbBlack);
   861             iToolTipMaskDevice = NULL;
   862         iToolTipBitmapContext->SetBrushColor(TRgb(0xfa,0xfa,0xd2));
   862             }
   863         iToolTipBitmapContext->SetBrushStyle(CGraphicsContext::ESolidBrush);
   863         else
   864         iToolTipBitmapContext->SetPenStyle(CGraphicsContext::ESolidPen);
   864             {
   865         iToolTipBitmapContext->DrawRoundRect(boundingRect,TSize(4,4));
   865             iToolTipMaskContext->SetPenColor(KRgbBlack);
   866 
   866             iToolTipMaskContext->SetBrushColor(KRgbBlack);
   867         //add text
   867             iToolTipMaskContext->SetBrushStyle(CGraphicsContext::ESolidBrush);
   868         iToolTipBitmapContext->SetPenColor(KRgbBlack);
   868             iToolTipMaskContext->SetPenStyle(CGraphicsContext::ESolidPen);
   869         iToolTipBitmapContext->SetBrushStyle(CGraphicsContext::ENullBrush);
   869             iToolTipMaskContext->DrawRoundRect(boundingRect,TSize(4,4));
   870 
   870 
   871         iToolTipBitmapContext->UseFont(myFont);
   871             //bitmap
   872         TPoint pt = boundingRect.iTl;
   872             TRAP( err,
   873         pt += TPoint(KToolTipBorder + KTextMargin,KToolTipBorder + KTextMargin);
   873                 {
   874         iToolTipBitmapContext->DrawText(*visualText,
   874                 iToolTipBitmap = new (ELeave) CFbsBitmap;
       
   875                 if( KErrNone == iToolTipBitmap->Create( TSize(w,h), EColor16MA ))
       
   876                     {
       
   877                     iToolTipBitmapDevice = CFbsBitmapDevice::NewL( iToolTipBitmap );
       
   878                     User::LeaveIfError( iToolTipBitmapDevice->CreateContext( iToolTipBitmapContext ) );
       
   879                     }
       
   880                 }
       
   881             );
       
   882             if( KErrNone != err )
       
   883                 {
       
   884                 delete iToolTipBitmap;
       
   885                 iToolTipBitmap = NULL;
       
   886                 delete iToolTipBitmapDevice;
       
   887                 iToolTipBitmapDevice = NULL;
       
   888                 }
       
   889             else
       
   890                 {
       
   891                 iToolTipBitmapContext->SetPenColor(KRgbBlack);
       
   892                 iToolTipBitmapContext->SetBrushColor(TRgb(0xfa,0xfa,0xd2));
       
   893                 iToolTipBitmapContext->SetBrushStyle(CGraphicsContext::ESolidBrush);
       
   894                 iToolTipBitmapContext->SetPenStyle(CGraphicsContext::ESolidPen);
       
   895                 iToolTipBitmapContext->DrawRoundRect(boundingRect,TSize(4,4));
       
   896 
       
   897                 //add text
       
   898                 iToolTipBitmapContext->SetPenColor(KRgbBlack);
       
   899                 iToolTipBitmapContext->SetBrushStyle(CGraphicsContext::ENullBrush);
       
   900 
       
   901                 iToolTipBitmapContext->UseFont(myFont);
       
   902                 TPoint pt = boundingRect.iTl;
       
   903                 pt += TPoint(KToolTipBorder + KTextMargin,KToolTipBorder + KTextMargin);
       
   904                 iToolTipBitmapContext->DrawText(*visualText,
   875                     TPoint(pt.iX,pt.iY + myFont->AscentInPixels()));
   905                     TPoint(pt.iX,pt.iY + myFont->AscentInPixels()));
   876         iToolTipBitmapContext->DiscardFont();
   906                 iToolTipBitmapContext->DiscardFont();
   877 
   907 
   878         CCoeControl& view = iParent->ToolBarCallback().View();
   908                 CCoeControl& view = iParent->ToolBarCallback().View();
   879 
   909 
   880         iToolTipSprite = RWsSprite(view.ControlEnv()->WsSession());
   910                 iToolTipSprite = RWsSprite(view.ControlEnv()->WsSession());
   881         RWindowTreeNode *window =  (RDrawableWindow* )iParent->ToolBarCallback().CCoeControlParent().DrawableWindow();
   911                 RWindowTreeNode *window =  (RDrawableWindow* )iParent->ToolBarCallback().CCoeControlParent().DrawableWindow();
   882         iToolTipSprite.Construct(*window,p, ESpriteNoChildClip);
   912                 iToolTipSprite.Construct(*window,p, ESpriteNoChildClip);
   883 
   913 
   884         TSpriteMember spriteMem;
   914                 TSpriteMember spriteMem;
   885         spriteMem.iBitmap = iToolTipBitmap;
   915                 spriteMem.iBitmap = iToolTipBitmap;
   886         spriteMem.iMaskBitmap = iToolTipMask;
   916                 spriteMem.iMaskBitmap = iToolTipMask;
   887         spriteMem.iInvertMask = ETrue;
   917                 spriteMem.iInvertMask = ETrue;
   888 
   918 
   889         iToolTipSprite.AppendMember(spriteMem);
   919                 iToolTipSprite.AppendMember(spriteMem);
   890         iToolTipSprite.Activate();
   920                 iToolTipSprite.Activate();
   891         delete visualText;//visual text
   921                 delete visualText;//visual text
   892 
   922                 }
       
   923             }
   893         }
   924         }
   894     else  // aVisible = false
   925     else  // aVisible = false
   895         {
   926         {
   896         iToolTipSprite.Close();
   927         iToolTipSprite.Close();
   897         }
   928         }