/// <summary> /// Constructor /// </summary> /// <param name="code"></param> /// <param name="keycode"></param> /// <param name="rgb"></param> public ColorDefinition(C64Color code, char keycode, Color rgb) { ColorId = code; Name = code.ToString(); KeyCode = keycode; RGBColor = rgb; }
private void panelColors_MouseClick(object sender, MouseEventArgs e) { var newColor = (int)(e.Y / _colorHeight); newColor = newColor < 0 ? 0 : newColor > 15 ? 15 : newColor; _currentColor = (C64Color)newColor; panelColors.Invalidate(); }
public ColorMap(C64Palette palette, C64Color initialColor) { _palette = palette; for (var y = 0; y < Height; y++) { for (var x = 0; x < Width; x++) { Colors[x, y] = initialColor; } } }
private void AddColorsMenu(ToolStripMenuItem menu, C64Color sel) { foreach (ColorDefinition c in Colors.ToArray()) { ToolStripRadioButtonMenuItem item = new ToolStripRadioButtonMenuItem(c.Name); item.Tag = c; if (c.ColorId == sel) { item.Checked = true; } menu.DropDownItems.Add(item); } }
/// <summary> /// Constructor /// </summary> /// <param name="code"></param> /// <param name="keycode"></param> /// <param name="red"></param> /// <param name="green"></param> /// <param name="blue"></param> public ColorDefinition(C64Color code, byte keycode, int red, int green, int blue) : this(code, (char)keycode, Color.FromArgb(red, green, blue)) { }
/// <summary> /// Color definition by colors enum /// </summary> /// <param name="index"></param> /// <returns></returns> public ColorDefinition this[C64Color index] => Colors[(int)index];
public Color GetColor(C64Color color) => Colors[(int)color];
public void SetColor(int x, int y, C64Color color) => Colors[x, y] = color;
public Brush GetBrush(C64Color color) => _brushes[(int)color] ?? (_brushes[(int)color] = new SolidBrush(_palette.GetColor(color)));