/// <summary> /// Transfer ownership of the given RenderingWindow to this /// RenderingSurface. The result is \e generally the same as if this /// RenderingSurface had created the RenderingWindow in the first place. /// </summary> /// <param name="window"> /// RenderingWindow object that this RenderingSurface is to take ownership of. /// </param> public virtual void TransferRenderingWindow(RenderingWindow window) { if (window.GetOwner() != this) { // detach window from it's current owner window.GetOwner().DetatchWindow(window); // add window to this surface. AttachWindow(window); window.SetOwner(this); } }
/// <summary> /// Destroy a RenderingWindow we own. If we are not the present owner of /// the given RenderingWindow, nothing happens. /// </summary> /// <param name="window"> /// RenderingWindow object that is to be destroyed. /// </param> /// <remarks> /// Destroying a RenderingWindow will not also destroy the TextureTarget /// that was given when the RenderingWindow was created. The TextureTarget /// should be destoyed elsewhere. /// </remarks> public virtual void DestroyRenderingWindow(RenderingWindow window) { if (window.GetOwner() == this) { DetatchWindow(window); // TODO: CEGUI_DELETE_AO & window; } }