int deco_width = MIN(gi->deco.width, gi->width - deco_x);
int deco_height = MIN(gi->deco.height, gi->height - deco_y);
- BlitBitmap(gi->deco.design.bitmap, drawto,
- gi->deco.design.x, gi->deco.design.y,
- deco_width, deco_height, gi->x + deco_x, gi->y + deco_y);
+ if (gi->deco.masked)
+ BlitBitmapMasked(gi->deco.design.bitmap, drawto,
+ gi->deco.design.x, gi->deco.design.y,
+ deco_width, deco_height,
+ gi->x + deco_x, gi->y + deco_y);
+ else
+ BlitBitmap(gi->deco.design.bitmap, drawto,
+ gi->deco.design.x, gi->deco.design.y,
+ deco_width, deco_height,
+ gi->x + deco_x, gi->y + deco_y);
}
break;
gi->deco.yshift = va_arg(ap, int);
break;
+ case GDI_DECORATION_MASKED:
+ gi->deco.masked = (boolean)va_arg(ap, int);
+ break;
+
case GDI_EVENT_MASK:
gi->event_mask = va_arg(ap, unsigned int);
break;