First public contribution.
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Lots of different Drawing Commands
18 gc->SetBrushColor(TRgb::Gray4(2));
20 gc->SetBrushColor(TRgb::Gray4(0));
21 gc->Clear(TRect(2,2,20,5));
22 gc->DrawRect(TRect(size));
23 gc->SetBrushOrigin(TPoint(1,2));
24 gc->SetBrushStyle(CGraphicsContext::EForwardDiagonalHatchBrush);
25 gc->DrawRect(TRect(30,2,60,8));
26 gc->SetBrushOrigin(TPoint(0,0));
27 gc->UseBrushPattern(aBitmap);
28 gc->SetBrushStyle(CGraphicsContext::EPatternedBrush);
29 gc->DrawRect(TRect(60,2,90,8));
30 gc->SetBrushStyle(CGraphicsContext::ENullBrush);
31 gc->DiscardBrushPattern();
33 gc->SetPenColor(TRgb::Gray4(1));
34 gc->DrawLine(TPoint(10,12),TPoint(22,20));
35 gc->SetPenSize(TSize(4,2));
36 gc->DrawLine(TPoint(22,10),TPoint(40,20));
37 gc->SetPenStyle(CGraphicsContext::EDottedPen);
38 gc->SetPenSize(TSize(1,1));
39 gc->SetPenColor(TRgb::Gray4(0));
40 gc->DrawLine(TPoint(40,11),TPoint(60,20));
41 gc->SetPenStyle(CGraphicsContext::ESolidPen);
42 gc->Plot(TPoint(60,10));
44 gc->BitBlt(TPoint(size.AsPoint()-TPoint(20,20)),aBitmap);
45 gc->BitBlt(TPoint(10,30),aBitmap,TRect(0,1,8,9));
46 gc->BitBltMasked(TPoint(10,40),aBitmap,TRect(1,2,8,9),aMaskBitmap,ETrue);
47 gc->BitBltMasked(TPoint(20,40),aBitmap,TRect(0,0,9,9),aMaskBitmap,EFalse);
48 gc->SetOrigin(TPoint(5,50));
49 gc->SetDrawMode(CGraphicsContext::EDrawModeXOR);
50 gc->SetPenColor(TRgb::Gray4(3));
51 gc->SetClippingRect(TRect(0,0,20,15));
52 //gc->DrawArc(TRect(0,0,20,15),TPoint(10,0),TPoint(1,8));
53 gc->CancelClippingRect();
54 gc->SetDrawMode(CGraphicsContext::EDrawModePEN);
55 gc->SetPenColor(TRgb::Gray4(0));
56 gc->MoveTo(TPoint(25,0));
57 gc->DrawLineTo(TPoint(40,5));
58 gc->DrawLineBy(TPoint(-20,10));
60 CArrayFixFlat<TPoint>* polyLineArray=new(ELeave) CArrayFixFlat<TPoint>(4);
61 CleanupStack::PushL(polyLineArray);
62 polyLineArray->AppendL(TPoint(8,0));
63 polyLineArray->AppendL(TPoint(16,10));
64 polyLineArray->AppendL(TPoint(0,3));
65 polyLineArray->AppendL(TPoint(16,3));
66 polyLineArray->AppendL(TPoint(0,10));
67 polyLineArray->AppendL(TPoint(8,0));
68 gc->SetBrushStyle(CGraphicsContext::ESolidBrush);
69 gc->SetOrigin(TPoint(50,50));
70 gc->DrawPolyLine(polyLineArray);
71 gc->SetOrigin(TPoint(75,50));
72 gc->DrawPolyLine(&(polyLineArray->At(0)),polyLineArray->Count());
73 polyLineArray->Delete(5);
74 gc->SetOrigin(TPoint(0,65));
75 gc->DrawPolygon(polyLineArray,CGraphicsContext::EWinding);
76 gc->SetOrigin(TPoint(25,65));
77 gc->DrawPolygon(&(polyLineArray->At(0)),polyLineArray->Count(),CGraphicsContext::EWinding);
78 gc->SetOrigin(TPoint(50,65));
79 gc->DrawPolygon(polyLineArray,CGraphicsContext::EAlternate);
80 gc->SetOrigin(TPoint(75,65));
81 gc->DrawPolygon(&(polyLineArray->At(0)),polyLineArray->Count(),CGraphicsContext::EAlternate);
82 CleanupStack::PopAndDestroy();
83 gc->SetBrushStyle(CGraphicsContext::ENullBrush);
84 gc->SetOrigin(TPoint(0,0));
86 gc->DrawPie(TRect(5,80,30,100),TPoint(10,65),TPoint(35,80));
87 gc->DrawEllipse(TRect(35,80,60,100));
88 gc->DrawRoundRect(TRect(65,80,80,100),TSize(5,3));
89 gc->DrawBitmap(TRect(10,105,40,120),aBitmap);
90 gc->DrawBitmap(TRect(45,105,105,125),aBitmap,TRect(5,5,25,20));
91 //gc->DrawBitmap(TRect(110,40,205,125),aBitmap,TRect(5,5,25,20));
93 gc->DrawBitmap(TPoint(110,70),aBitmap);
96 TInt height=aFont->HeightInPixels();
97 TInt ascent=aFont->AscentInPixels();
100 gc->DrawText(_L("Test1"),TPoint(xpos,ypos+ascent));
101 gc->DrawText(_L("Test2"),TRect(xpos,ypos+height,xpos+50,5+height*2),ascent);
102 gc->DrawText(_L("Test3"),TRect(xpos,ypos+height*2,xpos+80,5+height*3),ascent,CGraphicsContext::ERight,10);
104 ypos+=ascent+height*3;
105 gc->SetUnderlineStyle(EUnderlineOn);
106 gc->DrawText(_L("ULine"),TPoint(xpos,ypos));
107 gc->SetUnderlineStyle(EUnderlineOff);
109 gc->SetStrikethroughStyle(EStrikethroughOn);
110 gc->DrawText(_L("Strike"),TPoint(xpos+50,ypos));
111 gc->SetStrikethroughStyle(EStrikethroughOff);
112 gc->SetCharJustification(15,3);
113 gc->DrawText(_L("abc"),TPoint(xpos+100,ypos));
115 gc->SetWordJustification(10,1);
116 gc->DrawText(_L("Two Words"),TPoint(xpos+5,ypos+height));
120 RRegion clipRegion(2);
122 clipRegion.AddRect(TRect(xpos, ypos+10, xpos+30, ypos+20));
123 clipRegion.AddRect(TRect(xpos, ypos+30, xpos+30, ypos+40));
124 gc->SetClippingRegion(clipRegion);
126 gc->DrawTextVertical(_L("Vertical Text"), TPoint(xpos+10, ypos+10), EFalse);
127 gc->DrawTextVertical(_L("Vertical Text Box"), TRect(xpos+40, ypos+10, xpos+60, ypos+100), 15, EFalse);
129 gc->CancelClippingRegion();
132 gc->AlphaBlendBitmaps(TPoint(xpos+60, ypos+100), aBitmap, TRect(0, 0, 20,20), aMaskBitmap, TPoint(0, 0));
134 gc->SetPenColor(TRgb::Gray4(3));
135 gc->SetBrushColor(TRgb::Gray4(0));
136 gc->SetBrushStyle(CGraphicsContext::ESolidBrush);
139 TRect mapColorRect(xpos, ypos, xpos+20, ypos+20);
140 gc->DrawRect(mapColorRect);
141 TRgb colours[4] = { TRgb::Gray4(3), TRgb::Gray4(0), TRgb::Gray4(0), TRgb::Gray4(3) };
142 gc->MapColors(mapColorRect, colours, 2, ETrue);