/// <summary> /// Draws the PaletteColour's interface /// </summary> /// <param name="palette"></param> /// <param name="paletteColour"></param> /// <returns></returns> bool DrawColour(Palette palette, PaletteColour paletteColour) { GUILayout.BeginHorizontal(); GUILayout.Space(5); paletteColour.name = GUILayout.TextField(paletteColour.name, GUILayout.Width(100)); GUILayout.Space(5); paletteColour.height = GUILayout.HorizontalSlider(paletteColour.height, 0, 1, GUILayout.Width(100)); GUILayout.Space(5); paletteColour.colour = EditorGUILayout.ColorField(paletteColour.colour); GUILayout.Space(5); if (DrawRemoveColourButton(palette, paletteColour)) { return(REFRESH_EDITOR); } GUILayout.Space(5); GUILayout.EndHorizontal(); return(!REFRESH_EDITOR); }
/// <summary> /// Draws the remove Palette button /// </summary> /// <param name="palettes"></param> /// <param name="palette"></param> /// <returns></returns> bool DrawRemoveColourButton(Palette palettes, PaletteColour palette) { if (GUILayout.Button("X")) { RemoveColour(palettes, palette); return(REFRESH_EDITOR); } return(!REFRESH_EDITOR); }
public void Read(Reader reader) { int palColumns = ((int)reader.BaseStream.Length / 8) / 6; Colors = new PaletteColour[palColumns][]; for (int i = 0; i < palColumns; i++) { Colors[i] = new PaletteColour[COLORS_PER_COLUMN]; for (int j = 0; j < COLORS_PER_COLUMN; ++j) { Colors[i][j] = new PaletteColour(reader); } } }
public void Read(Reader reader, int Columns) { int palColumns = Columns; Colors = new PaletteColour[palColumns][]; for (int i = 0; i < palColumns; i++) { Colors[i] = new PaletteColour[COLORS_PER_COLUMN]; for (int j = 0; j < COLORS_PER_COLUMN; ++j) { Colors[i][j] = new PaletteColour(reader); } } }
public Palette(int pc = 2) { int palColumns = pc; Colors = new PaletteColour[palColumns][]; for (int i = 0; i < palColumns; i++) { Colors[i] = new PaletteColour[COLORS_PER_COLUMN]; for (int j = 0; j < COLORS_PER_COLUMN; ++j) { Colors[i][j] = new PaletteColour(); } } }
private void Colour4Changed(object sender, SelectionChangedEventArgs e) { CbBox cb = (sender as CbBox); PaletteColour p = (palette.Children[cb.index] as PaletteColour); for (int x = 0; x < pixelWidth; x++) { for (int y = 0; y < pixelHeight; y++) { if (bmpPixels[x, y] == p.originalColour) { int c = MonoColourRGB[cb.SelectedIndex]; treatedPixels[x, y] = Color.FromRgb((byte)(c >> 16), (byte)(c >> 8), (byte)(c)); } } } RedrawCanvas(treatedPixels); }
private void TreatMuliColours() { List <Color> lst = new List <Color>(); foreach (var v in bmpPixels) { if (!lst.Contains(v)) { lst.Add(v); if (lst.Count > 16) { throw new Exception("Only Mono or 16-colour allowed"); } } } palette.Children.Clear(); for (int i = 0; i < lst.Count; i++) { PaletteColour p = new PaletteColour(lst[i], i); palette.Children.Add(p); p.comboBox.SelectionChanged += Colour4Changed; } }
// public Color BackgroundColour public Color32 GetColour(PaletteColour colourType) { return(Colours[(int)colourType]); }
/// <summary> /// Draws the remove PaletteColour button /// </summary> /// <param name="palettes"></param> /// <param name="palette"></param> void RemoveColour(Palette palettes, PaletteColour palette) { palettes.colours.Remove(palette); }