|
|
1.1 ! root 1: #include <jerq.h> ! 2: #include <font.h> ! 3: ! 4: static Rectangle clipr; ! 5: ! 6: Clip(r) ! 7: Rectangle r; ! 8: { ! 9: clipr = r; ! 10: } ! 11: ! 12: Cbitblt(sb, sr, db, dp, fc) ! 13: Bitmap *sb, *db; ! 14: Rectangle sr; ! 15: Point dp; ! 16: { ! 17: Rectangle r; ! 18: ! 19: r = raddp(sr, sub(dp, sr.origin)); ! 20: if(rectclip(&r, clipr)) ! 21: { ! 22: r = rsubp(r, sub(dp, sr.origin)); ! 23: dp = add(dp, sub(r.origin, sr.origin)); ! 24: bitblt(sb, r, db, dp, fc); ! 25: } ! 26: } ! 27: ! 28: Crectf(bp, r, fc) ! 29: Bitmap *bp; ! 30: Rectangle r; ! 31: { ! 32: if(rectclip(&r, clipr)) ! 33: rectf(bp, r, fc); ! 34: } ! 35: ! 36: Point ! 37: Cstring(f, s, bp, p, fc) ! 38: Font *f; ! 39: char *s; ! 40: Bitmap *bp; ! 41: Point p; ! 42: Code fc; ! 43: { ! 44: register c; ! 45: int full = (fc == F_STORE); ! 46: Rectangle r; ! 47: register Fontchar *i; ! 48: ! 49: if (full) { ! 50: r.origin.y = 0; ! 51: r.corner.y = f->height; ! 52: } ! 53: for (; c = *s++; p.x += i->width) { ! 54: i = f->info + c; ! 55: if (!full) { ! 56: r.origin.y = i->top; ! 57: r.corner.y = i->bottom; ! 58: } ! 59: r.origin.x = i->x; ! 60: r.corner.x = (i+1)->x; ! 61: Cbitblt(f->bits,r,bp,Pt(p.x+ ! 62: ((i->left & 0x80) ? i->left | 0xffffff00 : i->left), ! 63: p.y+r.origin.y),fc); ! 64: } ! 65: return(p); ! 66: } ! 67: ! 68: Ctexture(bp, r, t, fc) ! 69: Bitmap *bp; ! 70: Rectangle r; ! 71: Texture *t; ! 72: Code fc; ! 73: { ! 74: if(rectclip(&r, clipr)) ! 75: texture(bp, r, t, fc); ! 76: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.