#include "transp.hpp" void transp_put(image *im, image *screen, uchar *table, int x, int y) { short cx1,cy1,cx2,cy2; screen->get_clip(cx1,cy1,cx2,cy2); int xs=0,ys=0,xl=im->width(),yl=im->height(); if (xcx2) xl=cx2-x; if (y+yl>cy2) yl=cy2-y; if (xl<0 || yl<0) return ; screen->add_dirty(x,y,x+xl-1,y+yl-1); int ye=ys+yl; int xe=xs+xl; uchar *isl=im->scan_line(ys)+xs; uchar *ssl=screen->scan_line(y)+x; int iw=im->width(),sw=screen->width(); for (int iy=ys;iyget_clip(cx1,cy1,cx2,cy2); int xs=0,ys=0,xl=im->width(),yl=im->height(); if (xcx2) xl=cx2-x; if (y+yl>cy2) yl=cy2-y; if (xl<0 || yl<0) return ; screen->add_dirty(x,y,x+xl-1,y+yl-1); int ye=ys+yl; int xe=xs+xl; uchar *isl=im->scan_line(ys)+xs; uchar *ssl=screen->scan_line(y)+x; int iw=im->width(),sw=screen->width(); for (int iy=ys;iy