void CTestContainer::Draw(const TRect& /*aRect*/) const
	{
	switch(iBackgroundType)
		{	
	case EBackgroundBlackRedGreenYellowStripes:
		{
		const TRect rect=Rect();
		CWindowGc& gc=SystemGc();
		gc.SetPenStyle(CGraphicsContext::ENullPen);
		gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
		gc.SetBrushColor(iColor);
		TInt yOffset = rect.Height() / 4;
		TRect portionRect(rect.iTl.iX, rect.iTl.iY, rect.iBr.iX, rect.iTl.iY + yOffset);
		gc.DrawRect(portionRect);
		gc.SetBrushColor(KRgbRed);
		portionRect.iTl.iY = portionRect.iBr.iY;
		portionRect.iBr.iY += yOffset;
		gc.DrawRect(portionRect);
		gc.SetBrushColor(KRgbGreen);
		portionRect.iTl.iY = portionRect.iBr.iY;
		portionRect.iBr.iY += yOffset;
		gc.DrawRect(portionRect);
		gc.SetBrushColor(KRgbYellow);
		portionRect.iTl.iY = portionRect.iBr.iY;
		portionRect.iBr.iY = rect.iBr.iY;
		gc.DrawRect(portionRect);
		gc.SetBrushColor(KRgbWhite);
		}
		break;
	case EBackgroundYellow:
		{
		const TRect rect=Rect();
		CWindowGc& gc=SystemGc();
		gc.SetPenStyle(CGraphicsContext::ENullPen);
		gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
		gc.SetBrushColor(KRgbYellow);
		gc.DrawRect(rect);
		}
		break;
	case EBackgroundBlue:
		{
		const TRect rect=Rect();
		CWindowGc& gc=SystemGc();
		gc.SetPenStyle(CGraphicsContext::ENullPen);
		gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
		gc.SetBrushColor(KRgbBlue);
		gc.DrawRect(rect);
		}
		break;
	default:
		break;
		}
	}
Example #2
0
void CHelloControl::Draw(const TRect& /* aRect */) const
	{
	// draw surrounding rectangle
	SystemGc().DrawRect(Rect());
	// calculate rectangle to draw into
	TRect rect = Rect();
	rect.Shrink(1, 1);
	// calculate vertical centering
	CFont *font = iMessageFont;
	TInt ascent = (rect.Height() - font->HeightInPixels()) / 2
			+ font->AscentInPixels();
	// draw text in rectangle
	CWindowGc& gc = SystemGc();
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
	gc.UseFont(iMessageFont);
	switch (Phase())
		{
		case 0:
			gc.DrawText(KTxtDrawCase0, rect, ascent, CGraphicsContext::ECenter,
					0);
			break;
		case 1:
			gc.DrawText(KTxtDrawCase1, rect, ascent, CGraphicsContext::ECenter,
					0);
			break;
		case 2:
			gc.DrawText(KTxtDrawCase2, rect, ascent, CGraphicsContext::ECenter,
					0);
			break;
		case 3:
			gc.DrawText(KTxtDrawCase3, rect, ascent, CGraphicsContext::ECenter,
					0);
			break;
		case 4:
			gc.DrawText(KTxtDrawCase4, rect, ascent, CGraphicsContext::ECenter,
					0);
			break;
		case 5:
			gc.DrawText(KTxtDrawCase5, rect, ascent, CGraphicsContext::ECenter,
					0);
			break;
		case 6:
			gc.DrawText(KTxtDrawCase6, rect, ascent, CGraphicsContext::ECenter,
					0);
			break;
		default:
			break;
		};
	}
Example #3
0
/*
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
*/
void CShowString::Draw(const TRect& aRect) const
{
	CWindowGc& gc = SystemGc();
	gc.Clear(aRect);
	gc.DrawRect(aRect);

	if(iString && iMyFont)
	{
		TInt fontHeight = iMyFont->HeightInPixels();
		
		gc.UseFont(iMyFont);			
		
		TInt TextToDraw = iString->Des().Length() - iCurrentCut;
			
		if(TextToDraw < 1)
		{
			TextToDraw = 1;
		}
		if(TextToDraw > iString->Des().Length())
		{
			TextToDraw = iString->Des().Length();
		}
		
		gc.DrawText(iString->Des().Right(TextToDraw),TRect(5,(fontHeight / 2),aRect.Width() - 5,((fontHeight / 2) + fontHeight)),iMyFont->AscentInPixels(), CGraphicsContext::ELeft, 0);
	}
}
void CMainWindow::HandlePointerEvent(TPointerEvent& aPointerEvent)
	{
	switch (aPointerEvent.iType)
		{
		case TPointerEvent::EButton1Down:
			{
			if (aPointerEvent.iModifiers & EModifierShift)
				{
				Window().EnablePointerMoveBuffer();
				CWindowGc* gc = SystemGc();
				gc->Activate(Window());
				gc->MoveTo(aPointerEvent.iPosition);
				gc->Deactivate();
				}
			break;
			}
		case TPointerEvent::EButton1Up:
			{
			Window().DisablePointerMoveBuffer();
			break;
			}
		default:
			break;
		}
	}
void CExampleShellContainer::Draw(const TRect& /*aRect*/) const
	{
	CWindowGc& gc = SystemGc();
	gc.SetPenStyle(CGraphicsContext::ENullPen);
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
	gc.DrawRect(Rect());
	}
Example #6
0
void CMainMenuListContainer::Draw(const TRect& aRect) const
{
    CWindowGc& gc = SystemGc();
    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
    MAknsControlContext* cc = AknsDrawUtils::ControlContext(this);
    AknsDrawUtils::Background(skin, cc, this, gc, aRect);
}
Example #7
0
//             Drawing the view - in this example, 
//             consists of drawing a simple outline rectangle
//             and then drawing the text in the middle.
//             We use the Normal font supplied by the UI.
//
//             In this example, we don't use the redraw
//             region because it's easier to redraw to
//             the whole client area.
//
void CExampleAppView::Draw(const TRect& /*aRect*/) const
	{
               // Window graphics context
	CWindowGc& gc = SystemGc();
	           // Area in which we shall draw
	TRect      drawRect = Rect();
			   // Font used for drawing text
	const CFont*     fontUsed;
	
	           // Start with a clear screen
	gc.Clear();
			   // Draw an outline rectangle (the default pen
	           // and brush styles ensure this) slightly
	           // smaller than the drawing area.
	drawRect.Shrink(10,10);		   	
	gc.DrawRect(drawRect);
               // Use the title font supplied by the UI
	fontUsed = iEikonEnv->TitleFont();
	gc.UseFont(fontUsed);
			   // Draw the text in the middle of the rectangle.
	TInt   baselineOffset=(drawRect.Height() - fontUsed->HeightInPixels())/2; 
	gc.DrawText(*iExampleText,drawRect,baselineOffset,CGraphicsContext::ECenter, 0);
               // Finished using the font
	gc.DiscardFont();
	}
Example #8
0
/*
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
*/
void CMySplashScreen::Draw(const TRect& /*aRect*/) const
{
	CWindowGc& gc = SystemGc();
 
	if(iBgContext)
	{
	  	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
		AknsDrawUtils::Background( skin, iBgContext, this, gc, Rect() );
	}
 
    if(iBgPic && iBgMsk)
	{
		if(iBgPic->Handle() && iBgMsk->Handle())
		{
			TSize ImgSiz(iBgPic->SizeInPixels());
			TSize RectSiz();
			
			TInt Xpoint = ((Rect().Width() - ImgSiz.iWidth) / 2);
			TInt Ypoint = ((Rect().Height()- ImgSiz.iHeight)/ 2);
		
			TRect DestRect(Xpoint,Ypoint,(Xpoint + ImgSiz.iWidth),(Ypoint + ImgSiz.iHeight));
			TRect SrcRect(0,0,ImgSiz.iWidth,ImgSiz.iHeight);
			
			gc.DrawBitmapMasked(DestRect,iBgPic,SrcRect,iBgMsk, EFalse);
		}	
	}
	else if(iBgPic)
	{
		if(iBgPic->Handle())
		{
			gc.DrawBitmap(Rect(),iBgPic);
		}	
	}
}
Example #9
0
void CTestViewControl::Draw(const TRect& /*aRect*/) const
	{
	CWindowGc& gc = SystemGc();
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
	gc.SetBrushColor(KRgbDitheredLightGray);
	gc.DrawRect(Rect());

	gc.UseFont(iEikonEnv->TitleFont());

	TInt yPos = KYStart;
	TInt xPos = KXStart;

	gc.DrawText(APP_TEXT,TPoint(xPos,yPos));

	yPos+=30;

	TBuf<256> viewNameBuf;
	viewNameBuf.Append(_L("View "));
	TBuf<16> numBuf;
	numBuf.Num((TInt)iViewId.iViewUid.iUid);
	viewNameBuf.Append(numBuf);


	gc.DrawText(viewNameBuf,TPoint(xPos,yPos));

	}
// -----------------------------------------------------------------------------
// CHelloWorldBasicAppView::Draw()
// Draws the display.
// -----------------------------------------------------------------------------
//
void CHelloWorldBasicAppView::Draw( const TRect& /*aRect*/ ) const
    {
    // note that the whole screen is drawn everytime, so aRect-parameter
    // is ignored

    // Get the standard graphics context
    CWindowGc& gc = SystemGc();
    gc.SetPenStyle( CGraphicsContext::ENullPen );
    gc.SetBrushColor( KRgbWhite);
    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );

    // Gets the control's extent
    TRect rect( Rect());

    // draw also text, if user has given it via dialog
    if (iText.Length() > 0)
        {
        gc.UseFont(iFont);
        gc.DrawText(iText, rect, Rect().Height()/3, CGraphicsContext::ECenter );
        gc.DiscardFont();
        }
    else
        {
        gc.Clear( rect );
        }
    }
Example #11
0
// Virtual, defined by CCoeControl; replaces the default implementation
// provided by CCoeControl.
void CPingContainer::Draw(const TRect& aRect) const
{
    CWindowGc& gc = SystemGc();
    gc.SetClippingRect(aRect);
    gc.DrawRect(Rect());

}
void CTRuleBasedAppView::Draw(const TRect& aRect) const
	{
	// Window graphics context
	CWindowGc& gc = SystemGc();
	// Area in which we shall draw
	TRect	drawRect = Rect();
	
	// Font used for drawing text
	const CFont* fontUsed = NULL;
	
	// Start with a clear screen
	gc.Clear();
			
	gc.DrawRect(drawRect);

	TRAPD(err, fontUsed = CreateCustomFontL(_L("Times New Roman"),20,1));
	if (err!=KErrNone)
		{
		return;
		}
		
	gc.SetPenColor(KRgbGreen);
	gc.UseFont(fontUsed);
	// Draw the text in the middle of the rectangle.
	TInt baselineOffset=(aRect.Height() - fontUsed->HeightInPixels())/2;
	gc.DrawText(*iRuleBasedText,aRect,baselineOffset,CGraphicsContext::ECenter, 0);
	// Finished using the font
	gc.DiscardFont();
	}
// ---------------------------------------------------------
// CContextbookContainer::Draw(const TRect& aRect) const
// ---------------------------------------------------------
//
void CContextbookContainer::Draw(const TRect& aRect) const
{
	CALLSTACKITEM(_L("CContextbookContainer::Draw"));

	CWindowGc& gc = SystemGc();
	// TODO: Add your drawing code here
	// example code...
	gc.SetPenStyle(CGraphicsContext::ENullPen);

	gc.SetBrushColor(KRgbWhite);
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
	gc.DrawRect(aRect);

	if (edit) {
		TGulBorder border(TGulBorder::ESingleBlack);
		gc.SetPenStyle(CGraphicsContext::ESolidPen);
		gc.SetBrushStyle(CGraphicsContext::ENullBrush);
		gc.SetPenColor(KRgbBlack);
		TRect edit_rect=Rect();
		edit_rect.SetHeight(19);
		edit_rect.Resize(-8, 0);
		edit_rect.Move(4, Rect().Height()-20);
		border.Draw(gc, edit_rect);
	}
}
Example #14
0
void CPanControl::Draw(const TRect& aRect) const
    {
    CWindowGc& gc = SystemGc();
    TRect sourceRect = Rect();
    sourceRect.Move(iCurrentPointerPos);
    gc.DrawBitmap(aRect, iSourceBitmap, sourceRect); 
    }
void CUnRegisterView::Draw(const TRect& /* aRect */) const
{
	CWindowGc& gc = SystemGc();
	gc.Clear();

	CFbsBitmap* bitmap = new (ELeave) CFbsBitmap();
	CleanupStack::PushL(bitmap);

	TBuf<128> path;
	path = CRippleVaultAppUi::ApplicationDriveAndPath();
	path.Append(KLogoMbmFileName);

	User::LeaveIfError(bitmap->Load(path, EMbmLogoLogo));
	TPoint pos(50,60);
	gc.BitBlt(pos, bitmap);	
	CleanupStack::PopAndDestroy();

	const CFont* fontUsed;  
	fontUsed = iEikonEnv->TitleFont();
	gc.UseFont(fontUsed);

	//TPoint pos1(50,30);
	//gc.DrawText(*(iEikonEnv->AllocReadResourceL(R_RIPPLE_VAULT)),pos1);
	TPoint pos2(30,180);
	gc.DrawText(*(iEikonEnv->AllocReadResourceL(R_PURPLEACE_WEB)),pos2);
	
    // Finished using the font
	gc.DiscardFont();

}
Example #16
0
/*
-----------------------------------------------------------------------

-----------------------------------------------------------------------
*/
void CTraceContainer::Draw(const TRect& /*aRect*/) const
{
	CWindowGc& gc = SystemGc();
	
	if(iBgContext)
	{ 	
	  	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
		AknsDrawUtils::Background( skin, iBgContext, this, gc, Rect() );
	}
	
	TRect DrawRect(Rect());
	DrawRect.Shrink(2,2);
	gc.SetPenColor(KRgbBlack);
	gc.DrawLine(DrawRect.iTl,TPoint(DrawRect.iTl.iX,DrawRect.iBr.iY));
	gc.DrawLine(DrawRect.iTl,TPoint(DrawRect.iBr.iX,DrawRect.iTl.iY));
	gc.DrawLine(DrawRect.iBr,TPoint(DrawRect.iTl.iX,DrawRect.iBr.iY));
	gc.DrawLine(DrawRect.iBr,TPoint(DrawRect.iBr.iX,DrawRect.iTl.iY)); 
	
	DrawRect.Shrink(2,2);

	TInt HeightMe = (DrawRect.Height() / 2);
	
	TRect CpuRect(DrawRect.iTl.iX,DrawRect.iTl.iY,DrawRect.iBr.iX,(DrawRect.iTl.iY + (HeightMe - 1)));
	TRect MemRect(DrawRect.iTl.iX,(DrawRect.iTl.iY + (HeightMe + 1)),DrawRect.iBr.iX,DrawRect.iBr.iY);

	DrawCPU(CpuRect,gc);
	DrawMemory(MemRect,gc);
}
void CCoordinateLineDisplay::Draw(const TRect& aRect) const
{
   TValueParts parts;
   SetCoordinate(iVal, parts);
   const TInt numLetters = sizeof("E 179+59+59+99+") - 1;
   const TInt pixelwidth = Rect().Width() - 16;
   const TInt step = pixelwidth / numLetters;

   CWindowGc& gc = SystemGc();
   gc.SetClippingRect(aRect);
   gc.SetBrushColor(iBgClr);
   gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
   //gc.Clear(Rect()); //paint background color.
   gc.SetPenStyle(CGraphicsContext::ESolidPen);
   gc.SetPenColor(iTxtClr);   

#if defined NAV2_CLIENT_SERIES80 || defined NAV2_CLIENT_SERIES90_V1
   TCknLogicalFont logicalfont(TCknLogicalFont::EViewLevel2ZoomDefaultFont);
   const class CFont* font = iEikonEnv->Font(logicalfont);
#else
   const class CFont* font = CCoeEnv::Static()->NormalFont();
#endif
   gc.UseFont(font);
   
   TPoint offset(Rect().iTl.iX + (step/2), Rect().iTl.iY + 2);
   TInt baseline = font->AscentInPixels();

   TRect paintRect(offset, TSize(step, Rect().Height() - 4));
   baseline = baseline + ((paintRect.Height() - baseline)/2) - 1;
   for(TInt pos = 0; pos < iNewString.Length(); ++pos){
      gc.DrawText(iNewString.Mid(pos,1), paintRect, baseline, CGraphicsContext::ECenter);
      paintRect.Move(step, 0);
   }
}
Example #18
0
/*
-----------------------------------------------------------------------
just normal Draw

See SDK documentations for more information
-----------------------------------------------------------------------
*/
void CYBrowserFileHandler1::Draw(const TRect& aRect) const
{
 	CWindowGc& gc = SystemGc();
 	gc.SetBrushColor(KRgbGreen);
 	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
 	gc.Clear(aRect);
}
Example #19
0
// -----------------------------------------------------------------------------
// CCSAsyncAppView::Draw()
// Draws this CCSAsyncAppView to the screen.
// -----------------------------------------------------------------------------
//
void CCSAsyncAppView::Draw( const TRect& /*aRect*/ ) const
    {

    // Clear the screen
    CWindowGc& gc = SystemGc();
    gc.Clear( Rect() );

    TBuf<30> des;
    const TTime& time = iDocument.Time();

    // Read time format string from AVKON resource
    HBufC* timeFormatString = iEikonEnv->AllocReadResourceLC(R_QTN_TIME_LONG);
    // It would also be possible to define your own format string instead, 
    // for example like this:
    // _LIT( KHoursMinsSecs, "%-B%:0%J%:1%T%:2%S%:3%+B" );

    TRAPD( err, time.FormatL( des, *timeFormatString ) );
    CleanupStack::PopAndDestroy(); // timeFormatString

    if ( err == KErrNone )
        {
        const CFont* font = iEikonEnv->NormalFont();
        gc.UseFont( font );
        gc.DrawText( des, TPoint( 10,20 ) );
        }
    }
void CMobiStegoChooseImgView::Draw(const TRect& /*aRect*/) const
	{
	// Get the standard graphics context
	CWindowGc& gc = SystemGc();

	// Gets the control's extent
	//

	// Clears the screen
	//
	/*CImageConverterEngine* converter = CImageConverterEngine::NewL(this);
	 TFileName aBuf;
	 aBuf.Append(_L("c:\\Data\\Images\\black.jpg"));
	 converter->StartToDecodeL(aBuf);
	 iBitmap = NULL;
	 while (iBitmap == NULL)
	 iBitmap = converter->GetBitmap();*/
	TRect drawRect(Rect());
	gc.Clear(drawRect);
	if (iBitmap)
		gc.BitBlt(TPoint(0, 0), iBitmap);

	/*
	 TSize bmpSizeInPixels = iBitmap->SizeInPixels();
	 TSize bmpPieceSize(bmpSizeInPixels.iWidth / 2, bmpSizeInPixels.iHeight
	 / 2);
	 TRect bmpPieceRect(TPoint(0, 0), bmpPieceSize);

	 // blit only the piece of the bitmap indicated by bmpPieceRect
	 TPoint pos(20, 20);
	 gc.DrawBitmap(pos, iBitmap);*/

	}
Example #21
0
/**
  Function to Draw the App View .\n
  Gets a pointer to the Windows Graphic context.
  Sets the pen colour,pen style and brush style settings.\n
  Draws the control using DrawRect function of the Graphics context.\n
*/
void CParentTestAppView::Draw(const TRect& /*aRect*/) const
	{
	CWindowGc& gc = SystemGc();
	gc.SetPenStyle(CGraphicsContext::ENullPen);
 	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
	gc.DrawRect(Rect());
	}
void CWelcomePageBase::Draw( const TRect& /*aRect*/ ) const
{
	CALLSTACKITEM_N(_CL("CWelcomePageBase"), _CL("Draw"));
	CWindowGc& gc = SystemGc();
	gc.SetPenColor(KRgbWhite);
	gc.SetPenStyle(CGraphicsContext::ESolidPen);
	gc.SetBrushColor(KRgbWhite);
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
	gc.DrawRect( Rect() );
	
 	TJuikLayoutItem parent(Rect());
	TJuikLayoutItem l;

	if ( iLayoutStyle == ESelectionLayout )
		{
			DrawGraphicsL(gc, EHeaderBackground, parent);
			DrawGraphicsL(gc, EHeaderLogo, parent);
			if ( iHeaderGraphicsIndex != KErrNotFound ) DrawGraphicsL(gc, iHeaderGraphicsIndex, parent, EFalse);
		}
	else if ( iLayoutStyle == EWelcomeLayout )
		{
			DrawGraphicsL(gc, EJaikuLogo, parent);
			DrawGraphicsL(gc, EWelcomeToJaiku, parent);
		}
	else if ( iLayoutStyle == ECongratulationsLayout )
		{
			DrawGraphicsL(gc, ECongratulationsLogo, parent);
			DrawGraphicsL(gc, ECongratulationsText, parent);
		}
	else
		{
			ASSERT(EFalse);
		}
}
void C{{PROJECT}}AppView::Draw(const TRect& aRect) const
	{
	CWindowGc& gc = SystemGc();
	gc.SetBrushColor(TRgb(255, 255, 255));
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
	gc.Clear(aRect);
	}
void CRecognizerContainer::DrawImage(const CFbsBitmap* aImage) const
{
	CALLSTACKITEM_N(_CL("CRecognizerContainer"), _CL("DrawImage"));

	CWindowGc& gc = SystemGc();
	gc.Activate(Window());
	gc.Clear();

	TSize si = aImage->SizeInPixels();
	TInt wi = si.iWidth;
	TInt hi = si.iHeight;

	TInt wr = Rect().iBr.iX;
	TInt hr = Rect().iBr.iY;
	TPoint tl;
	tl.iX = (wr - wi) >> 1;
	tl.iY = (hr - hi) >> 1;
	gc.BitBlt(tl, aImage);

	if (iTranslation.iX == 0 && iTranslation.iY == 0) {
		ShowCodes(TRect(tl.iX, tl.iY, tl.iX + wi, tl.iY + hi), si);
	}

	// draw cross
	gc.SetPenStyle(CGraphicsContext::ESolidPen);
	gc.SetPenColor(KRgbWhite);
	TPoint center = Rect().Center();
	DrawCross(gc, center);

	gc.Deactivate();
	iCoeEnv->WsSession().Flush();
}
Example #25
0
void CContainerButton::Draw(const TRect& aRect) const
	{
	CWindowGc& gc=SystemGc();
	gc.Clear();
	if (iIcon)
		{gc.BitBltMasked(TPoint(0,0),iIcon->Bitmap(),TRect(TPoint(0,0),iIcon->Bitmap()->SizeInPixels()),iIcon->Mask(),EFalse);}
	}
Example #26
0
/*
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
*/
void CMySplashScreen::Draw(const TRect& /*aRect*/) const
{
	CWindowGc& gc = SystemGc();
    
	if(iBackGround)
	{
		if(iBackGround->Handle())
		{
			gc.DrawBitmap(Rect(),iBackGround);
		}
	}
	
	CGulIcon* TmpDrawMe(NULL);
	if(iBackAdd.Count())
	{
		if(iCurrent < iBackAdd.Count())
		{
			TmpDrawMe = iBackAdd[iCurrent];
		}
		else
		{
			TmpDrawMe = iBackAdd[0];
		}
	}
			
	DrawImages(gc,Rect(),TmpDrawMe);
}
void CBatmonContainer::DrawTitle(void) const
{
  CWindowGc& gc=SystemGc();
  gc.SetPenColor(TRgb::Color4K(0x048));
  gc.SetPenStyle(CGraphicsContext::ESolidPen);
  gc.SetBrushColor(TRgb::Color4K(0x006));
  gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
  TRect rect=Rect();
  rect.SetHeight(14);
  gc.DrawRect(rect);
  TRect value(rect);
  value.Shrink(1,1);
  gc.UseFont(LatinPlain12());
  SValue title[]=
  {
    {32,NULL,0x0102,&CBatmonContainer::Temperature},
    {50,NULL,0x0103,&CBatmonContainer::Voltage},
    {47,NULL,0x0113,&CBatmonContainer::Current},
    {47,NULL,0x0112,&CBatmonContainer::Current}
  };
  TBuf<32> data;
  for(TUint i=0;i<sizeofa(title);i++)
  {
    gc.SetPenStyle(CGraphicsContext::ESolidPen);
    gc.SetPenColor(TRgb::Color4K(0xff0));
    gc.SetBrushStyle(CGraphicsContext::ENullBrush);
    (this->*(title[i].iFunc))(data,title[i].iAddress);
    gc.DrawText(data,value,11,CGraphicsContext::ERight);
    DrawRight(value);
    value.Resize(-title[i].iWidth,0);
  }
  gc.DiscardFont();
}
void CBatmonContainer::DrawPage(void) const
{
  CWindowGc& gc=SystemGc();
  gc.SetPenStyle(CGraphicsContext::ESolidPen);
  gc.SetPenColor(TRgb::Color4K(0xff0));
  gc.SetBrushStyle(CGraphicsContext::ENullBrush);
  gc.UseFont(LatinPlain12());
  SValue page[]=
  {
    {0,L"Battery capacity",0x0104,&CBatmonContainer::Capacity},
    {4,L"Battery impedance",0x0146,&CBatmonContainer::Impedance},
    {14,L"Standby time",0x0106,&CBatmonContainer::Hour},
    {24,L"Battery type",0x0101,&CBatmonContainer::Common},
    {24,L"Battery",0x014d,&CBatmonContainer::Battery},
    {6,L"Backup battery open",0x0122,&CBatmonContainer::Voltage},
    {6,L"Backup battery close",0x0123,&CBatmonContainer::Voltage},
    {24,L"Present charging state",0x011d,&CBatmonContainer::Common},
    {24,L"Present charger type",0x0117,&CBatmonContainer::Common},
    {6,L"Charging voltage",0x0119,&CBatmonContainer::Voltage},
    {6,L"Charging current",0x011a,&CBatmonContainer::Current}
  };
  TRect value(2,18,174,30);
  TBuf<32> data;
  for(TUint i=0;i<sizeofa(page);i++)
  {
    TPtrC ptr((TUint16*)page[i].iTitle);
    gc.DrawText(ptr,value,10);
    (this->*(page[i].iFunc))(data,page[i].iAddress);
    gc.DrawText(data,value,10,CGraphicsContext::ERight,page[i].iWidth);
    value.Move(0,13);
  }
  gc.DiscardFont();
}
void CBatmonContainer::DrawRight(const TRect& aRect) const
{
  CWindowGc& gc=SystemGc();
  gc.SetPenColor(TRgb::Color4K(0x048));
  gc.SetPenStyle(CGraphicsContext::ESolidPen);
  gc.MoveTo(TPoint(aRect.iBr.iX+1,aRect.iBr.iY));
  gc.DrawLineBy(TPoint(0,-aRect.Height()-1));
}
// ---------------------------------------------------------------------------
// CTestSDKTPContainer::Draw
// Fills the window's rectangle.
// ---------------------------------------------------------------------------
//
void CTestSDKTPContainer::Draw( const TRect& aRect ) const
    {    
    CWindowGc& gc = SystemGc();
    gc.SetPenStyle( CGraphicsContext::ENullPen );
    gc.SetBrushColor( KAKNATLISTGRAY );
    gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
    gc.DrawRect( aRect );
    }