public float GetAbsoluteY(WindowsData.Window window, float screenHeight) { var rect = this.GetRect(window); // Container offset + unnormalized current point (x, y) return Mathf.Lerp(this.y, rect.y, rect.y + rect.height); }
public float GetAbsoluteX(WindowsData.Window window, float screenWidth) { var rect = this.GetRect(window); // Container offset + unnormalized current point (x, y) return Mathf.Lerp(this.x, rect.x, rect.x + rect.width); }
private void DeleteWindowClick(WindowsData windowsData) { try { if (ProgramData.Instance.HideWindowData.Contains(windowsData)) { ChangeWindowVisibilityMethod(windowsData); } ProgramData.Instance.Datas.Remove(windowsData); //通知主窗体删除这个数据 关闭这个便签窗体 Messenger.Default.Send <WindowsData>(windowsData, "DeleteWindow"); } catch (Exception ex) { Logger.Log().Error("删除窗体时出错" + ex.Message); } }
private void ChangeWindowVisibilityMethod(WindowsData windowsData) { if (ProgramData.Instance.Datas.Contains(windowsData)) { //通知主窗体关闭 Messenger.Default.Send <WindowsData>(windowsData, "CloseWindow"); } else { var MainWindow = new MainWindow(); MainWindow.viewModel.Datas = windowsData; windowsData.IsShowed = true; MainWindow.viewModel.RestoreData(MainWindow.Document, MainWindow.viewModel.Datas.WindowID); MainWindow.Show(); WindowsManager.Instance.Windows.Add(MainWindow); ProgramData.Instance.Datas.Add(windowsData); ProgramData.Instance.HideWindowData.Remove(windowsData); } }
private Rect GetRect(WindowsData.Window window) { LayoutWindowType screen; var layout = HeatmapSystem.GetLayout(window.id, out screen); var container = layout.GetRootByTag(this.tag); if (container == null) return new Rect(); #if UNITY_EDITOR var rect = container.editorRect; var size = layout.GetSize(); // Get normalized size var nRect = new Rect( (rect.x + size.x * 0.5f) / size.x, (rect.height - rect.y + size.y * 0.5f) / size.y, rect.width / size.x, rect.height / size.y ); if (test == false) { //Debug.Log(rect + " :: " + size + " :: " + nRect); test = true; } // Restore rect //rect = new Rect(nRect.x, nRect.y, nRect.width, nRect.height); return nRect; #else return new Rect(); #endif }