line(319,0)-(319,199),16 として、横スクロールすると、1ドット幅のはずが、2ドット幅になったりするようです。
dx = surface1->w -x+1;
dy = surface1->h -y+1;
OSD_BlitSurface( surface2 ,dx ,dy , x , y ,surface1 ,0 ,0);
OSD_BlitSurface( surface2 ,0 ,dy ,dx , y ,surface1 ,x ,0);
OSD_BlitSurface( surface2 ,dx , 0 , x ,dy ,surface1 ,0 ,y);
OSD_BlitSurface( surface2 ,0 , 0 ,dx ,dy ,surface1 ,x ,y);
となっていたのですが、+1って、いらないよね?
多分。。。汗