public void SetSize(int width, int height)
{
if (parentLink == null)
{
//direct set size
this.b_width = width;
this.b_height = height;
}
else
{
var prevBounds = this.RectBounds;
this.b_width = width;
this.b_height = height;
//combine before and after rect
//add to invalidate root invalidate queue
this.InvalidateGraphicBounds(Rectangle.Union(prevBounds, this.RectBounds));
}
}