Class ColorContainer

java.lang.Object
de.pirckheimer_gymnasium.engine_pi.resources.ColorContainer
All Implemented Interfaces:
Container<Color>

public class ColorContainer extends Object implements Container<Color>
Ein Speicher für Farben des Datentyps Color.

Die Farben werden in einer Map unter einem Farbnamen abgelegt. Neben dem Hauptfarbnamen können weitere Farbnamen als Aliasse gespeichert werden.

Bei den Farbnamen wird sowohl die Klein- und Großschreibung als auch Leerzeichen ignoriert. In den Farbnamen können sowohl deutschen Umlaute verwendet als auch umschrieben (z. B. ae, oe, ue, ss) werden. Der Binde- und der Unterstrich werden ebenfalls nicht berücksichtigt.

Die zwölf Farben nach dem Farbkreis von Itten zusammen mit ihren Aliassen bzw. Synonymen:

  1. yellow: „Gelb“, „Hellgelb“
  2. yellow orange: „orange yellow“, „gold“, „Gelb-Orange“, „Orange-Gelb“, „Golden“, „Dunkelgelb“
  3. orange: „Orange“
  4. red orange: „orange red“, „brick red“, „brick“, „Rot-Orange“, „Orange-Rot“, „Ziegelrot“, „Hellrot“
  5. red: „Rot“
  6. red purple: „purple red“, „magenta“, „pink“, „Rot-Violett“, „Violett-Rot“, „Rosa“
  7. purple: „Violet“, „Violett“, „Lila“
  8. blue purple: „purple blue“, „indigo“, „Violett Blau“, „Blau Violett“
  9. blue: „Blau“
  10. blue green: „green blue“, „cyan“, „Blau-Grün“, „Grün-Blau“, „Türkis“
  11. green: „Grün“
  12. yellow green: „green yellow“, „lime“, „lime green“, „Gelb-Grün“, „Grün-Gelb“, „Limetten Grün“, „Limette“, „Hellgrün“
Diese Farben sind ebenfalls im Speicher für Farben enthalten (gehören aber nicht zum Farbkreis von Itten):
  • brown: „Braun“
  • white: „Weiß“
  • gray: „grey“, „Grau“
  • black: „Schwarz“
Author:
Josef Friedrich
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    add(String name, int r, int g, int b)
    Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile in dezimaler Notation hinzu.
    add(String name, int r, int g, int b, int a)
    Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile und des Alphakanals in dezimaler Notation hinzu.
    add(String name, int r, int g, int b, int a, String... alias)
    Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile, des Alphakanals in dezimaler Notation und beliebig vieler Aliasse hinzu.
    add(String name, int r, int g, int b, String... alias)
    Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile in dezimaler Notation und beliebig vieler Aliasse hinzu.
    add(String name, Color color)
    Fügt dem Speicher für Farben eine Farbe unter einem Namen hinzu.
    add(String name, Color color, String... alias)
    Fügt dem Speicher für Farben eine Farbe unter einem Namen und beliebig vieler Aliasse hinzu.
    add(String name, String color)
    Fügt dem Speicher für Farben eine Farbe in hexadezimaler Codierung unter einem Namen hinzu.
    add(String name, String color, String... alias)
    Fügt dem Speicher für Farben eine Farbe in hexadezimaler Codierung unter einem Namen und beliebig vieler Aliasse hinzu.
    void
    addAlias(String name, String... alias)
     
    void
    Fügt alle Farben eines Farbschemas dem Speicher für Farben hinzu.
    void
    Leert den Speicher für Farben samt der Aliasse.
    int
     
    get(String name)
    Gibt eine vordefinierte Farbe zurück.
    get(String name, int alpha)
    Gibt eine vordefinierte Farbe mit geändertem Alphakanal zurück.
    Gibt alle Farben samt der Farbnamen als Map zurück.
     
    Gibt immer eine vordefinierte Farbe zurück und wirft nie eine Ausnahme.
    getSafe(String name, int alpha)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ColorContainer

      public ColorContainer()
  • Method Details

    • add

      public Color add(String name, Color color)
      Fügt dem Speicher für Farben eine Farbe unter einem Namen hinzu.
      Specified by:
      add in interface Container<Color>
      Parameters:
      name - Der Farbname.
      color - Die Farbe.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
    • add

      public Color add(String name, int r, int g, int b, int a)
      Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile und des Alphakanals in dezimaler Notation hinzu.
      Parameters:
      name - Der Farbname.
      r - Der Rotanteil der Farbe (0-255).
      g - Der Gelbanteil der Farbe (0-255).
      b - Der Blauanteil der Farbe (0-255).
      a - Der Alphakanal der Farbe (0-255).
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
      Since:
      0.26.0
    • add

      public Color add(String name, int r, int g, int b, int a, String... alias)
      Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile, des Alphakanals in dezimaler Notation und beliebig vieler Aliasse hinzu.
      Parameters:
      name - Der Farbname.
      r - Der Rotanteil der Farbe (0-255).
      g - Der Gelbanteil der Farbe (0-255).
      b - Der Blauanteil der Farbe (0-255).
      a - Der Alphakanal der Farbe (0-255).
      alias - Beliebig viele weitere Farbnamen, die als Aliasse dienen.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
      Since:
      0.26.0
    • add

      public Color add(String name, int r, int g, int b)
      Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile in dezimaler Notation hinzu.
      Parameters:
      name - Der Farbname.
      r - Der Rotanteil der Farbe (0-255).
      g - Der Gelbanteil der Farbe (0-255).
      b - Der Blauanteil der Farbe (0-255).
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
      Since:
      0.26.0
    • add

      public Color add(String name, int r, int g, int b, String... alias)
      Fügt dem Speicher für Farben eine Farbe durch Angabe der drei Farbanteile in dezimaler Notation und beliebig vieler Aliasse hinzu.
      Parameters:
      name - Der Farbname.
      r - Der Rotanteil der Farbe (0-255).
      g - Der Gelbanteil der Farbe (0-255).
      b - Der Blauanteil der Farbe (0-255).
      alias - Beliebig viele weitere Farbnamen, die als Aliasse dienen.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
      Since:
      0.26.0
    • add

      public Color add(String name, String color)
      Fügt dem Speicher für Farben eine Farbe in hexadezimaler Codierung unter einem Namen hinzu.
      Parameters:
      name - Der Farbname.
      color - Die Farbe in hexadezimaler Codierung.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
    • add

      public Color add(String name, Color color, String... alias)
      Fügt dem Speicher für Farben eine Farbe unter einem Namen und beliebig vieler Aliasse hinzu.
      Parameters:
      name - Der Farbname.
      color - Die Farbe.
      alias - Beliebig viele weitere Farbnamen, die als Aliasse dienen.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
    • add

      public Color add(String name, String color, String... alias)
      Fügt dem Speicher für Farben eine Farbe in hexadezimaler Codierung unter einem Namen und beliebig vieler Aliasse hinzu.
      Parameters:
      name - Der Farbname.
      color - Die Farbe in hexadezimaler Codierung.
      alias - Beliebig viele weitere Farbnamen, die als Aliasse dienen.
      Returns:
      Die gleiche Farbe, die hinzugefügt wurde.
    • addAlias

      public void addAlias(String name, String... alias)
    • addScheme

      public void addScheme(ColorScheme schema)
      Fügt alle Farben eines Farbschemas dem Speicher für Farben hinzu.

      Die Farben werden in einer Map unter dem englischen Farbnamen abgelegt. Neben dem englischen Hauptfarbnamen werden weitere englische und deutsche Farbnamen als Aliasse gespeichert. Auf eine Farbe des Farbenschemas kann deshalb mit mehreren Farbnamen zugegriffen werden.

      Die Reihenfolge der zusammengesetzten Tertiärfarbnamen ist eigentlich festgelegt: Primärfarbname, dann Sekundärfarbname (Gelb-Orange nicht Orange-Gelb). Wir fügen jedoch auch Namen mit der falschen Reihenfolge zum Speicher hinzu.

      Wird ein neues Farbschema gesetzt, werden alle sich bereits im Speicher befindenden Farben gelöscht.

      Parameters:
      schema - Das Farbschema, dessen Farben in den Speicher für Farben abgelegt werden soll.
    • getSafe

      public Color getSafe(String name)
      Gibt immer eine vordefinierte Farbe zurück und wirft nie eine Ausnahme.

      Die Farben können auch in hexadezimaler Schreibweise angegeben werden, z. B. #ff0000. Die Groß- und Kleinschreibung spielt keine Rolle. Auch Leerzeichen werden ignoriert.

      Parameters:
      name - Ein Farbname, ein Farbalias (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z. B. #ff0000).
      Returns:
      Eine vordefinierte Farbe.
      See Also:
    • getSafe

      public Color getSafe(String name, int alpha)
    • getAll

      public Map<String,Color> getAll()
      Gibt alle Farben samt der Farbnamen als Map zurück.
      Returns:
      Alle Farben samt der Farbnamen als Map zurück.
    • clear

      public void clear()
      Leert den Speicher für Farben samt der Aliasse.
      Specified by:
      clear in interface Container<Color>
      See Also:
    • get

      public Color get(String name)
      Gibt eine vordefinierte Farbe zurück.

      Die Farben können auch in hexadezimaler Schreibweise angegeben werden, z. B. #ff0000. Die Groß- und Kleinschreibung spielt keine Rolle. Auch Leerzeichen werden ignoriert.

      Specified by:
      get in interface Container<Color>
      Parameters:
      name - Ein Farbname, ein Farbalias (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z. B. #ff0000).
      Returns:
      Eine vordefinierte Farbe.
      Throws:
      RuntimeException - Fall die Farbe nicht definiert ist.
      See Also:
    • getNamedColor

      public NamedColor getNamedColor(String name)
    • get

      public Color get(String name, int alpha)
      Gibt eine vordefinierte Farbe mit geändertem Alphakanal zurück.

      Die Farben können auch in hexadezimaler Schreibweise angegeben werden, z. B. #ff0000. Die Groß- und Kleinschreibung spielt keine Rolle. Auch Leerzeichen werden ignoriert.

      Parameters:
      name - Ein Farbname, ein Farbalias (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z. B. #ff0000).
      alpha - Der Alphakanal als Ganzzahl von 0 bis 255.
      Returns:
      Eine vordefinierte Farbe.
    • count

      public int count()
      Specified by:
      count in interface Container<Color>