X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=display%2Fdisplay.c;h=b7612d698374fa46025023dc6da53311a0fc4de5;hb=45ae0644d98c15489f99bab44a936d615dad5be2;hp=178ec62e215be0b7578efa35df8e4d6fd6b1424a;hpb=ea939060d8c1df6b3de0b3204a0b5b06018ee8da;p=my-code%2Fapi.git diff --git a/display/display.c b/display/display.c index 178ec62..b7612d6 100644 --- a/display/display.c +++ b/display/display.c @@ -8,7 +8,7 @@ #define USE_NCURSES -int display_init(t_display *display) { +int display_init(t_display *display,int outfd) { struct winsize ws; @@ -20,8 +20,10 @@ int display_init(t_display *display) { display->max_x=ws.ws_col; display->max_y=ws.ws_row; - fprintf(stderr,"[display] initializing display, width: %02d / height: %02d \n" - ,ws.ws_col,ws.ws_row); + display->outfd=outfd; + + dprintf(display->outfd,"[display] initializing display, w: %02d / h: %02d\n", + ws.ws_col,ws.ws_row); /* allocating 'screen' buffer */ if((display->screen=(char *)malloc(display->max_x*display->max_y)) @@ -110,7 +112,7 @@ int display_shutdown(t_display *display) { free(display->screen); - fprintf(stderr,"[display] shutdown\n"); + dprintf(display->outfd,"[display] shutdown\n"); return D_SUCCESS; } @@ -122,9 +124,10 @@ int display_line(t_display *display,int X,int Y,int X_,int Y_,char sym) { m=(Y_-Y)/(X_-X); - for(y=0;ymax_y;y++) - for(x=0;xmax_x;x++) - if((int)((x-X)*m+Y)==y) *(display->screen+y*display->max_x+x)=sym; + for(x=X;x<=X_;x++) { + y=(x-X)*m+Y; + *(display->screen+y*display->max_x+x)=sym; + } return D_SUCCESS; }