コード例 #1
0
 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);
 }
コード例 #2
0
        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");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 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;
         }
     }
 }