windowing/windowserver/tauto/DLLDRAW.H
changeset 116 171fae344dd4
parent 103 2717213c588a
equal deleted inserted replaced
103:2717213c588a 116:171fae344dd4
     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".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Lots of different Drawing Commands
       
    15 // 
       
    16 //
       
    17 
       
    18 	gc->SetBrushColor(TRgb::Gray4(2));
       
    19 	gc->Clear();
       
    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();
       
    32 //
       
    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));
       
    43 //
       
    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));
       
    59 //
       
    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));
       
    85 //
       
    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));
       
    92 	if (aExtraDrawBitMap)
       
    93 		gc->DrawBitmap(TPoint(110,70),aBitmap);
       
    94 //
       
    95 	gc->UseFont(aFont);
       
    96 	TInt height=aFont->HeightInPixels();
       
    97 	TInt ascent=aFont->AscentInPixels();
       
    98 	TInt ypos=5;
       
    99 	TInt xpos=100;
       
   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);
       
   103 //
       
   104 	ypos+=ascent+height*3;
       
   105 	gc->SetUnderlineStyle(EUnderlineOn);
       
   106 	gc->DrawText(_L("ULine"),TPoint(xpos,ypos));
       
   107 	gc->SetUnderlineStyle(EUnderlineOff);
       
   108 //
       
   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));
       
   114 //
       
   115 	gc->SetWordJustification(10,1);
       
   116 	gc->DrawText(_L("Two Words"),TPoint(xpos+5,ypos+height));
       
   117 //
       
   118 	xpos = 80;
       
   119 	ypos = 40;
       
   120 	RRegion clipRegion(2);
       
   121 //
       
   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);
       
   125 //
       
   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);
       
   128 //
       
   129 	gc->CancelClippingRegion();
       
   130 	clipRegion.Close();
       
   131 //
       
   132 	gc->AlphaBlendBitmaps(TPoint(xpos+60, ypos+100), aBitmap, TRect(0, 0, 20,20), aMaskBitmap, TPoint(0, 0));
       
   133 //
       
   134 	gc->SetPenColor(TRgb::Gray4(3));
       
   135 	gc->SetBrushColor(TRgb::Gray4(0));
       
   136 	gc->SetBrushStyle(CGraphicsContext::ESolidBrush);
       
   137 	xpos = 0;
       
   138 	ypos = 120;
       
   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);
       
   143 //
       
   144 	gc->DiscardFont();