示例#1
0
//funcao de visibilidade externa para escrever caracteres
//possui a mesma sintaxe de printf
void dtexto( const char* format, ... ) {
	char s[1000];
	va_list args;
	va_start( args, format );
	vsprintf(s, format, args);
	va_end( args );

	int dx=0;//deslocamento em x, em numero de pixels
	int dy=0;//deslocamento em y, em numero de pixels
	int ax=0;//alinhando a letra em x no bloco para impressao
	int ay=0;//alinhando a letra em y no bloco para impressao

	int i=0;
	while(s[i] != '\0'){
		if (s[i]=='\n'){//nova linha
			dy += 10*yf_;//incrementa linha
			dx  = 0; //retorna pra x
		}else{
			//instrucoes de impressao
			//o mapa de caracteres permitidos vai do ascii 33 ao 127
			if((int)s[i]>=ASCMIN && (int)s[i]<=ASCMAX){
				int p = (int)s[i] - ASCSPACE;//posicao no vetor
				
				ax = 2*xf_;
				ay = yf_  ;//chama funcao para plotar o caractere
				dplot( xa_ + dx + ax, ya_ + dy + ay, asc_map_[p]);
			}
			dx += 10 * xf_;
		}
		i++;
	}
	xa_ = xa_ + dx;//incrementa para os valores finais
	ya_ = ya_ + dy;
}
示例#2
0
static int polyg(int type)
{
   int x, y, w, h;

   scanf("%d %d %d %d", &x, &y, &w, &h);
   dplot(type, normx(x), normy(y + h), norm(w), norm(h));

   return (0);
}
示例#3
0
void dpixel( char desenho[] ){
	dplot(xa_, ya_, desenho);
	xa_ += xf_*10; //move posicao de plotagem //TODO
}