void CPictureWidget::Draw(CGraphicsContext &aGc) const { if(iActive) { aGc.SetBrushStyle(CGraphicsContext::ENullBrush); aGc.SetPenStyle(CGraphicsContext::ESolidPen); aGc.SetPenColor(KRgbBlack); TRect rect(point,iSize); rect.Move(TPoint(0,-iTextHeight)); rect.Shrink(-1,-1); aGc.DrawRect(rect); } if(iBitmap) { aGc.DrawBitmap(TRect(point - TPoint(0,iTextHeight),iSize),iBitmap,TRect(iSize)); } else { const TDesC& text = /*((CPictureWidget&)element).*/Alt(); int width = CCoeEnv::Static()->NormalFont()->MeasureText(text); TRect rect(point,TSize(width,iTextHeight)); rect.Move(TPoint(0,-iTextHeight)); aGc.SetPenStyle(CGraphicsContext::ESolidPen); aGc.SetPenColor(KRgbYellow); aGc.DrawRect(rect); aGc.SetPenColor(KRgbBlue); aGc.DrawText(text,point); } }
void CTextWidget::Draw(CGraphicsContext &aGc) const { const TDesC& text = /*((CTextWidget&)element).*/Text(); //gc.DrawRect(rect); if(/*element.*/Link().Length()) //带链接 { int width = CCoeEnv::Static()->NormalFont()->MeasureText(text); //aGc.SetPenColor(KRgbBlue); if(iActive) { int textHeight = CCoeEnv::Static()->NormalFont()->HeightInPixels(); TRect rect(point,TSize(width,textHeight)); rect.Move(TPoint(0,-textHeight)); aGc.SetBrushStyle(CGraphicsContext::ESolidBrush); aGc.SetBrushColor(KRgbBlue); aGc.SetPenStyle(CGraphicsContext::ENullPen); aGc.DrawRect(rect); aGc.SetPenColor(KRgbWhite); } else { aGc.SetBrushStyle(CGraphicsContext::ENullBrush); aGc.SetPenStyle(CGraphicsContext::ESolidPen); aGc.SetPenColor(KRgbBlue); } TPoint point1 = point; TPoint point2 = point1; point2.iX += width; aGc.DrawLine(point1,point2); } else //不带链接 { aGc.SetBrushStyle(CGraphicsContext::ENullBrush); aGc.SetPenStyle(CGraphicsContext::ESolidPen); aGc.SetPenColor(KRgbBlack); } aGc.DrawText(text,point); }
void Draw(CGraphicsContext& aGc, const TPoint& aTopLeft, const TRect& aClipRect, MGraphicsDeviceMap* aMap) const { // This picture is a magenta square TPoint size(KWidth, KHeight); if (aMap) size = aMap->TwipsToPixels(size); TRect rect(aTopLeft, aTopLeft + size); aGc.SetClippingRect(aClipRect); aGc.SetDrawMode(CGraphicsContext::EDrawModePEN); aGc.SetPenColor(KRgbMagenta); aGc.SetBrushStyle(CGraphicsContext::ESolidBrush); aGc.SetBrushColor(KRgbMagenta); aGc.DrawRect(rect); }
/** Sets the pen colour. The pen is used to draw lines, the outlines of filled shapes, and text. @param aColor The logical colour for the pen. @see CGraphicsContext::SetPenColor() */ EXPORT_C void MTmCustomExtension::SetPenColor(CGraphicsContext& aGc,TLogicalRgb aColor) const { aGc.SetPenColor(SystemColor(aColor)); }