//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; }
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); }
void dpixel( char desenho[] ){ dplot(xa_, ya_, desenho); xa_ += xf_*10; //move posicao de plotagem //TODO }