private static TerminalColor getColor256()

in core/src/com/jediterm/terminal/emulator/JediEmulator.java [1112:1135]


  private static TerminalColor getColor256(ControlSequence args, int index) {
    int code = args.getArg(index + 1, 0);

    if (code == 2) {
      /* direct color in rgb space */
      int val0 = args.getArg(index + 2, -1);
      int val1 = args.getArg(index + 3, -1);
      int val2 = args.getArg(index + 4, -1);
      if ((val0 >= 0 && val0 < 256) &&
              (val1 >= 0 && val1 < 256) &&
              (val2 >= 0 && val2 < 256)) {
        return new TerminalColor(val0, val1, val2);
      } else {
        LOG.warn("Bogus color setting " + args);
        return null;
      }
    } else if (code == 5) {
      /* indexed color */
      return ColorPalette.getIndexedTerminalColor(args.getArg(index + 2, 0));
    } else {
      LOG.warn("Unsupported code for color attribute " + args);
      return null;
    }
  }