public idSimpleWindow(idWindow win)
{
_gui = win.UserInterface;
_context = win.DeviceContext;
_drawRect = win.DrawRectangle;
_clientRect = win.ClientRectangle;
_textRect = win.TextRectangle;
_origin = win.Origin;
_fontFamily = win.FontFamily;
_name = win.Name;
_materialScaleX = win.MaterialScaleX;
_materialScaleY = win.MaterialScaleY;
_borderSize = win.BorderSize;
_textAlign = win.TextAlign;
_textAlignX = win.TextAlignX;
_textAlignY = win.TextAlignY;
_background = win.Background;
_flags = win.Flags;
_textShadow = win.TextShadow;
_visible.Set(win.IsVisible);
_text.Set(win.Text);
_rect.Set(win.Rectangle);
_backColor.Set(win.BackColor);
_materialColor.Set(win.MaterialColor);
_foreColor.Set(win.ForeColor);
_borderColor.Set(win.BorderColor);
_textScale.Set(win.TextScale);
_rotate.Set(win.Rotate);
_shear.Set(win.Shear);
_backgroundName.Set(win.BackgroundName);
if(_backgroundName != string.Empty)
{
_background = idE.DeclManager.FindMaterial(_backgroundName);
_background.Sort = (float) MaterialSort.Gui; ;
_background.ImageClassification = 1; // just for resource tracking
}
_backgroundName.Material = _background;
_parent = win.Parent;
_hideCursor.Set(win.HideCursor);
if(_parent != null)
{
if(_text.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_text);
}
if(_visible.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_visible);
}
if(_rect.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_rect);
}
if(_backColor.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_backColor);
}
if(_materialColor.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_materialColor);
}
if(_foreColor.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_foreColor);
}
if(_borderColor.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_borderColor);
}
if(_textScale.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_textScale);
}
if(_rotate.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_rotate);
}
if(_shear.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_shear);
}
if(_backgroundName.NeedsUpdate == true)
{
_parent.AddUpdateVariable(_backgroundName);
}
}
}
#endregion