Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

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 );
}
 
Powered by MediaWiki