   Primitive drawings
  When the player clicks the left mouse button, and draws it over screen, pixels is drawn, however, if the mouse is being moved quickly, only a few pixels is drawn, instead of the line from a to b being filed with pixels. How would i solve this? my code is currently:[source langg = "cpp"]struct point{int x,y;};...........const int maxpoints = 100;point* mousepoints = new point[maxpoints];int curpoint =0;............. //if mouse button is pressed reamember the current position  if(mouse_b&1)  { if(++curpoint >= maxpoints) {  curpoint = 0; }  mousepoints[curpoint].x = mouse_x;mousepoints[curpoint].y = mouse_y;  } //draw all the pixels for(n =0; n<= maxpoints; n++)  drawpoints(buffer,mousepoints[n]);  .............void drawpoints(BITMAP* buffer,point pt){ if(inside(pt.x,pt.y,0,0,0+SCREEN_W,0+SCREEN_H)) {  //brug do_line();!  putpixel(buffer,pt.x,pt.y,BLUE);  putpixel(buffer,pt.x+1,pt.y,BLUE);  putpixel(buffer,pt.x,pt.y+1,BLUE);  putpixel(buffer,pt.x-1,pt.y-1,BLUE);  putpixel(buffer,pt.x-1,pt.y,BLUE);  putpixel(buffer,pt.x-2,pt.y,BLUE);  putpixel(buffer,pt.x+1,pt.y+1,BLUE);  putpixel(buffer,pt.x,pt.y+1,BLUE);  putpixel(buffer,pt.x-1,pt.y+1,BLUE);  putpixel(buffer,pt.x-2,pt.y+1,BLUE);  putpixel(buffer,pt.x,pt.y+2,BLUE);  putpixel(buffer,pt.x-1,pt.y+2,BLUE);   }}im using allegro and c++   
  Whats happening is the cursor is moving over multiple pixels between the last time  its position was read and the current time. To solve this you need to calculate the line between the current cursor position and the previous cursor position and then colour the pixels that lie on that line.   