This page was last modified 22:12, 2 May 2008.
Primitivas gráficas
From Forum Nokia Wiki
Primitivas são elementos geometricos básicos que podemos utilizar na representação gráfica de nossa aplicação.
A API Gráfica do Symbian OS fornece métodos para desenhar pontos, linhas, retângulos, elipses, poligonos, etc.
O Contexto gráfico (classe base CGraphicsContext) funciona como uma máquina de estados, armazenando informações referentes a forma como as primitivas serão desenhadas, como o tipo de lápis, sua cor, cor de preenchimento, entre outras.
Pontos
A primitiva mais básica que podemos representar é o Ponto. Um ponto representa um elemento no espaço e é representado por suas cordenadas x,y.
O método Plot cujo protótipo é apresentado abaixo, realiza o desenho de um ponto na coordenada que recebe como argumento.
virtual void Plot(const TPoint& aPoint);
// Desenho de um ponto nas cpordenadas (50,50) void CClasse::Draw( const TRect& aRect ) { .. CWindowGc& gc = SystemGc(); // Obtenção da referência para o contexto gráfico atual gc.Clear( aRect ); // limpa a tela TPoint ptPos(50,50); // coordenadas do ponto x = 50, y = 50 gc.Plot(ptPos); // Desenha o ponto na posição ptPos. }
Linhas retas
Uma linha pode ser representada por dois pontos no espaço. A função DrawLine() desenha uma linha reta entre dois pontos:
virtual IMPORT_C void DrawLine(const TPoint &aPoint1, const TPoint &aPoint2);
// Desenho de uma linha nas cpordenadas (50,50) e (50,100) void CClasse::Draw( const TRect& aRect ) { .. CWindowGc& gc = SystemGc(); // Obtenção da referência para o contexto gráfico atual gc.Clear( aRect ); // limpa a tela TPoint lPos1(50,50); // coordenadas do ponto x = 50, y = 50 TPoint lPos2(50,100); // coordenadas do ponto x = 50, y = 100 gc.DrawLine( lPos1, lPos2 ); }
