52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
|
|
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++;
|
|
};
|