public SymbolStorage(SymbolStorage source) { Width = source.Width; Height = source.Height; Code = source.Code; Ascii = source.Ascii; Font = source.Font; Size = source.Size; UpdateMap(); for (int i = 0; i < source.Height; ++i) Array.Copy(source.Map[i], Map[i], source.Map[i].Length); }
public SymbolEditWindow(SymbolStorage newSymbol, SymbolPickerWindow newSpw) { InitializeComponent(); ToolMouseDown = new Boolean[sizeof(DrawingTool)]; ModeMouseDown = new Boolean[sizeof(DrawingMode)]; Symbol = new SymbolStorage(newSymbol); spw = newSpw; iSize.Title = "Size " + Symbol.Width + "x" + Symbol.Height; iDec.Title = "Dec " + Symbol.Code; iHex.Title = "Hex 0x" + (Symbol.Code / 16).ToString() + (Symbol.Code % 16).ToString(); iAscii.Title = "Ascii " + Symbol.Ascii; iSymbol.Title = "Symbol '" + (System.Text.Encoding.GetEncoding(Symbol.Ascii).GetChars(new byte[] { Symbol.Code }))[0].ToString() + "'"; iFont.Title = "Font " + Symbol.Font; iFontSize.Title = "Font Size " + Symbol.Size.ToString("F"); }
public SymbolTableButton(SymbolStorage newSymbol) { NormalColor = new SolidColorBrush(Color.FromArgb(31, 0, 0, 0)); OverColor = new SolidColorBrush(Color.FromArgb(63, 0, 0, 0)); ClickColor = new SolidColorBrush(Color.FromArgb(127, 191, 143, 0)); Grid tmpGrid = new Grid(); ColumnDefinition cd; RowDefinition rd; cd = new ColumnDefinition(); cd.Width = new GridLength(2f); tmpGrid.ColumnDefinitions.Add(cd); cd = new ColumnDefinition(); cd.Width = new GridLength(24f); tmpGrid.ColumnDefinitions.Add(cd); cd = new ColumnDefinition(); cd.Width = new GridLength(2f); tmpGrid.ColumnDefinitions.Add(cd); rd = new RowDefinition(); rd.Height = new GridLength(12f); tmpGrid.RowDefinitions.Add(rd); rd = new RowDefinition(); rd.Height = new GridLength(24f); tmpGrid.RowDefinitions.Add(rd); rd = new RowDefinition(); rd.Height = new GridLength(2f); tmpGrid.RowDefinitions.Add(rd); HighlightBorder = new Border(); HighlightBorder.Background = new SolidColorBrush(Color.FromArgb(31, 0, 0, 0)); HighlightBorder.CornerRadius = new CornerRadius(2f); Grid.SetColumn(HighlightBorder, 0); Grid.SetColumnSpan(HighlightBorder, 3); Grid.SetRow(HighlightBorder, 0); Grid.SetRowSpan(HighlightBorder, 5); tmpGrid.Children.Add(HighlightBorder); TitleText = new TextBlock(); TitleText.FontFamily = new FontFamily("Sans Serif"); TitleText.Foreground = new SolidColorBrush(Colors.Black); TitleText.FontSize = 10f; TitleText.HorizontalAlignment = HorizontalAlignment.Center; TitleText.VerticalAlignment = VerticalAlignment.Center; TitleText.MaxWidth = 24f; TitleText.MaxHeight = 12f; Grid.SetColumn(TitleText, 1); Grid.SetRow(TitleText, 0); tmpGrid.Children.Add(TitleText); Board = new Canvas(); Board.Background = new SolidColorBrush(Colors.White); Board.LayoutTransform = new ScaleTransform(); Board.Width = newSymbol.Width; Board.Height = newSymbol.Height; if (newSymbol.Width > newSymbol.Height) { ((ScaleTransform)Board.LayoutTransform).ScaleX = 24d / (Double)newSymbol.Width; ((ScaleTransform)Board.LayoutTransform).ScaleY = ((ScaleTransform)Board.LayoutTransform).ScaleX; } else { ((ScaleTransform)Board.LayoutTransform).ScaleY = 24d / (Double)newSymbol.Height; ((ScaleTransform)Board.LayoutTransform).ScaleX = ((ScaleTransform)Board.LayoutTransform).ScaleY; } Grid.SetColumn(Board, 1); Grid.SetRow(Board, 1); tmpGrid.Children.Add(Board); AddChild(tmpGrid); Symbol = newSymbol; MouseEnter += new MouseEventHandler(UserControl_MouseEnter); MouseLeave += new MouseEventHandler(UserControl_MouseLeave); MouseLeftButtonDown += new MouseButtonEventHandler(UserControl_MouseLeftButtonDown); MouseLeftButtonUp += new MouseButtonEventHandler(UserControl_MouseLeftButtonUp); LayoutUpdated += new EventHandler(UserControl_LayoutUpdated); }
private void Tool_MouseUp(object sender, MouseButtonEventArgs e) { if (ToolMouseDown[(int)GetToolByButton(sender)]) { if (GetToolByButton(sender) == DrawingTool.Symbol) { spw = new SymbolPickerWindow(symbol, spw); spw.Owner = this; if (spw.ShowDialog() == true) { symbol = spw.Symbol; iFont.Title = "Font " + Symbol.Font; iFontSize.Title = "Font Size " + Symbol.Size.ToString("F"); UpdateBoard(); } spw.Close(); } else { GetButtonByTool(Tool).Selected = false; Tool = GetToolByButton(sender); ((SecondMenuButton)sender).Selected = true; ToolMouseDown[(int)Tool] = false; } } }