|
|
1.1 ! root 1: #include <jerq.h> ! 2: /* ! 3: * All Bitmaps come from here ! 4: */ ! 5: Bitmap * ! 6: realballoc(r, caller) ! 7: Rectangle r; ! 8: char *caller; ! 9: { ! 10: register rox=r.origin.x, roy=r.origin.y; ! 11: register rcx=r.corner.x, rcy=r.corner.y; ! 12: register left, right; ! 13: register Bitmap *bp; ! 14: char *realgcalloc(), *realalloc(); ! 15: ! 16: if((bp=(Bitmap *)realalloc(sizeof(Bitmap), caller))==0) ! 17: return 0; ! 18: left=rox&~WORDMASK; ! 19: if((right=rcx)&WORDMASK){ ! 20: right|=WORDMASK; ! 21: right++; ! 22: } ! 23: bp->width=(right-left)>>WORDSHIFT; ! 24: bp->rect.origin.x=rox; bp->rect.origin.y=roy; ! 25: bp->rect.corner.x=rcx; bp->rect.corner.y=rcy; ! 26: if(realgcalloc(((unsigned long)bp->width<<2)*(rcy-roy), ! 27: (long **)&bp->base, caller)==0){ ! 28: free((char *) bp); ! 29: return 0; ! 30: } ! 31: bp->_null=0; ! 32: return bp; ! 33: } ! 34: ! 35: ! 36: Bitmap * ! 37: balloc(r) ! 38: Rectangle r; ! 39: { ! 40: return realballoc(r, (char *)0); ! 41: } ! 42: ! 43: bfree(bp) ! 44: register Bitmap *bp; ! 45: { ! 46: if(bp){ ! 47: gcfree((char *)bp->base); ! 48: free((char *)bp); ! 49: } ! 50: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.