3.2.3. EXIBIÇÃO DE GRÁFICOS SIMPLES

 

Toda exibição de desenhos na ClanLib é feita através de um contexto gráfico, que é abstraído através da classe CL_GraphicContext. Esse contexto gráfico propriamente dito é um conjunto de funções que permitem desenhar linhas, caixas, etc.

O exemplo a seguir demonstra a utilização de algumas dessas funções:

 

1   CL_DisplayWindow window("Jogo", 640, 480);

2   CL_GraphicContext *gc = window.get_gc();

3   gc->color(CL_Color::black);

4   gc->draw_line(100, 100, 400, 400,CL_Color::blue);

5   gc->draw_rect(CL_Rect(10,10,50,50),CL_Color::red);

 

O exemplo anterior demonstra a criação de um ponteiro para o contexto gráfico (linha 2), a definição da cor da janela como preta (linha 3) e a exibição de uma linha azul (linha 4) e de um retângulo vermelho (linha 5) na janela.

Para desenhar imagens em um contexto gráfico, a classe CL_Surface deve ser usada. Essa classe permite desenhar os objetos gráficos na tela, como no exemplo abaixo, onde é criado um objeto a partir de um arquivo de imagem (linha 1) e desenhado nas coordenadas informadas (linha 2), utilizando o contexto gráfico representado pelo ponteiro gc;

 

1          CL_Surface desenho ("Tiro.png");

2          desenho.draw(10, 10, gc);