public void AddModal(ModalWindow modalWindow) { modalWindow.Parent = this; lock (mModalWindows) mModalWindows.Add(modalWindow); }
public new void Update() { //Console.WriteLine("->> {1}: draw: {0}", Name, DateTime.Now.ToString("mm:ss.fff")); Redraw(); VG.vgSeti(VGParamType.VG_MATRIX_MODE, (int)VGMatrixMode.VG_MATRIX_PATH_USER_TO_SURFACE); VG.vgLoadIdentity(); VG.vgSeti(VGParamType.VG_MATRIX_MODE, (int)VGMatrixMode.VG_MATRIX_IMAGE_USER_TO_SURFACE); VG.vgLoadIdentity(); VG.vgSetfv(VGParamType.VG_CLEAR_COLOR, 4, new[] { 1.0f, 1.0f, 0.0f, 0.0f }); VG.vgClear(0, 0, Width, Height); VG.vgFinish(); //Console.WriteLine("<<- {1}: draw: {0}", Name, DateTime.Now.ToString("mm:ss.fff")); //Console.WriteLine("->> {1}: update: {0}", Name, DateTime.Now.ToString("mm:ss.fff")); base.Update(); //Console.WriteLine("<<- {1}: update: {0}", Name, DateTime.Now.ToString("mm:ss.fff")); #region Popup window ModalWindow popup = null; lock (mModalWindows) { if (mVisibleModal != null) { if (mVisibleModal.IsVisible) { popup = mVisibleModal; } } if (popup == null) { foreach (var modalWindow in mModalWindows.Where(modalWindow => modalWindow.IsVisible)) { mVisibleModal = modalWindow; popup = mVisibleModal; } } } if (popup == null) { return; } // отрисовываем модальное окно popup.Update(); #endregion }