brush_t* CreateHatch(int hatch, color_t bkcolor, color_t fcolor) { if (hatch < HATCH_MAX) { if( br_slab.available ) { brush_t *brush; br_slab.available--; brush = (brush_t*)br_slab.nextavail; br_slab.nextavail = *(void**)brush; brush->bkcolor = bkcolor; brush->fcolor = fcolor; brush->bmp[0] = hatches[hatch*2]; brush->bmp[1] = hatches[hatch*2+1]; return brush; } return NULL; } return NULL; }; brush_t* CreateMonoBrush(color_t bkcolor, color_t fcolor,u32_t bmp0,u32_t bmp1) { if( br_slab.available ) { brush_t *brush; br_slab.available--; brush = (brush_t*)br_slab.nextavail; br_slab.nextavail = *(void**)brush; brush->bkcolor = bkcolor; brush->fcolor = fcolor; brush->bmp[0] = bmp0; brush->bmp[1] = bmp1; return brush; } return NULL; }; void DestroyBrush(brush_t *brush) { *(void**)brush = br_slab.nextavail; br_slab.nextavail = brush; br_slab.available++; };